public WizardSolutionProcessor(ISynchronizeInvoke target, ConfigFile config, DTE applicationObject, AddInSettings settings) : base(target) { m_configuration = config; m_applicationObject = applicationObject; m_settings = settings; }
public WizardSolutionProcessor(ConfigFile config, DTE applicationObject, AddInSettings settings) : base() { m_configuration = config; m_applicationObject = applicationObject; m_settings = settings; }
public MDASolutionProcessor(ConfigFile config, DTE applicationObject) { m_configuration = config; m_applicationObject = applicationObject; }
public void InitializeSolution() { m_solutionIsUsingMDA = MDAConfigFilesExist(m_applicationObject.Solution); m_enabled = false; if (m_solutionIsUsingMDA) { try { // Notify the user that the solution is using MDA m_applicationObject.StatusBar.Text = "Android/VS: Solution is AndroMDA-enabled. Loading configuration..."; m_applicationObject.StatusBar.Highlight(true); // Get the solution path string solutionPath = VSSolutionUtils.GetSolutionPath(m_applicationObject.Solution); /// Load the properties file and set the the root directory if (Maven1PropertiesExist(m_applicationObject.Solution)) { // Load the properties directly from the project.properties file m_projectProperties.LoadFromFile(GetMaven1ProjectPropertiesPath(m_applicationObject.Solution)); m_projectProperties["maven.version"] = "1"; } else if (Maven2PropertiesExist(m_applicationObject.Solution)) { // Load the properties from the pom.xml m_projectProperties.LoadFromXML(GetMaven2ProjectPropertiesPath(m_applicationObject.Solution), "maven.andromda."); m_projectProperties["maven.version"] = "2"; } else { throw new Exception("Unable to locate the project's properties file."); } m_projectProperties["maven.src.dir"] = solutionPath + "\\mda\\src"; m_projectProperties["project.build.sourceDirectory"] = solutionPath + "\\mda\\src\\uml"; m_projectProperties["pom.basedir"] = solutionPath + "\\mda"; if (m_projectProperties["maven.version"] == "2" && m_mavenProxy is Maven1Proxy) { m_mavenProxy = new Maven2Proxy(m_applicationObject, m_addInSettings); } else if (m_projectProperties["maven.version"] == "1" && m_mavenProxy is Maven2Proxy) { m_mavenProxy = new Maven1Proxy(m_applicationObject, m_addInSettings); } m_mavenProxy.Completed += new EventHandler(m_mavenProxy_Completed); //// //// Resolve the core and common projects //// //m_coreProject = null; //m_commonProject = null; m_schemaExportProject = null; // Iterate through the projects and search for the core and common directories foreach (Project p in m_applicationObject.Solution.Projects) { try { // 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"))) { // if so this is the core project string generatedPath = m_projectProperties.GetPath("maven.andromda.core.generated.dir"); string manualPath = m_projectProperties.GetPath("maven.andromda.core.manual.dir"); m_coreProject = new MDAProject(p, FileUtils.GetFilename(projectPath), projectPath, generatedPath, manualPath); } // Check if the current (common) directory is the same as the project directory if (FileUtils.CompareDirectories(projectPath, m_projectProperties.GetPath("maven.andromda.common.dir"))) { // if so this is the common project 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"))) { // if so this is the common project m_schemaExportProject = new MDAProject(p, FileUtils.GetFilename(projectPath), projectPath, string.Empty, string.Empty); } } catch (NotImplementedException) { // 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) { string errorMessage = "The AndroMDA configuration was loaded, but the "; if (m_coreProject == null) { errorMessage += "core (" + m_projectProperties["maven.andromda.core.assembly.name"] + ") "; if (m_commonProject == null) { errorMessage += "and "; } } if (m_commonProject == null) { errorMessage += "common (" + m_projectProperties["maven.andromda.common.assembly.name"] + ") "; } errorMessage += "project"; if (m_commonProject == null && m_coreProject == null) errorMessage += "s"; 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."; m_enabled = true; } catch (Exception e) { m_enabled = false; AddInUtils.ShowWarning("An error occured while trying to load the AndroMDA configuration. When you fix the problem click the 'Reload MDA Config' button.\n\n" + e.Message); } } }