Exemple #1
0
        private readonly string[] extensions = { ".mgp" }; //NOXLATE

        public bool HandleDrop(IServerConnection conn, string file, string folderId)
        {
            try
            {
                if (!MessageService.AskQuestion(Strings.ConfirmLoadPackage, Strings.Confirm))
                {
                    return(false);
                }

                var wb      = Workbench.Instance;
                var exp     = wb.ActiveSiteExplorer;
                var optDiag = new PackageUploadOptionDialog();
                optDiag.ShowDialog();
                DialogResult res;
                if (optDiag.Method == PackageUploadMethod.Transactional)
                {
                    res = PackageProgress.UploadPackage(wb, conn, file);
                }
                else
                {
                    res = PackageProgress.StartNonTransactionalUploadLoop(wb, conn, file);
                }
                if (res == System.Windows.Forms.DialogResult.OK)
                {
                    exp.RefreshModel(conn.DisplayName);
                }
                return(false); //Already refreshed if successful
            }
            catch (Exception ex)
            {
                ErrorDialog.Show(ex);
                return(false);
            }
        }
Exemple #2
0
        public AssetStorePackage(FetchedInfo fetchedInfo, LocalInfo localInfo = null)
        {
            m_Errors         = new List <Error>();
            m_Progress       = PackageProgress.None;
            m_Type           = PackageType.AssetStore;
            m_Name           = string.Empty;
            m_ProductId      = fetchedInfo?.id.ToString();
            m_Images         = fetchedInfo?.images ?? new List <PackageImage>();
            m_Links          = fetchedInfo?.links ?? new List <PackageLink>();
            m_VersionList    = new AssetStoreVersionList();
            m_UpmVersionList = new UpmVersionList();

            if (string.IsNullOrEmpty(fetchedInfo?.id) || string.IsNullOrEmpty(fetchedInfo?.versionId))
            {
                AddError(new Error(NativeErrorCode.Unknown, "Invalid product details."));
            }
            else if (localInfo == null)
            {
                m_VersionList.AddVersion(new AssetStorePackageVersion(fetchedInfo));
            }
            else
            {
                m_VersionList.AddVersion(new AssetStorePackageVersion(fetchedInfo, localInfo));
                if (localInfo.canUpdate && (localInfo.versionId != fetchedInfo.versionId || localInfo.versionString != fetchedInfo.versionString))
                {
                    m_VersionList.AddVersion(new AssetStorePackageVersion(fetchedInfo));
                }
            }
        }
        public override void Run()
        {
            var wb      = Workbench.Instance;
            var exp     = wb.ActiveSiteExplorer;
            var connMgr = ServiceRegistry.GetService <ServerConnectionManager>();
            var conn    = connMgr.GetConnection(exp.ConnectionName);

            using (var open = DialogFactory.OpenFile())
            {
                open.Filter = string.Format(OSGeo.MapGuide.MaestroAPI.Strings.GenericFilter, OSGeo.MapGuide.MaestroAPI.Strings.PickMgp, "mgp"); //NOXLATE
                if (open.ShowDialog(wb) == System.Windows.Forms.DialogResult.OK)
                {
                    var optDiag = new PackageUploadOptionDialog();
                    optDiag.ShowDialog();
                    DialogResult res;
                    if (optDiag.Method == PackageUploadMethod.Transactional)
                    {
                        res = PackageProgress.UploadPackage(wb,
                                                            conn,
                                                            open.FileName);
                    }
                    else
                    {
                        res = PackageProgress.StartNonTransactionalUploadLoop(wb, conn, open.FileName);
                    }
                    if (res == System.Windows.Forms.DialogResult.OK)
                    {
                        exp.RefreshModel(conn.DisplayName);
                    }
                }
            }
        }
 public PlaceholderPackage(string uniqueId, PackageType type = PackageType.None, PackageTag tag = PackageTag.None, PackageProgress progress = PackageProgress.None)
 {
     m_Type        = type;
     m_UniqueId    = uniqueId;
     m_Progress    = progress;
     m_VersionList = new PlaceholderVersionList(new PlaceholderPackageVersion(uniqueId, uniqueId, tag));
 }
Exemple #5
0
        private void PackageEditor_Load(object sender, EventArgs e)
        {
            this.Show();

            try
            {
                m_resources = PackageProgress.ListPackageContents(this, _conn, m_filename);
                if (m_resources == null)
                {
                    this.DialogResult = DialogResult.Cancel;
                    this.Close();
                    return;
                }

                RebuildTree();
            }
            catch (Exception ex)
            {
                if (ex is System.Reflection.TargetInvocationException && ex.InnerException != null)
                {
                    ex = ex.InnerException;
                }

                string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
                MessageBox.Show(this, string.Format(Strings.PackageReadError, msg), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.DialogResult = DialogResult.Cancel;
                this.Close();
                return;
            }

            OKBtn.Enabled = true;
        }
Exemple #6
0
        public AssetStorePackage(FetchedInfo fetchedInfo, UpmPackage package)
        {
            m_Errors    = new List <Error>();
            m_Progress  = PackageProgress.None;
            m_Type      = PackageType.AssetStore;
            m_Name      = package?.name ?? string.Empty;
            m_ProductId = fetchedInfo?.id.ToString();

            m_Images      = fetchedInfo?.images ?? new List <PackageImage>();
            m_Links       = fetchedInfo?.links ?? new List <PackageLink>();
            m_VersionList = new AssetStoreVersionList();

            m_UpmVersionList = package?.versionList as UpmVersionList ?? new UpmVersionList();
            foreach (var version in m_UpmVersionList.all.Cast <UpmPackageVersion>())
            {
                version.UpdateFetchedInfo(fetchedInfo);
            }

            if (string.IsNullOrEmpty(fetchedInfo?.id) || string.IsNullOrEmpty(fetchedInfo?.versionId))
            {
                AddError(new Error(NativeErrorCode.Unknown, "Invalid product details."));
            }
            else if (string.IsNullOrEmpty(package?.name))
            {
                AddError(new Error(NativeErrorCode.Unknown, "Invalid package info."));
            }
        }
Exemple #7
0
 public PlaceholderPackage(string uniqueId, string displayName, PackageType type = PackageType.None, PackageTag tag = PackageTag.None, PackageProgress progress = PackageProgress.None, UIError error = null)
 {
     m_Type        = type;
     m_UniqueId    = uniqueId;
     m_Progress    = progress;
     m_VersionList = new PlaceholderVersionList(new PlaceholderPackageVersion(uniqueId, uniqueId, displayName, tag, error));
     m_Errors      = new List <UIError>();
 }
 public void SetPackageProgress(IPackage package, PackageProgress progress)
 {
     if (package.progress == progress)
     {
         return;
     }
     package.progress = progress;
     onPackageProgressUpdate?.Invoke(package);
 }
 public UpmPackage(string name, bool isDiscoverable, PackageType type = PackageType.None)
 {
     m_Progress       = PackageProgress.None;
     m_Name           = name;
     m_IsDiscoverable = isDiscoverable;
     m_VersionList    = new UpmVersionList();
     m_UpmErrors      = new List <Error>();
     m_Type           = type;
 }
 public UpmPackage(PackageInfo info, bool isInstalled, bool isDiscoverable)
 {
     m_Progress       = PackageProgress.None;
     m_Name           = info.name;
     m_UpmErrors      = new List <Error>();
     m_IsDiscoverable = isDiscoverable;
     m_VersionList    = new UpmVersionList(info, isInstalled);
     m_Type           = primaryVersion.HasTag(PackageTag.BuiltIn) ? PackageType.BuiltIn : PackageType.Installable;
 }
Exemple #11
0
        private void ViewPackagesOnTab(PackageFilterTab tab, PackageProgress progress, PackageType type = PackageType.None)
        {
            var packagesInProgress = m_PackageDatabase.allPackages.Where(p => p.progress == progress && (type == PackageType.None || p.Is(type))).ToArray();

            if (packagesInProgress.Any())
            {
                m_PackageFiltering.currentFilterTab = tab;
                m_PageManager.GetCurrentPage().LoadExtraItems(packagesInProgress);
                m_PageManager.SetSelected(packagesInProgress.Select(p => new PackageAndVersionIdPair(p.uniqueId)));
            }
            Close();
        }
        private void ShowStatus(PackageProgress progress)
        {
            StatusProgressBar.IsIndeterminate = false;

            StatusProgressBar.Foreground = progress.ProgressResultType == ProgressResultType.Failure ?
                                           new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.Green);

            if (progress.ProgressResultType != ProgressResultType.Failure)
            {
                StatusProgressBar.Value = progress.Percent;
            }

            StatusTextBox.Text = $"{progress.Percent}% : {progress.Message}";
        }
Exemple #13
0
        public AssetStorePackage(string productId, Error error)
        {
            m_Errors = new List <Error> {
                error
            };
            m_Progress  = PackageProgress.None;
            m_Type      = PackageType.AssetStore;
            m_Name      = string.Empty;
            m_ProductId = productId;

            m_Images         = new List <PackageImage>();
            m_Links          = new List <PackageLink>();
            m_VersionList    = new AssetStoreVersionList();
            m_UpmVersionList = new UpmVersionList();
        }
        public override void Run()
        {
            var wb      = Workbench.Instance;
            var exp     = wb.ActiveSiteExplorer;
            var connMgr = ServiceRegistry.GetService <ServerConnectionManager>();

            if (exp.SelectedItems.Length <= 1)
            {
                //TODO: Will need to look at this again, when we decide to support
                //multiple connections to different sites from the same session. Right
                //now this is fine as we can only connect to one site at any time.
                var conn = connMgr.GetConnection(exp.ConnectionName);
                var dlg  = new CreatePackageDialog(conn);

                if (exp.SelectedItems.Length == 1)
                {
                    dlg.FolderToPackage = exp.SelectedItems[0].ResourceId;
                }

                if (dlg.ShowDialog(wb) == System.Windows.Forms.DialogResult.OK)
                {
                    if (dlg.Source == CreatePackageDialog.PackageSource.Folder)
                    {
                        PackageProgress.CreatePackage(
                            wb,
                            conn,
                            dlg.FolderToPackage,
                            dlg.OutputFileName,
                            dlg.SelectedTypes,
                            dlg.RemoveTargetFolderOnRestore,
                            dlg.RestorePath);
                    }
                    else //Resource id list
                    {
                        PackageProgress.CreatePackage(
                            wb,
                            conn,
                            dlg.ResourceIds,
                            dlg.OutputFileName,
                            dlg.SelectedTypes,
                            dlg.RemoveTargetFolderOnRestore,
                            dlg.RestorePath);
                    }
                }
            }
        }
 public static string GetTooltipByProgress(PackageProgress progress)
 {
     return ApplicationUtil.instance.GetTranslationForText(k_TooltipsByProgress[(int)progress]);
 }
 public static string GetTooltipByProgress(PackageProgress progress)
 {
     return(L10n.Tr(k_TooltipsByProgress[(int)progress]));
 }
 public string GetTooltipByProgress(PackageProgress progress)
 {
     return(string.Format(k_TooltipsByProgress[(int)progress], package.GetDescriptor(true)));
 }
Exemple #18
0
        private void OKBtn_Click(object sender, EventArgs e)
        {
            SavePackageDialog.FileName = m_filename;
            if (SavePackageDialog.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            //Preparation: Update all resources with the correct path, and build a list with them
            List <ResourceItem> items = new List <ResourceItem>();

            try
            {
                ResourceTree.PathSeparator = "/";
                ResourceTree.Nodes[0].Text = "Library:/";

                Queue <TreeNode> nl = new Queue <TreeNode>();
                foreach (TreeNode n in ResourceTree.Nodes[0].Nodes)
                {
                    nl.Enqueue(n);
                }

                while (nl.Count > 0)
                {
                    TreeNode n = nl.Dequeue();
                    foreach (TreeNode tn in n.Nodes)
                    {
                        nl.Enqueue(tn);
                    }

                    if (n.Tag as ResourceItem != null && (n.Tag as ResourceItem).EntryType != EntryTypeEnum.Deleted)
                    {
                        ResourceItem ri = new ResourceItem(n.Tag as ResourceItem);
                        ri.ResourcePath = n.FullPath + (ri.IsFolder ? "/" : "");
                        if (string.IsNullOrEmpty(ri.OriginalResourcePath))
                        {
                            ri.OriginalResourcePath = ri.ResourcePath;
                        }

                        items.Add(ri);
                    }
                }
            }
            finally
            {
                ResourceTree.Nodes[0].Text = "Library://";
            }

            try
            {
                if (PackageProgress.RebuildPackage(this, _conn, m_filename, items, SavePackageDialog.FileName, InsertDeleteCommands.Checked) != DialogResult.OK)
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                if (ex is System.Reflection.TargetInvocationException && ex.InnerException != null)
                {
                    ex = ex.InnerException;
                }

                string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
                MessageBox.Show(this, string.Format(Strings.PackageBuildError, msg), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            finally
            {
            }

            this.DialogResult = DialogResult.OK;
            this.Close();
        }