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: Leif J. <le...@us...> - 2006-10-05 10:37:12
|
User: leifj Date: 06/10/05 03:37:11 cartridges/andromda-semweb/src/test - New directory |
From: Leif J. <le...@us...> - 2006-10-05 10:36:42
|
User: leifj Date: 06/10/05 03:36:41 cartridges/andromda-semweb/conf/test - New directory |
From: Leif J. <le...@us...> - 2006-10-05 10:36:20
|
User: leifj Date: 06/10/05 03:36:20 cartridges/andromda-semweb/xdocs - New directory |
From: Leif J. <le...@us...> - 2006-10-05 10:36:19
|
User: leifj Date: 06/10/05 03:36:17 cartridges/andromda-semweb/src - New directory |
From: Leif J. <le...@us...> - 2006-10-05 10:36:19
|
User: leifj Date: 06/10/05 03:36:16 cartridges/andromda-semweb/conf - New directory |
From: Leif J. <le...@us...> - 2006-10-05 10:33:58
|
User: leifj Date: 06/10/05 03:33:56 cartridges/andromda-semweb - New directory |
From: Eric C. <ecr...@us...> - 2006-10-03 16:55:03
|
User: ecrutchfield Date: 06/10/03 09:55:01 Added: maven2/plugins/andromdanetapp install.txt Log: rename file Revision Changes Path 1.1 plugins/maven2/plugins/andromdanetapp/install.txt Index: install.txt =================================================================== Steps to install M2 version of .Net cartridges Note: You must have installed and configured Maven 2.0.x (M2) prior to executing these steps. 1. Download source from andromda-plugins Download the source files from the andromda-plugins project at SourceForge.net (http://andromdaplugins.cvs.sourceforge.net/andromdaplugins/) You'll need the source code from the following folders: maven2 andromdapp cartridges (except andromda-database and andromda-ejb3) All projects in the andromda-plugins site can be built by executing 'mvn install' from the root folder. This will build all .Net cartridges as well as the andromda-database, and andromda-ejb3 cartridges. If you don't want to build everything, then follow the steps 2-4. If you build the entire andromda-plugins, then skip to step 5 2. Build the .Net Maven plugin From an M2 command prompt, change to the andromda-plugins/maven2/plugins folder. Execute 'mvn install'. [This builds and installs the M2 plugin.] You should see results similar to this: [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] ------------------------------------------------------------------------ [INFO] AndroMDA Plugins ...................................... SUCCESS [9.016s] [INFO] AndroMDA .NET Application Generator Maven Plugin ...... SUCCESS [1:05.510s] [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ 3. Build the .Net Project Generator From an M2 command prompt, change to the andromda-plugins/andromdapp folder. Execute 'mvn install'. [This builds and installs the M2 .Net project generator.] You should see results similar to this: [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] ------------------------------------------------------------------------ [INFO] AndroMDA Plugin Application Generator Resources ....... SUCCESS [2.457s] [INFO] AndroMDA .NET Application Generator Projects .......... SUCCESS [0.030s] [INFO] AndroMDA .NET C# Maven2 Project ....................... SUCCESS [5.034s] [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ 4. Build the .Net cartridges From an M2 command prompt, change to the andromda-plugins/cartridges folder. Then execute 'mvn install' from each of the following directories: andromda-cs andromda-nhibernate andromda-nspring 5. Create an AndroMDA .Net project. Now you're ready to create an AndroMDA project using the .Net generator. If you'll be using Visual Studio, you'll first want to create the solution/project structure in VS. (see the 'Create a Visual Studio Solution' section at http://team.andromda.org/contrib/starting-dotnet.html) From an M2 command prompt, type 'mvn andromdanetapp:generate'. This will run the .Net generator which will prompt you for some information about the project you want to generate. The following is an example of the questions and answers for a sample .Net project: [INFO] [andromdanetapp:generate] INFO [AndroMDA] discovered andromdapp type --> 'richclient' INFO [AndroMDA] discovered andromdapp type --> 'dotnet' INFO [AndroMDA] discovered andromdapp type --> 'j2ee' Please choose the type of application to generate [richclient, dotnet, j2ee] dotnet Please enter the location in which your new application will be created (i.e. c: /csharp/development): c:\temp\workspace\ Please enter your first and last name (i.e. Naresh Bhatia): Eric Crutchfield Please enter the name of your .NET project (i.e. Time Tracker): Test App 1 Please enter an id for your .NET project (i.e. timetracker): testapp1 Please enter the root namespace for your .NET project (i.e. org.andromda.samples .timetracker): crutch.testapp Please enter a version for your project (i.e. 1.0-SNAPSHOT): 1.0 What version of the .Net Framework will you be targeting? [1.1, 2.0]: 2.0 Please enter the type of transactional/persistence cartridge to use. Note: The s pring cartridge uses nhibernate. [nhibernate, nspring, none]: nspring Do you want to generate an ASP.NET application? [yes, no]: yes |
From: Chris M. <cm...@us...> - 2006-10-02 13:35:23
|
User: cmicali Date: 06/10/02 06:35:15 Modified: distribution/src/antrun copy-2-website.xml Log: - Disabled distribution package copy Revision Changes Path 1.2 +2 -0 plugins/distribution/src/antrun/copy-2-website.xml Index: copy-2-website.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/distribution/src/antrun/copy-2-website.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- copy-2-website.xml 23 Aug 2006 21:39:44 -0000 1.1 +++ copy-2-website.xml 2 Oct 2006 13:35:14 -0000 1.2 @@ -50,11 +50,13 @@ <include name="org/andromda/**/*"/> </fileset> </copy> +<!-- <copy todir="${website.dir}/maven2/org/andromda/distributions" preservelastmodified="true"> <fileset dir="${distribution.output.directory}"> <include name="*.zip"/> </fileset> </copy> +--> <echo message="Copy Done."/> </target> </project> \ No newline at end of file |
From: Chris M. <cm...@us...> - 2006-10-02 12:49:23
|
User: cmicali Date: 06/10/02 05:49:23 Modified: distribution pom.xml Log: - Added copy 2 website target in dist module Revision Changes Path 1.3 +6 -0 plugins/distribution/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/distribution/pom.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- pom.xml 29 Aug 2006 02:44:12 -0000 1.2 +++ pom.xml 2 Oct 2006 12:49:23 -0000 1.3 @@ -29,6 +29,12 @@ <property name="maven1.repository" value="${maven1Repository}"/> <property name="maven2.repository" value="${settings.localRepository}"/> </ant> + <ant dir="src/antrun" antfile="copy-2-website.xml"> + <property name="website.dir" value="${websiteDir}"/> + <property name="maven1.repository" value="${maven1Repository}"/> + <property name="maven2.repository" value="${settings.localRepository}"/> + <property name="distribution.output.directory" value="${project.build.directory}"/> + </ant> <echo message="Copy and install of m2 to m1 artifacts done."/> </tasks> </configuration> |
From: Chris M. <cm...@us...> - 2006-10-02 02:04:23
|
User: cmicali Date: 06/10/01 19:04:23 Modified: andromda-nspring/src/test/expected cartridge-output.zip andromda-nspring/src/test/expected/org/andromda/cartridges/nspring ServiceOneBase.cs Log: - Fixed build break Revision Changes Path 1.3 +8 -6 cartridges/andromda-nspring/src/test/expected/cartridge-output.zip <<Binary file>> 1.2 +2 -2 cartridges/andromda-nspring/src/test/expected/org/andromda/cartridges/nspring/ServiceOneBase.cs Index: ServiceOneBase.cs =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nspring/src/test/expected/org/andromda/cartridges/nspring/ServiceOneBase.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- ServiceOneBase.cs 15 Aug 2006 22:48:49 -0000 1.1 +++ ServiceOneBase.cs 2 Oct 2006 02:04:23 -0000 1.2 @@ -38,7 +38,7 @@ { SessionManagerFactory.SessionManager.RollbackTransaction(); log.Error(ex); - throw; + throw ServiceOneException.Create(ex); } finally { @@ -69,7 +69,7 @@ { SessionManagerFactory.SessionManager.RollbackTransaction(); log.Error(ex); - throw; + throw ServiceOneException.Create(ex); } finally { |
From: Chris M. <cm...@us...> - 2006-10-02 01:57:11
|
User: cmicali Date: 06/10/01 18:57:08 Modified: andromda-cs pom.xml . pom.xml etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn AddInSettings.cs MDASolutionManager.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Membership MembershipServiceImpl.cs UserDaoImpl.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/conf andromda-m2.xml etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources pom.xml project.properties Log: -Updates to Android/VS to support the 1.1-SNAPSHOT netcarts Revision Changes Path 1.10 +1 -3 cartridges/andromda-cs/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-cs/pom.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- pom.xml 2 Oct 2006 01:21:46 -0000 1.9 +++ pom.xml 2 Oct 2006 01:57:04 -0000 1.10 @@ -11,9 +11,7 @@ <packaging>andromda-cartridge</packaging> <name>AndroMDA C# Cartridge</name> <version>1.1-SNAPSHOT</version> - <description> - Produces C# objects from a model. - </description> + <description>Produces C# objects from a model.</description> <issueManagement> <system>jira</system> <url>http://galaxy.andromda.org/jira/browse/NETCART</url> 1.7 +1 -1 cartridges/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/pom.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 1.15 +5 -2 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.14 retrieving revision 1.15 diff -u -w -r1.14 -r1.15 --- AddInSettings.cs 28 Sep 2006 20:28:39 -0000 1.14 +++ AddInSettings.cs 2 Oct 2006 01:57:05 -0000 1.15 @@ -375,11 +375,14 @@ foreach (string folder in syncFolders) { string folderCleaned = folder.Trim().ToLower().Replace('\\', '/').Trim('/'); + if (folderCleaned.Length > 0) + { if (folderPath.EndsWith(folderCleaned)) { return true; } } + } return false; } #endregion 1.18 +8 -4 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/MDASolutionManager.cs Index: MDASolutionManager.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/MDASolutionManager.cs,v retrieving revision 1.17 retrieving revision 1.18 diff -u -w -r1.17 -r1.18 --- MDASolutionManager.cs 28 Sep 2006 20:28:39 -0000 1.17 +++ MDASolutionManager.cs 2 Oct 2006 01:57:05 -0000 1.18 @@ -512,13 +512,17 @@ // Search for the existing foreach (string folder in syncFolders) { + string folderCleaned = folder.Replace('/', '\\').Trim('\\'); + if (folderCleaned.Length > 0) + { string folderPath = proj.Properties.Item("FullPath").Value.ToString().Trim('\\'); - folderPath = folderPath + "\\" + folder.Replace('/', '\\').Trim('\\'); + folderPath = folderPath + "\\" + folderCleaned; if (System.IO.Directory.Exists(folderPath)) { proj.ProjectItems.AddFromDirectory(folderPath); } } + } foreach (ProjectItem item in proj.ProjectItems) { 1.4 +1 -1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Membership/MembershipServiceImpl.cs Index: MembershipServiceImpl.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Membership/MembershipServiceImpl.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- MembershipServiceImpl.cs 27 Jul 2006 03:55:47 -0000 1.3 +++ MembershipServiceImpl.cs 2 Oct 2006 01:57:05 -0000 1.4 @@ -152,7 +152,7 @@ UserRole role = RoleIsInList(entity.Roles, rolestring); if (role == null) { - role = UserRole.Factory.newInstance(); + role = UserRole.Factory.NewInstance(); role.Role = (Role)Enum.Parse(typeof(Role), rolestring); role.User = entity; entity.Roles.Add(role); 1.4 +1 -1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Membership/UserDaoImpl.cs Index: UserDaoImpl.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Membership/UserDaoImpl.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- UserDaoImpl.cs 27 Jul 2006 03:55:47 -0000 1.3 +++ UserDaoImpl.cs 2 Oct 2006 01:57:07 -0000 1.4 @@ -46,7 +46,7 @@ { if (userVO == null) { return null; } // VO to entity conversion - User entity = User.Factory.newInstance(); + User entity = User.Factory.NewInstance(); entity.Id = userVO.Id; entity.UserName = userVO.UserName; 1.3 +1 -1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/conf/andromda-m2.xml Index: andromda-m2.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/conf/andromda-m2.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- andromda-m2.xml 28 Sep 2006 20:28:40 -0000 1.2 +++ andromda-m2.xml 2 Oct 2006 01:57:07 -0000 1.3 @@ -161,7 +161,7 @@ <property name="web">${web.dir}</property> <property name="web_generated">${web.generated.dir}</property> <property name="web_manual">${web.manual.dir}</property> - <property name="webAssemblyName">${web.dir}</property> + <property name="webAssemblyName">${groupId}.Web</property> <property name="AssemblyTitle">${web.dir}</property> <property name="AssemblyDescription"></property> <property name="AssemblyConfiguration"></property> 1.7 +3 -3 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/pom.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- pom.xml 28 Sep 2006 20:28:40 -0000 1.6 +++ pom.xml 2 Oct 2006 01:57:08 -0000 1.7 @@ -41,17 +41,17 @@ <dependency> <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-nspring-cartridge</artifactId> - <version>1.0-SNAPSHOT</version> + <version>1.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-nhibernate-cartridge</artifactId> - <version>1.0-SNAPSHOT</version> + <version>1.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-cs-cartridge</artifactId> - <version>1.0-SNAPSHOT</version> + <version>1.1-SNAPSHOT</version> </dependency> ${wizard.cartridges.aspnet.rootpom.dependencies} 1.3 +3 -3 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/project.properties Index: project.properties =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/project.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- project.properties 17 Aug 2006 03:56:57 -0000 1.2 +++ project.properties 2 Oct 2006 01:57:08 -0000 1.3 @@ -25,9 +25,9 @@ # AndroMDA dependencies version andromda.version=3.2-SNAPSHOT -andromda.cs.version=1.0 -andromda.nhibernate.version=1.0 -andromda.nspring.version=1.0 +andromda.cs.version=1.1-SNAPSHOT +andromda.nhibernate.version=1.1-SNAPSHOT +andromda.nspring.version=1.1-SNAPSHOT andromda.aspdotnet.version=1.0-SNAPSHOT # common dependency versions |
From: Chris M. <cm...@us...> - 2006-10-02 01:21:49
|
User: cmicali Date: 06/10/01 18:21:48 Modified: andromda-cs pom.xml andromda-nhibernate pom.xml andromda-nhibernate/src/main/resources/templates/nhibernate NHibernateEmbeddedValue.vsl NHibernateEntity.vsl andromda-nhibernate/src/test/expected cartridge-output.zip andromda-nhibernate/src/test/expected/org/andromda/cartridges/nhibernate EntityOne.cs EntityTwo.cs andromda-nspring pom.xml andromda-nspring/src/main/resources/META-INF/andromda cartridge.xml andromda-nspring/src/main/resources/templates/nspring NSpringServiceBase.vsl Added: andromda-nspring/src/main/resources/templates/nspring NSpringServiceException.vsl Removed: andromda-cs/src/main/resources/templates/cs Service.vsl ServiceImpl.vsl Log: - Updated version to 1.1-SNAPSHOT - Added service exception to nspring cartridge - Changed newInstance to NewInstance in templates Revision Changes Path 1.9 +1 -1 cartridges/andromda-cs/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-cs/pom.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- pom.xml 27 Sep 2006 13:32:20 -0000 1.8 +++ pom.xml 2 Oct 2006 01:21:46 -0000 1.9 @@ -10,7 +10,7 @@ <artifactId>andromda-cs-cartridge</artifactId> <packaging>andromda-cartridge</packaging> <name>AndroMDA C# Cartridge</name> - <version>1.0</version> + <version>1.1-SNAPSHOT</version> <description> Produces C# objects from a model. </description> 1.10 +1 -1 cartridges/andromda-nhibernate/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nhibernate/pom.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- pom.xml 21 Sep 2006 02:33:08 -0000 1.9 +++ pom.xml 2 Oct 2006 01:21:47 -0000 1.10 @@ -10,7 +10,7 @@ <artifactId>andromda-nhibernate-cartridge</artifactId> <packaging>andromda-cartridge</packaging> <name>AndroMDA NHibernate Cartridge</name> - <version>1.0</version> + <version>1.1-SNAPSHOT</version> <description> Produces NHibernate entities optionally services implemented as Session EJB facades. </description> 1.4 +3 -3 cartridges/andromda-nhibernate/src/main/resources/templates/nhibernate/NHibernateEmbeddedValue.vsl Index: NHibernateEmbeddedValue.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nhibernate/src/main/resources/templates/nhibernate/NHibernateEmbeddedValue.vsl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- NHibernateEmbeddedValue.vsl 15 Aug 2006 22:48:46 -0000 1.3 +++ NHibernateEmbeddedValue.vsl 2 Oct 2006 01:21:47 -0000 1.4 @@ -34,7 +34,7 @@ #if ($embeddedValue.attributes.empty) #set ($parenthesis = "()") #end - public static $embeddedValue.name newInstance${parenthesis} + public static $embeddedValue.name NewInstance${parenthesis} #foreach ($attribute in $embeddedValue.attributes) $attribute.getterSetterTypeName ${attribute.name}#if($velocityCount != $embeddedValue.attributes.size()),#else) #end @@ -52,11 +52,11 @@ /// <summary> /// Creates a new instance from other $embeddedValue.name instance. /// </summary> - public static ${embeddedValue.name} newInstance($embeddedValue.name otherObject) + public static ${embeddedValue.name} NewInstance($embeddedValue.name otherObject) { if (otherObject != null) { - return newInstance( + return NewInstance( #foreach ($attribute in $embeddedValue.attributes) otherObject._${attribute.name}#if($velocityCount != $embeddedValue.attributes.size()),#else); #end 1.6 +2 -2 cartridges/andromda-nhibernate/src/main/resources/templates/nhibernate/NHibernateEntity.vsl Index: NHibernateEntity.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nhibernate/src/main/resources/templates/nhibernate/NHibernateEntity.vsl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- NHibernateEntity.vsl 8 Sep 2006 14:48:54 -0000 1.5 +++ NHibernateEntity.vsl 2 Oct 2006 01:21:47 -0000 1.6 @@ -200,7 +200,7 @@ /// <summary> /// Constructs a new instance of <seealso cref="${entity.fullyQualifiedName}"/>. /// </summary> - public static $entity.fullyQualifiedName newInstance() + public static $entity.fullyQualifiedName NewInstance() { return new ${entity.fullyQualifiedEntityImplementationName}(); } @@ -223,7 +223,7 @@ /// <summary> /// Constructs a new instance of <seealso cref="${entity.fullyQualifiedName}"/>. /// </summary> - public static $entity.fullyQualifiedName newInstance() + public static $entity.fullyQualifiedName NewInstance() { return new ${entity.fullyQualifiedEntityImplementationName}(); } 1.6 +16 -15 cartridges/andromda-nhibernate/src/test/expected/cartridge-output.zip <<Binary file>> 1.5 +1 -1 cartridges/andromda-nhibernate/src/test/expected/org/andromda/cartridges/nhibernate/EntityOne.cs Index: EntityOne.cs =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nhibernate/src/test/expected/org/andromda/cartridges/nhibernate/EntityOne.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EntityOne.cs 8 Sep 2006 14:48:54 -0000 1.4 +++ EntityOne.cs 2 Oct 2006 01:21:47 -0000 1.5 @@ -159,7 +159,7 @@ /// <summary> /// Constructs a new instance of <seealso cref="org.andromda.cartridges.nhibernate.EntityOne"/>. /// </summary> - public static org.andromda.cartridges.nhibernate.EntityOne newInstance() + public static org.andromda.cartridges.nhibernate.EntityOne NewInstance() { return new org.andromda.cartridges.nhibernate.EntityOneImpl(); } 1.5 +1 -1 cartridges/andromda-nhibernate/src/test/expected/org/andromda/cartridges/nhibernate/EntityTwo.cs Index: EntityTwo.cs =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nhibernate/src/test/expected/org/andromda/cartridges/nhibernate/EntityTwo.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EntityTwo.cs 8 Sep 2006 14:48:54 -0000 1.4 +++ EntityTwo.cs 2 Oct 2006 01:21:47 -0000 1.5 @@ -132,7 +132,7 @@ /// <summary> /// Constructs a new instance of <seealso cref="org.andromda.cartridges.nhibernate.EntityTwo"/>. /// </summary> - public static org.andromda.cartridges.nhibernate.EntityTwo newInstance() + public static org.andromda.cartridges.nhibernate.EntityTwo NewInstance() { return new org.andromda.cartridges.nhibernate.EntityTwoImpl(); } 1.6 +1 -1 cartridges/andromda-nspring/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nspring/pom.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- pom.xml 27 Sep 2006 13:32:20 -0000 1.5 +++ pom.xml 2 Oct 2006 01:21:47 -0000 1.6 @@ -10,7 +10,7 @@ <artifactId>andromda-nspring-cartridge</artifactId> <packaging>andromda-cartridge</packaging> <name>AndroMDA NSpring Cartridge</name> - <version>1.0</version> + <version>1.1-SNAPSHOT</version> <description> Generates NSpring with NHibernate support </description> 1.4 +14 -0 cartridges/andromda-nspring/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nspring/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- cartridge.xml 15 Jun 2006 14:59:55 -0000 1.3 +++ cartridge.xml 2 Oct 2006 01:21:47 -0000 1.4 @@ -181,6 +181,20 @@ </template> <template + path="templates/nspring/NSpringServiceException.vsl" + outputPattern="$generatedFile" + outlet="services" + overwrite="true"> + <modelElements variable="service"> + <modelElement> + <type name="org.andromda.cartridges.nspring.metafacades.SpringService"> + <property name="configonly">false</property> + </type> + </modelElement> + </modelElements> + </template> + + <template path="templates/nspring/NSpringServiceBase.vsl" outputPattern="$generatedFile" outlet="services" 1.2 +1 -1 cartridges/andromda-nspring/src/main/resources/templates/nspring/NSpringServiceBase.vsl Index: NSpringServiceBase.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-nspring/src/main/resources/templates/nspring/NSpringServiceBase.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- NSpringServiceBase.vsl 15 Jun 2006 14:59:55 -0000 1.1 +++ NSpringServiceBase.vsl 2 Oct 2006 01:21:47 -0000 1.2 @@ -84,7 +84,7 @@ { SessionManagerFactory.SessionManager.RollbackTransaction(); log.Error(ex); - throw; + throw ${service.name}Exception.Create(ex); } finally { 1.1 cartridges/andromda-nspring/src/main/resources/templates/nspring/NSpringServiceException.vsl Index: NSpringServiceException.vsl =================================================================== #set ($generatedFile = "${service.packagePath}/${service.name}Exception.cs") // Name: ${service.name}Exception.cs // license-header cs merge-point // // Attention: Generated code! Do not modify by hand! // Generated by: NSpringServiceException.vsl using System; using System.Xml; using System.Runtime.Serialization; using System.Web; using System.Web.Services.Protocols; #if ($stringUtils.isNotBlank($service.packageName)) namespace $service.packageName { #end [Serializable] public class ${service.name}Exception : System.ApplicationException, ISerializable { private XmlNode detail = null; private const string ErrorMessage = "A call to TimeTrackingService failed. Please check the inner exception for more detail."; private static XmlDocument doc = new XmlDocument(); private bool isKnownException = false; /// <summary> /// Contains the details about the exception. Contains the InnerException if any /// Format of the InnerException is <exception type="FullNameOfTheException"><message></message></exception> /// </summary> public XmlNode Detail { get { return this.detail; } set { this.detail = value; } } /// <summary> /// Says whether this exception is a known business exception /// </summary> public bool KnownException { get { return this.isKnownException; } set { this.isKnownException = value; } } /// <summary> /// Initializes a new instance of ${service.name}Exception with a specified error message. /// </summary> /// <param name="message">A message that describes the error.</param> internal ${service.name}Exception(String message) : base(message) { this.isKnownException = true; } /// <summary> /// Initializes a new instance of ${service.name}Exception at the time of deserialization. /// Do not call the base class constructor as that initializes few properties that are not getting serialized /// </summary> /// <param name="info">Contains the state information of the serialized object.</param> /// <param name="context">Contains the context information.</param> public ${service.name}Exception(SerializationInfo info, StreamingContext context) // : base(info, context) { this.detail = info.GetValue("Detail", typeof(XmlNode) ) as XmlNode; this.isKnownException = info.GetBoolean("KnownException"); } /// <summary> /// Initializes a new instance of ${service.name}Exception that wraps the actual exception. /// </summary> /// <param name="message">A message that describes the error.</param> /// <param name="innerException">The exception that is the cause of the current exception.</param> internal ${service.name}Exception(String message, Exception innerException) : base(message) { this.detail = ToXmlNode( message, innerException ); } #region ISerializable Members void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { /// Do not call the base class method as that initializes few properties that are not getting serialized //base.GetObjectData(info, context); info.AddValue("Detail", this.detail); info.AddValue("KnownException", isKnownException ); } #endregion /// <summary> /// Create a new instance of the ${service.name}Exception. /// </summary> /// <param name="message">A message that describes the error.</param> public static ${service.name}Exception Create(string message) { return new ${service.name}Exception(message); } /// <summary> /// Create a new instance of the ${service.name}Exception. /// </summary> /// <param name="exception">Actual exception that contains the error information.</param> public static ${service.name}Exception Create(Exception e) { if (e is ${service.name}Exception) { return (${service.name}Exception)e; } else if (e is SoapException) { return UnwrapSoapException((SoapException)e); } else { return new ${service.name}Exception(ErrorMessage, e); } } /// <summary> /// This method wraps the a exception as a ${service.name}Exception and then as a SoapException. /// </summary> /// <param name="e">Actual exception that contains the error information.</param> public static SoapException WrapSoapException(Exception e) { //Make sure the exception that is wrapped is a ${service.name}Exception ${service.name}Exception ttse = Create(e); string actor = (HttpContext.Current != null) ? HttpContext.Current.Request.Url.AbsoluteUri : string.Empty; return new SoapException("Fault occurred", SoapException.ClientFaultCode, actor, ToXmlNode(e.Message, ttse)); } /// <summary> /// This method unwraps the ${service.name}Exception from the SoapException. /// </summary> /// <param name="se">Actual exception that contains the error information.</param> private static ${service.name}Exception UnwrapSoapException(SoapException se) { ${service.name}Exception ttse = null; XmlNode detailNode = se.Detail; if (detailNode != null) { string message = detailNode.SelectSingleNode("message").InnerText; ttse = new ${service.name}Exception(message); XmlNode exceptionNode = detailNode.SelectSingleNode("exception"); if (exceptionNode != null) ttse.Detail = exceptionNode; } return ttse; } /// <summary> /// Helper method to create a xml node that contains the information about the parameters passed. /// </summary> /// <param name="message">A message that describes the error.</param> /// <param name="exception">Actual exception that contains the error information.</param> private static XmlNode ToXmlNode(string message, Exception e) { // Build the detail element of the SOAP fault. System.Xml.XmlNode detailNode = doc.CreateNode(XmlNodeType.Element, SoapException.DetailElementName.Name, SoapException.DetailElementName.Namespace); // Build specific details for the SoapException. XmlNode messageNode = ToXmlNode( "message", e.Message); detailNode.AppendChild(messageNode); bool IsKnownException = false; ${service.name}Exception ttse = e as ${service.name}Exception; if (ttse != null) { IsKnownException = ttse.KnownException; } XmlNode knownExceptionNode = ToXmlNode("KnownException", IsKnownException.ToString() ); detailNode.AppendChild(knownExceptionNode); if (e != null) { detailNode.AppendChild(ToXmlNode(e)); } return detailNode; } /// <summary> /// Helper method to create a xml node that contains the information about the parameters passed. /// </summary> /// <param name="exception">Actual exception that contains the error information.</param> private static XmlNode ToXmlNode(Exception e) { System.Xml.XmlNode exception = null; if (e != null) { // Create exception node. exception = doc.CreateNode(XmlNodeType.Element, "exception", null); XmlAttribute typeAttribute = doc.CreateAttribute("t", "type", null); typeAttribute.Value = e.GetType().FullName; exception.Attributes.Append(typeAttribute); exception.AppendChild(ToXmlNode("message", e.Message)); if (e.InnerException != null) { exception.AppendChild(ToXmlNode(e.InnerException)); } } return exception; } /// <summary> /// Helper method to create a xml node that contains the information about the parameters passed. /// </summary> /// <param name="nodeName">A name of the node to be created.</param> /// <param name="text">Text that is the value of the node.</param> private static XmlNode ToXmlNode(string nodeName, string text) { System.Xml.XmlNode messageNode = doc.CreateNode(XmlNodeType.Element, nodeName, null); XmlNode messageTextNode = doc.CreateNode(XmlNodeType.Text, "Text", null); messageTextNode.Value = text; messageNode.AppendChild(messageTextNode); return messageNode; } } #if ($stringUtils.isNotBlank($service.packageName)) } #end |
From: Eric C. <ecr...@us...> - 2006-10-01 15:41:34
|
User: ecrutchfield Date: 06/10/01 08:41:31 Modified: andromda-aspdotnet/src/test/expected cartridge-output.zip Log: support lasted version Revision Changes Path 1.5 +65 -95 cartridges/andromda-aspdotnet/src/test/expected/cartridge-output.zip <<Binary file>> |
From: Eric C. <ecr...@us...> - 2006-10-01 13:32:27
|
User: ecrutchfield Date: 06/10/01 06:32:27 Modified: andromda-aspdotnet/src/main/java/org/andromda/cartridges/aspdotnet/metafacades AspBackendServiceLogicImpl.java andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers Controller.cs.vsl andromda-aspdotnet/conf/test andromda.xml Log: fix rendereing of form references and service implementation Revision Changes Path 1.2 +1 -1 cartridges/andromda-aspdotnet/src/main/java/org/andromda/cartridges/aspdotnet/metafacades/AspBackendServiceLogicImpl.java Index: AspBackendServiceLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/java/org/andromda/cartridges/aspdotnet/metafacades/AspBackendServiceLogicImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- AspBackendServiceLogicImpl.java 28 Sep 2006 01:12:54 -0000 1.1 +++ AspBackendServiceLogicImpl.java 1 Oct 2006 13:32:27 -0000 1.2 @@ -35,6 +35,6 @@ { String packageName = String.valueOf( getConfiguredProperty(CommonProperties.SERVICE_PACKAGE_NAME_PATTERN)); - return packageName.replaceAll("\\{0\\}", super.getPackageName()) + "." + this.getName(); + return packageName.replaceAll("\\{0\\}", super.getPackageName()) + ".I" + this.getName(); } } \ No newline at end of file 1.2 +10 -2 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers/Controller.cs.vsl Index: Controller.cs.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers/Controller.cs.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- Controller.cs.vsl 1 Oct 2006 01:44:47 -0000 1.1 +++ Controller.cs.vsl 1 Oct 2006 13:32:27 -0000 1.2 @@ -24,10 +24,12 @@ //Instantiate the Form objects to hold data from the pages during transitions //between action states. #foreach ($action in $controller.useCase.actions) +#if (!$action.formFields.empty) if (this.${action.formImplementationPropertyName} == null) this.${action.formImplementationPropertyName} = new ${action.fullyQualifiedFormImplementationName}(); #end +#end } #endregion @@ -61,6 +63,7 @@ ## #region Public properties #foreach ($action in $controller.useCase.actions) +#if (!$action.formFields.empty) /// <summary> /// Get/set the <see cref="${action.fullyQualifiedFormImplementationName}"/> from HttpSession. /// </summary> @@ -78,6 +81,7 @@ } #end +#end #endregion ##todo add public method that can be called from base page @@ -90,9 +94,13 @@ public virtual void ${stringUtils.capitalize(${action.triggerName})}() { string forward = String.Empty; +#if (!$action.formFields.empty) ${action.fullyQualifiedFormImplementationName} form = this.${action.formImplementationPropertyName}; +#end forward = #processTransition($action) +#if (!$action.formFields.empty) this.${action.formImplementationPropertyName} = form; +#end HttpContext.Current.Response.Redirect(forward); } @@ -132,7 +140,7 @@ /// <summary> /// Returns a reference to the $serviceRef.name back-end service. /// </summary> - protected $serviceRef.targetElement.fullyQualifiedName ${serviceRef.getterName}() + protected $serviceRef.targetElement.fullyQualifiedName $stringUtils.capitalise(${serviceRef.getterName})() { try { @@ -140,7 +148,7 @@ } catch (Exception ex) { - throw new InvalidOperationException(ex); + throw new InvalidOperationException("A problem occured while getting a reference to the ${serviceRef.name} service.", ex); } } 1.2 +1 -0 cartridges/andromda-aspdotnet/conf/test/andromda.xml Index: andromda.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/conf/test/andromda.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- andromda.xml 25 Sep 2006 19:21:26 -0000 1.1 +++ andromda.xml 1 Oct 2006 13:32:27 -0000 1.2 @@ -56,6 +56,7 @@ <property name="AssemblyDelaySign">true</property> <property name="AssemblyKeyFile"></property> <property name="AssemblyKeyName"></property> + <property name="serviceAccessorPattern">{0}.ServiceLocator.Get{1}()</property> </properties> </namespace> </namespaces> |
From: Eric C. <ecr...@us...> - 2006-10-01 13:31:45
|
User: ecrutchfield Date: 06/10/01 06:31:44 Modified: andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005 webformBase.cs.vsl Log: fix form population for table actions and bug with "count" field. Revision Changes Path 1.6 +3 -3 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webformBase.cs.vsl Index: webformBase.cs.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webformBase.cs.vsl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- webformBase.cs.vsl 30 Sep 2006 15:13:38 -0000 1.5 +++ webformBase.cs.vsl 1 Oct 2006 13:31:43 -0000 1.6 @@ -84,7 +84,7 @@ ${parameter.name}DG.AllowPaging = false; if(this.${parameter.name}DG.Rows.Count < 1) ${parameter.name}DG.Visible = false; - ${parameter.name}Count.Text = String.Format(Resources.GeneratedResources.items_in_table_text, this.itemListDG.Rows.Count); + ${parameter.name}Count.Text = String.Format(Resources.GeneratedResources.items_in_table_text, this.${parameter.name}DG.Rows.Count); #end } @@ -185,7 +185,7 @@ #foreach ($action in $table.tableHyperlinkActions) case "${action.triggerName}": #foreach ($parameter in $action.parameters) - base.Controller.${action.formImplementationPropertyName}.${parameter.capitalisedName} = nameValuePairs["${parameter.name}"]; + org.andromda.cartridges.aspdotnet.FormPopulator.PopulateForm(nameValuePairs["${parameter.name}"], base.Controller.${action.formImplementationPropertyName}, "${parameter.capitalisedName}"); #end this.${action.actionMethodName}(); break; @@ -194,7 +194,7 @@ #if (!$action.tableAction) case "${action.triggerName}": #foreach ($parameter in $action.parameters) - base.Controller.${action.formImplementationPropertyName}.${parameter.capitalisedName} = nameValuePairs["${parameter.name}"]; + org.andromda.cartridges.aspdotnet.FormPopulator.PopulateForm(nameValuePairs["${parameter.name}"], base.Controller.${action.formImplementationPropertyName}, "${parameter.capitalisedName}"); #end this.${action.actionMethodName}(); break; |
From: Eric C. <ecr...@us...> - 2006-10-01 13:28:22
|
User: ecrutchfield Date: 06/10/01 06:28:22 Modified: andromda-aspdotnet/src/main/resources/META-INF/andromda cartridge.xml Log: always generate ControllerImpl class as it's referenced in other generated code Revision Changes Path 1.6 +0 -2 cartridges/andromda-aspdotnet/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- cartridge.xml 1 Oct 2006 01:44:47 -0000 1.5 +++ cartridge.xml 1 Oct 2006 13:28:22 -0000 1.6 @@ -334,8 +334,6 @@ <type name="org.andromda.metafacades.uml.FrontEndController"> <!--if this property is not present it's no use generating the controller--> <property name="useCase"/> - <!--only useful generating if we have at least one operation--> - <property name="operations"/> </type> </modelElement> </modelElements> |
From: Eric C. <ecr...@us...> - 2006-10-01 13:27:43
|
User: ecrutchfield Date: 06/10/01 06:27:42 Modified: andromda-aspdotnet/src/main/resources/resources FormPopulator.cs Log: override PopulateForm method to support more scenarios Revision Changes Path 1.3 +63 -53 cartridges/andromda-aspdotnet/src/main/resources/resources/FormPopulator.cs Index: FormPopulator.cs =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/resources/FormPopulator.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- FormPopulator.cs 25 Sep 2006 19:02:48 -0000 1.2 +++ FormPopulator.cs 1 Oct 2006 13:27:42 -0000 1.3 @@ -15,94 +15,104 @@ } /// <summary> - /// Populate a particular field of a form object using the value of the supplied <see cref="System.Web.UI.Control"/>. + /// Populate a particular field of a form object using the supplied value. /// </summary> - /// <param name="fromControl">The control containing the value.</param> + /// <param name="value">The value to populate the form with.</param> /// <param name="toForm">The form object where the value will be written.</param> /// <param name="propertyName">The property of the form where the value will be written.</param> - public static void PopulateForm(System.Web.UI.Control fromControl, object toForm, string propertyName) + public static void PopulateForm(object value, object toForm, string propertyName) { - if (fromControl == null) - throw new ArgumentNullException("fromControl"); - - if (toForm == null) - throw new ArgumentNullException("toForm"); - - if (propertyName == null) - throw new ArgumentNullException("propertyName"); - - object val = null; - switch(fromControl.GetType().FullName) - { - case "System.Web.UI.WebControls.TextBox": - val = ((System.Web.UI.WebControls.TextBox)fromControl).Text; - break; - case "System.Web.UI.WebControls.TextArea": - val = ((System.Web.UI.WebControls.TextBox)fromControl).Text; - break; - case "System.Web.UI.WebControls.CheckBox": - val = ((System.Web.UI.WebControls.CheckBox)fromControl).Checked; - break; - case "System.Web.UI.WebControls.DropDownList": - val = ((System.Web.UI.WebControls.DropDownList)fromControl).SelectedValue; - break; - case "System.Web.UI.WebControls.ListBox": - System.Web.UI.WebControls.ListBox ctl = (System.Web.UI.WebControls.ListBox)fromControl; - if (ctl.SelectionMode == System.Web.UI.WebControls.ListSelectionMode.Single) - val = ((System.Web.UI.WebControls.ListBox)fromControl).SelectedValue; - else - val = org.andromda.cartridges.aspdotnet.StringUtils.GetSelectedItems(((System.Web.UI.WebControls.ListBox)fromControl).Items); - break; - default: - throw new ArgumentException(String.Format("The {0} control is not yet supported.", fromControl.GetType().FullName)); - } - - if (val == null) - throw new ArgumentNullException(String.Format("The value of the {0} control can't be null.", fromControl.GetType().FullName)); + if (value == null) + throw new ArgumentNullException("The value can't be null."); PropertyInfo propInfo = toForm.GetType().GetProperty(propertyName); object assignedValue = null; switch (propInfo.PropertyType.Name) { case "String": - assignedValue = val; + assignedValue = value; break; case "Int16": - assignedValue = Int16.Parse( (string) val, NumberStyles.Integer ); + assignedValue = Int16.Parse((string)value, NumberStyles.Integer); break; case "Int32": - assignedValue = Int32.Parse( (string) val, NumberStyles.Integer ); + assignedValue = Int32.Parse((string)value, NumberStyles.Integer); break; case "Int64": - assignedValue = Int32.Parse ( (string) val, NumberStyles.Integer); + assignedValue = Int32.Parse((string)value, NumberStyles.Integer); break; case "Byte": - assignedValue = Convert.ToByte(val); + assignedValue = Convert.ToByte(value); break; case "Decimal": - assignedValue = Decimal.Parse( (string) val,NumberStyles.Any); + assignedValue = Decimal.Parse((string)value, NumberStyles.Any); break; case "Double": - assignedValue = Double.Parse( (string) val,NumberStyles.Any); + assignedValue = Double.Parse((string)value, NumberStyles.Any); break; case "Boolean": - assignedValue = val; + assignedValue = value; break; case "DateTime": - assignedValue = Convert.ToDateTime(val); + assignedValue = Convert.ToDateTime(value); break; case "IList": - if (val is System.Collections.IList) - assignedValue = val; + if (value is System.Collections.IList) + assignedValue = value; else - throw new ArgumentException(String.Format("The field {0} can't be converted to a type compatible with the form property {1}", fromControl.ID, propertyName)); + throw new ArgumentException(String.Format("The value can't be converted to a type compatible with the form property {0}", propertyName)); break; default: throw new ArgumentException("Field type not handled."); - break; } propInfo.SetValue(toForm, assignedValue, null); } + + /// <summary> + /// Populate a particular field of a form object using the value of the supplied <see cref="System.Web.UI.Control"/>. + /// </summary> + /// <param name="fromControl">The control containing the value.</param> + /// <param name="toForm">The form object where the value will be written.</param> + /// <param name="propertyName">The property of the form where the value will be written.</param> + public static void PopulateForm(System.Web.UI.Control fromControl, object toForm, string propertyName) + { + if (fromControl == null) + throw new ArgumentNullException("fromControl"); + + if (toForm == null) + throw new ArgumentNullException("toForm"); + + if (propertyName == null) + throw new ArgumentNullException("propertyName"); + + object value = null; + switch(fromControl.GetType().FullName) + { + case "System.Web.UI.WebControls.TextBox": + value = ((System.Web.UI.WebControls.TextBox)fromControl).Text; + break; + case "System.Web.UI.WebControls.TextArea": + value = ((System.Web.UI.WebControls.TextBox)fromControl).Text; + break; + case "System.Web.UI.WebControls.CheckBox": + value = ((System.Web.UI.WebControls.CheckBox)fromControl).Checked; + break; + case "System.Web.UI.WebControls.DropDownList": + value = ((System.Web.UI.WebControls.DropDownList)fromControl).SelectedValue; + break; + case "System.Web.UI.WebControls.ListBox": + System.Web.UI.WebControls.ListBox ctl = (System.Web.UI.WebControls.ListBox)fromControl; + if (ctl.SelectionMode == System.Web.UI.WebControls.ListSelectionMode.Single) + value = ((System.Web.UI.WebControls.ListBox)fromControl).SelectedValue; + else + value = org.andromda.cartridges.aspdotnet.StringUtils.GetSelectedItems(((System.Web.UI.WebControls.ListBox)fromControl).Items); + break; + default: + throw new ArgumentException(String.Format("The {0} control is not yet supported.", fromControl.GetType().FullName)); + } + + PopulateForm(value, toForm, propertyName); + } } } |
From: Eric C. <ecr...@us...> - 2006-10-01 01:44:47
|
User: ecrutchfield Date: 06/09/30 18:44:47 Modified: andromda-aspdotnet/src/main/resources/META-INF/andromda cartridge.xml Added: andromda-aspdotnet/src/main/resources/templates/aspdotnet/forms formImplMacros.vm formMacros.vm formImpl.cs.vsl Form.cs.vsl andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers ControllerImpl.cs.vsl Controller.cs.vm Controller.cs.vsl Removed: andromda-aspdotnet/src/main/resources/templates/aspdotnet/uicontrollers UIPController.cs.vsl Controller.cs.vm formImplMacros.vm Form.cs.vsl formMacros.vm formImpl.cs.vsl UIPControllerImpl.cs.vsl Log: rename/move files/folders to more appropriate places/names Revision Changes Path 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/forms/formImplMacros.vm Index: formImplMacros.vm =================================================================== ## ## This macro renders the backing list support for the form implementation ## #macro(renderBackingListImplSupport $field $ownerParameter) #if ($field.name) #set ($labelListName = "${field.name}LabelList") #set ($valueListName = "${field.name}ValueList") #set ($backingListName = "${field.name}BackingList") #else #set ($labelListName = $field.getLabelListName($ownerParameter)) #set ($valueListName = $field.getValueListName($ownerParameter)) #set ($backingListName = $field.getBackingListName($ownerParameter)) #end #set ($listType = "System.Object[]") #set ($labelListMethod = $stringUtils.capitalize($labelListName)) #set ($valueListMethod = $stringUtils.capitalize($valueListName)) #set ($backingListMethod = $stringUtils.capitalize($backingListName)) System.Web.UI.WebControls.ListItemCollection _${backingListName} = null; string[] _${labelListName} = null; string[] _${valueListName} = null; /// <summary> /// Get the backing list for the ${action.name} field. You must have first set the labels /// and values via the <cref="Set${labelListMethod}"/> and <cref="Set${valueListMethod}"/> methods. /// </summary> public System.Web.UI.WebControls.ListItemCollection Get${backingListMethod}() { //return an empty collection if they never set the backing list labels and values. if (this._${labelListName} == null || this._${valueListName} == null) return new System.Web.UI.WebControls.ListItemCollection(); if (this._${labelListName}.Length != this._${valueListName}.Length) throw new InvalidOperationException("The number of values and labels are not the same."); if (this._${backingListName} == null) { this._${backingListName} = new System.Web.UI.WebControls.ListItemCollection(); } else this._${backingListName}.Clear(); for (int i = 0; i < this._${labelListName}.Length; i++) { System.Web.UI.WebControls.ListItem listItem = new System.Web.UI.WebControls.ListItem(this._${labelListName}[i], this._${valueListName}[i]); this._${backingListName}.Add(listItem); } return this._${backingListName}; } /// <summary> /// Set the backing list labels for the ${action.name} field. You must also call /// <see cref="Set${valueListMethod}"/> passing in the same number of items. /// </summary> /// <param name="list">a string array of the labels</param> public void Set${labelListMethod}(string[] list) { this._${labelListName} = list; } /// <summary> /// Set the backing list values for the ${action.name} field. You must also call /// <see cref="Set${labelListMethod}"/> passing in the same number of items. /// </summary> /// <param name="list">a string array of the values</param> public void Set${valueListMethod}(string[] list) { this._${valueListName} = list; } #end ## ## This macro renders the code that sets the property ## of the form using the value of the input field defined on the page. ## #macro( populateFormProperties ) #if(!$action.tableAction && !$action.tableLink) #foreach($parameter in ${action.parameters}) #if(!${parameter.inputHidden} && !${parameter.inputTable}) #set($viewType = ${parameter.viewType}) #set($fieldName = "this.$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}$viewType") ## if we can't get the value from the field (e.g. Label) then we need to get it from it's Hidden counterpart. #if($viewType.equalsIgnoreCase("HyperLink") || $viewType.equalsIgnoreCase("Label")) #set($fieldName = "this.$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}Hidden") #end #set($formProperty = "$parameter.capitalisedName") org.andromda.cartridges.aspdotnet.FormPopulator.PopulateForm(${fieldName}, base.Controller.${action.formImplementationPropertyName}, "${formProperty}"); #end #end #end #end ## ## This macro renders the date/time formatters within the form implementation ## #macro(renderDateTimeFormatters $field $ownerParameter) #if ($field.backingListName) #set ($dateFormatter = $field.dateFormatter) #set ($timeFormatter = $field.timeFormatter) #set ($fieldName = $field.name) #else #set ($dateFormatter = $field.getDateFormatter($ownerParameter)) #set ($timeFormatter = $field.getTimeFormatter($ownerParameter)) #set ($fieldName = $field.getFormPropertyName($ownerParameter)) #end #set ($lenient = !$field.strictDateFormat) #if ($field.type.dateType) java.text.DateFormat $dateFormatter = new java.text.SimpleDateFormat("$field.format"); ${dateFormatter}.setLenient($lenient); this.dateTimeFormatters.put("$fieldName", $dateFormatter); #elseif ($field.type.timeType) java.text.DateFormat $timeFormatter = new java.text.SimpleDateFormat("$field.format"); this.dateTimeFormatters.put("$fieldName", $timeFormatter); #end #end 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/forms/formMacros.vm Index: formMacros.vm =================================================================== ## ## This macro renders the backing list support for the form implementation ## #macro(renderBackingListSupport $field $ownerParameter) #if ($field.name) #set ($labelListName = "${field.name}LabelList") #set ($valueListName = "${field.name}ValueList") #set ($backingListName = "${field.name}BackingList") #else #set ($labelListName = $field.getLabelListName($ownerParameter)) #set ($valueListName = $field.getValueListName($ownerParameter)) #set ($backingListName = $field.getBackingListName($ownerParameter)) #end #set ($listType = "System.Object[]") #set ($labelListMethod = $stringUtils.capitalize($labelListName)) #set ($valueListMethod = $stringUtils.capitalize($valueListName)) #set ($backingListMethod = $stringUtils.capitalize($backingListName)) /// <summary> /// Get the backing list for the ${action.name} field. You must have first set the labels /// and values via the <cref="Set${labelListMethod}"/> and <cref="Set${valueListMethod}"/> methods. /// </summary> System.Web.UI.WebControls.ListItemCollection Get${backingListMethod}(); /// <summary> /// Set the backing list labels for the ${field.name} field. You must also call /// <see cref="Set${valueListMethod}"/> passing in the same number of items. /// </summary> /// <param name="list">a string array of the labels</param> void Set${labelListMethod}(string[] list); /// <summary> /// Set the backing list values for the ${field.name} field. You must also call /// <see cref="Set${labelListMethod}"/> passing in the same number of items. /// </summary> /// <param name="list">a string array of the values</param> void Set${valueListMethod}(string[] list); #end 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/forms/formImpl.cs.vsl Index: formImpl.cs.vsl =================================================================== #if($is2005Solution) #set($folder = "App_Code/target/src/") #else #set($folder = "target/src/") #end #set($generatedFile = "${folder}${action.fullyQualifiedFormImplementationPath}.cs") using System; using System.Collections; namespace ${action.packageName} { /// <summary> $action.getDocumentation(" /// ", 80, false) /// </summary> [Serializable] public class $action.formImplementationName #if ($stringUtils.isNotBlank($action.formImplementationInterfaceList)) : $action.formImplementationInterfaceList#end { ## ## Constructor ## #region Constructor public ${action.formImplementationName}() {} #endregion #foreach ($field in $action.formFields) #region Getter/Setter for ${stringUtils.capitalize($field.name)} #if ($field.type.collectionType) #set ($fieldTypeName = "System.Collections.IList") #elseif ($field.type.fileType) #set ($fieldTypeName = "$fileTypeName") #else #set ($fieldTypeName = $field.type.fullyQualifiedName) #end private $fieldTypeName _$field.name#if ($field.defaultValuePresent) = $field.defaultValue#end; /// <summary> /// Get/set the value for the ${field.name} field. /// </summary> /// <remarks> $field.getDocumentation(" /// ", 80, false) /// </remarks> public $fieldTypeName ${stringUtils.capitalize($field.name)} { get { return this._${field.name}; } set { this._${field.name} = value; } } #if (!$field.complex && !$field.defaultValuePresent && $field.selectable) #renderBackingListImplSupport($field "") #end #endregion #end } } 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/forms/Form.cs.vsl Index: Form.cs.vsl =================================================================== #if($is2005Solution) #set($folder = "App_Code/target/src/") #else #set($folder = "target/src/") #end #set ($generatedFile = "${folder}${operation.fullyQualifiedFormPath}/I${operation.formName}.cs") // license-header cs merge-point using System; namespace $operation.owner.packageName { /// <summary> /// This interface encapsulates the fields that are used in the execution of the /// <code>$operation.name</code> method, which is located on the /// <see cref="$operation.owner.fullyQualifiedName"/> controller. /// <seealso cref="${operation.owner.fullyQualifiedName}.${operation.signature}"/> /// </summary> /// <remarks> $operation.getDocumentation(" /// ", 80, false) /// </remarks> public interface I${operation.formName} { #foreach ($field in $operation.formFields) #if ($field.type.collectionType) #set ($fieldTypeName = "System.Collections.IList") #elseif ($field.type.fileType) #set ($fieldTypeName = "$fileTypeName") #else #set ($fieldTypeName = $field.type.fullyQualifiedName) #end /// <summary> $field.getDocumentation(" /// ", 80, false) /// </summary> $fieldTypeName $stringUtils.capitalize(${field.name}) { get; ## - don't allow fields with default values to be set #if (!$field.defaultValuePresent) set; #end } ## - don't allow fields with default values to be set #if (!$field.defaultValuePresent) #if (!$field.complex && $field.selectable) #renderBackingListSupport($field "") #end #if ($field.backingValueRequired) //renderBackingValueSupport($field "") #end #foreach ($attribute in $field.attributes) #if ($attribute.isSelectable($field)) #renderBackingListSupport($attribute $field) #elseif ($attribute.isBackingValueRequired($field)) //renderBackingValueSupport($attribute $field) #end #end #end #end } } 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers/ControllerImpl.cs.vsl Index: ControllerImpl.cs.vsl =================================================================== #if($is2005Solution) #set($folder = "App_Code/src/main/") #else #set($folder = "src/main/") #end #set($generatedFile = "${folder}${controller.fullyQualifiedImplementationPath}.cs") using System; using System.Collections; namespace $controller.packageName { /// <summary> /// <see cref="${controller.fullyQualifiedName}"/> /// </summary> public class ${controller.implementationName} : ${controller.fullyQualifiedName} { ## ## create an overriden method for all operations on the controller ## #foreach($operation in ${controller.operations}) /// <summary> /// <see cref="$controller.fullyQualifiedName.$operation.signature"/> /// </summary> ${operation.implementationFormSignature} { //${toDoTag} add an implementation for ${controller.implementationName}.${operation.name}() #if(${operation.returnType.booleanType}) return false; #elseif(${operation.returnTypePresent}) return null; #end } #end } } 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers/Controller.cs.vm Index: Controller.cs.vm =================================================================== ## ## This macro determines what to do when processing a transition ## #macro (processTransition $transition) #if (!$transition) null; #elseif ($transition.enteringFinalState) #set ($targetUseCase = $transition.target.targetUseCase) "~/target/src/${targetUseCase.fullyQualifiedPath}/${targetUseCase.normalizedName}UC.aspx"; #elseif ($transition.enteringView) "~/target/src/${transition.target.fullyQualifiedPath}/${transition.target.normalizedName}.aspx"; #elseif ($transition.enteringDecisionPoint) __${transition.operationCall.name}(#if (!$action.formFields.empty)form#end); #else ${transition.target.actionMethodName}(#if (!$action.formFields.empty)form#end); #end #end 1.1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers/Controller.cs.vsl Index: Controller.cs.vsl =================================================================== #if($is2005Solution) #set($folder = "App_Code/target/src/") #else #set($folder = "target/src/") #end #set($generatedFile = "${folder}${controller.fullyQualifiedNamePath}.cs") using System; using System.Collections; using System.Web; namespace $controller.packageName { /// <summary> $controller.getDocumentation(" /// ", 80, false) /// </summary> public abstract class $controller.name { ## ## Contructor of the controller that will instanciate(if it is null) the formData(s) ## #region Constructor public ${controller.name}() { //Instantiate the Form objects to hold data from the pages during transitions //between action states. #foreach ($action in $controller.useCase.actions) if (this.${action.formImplementationPropertyName} == null) this.${action.formImplementationPropertyName} = new ${action.fullyQualifiedFormImplementationName}(); #end } #endregion ## ## Navigation from the initial state to the first action. ## /// <summary> /// Calling this method starts the use case. The user will be redirected to /// the starting WebForm. /// </summary> public void StartUseCase() { this.${stringUtils.capitalize(${controller.useCase.normalizedName})}(); } ## ## controller methods ## #region Abstract methods #foreach($operation in ${controller.operations}) /// <summary> $operation.getDocumentation(" /// ", 80, false) /// </summary> ${operation.formSignature}; #end #endregion ## ## form data ## #region Public properties #foreach ($action in $controller.useCase.actions) /// <summary> /// Get/set the <see cref="${action.fullyQualifiedFormImplementationName}"/> from HttpSession. /// </summary> public ${action.fullyQualifiedFormImplementationName} ${action.formImplementationPropertyName} { get { return HttpContext.Current.Session["${action.controller.fullyQualifiedName}.${action.formImplementationName}"] as ${action.fullyQualifiedFormImplementationName}; } set { HttpContext.Current.Session["${action.controller.fullyQualifiedName}.${action.formImplementationName}"] = value; } } #end #endregion ##todo add public method that can be called from base page #region Controller Action methods #foreach ($action in $controller.useCase.actions) /// <summary> $action.getDocumentation(" /// ", 80, false) /// </summary> public virtual void ${stringUtils.capitalize(${action.triggerName})}() { string forward = String.Empty; ${action.fullyQualifiedFormImplementationName} form = this.${action.formImplementationPropertyName}; forward = #processTransition($action) this.${action.formImplementationPropertyName} = form; HttpContext.Current.Response.Redirect(forward); } #foreach ($actionState in $action.actionStates) /// <summary> $actionState.getDocumentation(" /// ", 80, false) /// </summary> private string ${actionState.actionMethodName}(#if (!$action.formFields.empty) $action.fullyQualifiedFormImplementationName form#end) { string forward = null; #if ($actionState.controllerCalls.empty) forward = #processTransition($actionState.forward) #else #foreach ($controllerCall in $actionState.controllerCalls) #if (!$action.actionFormFields.empty) this.${controllerCall.formCall}; #else // We pass an empty form implementation to the controller. // We know there are no parameters on this operation because the // cartridge would have issued a model validation error this.${controllerCall.name}(new ${controllerCall.interfaceName}()); #end #end forward = #processTransition($actionState.forward) #end return forward; } #end #end #endregion #if (!$controller.serviceReferences.isEmpty()) #region Service references #foreach ($serviceRef in $controller.serviceReferences) #if ($stringUtils.isNotBlank($serviceRef.targetElement.accessorImplementation)) /// <summary> /// Returns a reference to the $serviceRef.name back-end service. /// </summary> protected $serviceRef.targetElement.fullyQualifiedName ${serviceRef.getterName}() { try { return $serviceRef.targetElement.accessorImplementation; } catch (Exception ex) { throw new InvalidOperationException(ex); } } #end #end #endregion #end #if(!$controller.sessionObjects.isEmpty()) #region Session Object references #foreach ($sessionObject in $controller.sessionObjects) #set ($targetElement = $sessionObject.targetElement) /// <summary> $sessionObject.getDocumentation(" /// ", 80, false) /// </summary> public $targetElement.fullyQualifiedName ${stringUtils.capitalize($sessionObject.name)} { get { return HttpContext.Current.Session["${sessionObject.fullyQualifiedName}"] as $targetElement.fullyQualifiedName; } set { HttpContext.Current.Session["${sessionObject.fullyQualifiedName}"] = value; } } #end #endregion #end } } 1.5 +7 -7 cartridges/andromda-aspdotnet/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- cartridge.xml 28 Sep 2006 05:35:30 -0000 1.4 +++ cartridge.xml 1 Oct 2006 01:44:47 -0000 1.5 @@ -5,9 +5,9 @@ <macrolibrary name="templates/aspdotnet/web2003/tables.vm"/> <macrolibrary name="templates/aspdotnet/web2005/tables.vm"/> <macrolibrary name="templates/aspdotnet/validation.vm"/> - <macrolibrary name="templates/aspdotnet/uicontrollers/formImplMacros.vm"/> - <macrolibrary name="templates/aspdotnet/uicontrollers/formMacros.vm"/> - <macrolibrary name="templates/aspdotnet/uicontrollers/Controller.cs.vm"/> + <macrolibrary name="templates/aspdotnet/forms/formImplMacros.vm"/> + <macrolibrary name="templates/aspdotnet/forms/formMacros.vm"/> + <macrolibrary name="templates/aspdotnet/controllers/Controller.cs.vm"/> <!-- cartridge-macrolibrary merge-point--> </templateEngine> @@ -325,7 +325,7 @@ </template> <template - path="templates/aspdotnet/uicontrollers/UIPControllerImpl.cs.vsl" + path="templates/aspdotnet/controllers/ControllerImpl.cs.vsl" outputPattern="$generatedFile" outlet="web" overwrite="false"> @@ -342,7 +342,7 @@ </template> <template - path="templates/aspdotnet/uicontrollers/UIPController.cs.vsl" + path="templates/aspdotnet/controllers/Controller.cs.vsl" outputPattern="$generatedFile" outlet="web" overwrite="true"> @@ -356,7 +356,7 @@ </modelElements> </template> <template - path="templates/aspdotnet/uicontrollers/Form.cs.vsl" + path="templates/aspdotnet/forms/Form.cs.vsl" outputPattern="$generatedFile" outlet="web" overwrite="true"> @@ -370,7 +370,7 @@ </template> <template - path="templates/aspdotnet/uicontrollers/formImpl.cs.vsl" + path="templates/aspdotnet/forms/formImpl.cs.vsl" outputPattern="$generatedFile" outlet="web" overwrite="true"> |
From: Eric C. <ecr...@us...> - 2006-10-01 01:44:41
|
User: ecrutchfield Date: 06/09/30 18:44:39 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/controllers - New directory |
From: Eric C. <ecr...@us...> - 2006-10-01 01:44:39
|
User: ecrutchfield Date: 06/09/30 18:44:39 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/forms - New directory |
From: Eric C. <ecr...@us...> - 2006-09-30 15:13:39
|
User: ecrutchfield Date: 06/09/30 08:13:39 Modified: andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005 webform.aspx.vsl webformBase.cs.vsl andromda-aspdotnet/src/test/expected cartridge-output.zip Log: fix rendering of table actions Revision Changes Path 1.4 +24 -1 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webform.aspx.vsl Index: webform.aspx.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webform.aspx.vsl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- webform.aspx.vsl 28 Sep 2006 05:35:30 -0000 1.3 +++ webform.aspx.vsl 30 Sep 2006 15:13:38 -0000 1.4 @@ -14,7 +14,7 @@ <asp:HiddenField ID="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}Hidden" runat="server" /> #end #end -#if(!$action.hyperlink) +#if(!$action.hyperlink && !$action.tableAction) <div class="action"> <table id="${action.name}Table" cellspacing="0" cellpadding="1" width="100%" border="0"> #foreach($parameter in ${action.parameters}) @@ -76,6 +76,18 @@ <AlternatingRowStyle BackColor="Lavender"></AlternatingRowStyle> <HeaderStyle Font-Bold="True" HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#e8e2b6"></HeaderStyle> <Columns> +#foreach ($action in $table.tableFormActions) +#if (!$action.tableLinkColumnName && $action.tableAction) + <asp:TemplateField> + <ItemTemplate> +#foreach ($parameter in $action.parameters) + <asp:HiddenField ID="${action.actionMethodName}_${parameter.name}" runat="server" Value='<%# Eval("${parameter.name}")%>'/> +#end + <asp:CheckBox ID="${action.actionMethodName}_CheckBox" runat="server" /> + </ItemTemplate> + </asp:TemplateField> +#end +#end #if (!$table.tableColumns.empty) #foreach ($column in $table.tableColumns) #if($column.name) @@ -98,13 +110,24 @@ #end #end #foreach ($action in $table.tableFormActions) +#if (!$action.tableAction) <asp:TemplateField><ItemTemplate><asp:Button ID="${stringUtils.capitalise($action.triggerName)}" Text="<%$ Resources:GeneratedResources, ${key}_${stringUtils.capitalise($action.actionMethodName)}Button %>" CommandName="${action.triggerName}" CommandArgument='<%# #render2005TableCommandArgumentParameters() %>' runat="server" /></ItemTemplate></asp:TemplateField> #end +#end </Columns> <PagerSettings Mode=NumericFirstLast /> </asp:GridView> </td> </tr> +#foreach ($action in $table.tableFormActions) +#if (!$action.tableLinkColumnName && $action.tableAction) + <tr> + <td align=center> + <asp:Button ID="${action.actionMethodName}Button" Text="<%$ Resources:GeneratedResources, ${key}_${stringUtils.capitalise($action.actionMethodName)}Button %>" OnClick="${action.actionMethodName}Button_Click" runat="server" /> + </td> + </tr> +#end +#end <tr> <td align=center> <asp:Label ID="${table.name}Count" Runat=server ForeColor=DarkGreen></asp:Label> 1.5 +50 -3 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webformBase.cs.vsl Index: webformBase.cs.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webformBase.cs.vsl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- webformBase.cs.vsl 28 Sep 2006 05:35:30 -0000 1.4 +++ webformBase.cs.vsl 30 Sep 2006 15:13:38 -0000 1.5 @@ -84,16 +84,61 @@ ${parameter.name}DG.AllowPaging = false; if(this.${parameter.name}DG.Rows.Count < 1) ${parameter.name}DG.Visible = false; - ${parameter.name}Count.Text = "Number Of result: "+this.${parameter.name}DG.Rows.Count; + ${parameter.name}Count.Text = String.Format(Resources.GeneratedResources.items_in_table_text, this.itemListDG.Rows.Count); + #end } } + #foreach($action in ${webform.outgoing}) -#if(!$action.hyperlink) +#if($action.tableAction) protected void ${action.actionMethodName}Button_Click(object sender, System.EventArgs e) { +## if this is an action to be performed on a table, we need to collect any parameters associated with +## the action prior to executing the action. +## First, loop through the parameters on the action and get their value from the table +## Then, match the parameter on the action to the parameter on the form + System.Collections.Specialized.StringCollection tableActionArgs = ${action.actionMethodName}_GetSelectedItems(); +#foreach ($parameter in $action.parameters) +#if ($parameter.type.stringType) + string[] tableActionArr = new string[tableActionArgs.Count]; + tableActionArgs.CopyTo(tableActionArr, 0); + base.Controller.${action.formImplementationPropertyName}.${parameter.capitalisedName} = String.Join(",", tableActionArr); +#elseif ($parameter.type.collectionType || $parameter.type.listType) + base.Controller.${action.formImplementationPropertyName}.${parameter.capitalisedName} = tableActionArgs; +#else + //Only table action parameters of type IList, ICollection, or String are handled + //The parameter for this action was of type $parameter.type.name + //${toDoTag} Get parameters from the table action and put into <see cref="base.Controller.${action.formImplementationPropertyName}"/> +#end +#end ${action.actionMethodName}(); } + + private System.Collections.Specialized.StringCollection ${action.actionMethodName}_GetSelectedItems() + { + System.Collections.Specialized.StringCollection ids = new System.Collections.Specialized.StringCollection(); + //Navigate through each row in the GridView for checkbox items + foreach (GridViewRow gv in ${action.tableLinkName}DG.Rows) + { + CheckBox chkBxItem = (CheckBox)gv.FindControl("${action.actionMethodName}_CheckBox"); + if (chkBxItem.Checked) + { +#foreach ($parameter in $action.parameters) + // Concatenate GridView items with comma + ids.Add(((HiddenField)gv.FindControl("${action.actionMethodName}_${parameter.name}")).Value.ToString()); +#end + } + } + return ids; + } + +#elseif(!$action.hyperlink) + protected void ${action.actionMethodName}Button_Click(object sender, System.EventArgs e) + { + ${action.actionMethodName}(); + } + #end #end #foreach($parameter in $webform.tables) @@ -108,8 +153,8 @@ ${parameter.name}DG.PageIndex = e.NewPageIndex; ${parameter.name}DG.DataBind(); } -#end +#end #foreach($action in ${webform.outgoing}) protected virtual void ${action.actionMethodName}() { @@ -146,6 +191,7 @@ break; #end #foreach ($action in $table.tableFormActions) +#if (!$action.tableAction) case "${action.triggerName}": #foreach ($parameter in $action.parameters) base.Controller.${action.formImplementationPropertyName}.${parameter.capitalisedName} = nameValuePairs["${parameter.name}"]; @@ -153,6 +199,7 @@ this.${action.actionMethodName}(); break; #end +#end } } 1.4 +45 -61 cartridges/andromda-aspdotnet/src/test/expected/cartridge-output.zip <<Binary file>> |
From: Eric C. <ecr...@us...> - 2006-09-30 15:10:58
|
User: ecrutchfield Date: 06/09/30 08:10:58 Modified: andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005 resources.resx.vsl Log: add msg for items in table Revision Changes Path 1.3 +3 -0 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/resources.resx.vsl Index: resources.resx.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/resources.resx.vsl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- resources.resx.vsl 25 Sep 2006 19:13:52 -0000 1.2 +++ resources.resx.vsl 30 Sep 2006 15:10:58 -0000 1.3 @@ -233,4 +233,7 @@ <data name="errors_equal"> <value>{0} must equal {1}.</value> </data> + <data name="items_in_table_text"> + <value>There are {0} items in the list.</value> + </data> </root> |
From: Eric C. <ecr...@us...> - 2006-09-30 15:09:48
|
User: ecrutchfield Date: 06/09/30 08:09:43 Modified: andromda-aspdotnet/src/main/resources/calendar CalendarControlHead.js Log: updates from latest version Revision Changes Path 1.2 +33 -8 cartridges/andromda-aspdotnet/src/main/resources/calendar/CalendarControlHead.js Index: CalendarControlHead.js =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/calendar/CalendarControlHead.js,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- CalendarControlHead.js 28 Sep 2006 05:35:30 -0000 1.1 +++ CalendarControlHead.js 30 Sep 2006 15:09:43 -0000 1.2 @@ -133,13 +133,19 @@ return date.getDay(); } + this.clearDate = clearDate; + function clearDate() { + dateField.value = ''; + hide(); + } + this.setDate = setDate; function setDate(year, month, day) { if (dateField) { if (month < 10) {month = "0" + month;} if (day < 10) {day = "0" + day;} - var dateString = month+"/"+day+"/"+year; + var dateString = month+"-"+day+"-"+year; dateField.value = dateString; hide(); } @@ -227,7 +233,7 @@ table = table + "</tr>"; } - table = table + "<tr class='header'><th colspan='7' style='padding: 3px;'><a href='javascript:hideCalendarControl();'>Close</a></td></tr>"; + table = table + "<tr class='header'><th colspan='7' style='padding: 3px;'><a href='javascript:clearCalendarControl();'>Clear</a> | <a href='javascript:hideCalendarControl();'>Close</a></td></tr>"; table = table + "</table>"; return table; @@ -235,6 +241,7 @@ this.show = show; function show(field) { + can_hide = 0; // If the calendar is visible and associated with // this field do not do anything. @@ -270,7 +277,6 @@ calendar = document.getElementById(calendarId); calendar.innerHTML = calendarDrawTable(currentYear, currentMonth); - setElementProperty('display', 'block', 'CalendarControlIFrame'); setProperty('display', 'block'); var fieldPos = new positionInfo(dateField); @@ -281,12 +287,16 @@ setProperty('left', x + "px"); setProperty('top', y + "px"); + + if (document.all) { + setElementProperty('display', 'block', 'CalendarControlIFrame'); setElementProperty('left', x + "px", 'CalendarControlIFrame'); setElementProperty('top', y + "px", 'CalendarControlIFrame'); setElementProperty('width', calendarPos.getElementWidth() + "px", 'CalendarControlIFrame'); setElementProperty('height', calendarPos.getElementHeight() + "px", 'CalendarControlIFrame'); } } + } this.hide = hide; function hide() { @@ -296,17 +306,32 @@ dateField = null; } } + + this.visible = visible; + function visible() { + return dateField + } + + this.can_hide = can_hide; + var can_hide = 0; } var calendarControl = new CalendarControl(); function showCalendarControl(textField) { + // textField.onblur = hideCalendarControl; calendarControl.show(textField); } +function clearCalendarControl() { + calendarControl.clearDate(); +} + function hideCalendarControl() { + if (calendarControl.visible()) { calendarControl.hide(); } +} function setCalendarControlDate(year, month, day) { calendarControl.setDate(year, month, day); |
From: Vance K. <va...@us...> - 2006-09-29 08:01:31
|
User: vancek Date: 06/09/29 01:01:28 Modified: andromda-ejb3/src/changes changes.xml andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3MessageDrivenFacadeLogicImpl.java Log: search & replace all '_' with '.' in EJB3MessageDrivenFacade.getDestinationType Revision Changes Path 1.32 +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.31 retrieving revision 1.32 diff -u -w -r1.31 -r1.32 --- changes.xml 24 Aug 2006 08:54:32 -0000 1.31 +++ changes.xml 29 Sep 2006 08:01:27 -0000 1.32 @@ -293,6 +293,10 @@ support for multiple cascade options for the default cascade property on entities. Fix the naming issue with entityAggregationCascade. </action> + <section dev="vancek" type="fix"> + EJB3MessageDrivenFacade.getDestinationType requires search and replace for destination type retrieved + from TV. i.e. replace all '_' with '.'. + </section> </release> </body> </document> \ No newline at end of file 1.9 +1 -1 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java Index: EJB3MessageDrivenFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3MessageDrivenFacadeLogicImpl.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- EJB3MessageDrivenFacadeLogicImpl.java 11 Aug 2006 05:49:46 -0000 1.8 +++ EJB3MessageDrivenFacadeLogicImpl.java 29 Sep 2006 08:01:28 -0000 1.9 @@ -89,7 +89,7 @@ { destinationType = (String)this.getConfiguredProperty(MDB_DESTINATION_TYPE); } - return destinationType; + return StringUtils.replaceChars(destinationType, '_', '.'); } /** |
From: Chris M. <cm...@us...> - 2006-09-28 20:28:43
|
User: cmicali Date: 06/09/28 13:28:42 Modified: etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn AddInSettings.cs MDASolutionManager.cs VS80AddIn.cs WizardSolutionProcessor.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands OpenModelCommand.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls MDAProjectSetupControl.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs AboutDialog.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages SolutionExplorerOptionsPage.Designer.cs SolutionExplorerOptionsPage.cs SolutionExplorerOptionsPage.resx etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Lib AndroMDA.NHibernateSupport.dll etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/conf andromda-m2.xml etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda pom.xml etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources pom.xml etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils VSSolutionUtils.cs etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards MDASolutionWizard.cs MDASolutionWizard.designer.cs etc/andromda-dotnet/AndroMDA.VS80AddIn Android VS Readme.rtf etc/andromda-dotnet/AndroMDA.VS80AddIn/Installer Android VS Setup.nsi Log: - Updated version to 1.5 - Updated AndroMDA.NhibernateSupport.dll to v1.0.6.0 (fixed issue with SchemaExport) - Added support for the ASP.NET cartridge - Added support for PostgreSQL in the solution wizard - Removed dependency on core/common projects - Resync now 30% faster - Resync now works across all projects in the solution - Options page added to modify the sync folders list (defaults to src and target) - Web projects are now properly resynced after an andromda generate - Bug fixed on resync when projects were unavailable in the solution explorer Revision Changes Path 1.14 +34 -2 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.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- AddInSettings.cs 30 Jul 2006 05:33:25 -0000 1.13 +++ AddInSettings.cs 28 Sep 2006 20:28:39 -0000 1.14 @@ -25,7 +25,7 @@ public const string SETTING_NAME_PREFIX = "ARDV"; - public const int ADDIN_SETTINGS_VERSION = 9; + public const int ADDIN_SETTINGS_VERSION = 10; #region Member variables @@ -45,6 +45,7 @@ FirstRun = false; AddInBuild = ADDIN_SETTINGS_VERSION; ResyncIgnoreList = "CVS;.cvsignore;.svn;.svnignore;_svn"; + SyncFolderList = "src;target"; ResyncIgnoreHiddenFiles = false; MavenUseOfflineMode = true; MavenCleanFirst = true; @@ -56,6 +57,7 @@ } if (AddInBuild < ADDIN_SETTINGS_VERSION) { + SyncFolderList = "src;target"; AddInBuild = ADDIN_SETTINGS_VERSION; } } @@ -115,6 +117,12 @@ set { m_settings[SETTING_NAME_PREFIX + "IgnoreLst"] = value; } } + public string SyncFolderList + { + get { return m_settings[SETTING_NAME_PREFIX + "SyncLst"]; } + set { m_settings[SETTING_NAME_PREFIX + "SyncLst"] = value; } + } + public bool ResyncIgnoreHiddenFiles { get { return m_settings.GetBool(SETTING_NAME_PREFIX + "RIHdnFl", false); } @@ -350,6 +358,30 @@ return false; } + public bool IsInSyncFoldersList(string folderPath) + { + return IsInSyncFoldersList(folderPath, true); + } + + public bool IsInSyncFoldersList(string folderPath, bool stripPath) + { + // Get the list of files to ignore + string[] syncFolders = SyncFolderList.Split(new char[] { ';' }); + + // Make the file name lowercase and trim space off the ends + folderPath = folderPath.Trim().ToLower().Replace('\\', '/').Trim('/'); + + // Iterate through the ignored files + foreach (string folder in syncFolders) + { + string folderCleaned = folder.Trim().ToLower().Replace('\\', '/').Trim('/'); + if (folderPath.EndsWith(folderCleaned)) + { + return true; + } + } + return false; + } #endregion } 1.17 +147 -120 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/MDASolutionManager.cs Index: MDASolutionManager.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/MDASolutionManager.cs,v retrieving revision 1.16 retrieving revision 1.17 diff -u -w -r1.16 -r1.17 --- MDASolutionManager.cs 27 Jul 2006 02:11:54 -0000 1.16 +++ MDASolutionManager.cs 28 Sep 2006 20:28:39 -0000 1.17 @@ -37,8 +37,8 @@ private AddInSettings m_addInSettings = null; - private MDAProject m_coreProject = null; - private MDAProject m_commonProject = null; + //private MDAProject m_coreProject = null; + //private MDAProject m_commonProject = null; private MDAProject m_schemaExportProject = null; private bool m_restartBuild = false; @@ -69,6 +69,7 @@ } } + /* public MDAProject CoreProject { get { return m_coreProject; } @@ -78,6 +79,7 @@ { get { return m_commonProject; } } + */ public MDAProject SchemaExportProject { @@ -234,8 +236,8 @@ //// Resolve the core and common projects //// - m_coreProject = null; - m_commonProject = null; + //m_coreProject = null; + //m_commonProject = null; m_schemaExportProject = null; // Iterate through the projects and search for the core and common directories @@ -246,6 +248,7 @@ // Get the project's directory string projectPath = FileUtils.GetPathFromFilename(p.FileName); + /* // Check if the current (core) directory is the same as the project directory if (FileUtils.CompareDirectories(projectPath, m_projectProperties.GetPath("maven.andromda.core.dir"))) { @@ -263,6 +266,7 @@ string generatedPath = m_projectProperties.GetPath("maven.andromda.common.generated.dir"); m_commonProject = new MDAProject(p, FileUtils.GetFilename(projectPath), projectPath, generatedPath, string.Empty); } + */ // Check if the current (schemaexport) directory is the same as the project directory if (IsSchemaExportProjectAvailable && FileUtils.CompareDirectories(projectPath, m_projectProperties.GetPath("maven.andromda.schemaexport.dir"))) @@ -277,6 +281,7 @@ // Swallow this exception (it means the project was not loaded for some reason) } } + /* // Show an error message if either the core or common projects could not be found if (m_coreProject == null || m_commonProject == null) { @@ -292,6 +297,7 @@ errorMessage += " could not be found in the solution."; throw new Exception(errorMessage); } + */ m_solutionSettings = new ConfigFile(solutionPath + "\\mda\\android.user.properties"); m_applicationObject.StatusBar.Highlight(false); m_applicationObject.StatusBar.Text = "Android/VS: AndroMDA configuration loaded."; @@ -468,6 +474,7 @@ try { DoRefreshGeneratedFiles(); + m_applicationObject.StatusBar.Text = "Android/VS: Solution resync complete"; } catch (Exception e) { @@ -480,86 +487,66 @@ } } - private void CheckGeneratedPaths(MDAProject proj) + private void DoRefreshGeneratedFiles() { - if (proj.ManualPathProjectItem == null && proj.ManualRelativePath.Length > 0) + m_progress = 0; + UpdateResyncProgressBar(); + + string[] syncFolders = m_addInSettings.SyncFolderList.Split(new char[] { ';' }); + + foreach (Project proj in m_applicationObject.Solution.Projects) { - if (System.IO.Directory.Exists(proj.ManualPath)) + if (proj.Kind == VSSolutionUtils.ProjectKindSolutionFolder || proj.Object == null) { - proj.Project.ProjectItems.AddFromDirectory(proj.ManualPath); + // The project is either unavailable or a solution folder } - else + else if (proj.Kind == VSSolutionUtils.ProjectKindWeb) { - proj.Project.ProjectItems.AddFolder(proj.ManualRelativePath, EnvDTE.Constants.vsProjectItemKindPhysicalFolder); - } - } - if (proj.GeneratedPathProjectItem == null && proj.GeneratedRelativePath.Length > 0) - { - if (System.IO.Directory.Exists(proj.GeneratedPath)) - { - proj.Project.ProjectItems.AddFromDirectory(proj.GeneratedPath); + VsWebSite.VSWebSite webSite = proj.Object as VsWebSite.VSWebSite; + webSite.Refresh(); } else { - proj.Project.ProjectItems.AddFolder(proj.GeneratedRelativePath, EnvDTE.Constants.vsProjectItemKindPhysicalFolder); - } - } - } + UpdateResyncProgressBar(proj.Name); - private void DoRefreshGeneratedFiles() + // Search for the existing + foreach (string folder in syncFolders) { - m_progress = 0; - UpdateResyncProgressBar(); - - CheckGeneratedPaths(m_commonProject); - CheckGeneratedPaths(m_coreProject); - - // Sync common/src - ResyncFolder(m_commonProject.ManualPathProjectItem, m_commonProject.ManualPath, m_commonProject.Name); - // Sync common/target - ResyncFolder(m_commonProject.GeneratedPathProjectItem, m_commonProject.GeneratedPath, m_commonProject.Name); - // Sync core/src - ResyncFolder(m_coreProject.ManualPathProjectItem, m_coreProject.ManualPath, m_coreProject.Name); - // Sync core/target - ResyncFolder(m_coreProject.GeneratedPathProjectItem, m_coreProject.GeneratedPath, m_coreProject.Name); - - m_applicationObject.StatusBar.Progress(false, "Android/VS: Resync complete", 1, 1); - + string folderPath = proj.Properties.Item("FullPath").Value.ToString().Trim('\\'); + folderPath = folderPath + "\\" + folder.Replace('/', '\\').Trim('\\'); + if (System.IO.Directory.Exists(folderPath)) + { + proj.ProjectItems.AddFromDirectory(folderPath); + } } - private void ResyncFolder(ProjectItem item, string folderPath, string projectName) + foreach (ProjectItem item in proj.ProjectItems) { - if (item == null) return; - - UpdateResyncProgressBar(projectName + "/" + item.Name); - - // Get the UI nodes from the solution explorer - // so we can collapse the project trees and make it look neat - // when we are finished (it's faster when they are closed too) - UIHierarchy solutionExplorer = (UIHierarchy)m_applicationObject.Windows.Item(Constants.vsext_wk_SProjectWindow).Object; - UIHierarchyItem uiCommonProject = null; - UIHierarchyItem uiCoreProject = null; - foreach (UIHierarchyItem rootUIItems in solutionExplorer.UIHierarchyItems) + if (item.Kind == EnvDTE.Constants.vsProjectItemKindPhysicalFolder) { - foreach (UIHierarchyItem uiItem in rootUIItems.UIHierarchyItems) + string folderPath = item.Properties.Item("FullPath").Value.ToString(); + if (m_addInSettings.IsInSyncFoldersList(folderPath)) { - if (uiItem.Name == m_coreProject.Name) { uiCoreProject = uiItem; } - if (uiItem.Name == m_commonProject.Name) { uiCommonProject = uiItem; } - if (uiCoreProject != null && uiCommonProject != null) { break; } + ResyncFolder(item, proj.Name); + } + } + } + } } - if (uiCoreProject != null && uiCommonProject != null) { break; } } - // Collapse the projects in the solution explorer (this makes this operation much faster) - CollapseProject(uiCoreProject); - CollapseProject(uiCommonProject); + private void ResyncFolder(ProjectItem folderProjectItem, string projectName) + { + if (folderProjectItem == null) return; - UpdateResyncProgressBar("Getting file list for " + projectName + "/" + item.Name); + string folderPath = folderProjectItem.Properties.Item("FullPath").Value.ToString(); + + UpdateResyncProgressBar("Getting file list for " + projectName + "/" + folderProjectItem.Name); // Get the list of files in the filesystem ArrayList filesystemFileList = GetFileListFromFilesystem(folderPath); // Get the list of files in the solution tree - ArrayList solutionTreeFileList = GetFileListFromProjectTree(item); + ArrayList solutionTreeFileList = GetFileListFromProjectTree(folderProjectItem); // Generate a hash for the filesystem list int filesHash = GetArrayListHashCode(filesystemFileList); // Generate a hash for the solution tree list @@ -568,31 +555,40 @@ // If the hash codes are the same, we don't need to do a resync if (filesHash == solutionHash) { - UpdateResyncProgressBar("Files have not changed since last resync: " + projectName + "/" + item.Name); + UpdateResyncProgressBar("Files have not changed since last resync: " + projectName + "/" + folderProjectItem.Name, 1, 1); return; } - // The hash codes are different, so we need to sync the solution tree - // to the filesystem - UpdateResyncProgressBar("Removing all files from " + projectName + "/" + item.Name); - - // Remove all files from the project - RemoveAllChildren(item); - - // Collapse the projects again (VS opens them when you make changes) - CollapseProject(uiCoreProject); - CollapseProject(uiCommonProject); - - UpdateResyncProgressBar(projectName + "/" + item.Name); - - // Add the files from the filesystem into the solution - // The filesystemFileList has already been filtered for ignored items - // Also note that this list contains all files in all subdirectories - int fileNum = 0; - foreach (string file in filesystemFileList) + CollapseProject(projectName); + RemoveIgnoredItems(folderProjectItem.ProjectItems, filesystemFileList.Count); + UpdateResyncProgressBar(projectName + "/" + folderProjectItem.Name); + } + + private void RemoveIgnoredItems(ProjectItems items, int totalItems) + { + RemoveIgnoredItems(items, 0, totalItems); + } + + private int RemoveIgnoredItems(ProjectItems items, int currentItem, int totalItems) + { + foreach (ProjectItem item in items) + { + if (m_addInSettings.IsInIgnoreList(item.Name)) + { + item.Remove(); + } + else + { + if (item.ProjectItems != null && item.ProjectItems.Count > 0) + { + currentItem++; + currentItem = RemoveIgnoredItems(item.ProjectItems, currentItem, totalItems); + } + else { - ProjectItem newItem = item.ProjectItems.AddFromFile(file); - Property prop = newItem.Properties.Item("BuildAction"); + UpdateResyncProgressBar(item.Name, currentItem++, totalItems); + string file = item.Name; + Property prop = item.Properties.Item("BuildAction"); if (file.ToLower().Trim().EndsWith(".hbm.xml")) { prop.Value = VSLangProj.prjBuildAction.prjBuildActionEmbeddedResource; @@ -601,40 +597,55 @@ { prop.Value = VSLangProj.prjBuildAction.prjBuildActionCompile; } - UpdateResyncProgressBar(file, fileNum++, filesystemFileList.Count); } - - // Collapse the projects one more time - CollapseProject(uiCoreProject); - CollapseProject(uiCommonProject); - - UpdateResyncProgressBar(projectName + "/" + item.Name); - + } + } + return currentItem; } private bool IsSolutionSynchronizedWithFileSystem() { - // Check common/src - if (!IsSolutionSynchronizedWithFileSystem(m_commonProject.ManualPathProjectItem, m_commonProject.ManualPath)) - return false; - // Check common/target - if (!IsSolutionSynchronizedWithFileSystem(m_commonProject.GeneratedPathProjectItem, m_commonProject.GeneratedPath)) - return false; - // Check core/src - if (!IsSolutionSynchronizedWithFileSystem(m_coreProject.ManualPathProjectItem, m_coreProject.ManualPath)) - return false; - // Check core/target - if (!IsSolutionSynchronizedWithFileSystem(m_coreProject.GeneratedPathProjectItem, m_coreProject.GeneratedPath)) + string[] syncFolders = m_addInSettings.SyncFolderList.Split(new char[] { ';' }); + foreach (Project proj in m_applicationObject.Solution.Projects) + { + if (proj.Kind != VSSolutionUtils.ProjectKindSolutionFolder && + proj.Kind != VSSolutionUtils.ProjectKindWeb) + { + UpdateResyncProgressBar(proj.Name); + // Search for the existing + foreach (string folder in syncFolders) + { + string folderPath = proj.Properties.Item("FullPath").Value.ToString().Trim('\\'); + folderPath = folderPath + "\\" + folder.Replace('/', '\\').Trim('\\'); + if (System.IO.Directory.Exists(folderPath)) + { + proj.ProjectItems.AddFromDirectory(folderPath); + } + } + foreach (ProjectItem item in proj.ProjectItems) + { + if (item.Kind == EnvDTE.Constants.vsProjectItemKindPhysicalFolder) + { + string folderPath = item.Properties.Item("FullPath").Value.ToString(); + if (m_addInSettings.IsInSyncFoldersList(folderPath)) + { + if (!IsSolutionSynchronizedWithFileSystem(item)) return false; + } + } + } + } + } return true; } - private bool IsSolutionSynchronizedWithFileSystem(ProjectItem item, string folderPath) + private bool IsSolutionSynchronizedWithFileSystem(ProjectItem folderProjectItem) { + string folderPath = folderProjectItem.Properties.Item("FullPath").Value.ToString(); // Get the list of files in the filesystem ArrayList filesystemFileList = GetFileListFromFilesystem(folderPath); // Get the list of files in the solution tree - ArrayList solutionTreeFileList = GetFileListFromProjectTree(item); + ArrayList solutionTreeFileList = GetFileListFromProjectTree(folderProjectItem); // Generate a hash for the filesystem list int filesHash = GetArrayListHashCode(filesystemFileList); // Generate a hash for the solution tree list @@ -730,17 +741,15 @@ return filesList; } - private void RemoveAllChildren(ProjectItem item) + private void CollapseProject(string projectName) { - - // Remove all the items in the project folder - foreach (ProjectItem childItem in item.ProjectItems) + UIHierarchy solutionExplorer = (UIHierarchy)m_applicationObject.Windows.Item(Constants.vsext_wk_SProjectWindow).Object; + foreach (UIHierarchyItem rootUIItems in solutionExplorer.UIHierarchyItems) { - if (childItem.ProjectItems != null && childItem.ProjectItems.Count > 0) + foreach (UIHierarchyItem uiItem in rootUIItems.UIHierarchyItems) { - RemoveAllChildren(childItem); + if (uiItem.Name == projectName) { CollapseProject(uiItem); break; } } - childItem.Remove(); } } @@ -776,7 +785,7 @@ private void UpdateResyncProgressBar(string detail) { - UpdateResyncProgressBar(detail, m_progress++, 20); + UpdateResyncProgressBar(detail, 0, 1); } private void UpdateResyncProgressBar(string detail, int currentProgress, int totalProgress) @@ -785,6 +794,7 @@ { detail = "(" + detail + ")"; } + if (currentProgress > totalProgress) currentProgress = totalProgress; m_applicationObject.StatusBar.Progress(true, "Android/VS: Refreshing generated files... " + detail, currentProgress, totalProgress); } @@ -839,8 +849,25 @@ ArrayList stats = new ArrayList(); if (IsEnabled) { - Hashtable files = CollectFiles(m_coreProject.GeneratedPathProjectItem); - MergeHashtable(files, CollectFiles(m_commonProject.GeneratedPathProjectItem)); + Hashtable files = new Hashtable();// CollectFiles(m_coreProject.GeneratedPathProjectItem); + foreach (Project proj in m_applicationObject.Solution.Projects) + { + if (proj.Object != null && + proj.Kind != VSSolutionUtils.ProjectKindSolutionFolder) + { + foreach (ProjectItem item in proj.ProjectItems) + { + if (item.Kind == EnvDTE.Constants.vsProjectItemKindPhysicalFolder) + { + string folderPath = item.Properties.Item("FullPath").Value.ToString(); + if (m_addInSettings.IsInSyncFoldersList(folderPath)) + { + MergeHashtable(files, CollectFiles(item)); + } + } + } + } + } stats.Add(new SolutionStatistic("Files Generated", files.Count.ToString("N0"), SolutionStatistic.Group.FileStatistics)); stats.Add(new SolutionStatistic("Lines of Code Generated", GetTotalLOC(files).ToString("N0"), SolutionStatistic.Group.FileStatistics)); 1.16 +1 -1 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.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- VS80AddIn.cs 22 Aug 2006 02:14:00 -0000 1.15 +++ VS80AddIn.cs 28 Sep 2006 20:28:39 -0000 1.16 @@ -20,7 +20,7 @@ public class VS80AddIn { - public const string ADD_IN_VERSION = "1.4.1"; + public const string ADD_IN_VERSION = "1.5"; #region Constants 1.14 +6 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/WizardSolutionProcessor.cs Index: WizardSolutionProcessor.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/WizardSolutionProcessor.cs,v retrieving revision 1.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- WizardSolutionProcessor.cs 25 Jul 2006 13:09:28 -0000 1.13 +++ WizardSolutionProcessor.cs 28 Sep 2006 20:28:39 -0000 1.14 @@ -110,6 +110,9 @@ string emptyModelFileData = Resource1.mda_src_uml_empty_model_xml; + m_configuration["cartridges.aspnet.rootpom.dependencies"] = " <dependency>\n <groupId>org.andromda.cartridges</groupId>\n <artifactId>andromda-aspdotnet-cartridge</artifactId>\n <version>1.0-SNAPSHOT</version>\n </dependency>\n"; + m_configuration["cartridges.aspnet.mdapom.dependencies"] = " <dependency>\n <groupId>org.andromda.cartridges</groupId>\n <artifactId>andromda-aspdotnet-cartridge</artifactId>\n </dependency>\n"; + ////////////////////////////////// // Create/find the common project if (GetConfigSettingBool("projects.common.create")) @@ -420,6 +423,9 @@ if (m_configuration["application.andromda.bootstrap"] == "Apache Maven 2.x") { + + + // Render /pom.xml WriteFile(basePath + "\\pom.xml", ParseVariables(Resource1.pom_xml)); // Render /mda/pom.xml 1.10 +2 -1 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/OpenModelCommand.cs Index: OpenModelCommand.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Commands/OpenModelCommand.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- OpenModelCommand.cs 25 Jul 2006 13:09:29 -0000 1.9 +++ OpenModelCommand.cs 28 Sep 2006 20:28:39 -0000 1.10 @@ -39,7 +39,8 @@ System.IO.File.SetAttributes(m_solutionManager.ModelFilePath, attr); } } - System.Diagnostics.Process.Start(magicDrawPath, m_solutionManager.ModelFilePath); + //AddInUtils.ShowWarning("Path: " + magicDrawPath + "\nArgs: " + "\"" + m_solutionManager.ModelFilePath + "\""); + System.Diagnostics.Process.Start(magicDrawPath, "\"" + m_solutionManager.ModelFilePath + "\""); } catch (Exception e) { 1.3 +2 -3 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls/MDAProjectSetupControl.cs Index: MDAProjectSetupControl.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Controls/MDAProjectSetupControl.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- MDAProjectSetupControl.cs 25 Jul 2006 13:09:30 -0000 1.2 +++ MDAProjectSetupControl.cs 28 Sep 2006 20:28:39 -0000 1.3 @@ -121,7 +121,6 @@ public void OnEnter(object sender, EventArgs e, DTE applicationObject) { - string webProjectKind = "{E24C65DC-7377-472b-9ABA-BC803B73C61A}"; if (m_firstEnter) { m_firstEnter = false; @@ -130,8 +129,8 @@ foreach (Project p in applicationObject.Solution.Projects) { if ( - (m_webProjectMode && p.Kind == webProjectKind) || - (!m_webProjectMode && p.Kind != webProjectKind) + (m_webProjectMode && p.Kind == VSSolutionUtils.ProjectKindWeb) || + (!m_webProjectMode && p.Kind != VSSolutionUtils.ProjectKindWeb) ) { 1.7 +2 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutDialog.cs Index: AboutDialog.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Dialogs/AboutDialog.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- AboutDialog.cs 22 Aug 2006 02:13:59 -0000 1.6 +++ AboutDialog.cs 28 Sep 2006 20:28:40 -0000 1.7 @@ -54,6 +54,7 @@ { aboutOptionsPage1.Reset(); aboutOptionsPage1.SolutionUsingMDA = "Yes"; + /* if (m_solutionManager.CommonProject != null) { aboutOptionsPage1.CommonProject = m_solutionManager.CommonProject.Name; @@ -66,6 +67,7 @@ { aboutOptionsPage1.SchemaExportProject = m_solutionManager.SchemaExportProject.Name; } + */ string modelFile = m_solutionManager.ModelFilePath; modelFile = modelFile.Replace(m_solutionManager.SolutionPath, string.Empty); int position = modelFile.LastIndexOf('!'); 1.2 +96 -8 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages/SolutionExplorerOptionsPage.Designer.cs Index: SolutionExplorerOptionsPage.Designer.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages/SolutionExplorerOptionsPage.Designer.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- SolutionExplorerOptionsPage.Designer.cs 12 Jul 2006 09:15:08 -0000 1.1 +++ SolutionExplorerOptionsPage.Designer.cs 28 Sep 2006 20:28:40 -0000 1.2 @@ -36,7 +36,14 @@ this.btnAddResyncIgnoreItem = new System.Windows.Forms.Button(); this.lstResyncIgnoreList = new System.Windows.Forms.ListBox(); this.txtResyncIgnoreList = new System.Windows.Forms.TextBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label2 = new System.Windows.Forms.Label(); + this.btnDeleteSyncFolderItem = new System.Windows.Forms.Button(); + this.btnAddSyncFolderItem = new System.Windows.Forms.Button(); + this.lstSyncFolders = new System.Windows.Forms.ListBox(); + this.txtSyncFolder = new System.Windows.Forms.TextBox(); this.groupBox2.SuspendLayout(); + this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // groupBox2 @@ -47,13 +54,12 @@ this.groupBox2.Controls.Add(this.btnAddResyncIgnoreItem); this.groupBox2.Controls.Add(this.lstResyncIgnoreList); this.groupBox2.Controls.Add(this.txtResyncIgnoreList); - this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top; - this.groupBox2.Location = new System.Drawing.Point(0, 0); + this.groupBox2.Location = new System.Drawing.Point(0, 145); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(395, 174); + this.groupBox2.Size = new System.Drawing.Size(395, 135); this.groupBox2.TabIndex = 3; this.groupBox2.TabStop = false; - this.groupBox2.Text = "Files to exclude from solution explorer"; + this.groupBox2.Text = "Folders and files to exclude"; // // label1 // @@ -67,11 +73,11 @@ // cbIgnoreHiddenFiles // this.cbIgnoreHiddenFiles.AutoSize = true; - this.cbIgnoreHiddenFiles.Location = new System.Drawing.Point(6, 146); + this.cbIgnoreHiddenFiles.Location = new System.Drawing.Point(181, 110); this.cbIgnoreHiddenFiles.Name = "cbIgnoreHiddenFiles"; - this.cbIgnoreHiddenFiles.Size = new System.Drawing.Size(192, 17); + this.cbIgnoreHiddenFiles.Size = new System.Drawing.Size(188, 17); this.cbIgnoreHiddenFiles.TabIndex = 4; - this.cbIgnoreHiddenFiles.Text = "E&xclude hidden files and directories"; + this.cbIgnoreHiddenFiles.Text = "E&xclude all hidden folders and files"; this.cbIgnoreHiddenFiles.UseVisualStyleBackColor = true; // // btnDeleteResyncIgnoreItem @@ -110,7 +116,7 @@ this.lstResyncIgnoreList.FormattingEnabled = true; this.lstResyncIgnoreList.Location = new System.Drawing.Point(6, 19); this.lstResyncIgnoreList.Name = "lstResyncIgnoreList"; - this.lstResyncIgnoreList.Size = new System.Drawing.Size(166, 121); + this.lstResyncIgnoreList.Size = new System.Drawing.Size(166, 108); this.lstResyncIgnoreList.TabIndex = 0; this.lstResyncIgnoreList.SelectedIndexChanged += new System.EventHandler(this.lstResyncIgnoreList_SelectedIndexChanged); // @@ -123,15 +129,91 @@ this.txtResyncIgnoreList.TabIndex = 1; this.txtResyncIgnoreList.TextChanged += new System.EventHandler(this.txtResyncIgnoreList_TextChanged); // + // groupBox1 + // + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.btnDeleteSyncFolderItem); + this.groupBox1.Controls.Add(this.btnAddSyncFolderItem); + this.groupBox1.Controls.Add(this.lstSyncFolders); + this.groupBox1.Controls.Add(this.txtSyncFolder); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(395, 136); + this.groupBox1.TabIndex = 4; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Folders to auto-synchronize"; + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label2.Location = new System.Drawing.Point(178, 71); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(205, 30); + this.label2.TabIndex = 5; + this.label2.Text = "Note: Items added to this list are case insensitive"; + // + // btnDeleteSyncFolderItem + // + this.btnDeleteSyncFolderItem.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnDeleteSyncFolderItem.Enabled = false; + this.btnDeleteSyncFolderItem.Image = ((System.Drawing.Image)(resources.GetObject("btnDeleteSyncFolderItem.Image"))); + this.btnDeleteSyncFolderItem.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnDeleteSyncFolderItem.Location = new System.Drawing.Point(242, 45); + this.btnDeleteSyncFolderItem.Name = "btnDeleteSyncFolderItem"; + this.btnDeleteSyncFolderItem.Size = new System.Drawing.Size(65, 23); + this.btnDeleteSyncFolderItem.TabIndex = 3; + this.btnDeleteSyncFolderItem.Text = "&Delete"; + this.btnDeleteSyncFolderItem.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btnDeleteSyncFolderItem.UseVisualStyleBackColor = true; + this.btnDeleteSyncFolderItem.Click += new System.EventHandler(this.btnDeleteSyncFolderItem_Click); + // + // btnAddSyncFolderItem + // + this.btnAddSyncFolderItem.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnAddSyncFolderItem.Image = ((System.Drawing.Image)(resources.GetObject("btnAddSyncFolderItem.Image"))); + this.btnAddSyncFolderItem.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnAddSyncFolderItem.Location = new System.Drawing.Point(181, 45); + this.btnAddSyncFolderItem.Name = "btnAddSyncFolderItem"; + this.btnAddSyncFolderItem.Size = new System.Drawing.Size(55, 23); + this.btnAddSyncFolderItem.TabIndex = 2; + this.btnAddSyncFolderItem.Text = "&Add"; + this.btnAddSyncFolderItem.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btnAddSyncFolderItem.UseVisualStyleBackColor = true; + this.btnAddSyncFolderItem.Click += new System.EventHandler(this.btnAddSyncFolderItem_Click); + // + // lstSyncFolders + // + this.lstSyncFolders.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lstSyncFolders.FormattingEnabled = true; + this.lstSyncFolders.Location = new System.Drawing.Point(6, 19); + this.lstSyncFolders.Name = "lstSyncFolders"; + this.lstSyncFolders.Size = new System.Drawing.Size(166, 108); + this.lstSyncFolders.TabIndex = 0; + this.lstSyncFolders.SelectedIndexChanged += new System.EventHandler(this.lstSyncFolders_SelectedIndexChanged); + // + // txtSyncFolder + // + this.txtSyncFolder.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.txtSyncFolder.Location = new System.Drawing.Point(181, 19); + this.txtSyncFolder.Name = "txtSyncFolder"; + this.txtSyncFolder.Size = new System.Drawing.Size(202, 20); + this.txtSyncFolder.TabIndex = 1; + this.txtSyncFolder.TextChanged += new System.EventHandler(this.txtSyncFolder_TextChanged); + // // SolutionExplorerOptionsPage // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); this.Name = "SolutionExplorerOptionsPage"; this.Size = new System.Drawing.Size(395, 289); this.groupBox2.ResumeLayout(false); this.groupBox2.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); this.ResumeLayout(false); } @@ -145,6 +227,12 @@ private System.Windows.Forms.ListBox lstResyncIgnoreList; private System.Windows.Forms.TextBox txtResyncIgnoreList; private System.Windows.Forms.Label label1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnDeleteSyncFolderItem; + private System.Windows.Forms.Button btnAddSyncFolderItem; + private System.Windows.Forms.ListBox lstSyncFolders; + private System.Windows.Forms.TextBox txtSyncFolder; } } 1.3 +48 -2 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages/SolutionExplorerOptionsPage.cs Index: SolutionExplorerOptionsPage.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages/SolutionExplorerOptionsPage.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- SolutionExplorerOptionsPage.cs 25 Jul 2006 13:09:31 -0000 1.2 +++ SolutionExplorerOptionsPage.cs 28 Sep 2006 20:28:40 -0000 1.3 @@ -51,12 +51,26 @@ txtResyncIgnoreList.Text = string.Empty; btnAddResyncIgnoreItem.Enabled = false; btnDeleteResyncIgnoreItem.Enabled = false; + cbIgnoreHiddenFiles.Checked = m_settings.ResyncIgnoreHiddenFiles; + + lstSyncFolders.Items.Clear(); + if (m_settings.SyncFolderList.Length > 0) + { + string[] list = m_settings.SyncFolderList.Split(new char[] { ';' }); + foreach (string item in list) + { + if (item.Length > 0) lstSyncFolders.Items.Add(item); + } + } + txtSyncFolder.Text = string.Empty; + btnAddSyncFolderItem.Enabled = false; + btnDeleteSyncFolderItem.Enabled = false; + } public void OnOK() { - string ignoreList = string.Empty; foreach (string item in lstResyncIgnoreList.Items) { @@ -64,6 +78,12 @@ } m_settings.ResyncIgnoreList = ignoreList; m_settings.ResyncIgnoreHiddenFiles = cbIgnoreHiddenFiles.Checked; + string syncFolderList = string.Empty; + foreach (string item in lstSyncFolders.Items) + { + syncFolderList = syncFolderList + item + ";"; + } + m_settings.SyncFolderList = syncFolderList; } public void OnEnter() @@ -85,6 +105,8 @@ #endregion + // Ignore items + private void lstResyncIgnoreList_SelectedIndexChanged(object sender, EventArgs e) { btnDeleteResyncIgnoreItem.Enabled = lstResyncIgnoreList.SelectedIndex != -1; @@ -107,5 +129,29 @@ lstResyncIgnoreList.SelectedIndex = -1; } + // Sync folders + + private void lstSyncFolders_SelectedIndexChanged(object sender, EventArgs e) + { + btnDeleteSyncFolderItem.Enabled = lstSyncFolders.SelectedIndex != -1; + } + + private void btnAddSyncFolderItem_Click(object sender, EventArgs e) + { + lstSyncFolders.Items.Add(txtSyncFolder.Text); + txtSyncFolder.Text = string.Empty; + } + + private void txtSyncFolder_TextChanged(object sender, EventArgs e) + { + btnAddSyncFolderItem.Enabled = txtSyncFolder.Text.Length > 0; + } + + private void btnDeleteSyncFolderItem_Click(object sender, EventArgs e) + { + lstSyncFolders.Items.Remove(lstSyncFolders.SelectedItem); + lstSyncFolders.SelectedIndex = -1; + } + } } 1.2 +31 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages/SolutionExplorerOptionsPage.resx Index: SolutionExplorerOptionsPage.resx =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/OptionsPages/SolutionExplorerOptionsPage.resx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- SolutionExplorerOptionsPage.resx 12 Jul 2006 09:15:10 -0000 1.1 +++ SolutionExplorerOptionsPage.resx 28 Sep 2006 20:28:40 -0000 1.2 @@ -149,4 +149,35 @@ 0TVAwSFBB3etL9lYWMKmfWXk7ildoC37zfwBYOvcL3dylzIAAAAASUVORK5CYII= </value> </data> + <data name="btnDeleteSyncFolderItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA + CxMBAJqcGAAAAjVJREFUOE9j/P//P4O3l5fBP0aGHob/DG1MjAwHtm7d9o+BWODo6MLs7OKaDqT/Ozk7 + f/P28g709vFmBhmMjq1sHViCAgOU3N3d8mByDECNLECcZGfvtM3c0va/vYPLHw8Pzypfb1RDVDQNOazt + nZyArv3u4OA0B24AiAE0QBKILRwcXbZZ2dj/t7N3+O/v673R19eHGyRvamHL6e7pucLW3um3qal5t5ae + CQ+KATAO0BA2IC6wd3D+bWfn9N/H13eZpZW9npWV3WRbG5v/eoYmk9W0DPiRvYbhT2tbW0Z7eydNoJfO + m5lb/zcyNvtuaGz0Xk1Ld52yui4nerhgGABToG9g4qCnb/LT0sr2v56+0T0FZU0hbAGL1QBjExMFNXWd + S7p6hv+ABv03MbX4r6Wte4soAwyNTOXVNLSvAg34o6GpvUZETNJETl5lm4Gh8X9Vde1MvF7Q0NaVkFVQ + PiWnqPofaPshSQkpIR4+Pm5+IRFueSW16QYGxl9UtQxksQaihoEFh5yi2iIJacWPOrqGT7R19bVgCnkE + BDg4Obn5dPUNz0rKKEySUVSDJzR4GEjJKniLSSj8V1XT/q+iptHKyc0LTgMwzMLCzAQUV1FRUb3PKyAo + r65rwgSSAysQEBBiExERaxUSFv8vr6C8i4OLR42HTwCsABkLCAgym5lZTubm5TJV1zNHGABSJCOvasTK + xj6RgZHJjpmFhRdbiINtZGBgYWJi4sKaEnFpwieOMyERaxgAd/H0VrlTD2AAAAAASUVORK5CYII= +</value> + </data> + <data name="btnAddSyncFolderItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA + CxMBAJqcGAAAAfBJREFUOE+Nkl1IU2Ecxo/3fZhBVyEF3dRNFkgZWkGlfUCf2AcVyExaZhAFeZF1YQjG + lKKCTOrCEbVSUQhWWbNlMkoG2uykKX7UbGduQyym29k589fOZBEIe/vDc/N/eX7Py/O+GYBkzPdOE6oe + lSKzE1JsZkLKPTmakTwQjQEwNOQwEVd70cPNuGzrE6v5vUjSaMcxRrrM9Dp3EY860ULV2JvWcrt6BfVX + soQgSbafIK550NUetNlW9N/XCI8fJyAXUnVupRjQ15aHPv0YNWhBna5BC5r4NbiDr505FBdligGuxuXY + G7JpvZNNRClj6ksBZw8vZeuGxRzIXyIGpEpqrF1NaGA3/a9WsW7NIqEx5fvbcu3FTC6cyuL03mUc3Tlf + Xn1LEMvzQFI3bQEqH/o5f0+hpM7H9koveZd+RNI+kwGwfoBH7+ZoeKNjaY9xo1ml6kkU8/0ZNld4xIA6 + I/1ZgOvWSUpv+Siu+UnR1UT6ZS85Z9zpAU/tbvQ5fYEiMY0xf4T8g+Xpf1oK4OwZxpABe909mNA35BGF + bUcq/g/w7y2M9Kmwhlv2igFN7a5kqpHu+DiEYW57209Lh4fuvjEx4IHNkQRMBkOM+wJ4hv18khXef1Z4 + 0TVAwSFBB3etL9lYWMKmfWXk7ildoC37zfwBYOvcL3dylzIAAAAASUVORK5CYII= +</value> + </data> </root> \ No newline at end of file 1.7 +198 -226 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/Lib/AndroMDA.NHibernateSupport.dll <<Binary file>> 1.2 +22 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/conf/andromda-m2.xml Index: andromda-m2.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/conf/andromda-m2.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- andromda-m2.xml 25 Jul 2006 13:09:34 -0000 1.1 +++ andromda-m2.xml 28 Sep 2006 20:28:40 -0000 1.2 @@ -155,5 +155,27 @@ </properties> </namespace> + + <namespace name="aspdotnet"> + <properties> + <property name="web">${web.dir}</property> + <property name="web_generated">${web.generated.dir}</property> + <property name="web_manual">${web.manual.dir}</property> + <property name="webAssemblyName">${web.dir}</property> + <property name="AssemblyTitle">${web.dir}</property> + <property name="AssemblyDescription"></property> + <property name="AssemblyConfiguration"></property> + <property name="AssemblyCompany"></property> + <property name="AssemblyProduct"></property> + <property name="AssemblyCopyright"></property> + <property name="AssemblyTrademark"></property> + <property name="AssemblyCulture"></property> + <property name="AssemblyVersion">1.0.*</property> + <property name="AssemblyDelaySign">true</property> + <property name="AssemblyKeyFile"></property> + <property name="AssemblyKeyName"></property> + </properties> + </namespace> + </namespaces> </andromda> \ No newline at end of file 1.3 +17 -2 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/mda/pom.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- pom.xml 30 Jul 2006 05:33:26 -0000 1.2 +++ pom.xml 28 Sep 2006 20:28:40 -0000 1.3 @@ -28,8 +28,8 @@ <common.assembly.name>${wizard.projects.common.name}</common.assembly.name> <web.dir>${pom.basedir}/../${wizard.projects.web.dir}</web.dir> - <web.generated.dir>${pom.basedir}/../${wizard.projects.web.dir}/App_Code/target</web.generated.dir> - <web.manual.dir>${pom.basedir}/../${wizard.projects.web.dir}/App_Code/src</web.manual.dir> + <web.generated.dir>${pom.basedir}/../${wizard.projects.web.dir}/target/src</web.generated.dir> + <web.manual.dir>${pom.basedir}/../${wizard.projects.web.dir}/src/main</web.manual.dir> <schemaexport.dir>${pom.basedir}/../${wizard.projects.schemaexport.dir}</schemaexport.dir> <schemaexport.available>${wizard.projects.schemaexport.create}</schemaexport.available> @@ -66,6 +66,9 @@ <groupId>org.andromda.cartridges</groupId> <artifactId>andromda-cs-cartridge</artifactId> </dependency> + +${wizard.cartridges.aspnet.mdapom.dependencies} + <dependency> <groupId>org.andromda.translationlibraries</groupId> <artifactId>andromda-ocl-validation-library</artifactId> @@ -106,6 +109,18 @@ <include>**/*</include> </includes> </fileset> + <fileset> + <directory>${web.generated.dir}</directory> + <includes> + <include>**/*</include> + </includes> + </fileset> + <fileset> + <directory>${web.dir}/App_Code</directory> + <includes> + <include>target</include> + </includes> + </fileset> </filesets> </configuration> </plugin> 1.6 +2 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/pom.xml Index: pom.xml =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Resources/pom.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- pom.xml 22 Aug 2006 02:14:00 -0000 1.5 +++ pom.xml 28 Sep 2006 20:28:40 -0000 1.6 @@ -54,6 +54,8 @@ <version>1.0-SNAPSHOT</version> </dependency> +${wizard.cartridges.aspnet.rootpom.dependencies} + </dependencies> </dependencyManagement> <build> 1.9 +6 -0 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils/VSSolutionUtils.cs Index: VSSolutionUtils.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Utils/VSSolutionUtils.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- VSSolutionUtils.cs 25 Jul 2006 13:09:32 -0000 1.8 +++ VSSolutionUtils.cs 28 Sep 2006 20:28:40 -0000 1.9 @@ -17,6 +17,12 @@ { public class VSSolutionUtils { + public static string ProjectKindSolutionFolder = "{66A26720-8FB5-11D2-AA7E-00C04F688DDE}"; + public static string ProjectKindVisualBasic = "{F184B08F-C81C-45F6-A57F-5ABD9991F28F}"; + public static string ProjectKindVisualCS = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"; + public static string ProjectKindVisualCPP = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"; + public static string ProjectKindVisualJS = "{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}"; + public static string ProjectKindWeb = "{E24C65DC-7377-472b-9ABA-BC803B73C61A}"; public static string GetSolutionName(Solution currentSolution) { 1.4 +15 -6 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards/MDASolutionWizard.cs Index: MDASolutionWizard.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards/MDASolutionWizard.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- MDASolutionWizard.cs 30 Jul 2006 05:33:26 -0000 1.3 +++ MDASolutionWizard.cs 28 Sep 2006 20:28:41 -0000 1.4 @@ -119,8 +119,10 @@ cbUseNHibernateConfig.Enabled = cbConfigureWebProject.Checked; //rbWebConfig.Enabled = cbConfigureWebProject.Checked; cbAddMembershipSupport.Enabled = cbConfigureWebProject.Checked; + cbConfigureASPNETCartridge.Enabled = cbConfigureWebProject.Checked; lblAddMembershipSupportText.Enabled = cbConfigureWebProject.Checked; lblStoreSettingsInNHibernateConfigDescription.Enabled = cbConfigureWebProject.Checked; + lblASPNETCartridge.Enabled = cbConfigureWebProject.Checked; } private void cbEnableWebCommonProject_CheckedChanged(object sender, EventArgs e) @@ -478,6 +480,7 @@ config["projects.web.create"] = BoolToString(usrWebProject.CreateNewProject); config["projects.web.usenhibernateconfig"] = BoolToString(cbUseNHibernateConfig.Checked); config["projects.web.addmembership"] = BoolToString(cbAddMembershipSupport.Checked); + config["cartridges.aspnet.configure"] = BoolToString(cbConfigureASPNETCartridge.Checked); config["projects.web.common.configure"] = BoolToString(cbConfigureWebCommonProject.Checked); config["projects.web.common.name"] = usrWebCommonProject.ProjectName; @@ -503,11 +506,11 @@ config["database.nhibernatedialect"] = "NHibernate.Dialect.MySQLDialect"; config["hibernate.connection.driver_class"] = "NHibernate.Driver.MySqlDataDriver"; break; - case "Hypersonic": - config["database.mappingtype"] = "HypersonicSql"; - config["database.hibernatedialect"] = "net.sf.hibernate.dialect.HSQLDialect"; - config["database.nhibernatedialect"] = "NHibernate.Dialect.GenericDialect"; - config["hibernate.connection.driver_class"] = "NHibernate.Driver.OdbcDriver"; + case "PostgreSQL": + config["database.mappingtype"] = "PostgreSQL"; + config["database.hibernatedialect"] = "net.sf.hibernate.dialect.PostgreSQLDialect"; + config["database.nhibernatedialect"] = "NHibernate.Dialect.PostgreSQLDialect"; + config["hibernate.connection.driver_class"] = "NHibernate.Driver.NpgsqlDriver"; break; case "Oracle 9i": config["database.mappingtype"] = "Oracle9i"; @@ -515,6 +518,12 @@ config["database.nhibernatedialect"] = "NHibernate.Dialect.Oracle9Dialect"; config["hibernate.connection.driver_class"] = "NHibernate.Driver.OracleClientDriver"; break; + case "Hypersonic": + config["database.mappingtype"] = "HypersonicSql"; + config["database.hibernatedialect"] = "net.sf.hibernate.dialect.HSQLDialect"; + config["database.nhibernatedialect"] = "NHibernate.Dialect.GenericDialect"; + config["hibernate.connection.driver_class"] = "NHibernate.Driver.OdbcDriver"; + break; } return config; 1.4 +454 -426 plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards/MDASolutionWizard.designer.cs Index: MDASolutionWizard.designer.cs =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/etc/andromda-dotnet/AndroMDA.VS80AddIn/AndroMDA.VS80AddIn/Wizards/MDASolutionWizard.designer.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- MDASolutionWizard.designer.cs 27 Jul 2006 03:55:48 ... [truncated message content] |