Author: brett
Date: Mon Jan  2 07:11:28 2012
New Revision: 1226358

URL: http://svn.apache.org/viewvc?rev=1226358&view=rev
Log:
[NPANDAY-480] add missing converter classes

Added:
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzurePomConverter.cs
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzureWorkerPomConverter.cs

Added: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzurePomConverter.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzurePomConverter.cs?rev=1226358&view=auto
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzurePomConverter.cs
 (added)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzurePomConverter.cs
 Mon Jan  2 07:11:28 2012
@@ -0,0 +1,116 @@
+#region Apache License, Version 2.0
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.IO;
+using NPanday.Model.Pom;
+using NPanday.ProjectImporter.Digest.Model;
+using NPanday.Utils;
+
+namespace NPanday.ProjectImporter.Converter.Algorithms
+{
+    public class AzurePomConverter : AbstractPomConverter
+    {
+
+        public AzurePomConverter(ProjectDigest projectDigest, string 
mainPomFile, NPanday.Model.Pom.Model parent, string groupId) 
+            : base(projectDigest,mainPomFile,parent, groupId)
+        {
+        }
+
+        public override void ConvertProjectToPomModel(bool writePom, string 
scmTag)
+        {
+            GenerateHeader("azure-cloud-service");
+
+            //Add SCM Tag
+            if (scmTag != null && scmTag != string.Empty && Model.parent==null)
+            {
+                Scm scmHolder = new Scm();
+                scmHolder.connection = string.Format("scm:svn:{0}", scmTag);
+                scmHolder.developerConnection = string.Format("scm:svn:{0}", 
scmTag);
+                scmHolder.url = scmTag;
+
+                Model.scm = scmHolder;
+            }
+
+            // Add Com Reference Dependencies
+            if (projectDigest.ComReferenceList.Length > 0)
+            {
+                AddComReferenceDependency();
+            }
+            
+                       //Add Project WebReferences
+            AddWebReferences();
+
+            //Add EmbeddedResources maven-resgen-plugin
+            AddEmbeddedResources();
+            
+            // Add Project Inter-dependencies
+            foreach (ProjectReference projectRef in 
projectDigest.ProjectReferences)
+            {
+                AddProjectReference(projectRef);
+            }
+
+            // Add Project Reference Dependencies
+            // override the one from the parent to add new types for Azure
+            AddProjectReferenceDependenciesToList();
+
+            AddPlugin("org.apache.npanday.plugins", "azure-maven-plugin");
+
+            if (writePom)
+            {
+                PomHelperUtility.WriteModelToPom(new 
FileInfo(Path.Combine(projectDigest.FullDirectoryName, "pom.xml")), Model);
+            }
+        }
+
+        private void AddProjectReference(ProjectReference projectRef)
+        {
+            Dependency dependency = new Dependency();
+
+            dependency.artifactId = projectRef.Name;
+            dependency.groupId = !string.IsNullOrEmpty(groupId) ? groupId : 
projectRef.Name;
+            dependency.version = string.IsNullOrEmpty(version) ? 
"1.0-SNAPSHOT" : version;
+
+            dependency.type = "dotnet-library";
+            if (projectRef.ProjectReferenceDigest != null
+                && 
!string.IsNullOrEmpty(projectRef.ProjectReferenceDigest.OutputType))
+            {
+                dependency.type = 
projectRef.ProjectReferenceDigest.OutputType.ToLower();
+            }
+            if (projectRef.RoleType != null)
+            {
+                switch (projectRef.RoleType)
+                {
+                    case "Web":
+                        dependency.type = "msdeploy-package";
+                        break;
+                    case "Worker":
+                        dependency.type = "dotnet-application";
+                        break;
+                    default:
+                        Console.WriteLine("Unknown role type '" + 
projectRef.RoleType + "' - treating as a dotnet-library");
+                        break;
+                }
+            }
+
+            AddDependency(dependency);
+        }
+    }
+}

Added: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzureWorkerPomConverter.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzureWorkerPomConverter.cs?rev=1226358&view=auto
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzureWorkerPomConverter.cs
 (added)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AzureWorkerPomConverter.cs
 Mon Jan  2 07:11:28 2012
@@ -0,0 +1,61 @@
+#region Apache License, Version 2.0
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+#endregion
+using System.IO;
+using NPanday.Model.Pom;
+using NPanday.ProjectImporter.Digest.Model;
+using NPanday.Utils;
+using System.Collections.Generic;
+
+namespace NPanday.ProjectImporter.Converter.Algorithms
+{
+    public class AzureWorkerPomConverter : NormalPomConverter
+    {
+        public AzureWorkerPomConverter(ProjectDigest projectDigest, string 
mainPomFile, NPanday.Model.Pom.Model parent, string groupId)
+            : base(projectDigest, mainPomFile, parent, groupId)
+        {
+        }
+
+        public override void ConvertProjectToPomModel(bool writePom, string 
scmTag)
+        {
+            // just call the base, but dont write it we still need some minor 
adjustments for it
+            base.ConvertProjectToPomModel(false, scmTag);
+
+            List<string> goals = new List<string>();
+            goals.Add("assemble-package-files");
+            foreach (Content content in projectDigest.Contents)
+            {
+                if (content.IncludePath.Equals("app.package.config", 
System.StringComparison.InvariantCultureIgnoreCase))
+                {
+                    goals.Add("process-app-config");
+                }
+            }
+            goals.Add("package");
+
+            Plugin plugin = AddPlugin("org.apache.npanday.plugins", 
"application-maven-plugin", null, false);
+            AddPluginExecution(plugin, "package-application", goals.ToArray(), 
null);
+
+            if (writePom)
+            {
+                PomHelperUtility.WriteModelToPom(new 
FileInfo(Path.GetDirectoryName(projectDigest.FullFileName) + @"\pom.xml"), 
Model);
+            }
+        }
+    }
+}


Reply via email to