protected void generateButtonClicked(object sender, EventArgs e) { // END HERZUM SPRINT 4.1: TLAB-215 try { // END HERZUM SPRINT 4.1: TLAB-215 m_viewModel.GeneratePackageContent(); //it sets the root package source info m_viewModel.CurrentState = PackageBuilderWizardPage.FileViewer; DisplayCurrentPage(); // HERZUM SPRINT 4.1: TLAB-215 } catch (Exception ex) { ShowMessageDialog(ex.Message, "Package Creation Error", Gtk.ButtonsType.Ok, Gtk.MessageType.Error); return; } // END HERZUM SPRINT 4.1: TLAB-215 }
public void Build(String filePath) { m_viewModel.GeneratePackageContent(); //it sets the root package source info m_viewModel.CurrentState = PackageBuilderWizardPage.FileViewer; PackageSourceInfo info = m_viewModel.PackageSourceInfo; bool noError = true; TraceLab.Core.PackageSystem.Package pkg = null; // string pkgFilePath = GetFilePath(info.Name); string pkgFilePath = filePath; // HERZUM SPRINT 3: TLAB-206 string pkgFileName = System.IO.Path.GetFileNameWithoutExtension(pkgFilePath); // END HERZUM SPRINT 3: TLAB-206 if (pkgFilePath != null) { // string pkgFileName = System.IO.Path.GetFileNameWithoutExtension(pkgFilePath); string pkgTempDirectory = pkgFilePath + "~temp"; try { System.IO.Directory.CreateDirectory(pkgTempDirectory); try { // HERZUM SPRINT 3: TLAB-206 // pkg = new TraceLab.Core.PackageSystem.Package(info.Name, pkgTempDirectory, false); pkg = new TraceLab.Core.PackageSystem.Package(pkgFileName, pkgTempDirectory, false); // END HERZUM SPRINT 3: TLAB-206 } catch (TraceLab.Core.PackageSystem.PackageAlreadyExistsException) { ShowMessageDialog("Package already exists in: " + pkgTempDirectory, "Package Creation Error", Gtk.ButtonsType.Ok, Gtk.MessageType.Error); noError = false; } catch (TraceLab.Core.PackageSystem.PackageException ex) { ShowMessageDialog("Error creating package: " + ex.Message, "Package Creation Error", Gtk.ButtonsType.Ok, Gtk.MessageType.Error); noError = false; } if (pkg != null && noError) { foreach (PackageFileSourceInfo item in info.Files) { try { noError = noError && PackageCreator.AddItemToPackage(pkg, item, m_viewModel.IsExperimentPackage); } catch (TraceLab.Core.Exceptions.PackageCreationFailureException ex) { ShowMessageDialog("Error creating package: " + ex.Message, "Package Creation Error", Gtk.ButtonsType.Ok, Gtk.MessageType.Error); noError = false; } } pkg.SaveManifest(); using (System.IO.FileStream stream = new System.IO.FileStream(pkgFilePath, System.IO.FileMode.Create)) { pkg.Pack(stream); } } } catch (System.IO.IOException error) { ShowMessageDialog("Unable to create package. Error: " + error.Message, "Package Creation Error", Gtk.ButtonsType.Ok, Gtk.MessageType.Error); noError = false; } catch (System.UnauthorizedAccessException error) { ShowMessageDialog("Unable to create package - Unauthorized access: " + error.Message, "Package Creation Error", Gtk.ButtonsType.Ok, Gtk.MessageType.Error); noError = false; } try { if (System.IO.Directory.Exists(pkgTempDirectory)) { System.IO.Directory.Delete(pkgTempDirectory, true); } } catch (System.IO.IOException error) { ShowMessageDialog("Unable to cleanup after package creation. Error: " + error.Message, "After Package Cleanup Failure", Gtk.ButtonsType.Ok, Gtk.MessageType.Warning); } catch (System.UnauthorizedAccessException error) { ShowMessageDialog("Unable to cleanup after package creation. Unauthorized access: " + error.Message, "After Package Cleanup Failure", Gtk.ButtonsType.Ok, Gtk.MessageType.Warning); } } if (noError && pkg != null) { // HERZUM SPRINT 3: TLAB-206 // ShowMessageDialog("Package \"" + info.Name + "\" was built successfully.", "Package Created", ShowMessageDialog("Package \"" + pkgFileName + "\" was built successfully.", "Package Created", // END HERZUM SPRINT 3: TLAB-206 Gtk.ButtonsType.Ok, Gtk.MessageType.Info); } }