Example #1
0
        public void doExport()
        {
            ExportRunning = true;

            ExportProgressBar exportProgressBar = new ExportProgressBar();

            try
            {
                exportProgressBar.startExport(this);

                if (AutoUpdatePackages.Count > 0)
                {
                    String pkgStrings = String.Join("\n", AutoUpdatePackages.ToArray());
                    MessageBox.Show("Due to changes in the eMoflon plugin some projects have to be updated. Please retrieve the SCM locks for the following projects (and all subpackages) and retry the export: \n\n" + pkgStrings);
                }
            }
            catch (Exception e)
            {
                if (showStatusBar)
                {
                    MessageBox.Show(EAUtil.formatErrorMessage(e));
                }
                else
                {
                    Console.Out.WriteLine("EXCEPTION:" + e.StackTrace + "#");
                    Console.Out.WriteLine("ERROR:Something went wrong. Please check the validation messages and contact the eMoflon team if necessary ([email protected])#");
                }
                ExportRunning = false;
            }
        }
        private void runExport(Export exporter)
        {
            try
            {
                int index = 0;
                foreach (SQLPackage projectPackage in packagesToExport)
                {
                    if (!exporter.showStatusBar)
                    {
                        Console.Out.WriteLine("SCALE:Export Package '" + projectPackage.Name + "' %" + index + "/" + packagesToExport.Count + "#");
                    }
                    exporter.CurrentMetamodelName = projectPackage.Name;
                    exporter.exportPackage(projectPackage);
                    index++;
                }

                exporter.createDependencyTree();



                //write property file
                foreach (SQLPackage projectPackage in packagesToExport)
                {
                    MocaNode metamodelNode = null;
                    foreach (MocaNode node in exporter.MocaTree.Children)
                    {
                        if (node.getAttributeOrCreate(EPackageHelper.MoflonCustomNameTaggedValueName).Value == projectPackage.Name)
                        {
                            metamodelNode = node;
                            break;
                        }
                    }
                    if (metamodelNode != null)
                    {
                        exporter.enhanceMetamodelNodeWithDependencies(projectPackage, metamodelNode);
                    }

                    // refactor

                    /*MocaNode refactorNode = null;
                     * foreach (MocaNode node in exporter.RefactorTree.Children)
                     * {
                     *  if (node.getAttributeOrCreate(EPackageHelper.MoflonCustomNameTaggedValueName).Value == projectPackage.Name)
                     *  {
                     *      refactorNode = node;
                     *      break;
                     *  }
                     * }
                     * if (refactorNode != null)
                     * {
                     *  exporter.enhanceMetamodelNodeWithDependencies(projectPackage, refactorNode);
                     * }*/
                }

                exporter.finalize();
            }
            catch (Exception e)
            {
                worker.ReportProgress(0, "Error");
                if (exporter.showStatusBar)
                {
                    MessageBox.Show(EAUtil.formatErrorMessage(e));
                }
                else
                {
                    Console.Out.WriteLine("EXCEPTION:" + e.StackTrace + "#");
                    Console.Out.WriteLine("ERROR:Something went wrong. Please check the validation messages and contact the eMoflon team if necessary ([email protected])#");
                }
            }
        }