Exemplo n.º 1
0
        internal ServerModelNode SetFavouriteServer(String strUri)
        {
            ServerModelNode temp, result = null;

            temp = m_oDAPRootNode.SetFavouriteServer(strUri);
            if (temp != null)
            {
                result = temp;
            }
            if (m_oPersonalDAPServer != null && m_oPersonalDAPServer.UpdateFavouriteStatus(strUri))
            {
                result = m_oPersonalDAPServer;
            }
            temp = m_oWMSRootNode.SetFavouriteServer(strUri);
            if (temp != null)
            {
                result = temp;
            }
            temp = m_oArcIMSRootNode.SetFavouriteServer(strUri);
            if (temp != null)
            {
                result = temp;
            }

            return(result);
        }
Exemplo n.º 2
0
        internal ServerModelNode AddWMSServer(WMSServerUri oUri, bool blEnabled, bool blUpdateHomeView, bool blSubmitToDappleSearch)
        {
            lock (m_oLock)
            {
                // --- Don't add the server if it's already in the model ---

                ServerModelNode result = m_oRootNode.WMSServers.GetServer(oUri);
                if (result != null)
                {
                    return(result);
                }

                // --- Add the server ---

                result = m_oRootNode.WMSServers.AddServer(oUri, blEnabled);

                // --- Update home view if necessary ---

                if (blUpdateHomeView)
                {
                    result.AddToHomeView();
                }

                // --- Submit to DappleSearch if necessary ---

                if (blSubmitToDappleSearch)
                {
                    SubmitServerToSearchEngine(oUri.ToBaseUri(), ServerModelNode.ServerType.WMS);
                }

                OnServerAdded(EventArgs.Empty);
                return(result);
            }
        }
Exemplo n.º 3
0
        internal static ServerModelNode AddServerToHomeView(DappleModel oModel, LayerBuilder oLayer)
        {
            const bool Enabled = true;
            const bool DontAddToHomeViewYet     = false;
            const bool DontSubmitToDappleSearch = false;

            ServerModelNode result = null;

            // --- Add the server to the model ---

            if (oLayer is ArcIMSQuadLayerBuilder)
            {
                ArcIMSQuadLayerBuilder castLayer = oLayer as ArcIMSQuadLayerBuilder;
                result = oModel.AddArcIMSServer(new ArcIMSServerUri(castLayer.ServerURL), Enabled, DontAddToHomeViewYet, DontSubmitToDappleSearch);
            }
            else if (oLayer is DAPQuadLayerBuilder)
            {
                DAPQuadLayerBuilder castLayer = oLayer as DAPQuadLayerBuilder;
                result = oModel.AddDAPServer(new DapServerUri(castLayer.ServerURL), Enabled, DontAddToHomeViewYet, DontSubmitToDappleSearch);
            }
            else if (oLayer is WMSQuadLayerBuilder)
            {
                WMSQuadLayerBuilder castLayer = oLayer as WMSQuadLayerBuilder;
                result = oModel.AddWMSServer(new WMSServerUri(castLayer.ServerURL), Enabled, DontAddToHomeViewYet, DontSubmitToDappleSearch);
            }
            else
            {
                throw new ApplicationException("Don't know how to get the server of type " + oLayer.GetType().ToString());
            }

            result.AddToHomeView();

            return(result);
        }
Exemplo n.º 4
0
        private ServerModelNode LoadBuilderEntryType(dappleview.builderentryType entry, Uri favouriteServerUri)
        {
            bool            DontUpdateHomeView       = false;
            bool            DontSubmitToDappleSearch = false;
            ServerModelNode result = null;

            if (entry.Hasbuilderdirectory())
            {
                for (int i = 0; i < entry.builderdirectory.builderentryCount; i++)
                {
                    ServerModelNode newServer = LoadBuilderEntryType(entry.builderdirectory.GetbuilderentryAt(i), favouriteServerUri);
                    if (newServer != null)
                    {
                        result = newServer;
                    }
                }
            }
            else if (entry.Haswmscatalog())
            {
                ServerModelNode newServer = AddWMSServer(new WMSServerUri(entry.wmscatalog.capabilitiesurl.Value), entry.wmscatalog.Hasenabled() ? entry.wmscatalog.enabled.Value : true, DontUpdateHomeView, DontSubmitToDappleSearch);
                if (favouriteServerUri != null && newServer.Uri.ToBaseUri().Equals(favouriteServerUri.ToString()))
                {
                    result = newServer;
                }
            }
            else if (entry.Hasarcimscatalog())
            {
                ServerModelNode newServer = AddArcIMSServer(new ArcIMSServerUri(entry.arcimscatalog.capabilitiesurl.Value), entry.arcimscatalog.Hasenabled() ? entry.arcimscatalog.enabled.Value : true, DontUpdateHomeView, DontSubmitToDappleSearch);
                if (favouriteServerUri != null && newServer.Uri.ToBaseUri().Equals(favouriteServerUri.ToString()))
                {
                    result = newServer;
                }
            }
            else if (entry.Hasdapcatalog())
            {
                DapServerUri oUri = new DapServerUri(entry.dapcatalog.url.Value);
                if (!oUri.IsForPersonalDAP)
                {
                    ServerModelNode newServer = AddDAPServer(oUri, entry.dapcatalog.Hasenabled() ? entry.dapcatalog.enabled.Value : true, DontUpdateHomeView, DontSubmitToDappleSearch);
                    if (favouriteServerUri != null && newServer.Uri.ToBaseUri().Equals(favouriteServerUri.ToString()))
                    {
                        result = newServer;
                    }
                }
            }
            else if (entry.Hastileserverset())
            {
                LoadTileServerSet(entry.tileserverset);
            }

            return(result);
        }
Exemplo n.º 5
0
        internal void LoadFromView(Dapple.DappleView oSource)
        {
            lock (m_oLock)
            {
                ClearModel();

                ServerModelNode oFavouriteServer = null;

                // --- Create favourite server Uri ---

                Uri oFavouriteServerUri = null;
                if (oSource.View.Hasfavouriteserverurl() && !String.IsNullOrEmpty(oSource.View.favouriteserverurl.Value))
                {
                    try
                    {
                        oFavouriteServerUri = new Uri(oSource.View.favouriteserverurl.Value);
                    }
                    catch (UriFormatException)
                    {
                        // --- The favourite server is invalid. Default to no favourite server ---
                    }
                }


                // --- Load the servers ---

                if (oSource.View.Hasservers())
                {
                    for (int i = 0; i < oSource.View.servers.builderentryCount; i++)
                    {
                        dappleview.builderentryType entry = oSource.View.servers.GetbuilderentryAt(i);
                        ServerModelNode             temp  = LoadBuilderEntryType(entry, oFavouriteServerUri);
                        if (temp != null)
                        {
                            oFavouriteServer = temp;
                        }
                    }
                }

                if (oFavouriteServer != null)
                {
                    SetFavouriteServer(oFavouriteServer, false);
                }
                else if (oSource.View.Hasfavouriteserverurl() && PersonalDapServerModelNode.PersonalDapRunning && oSource.View.favouriteserverurl.Value.Equals(Geosoft.GX.DAPGetData.Server.PERSONAL_DAP_URI))
                {
                    SetFavouriteServer(PersonalDapServer, false);
                }

                OnLoaded(EventArgs.Empty);
            }
        }
Exemplo n.º 6
0
        internal ServerModelNode SetFavouriteServer(String strUri)
        {
            ServerModelNode result = null;

            foreach (ArcIMSServerModelNode oServer in UnfilteredChildren)
            {
                if (oServer.UpdateFavouriteStatus(strUri))
                {
                    result = oServer;
                }
            }

            return(result);
        }
Exemplo n.º 7
0
        internal void ToggleServer(ServerModelNode oServer, bool blUpdateHomeView)
        {
            lock (m_oLock)
            {
                oServer.ToggleEnabled();

                if (blUpdateHomeView)
                {
                    oServer.AddToHomeView();
                    HomeView.SetServerEnabled(oServer.Uri, oServer.Enabled);
                }

                OnServerToggled(EventArgs.Empty);
            }
        }
Exemplo n.º 8
0
        internal void RemoveServer(ServerModelNode oServer, bool blUpdateHomeView)
        {
            lock (m_oLock)
            {
                oServer.Parent.RemoveChild(oServer);

                if (blUpdateHomeView)
                {
                    if (oServer.Favourite)
                    {
                        HomeView.ClearFavourite();
                    }

                    HomeView.RemoveServer(oServer.Uri);
                }
            }
        }
Exemplo n.º 9
0
        internal void SetFavouriteServer(ServerModelNode oServer, bool blUpdateHomeView)
        {
            lock (m_oLock)
            {
                if (m_oFavouriteServer == null || !m_oFavouriteServer.Uri.ToBaseUri().Equals(oServer.Uri.ToBaseUri()))
                {
                    m_oFavouriteServer = m_oRootNode.SetFavouriteServer(oServer.Uri.ToBaseUri());

                    if (blUpdateHomeView)
                    {
                        oServer.AddToHomeView();
                        HomeView.SetFavourite(m_oFavouriteServer.Uri);
                    }

                    m_oSelectedNode = m_oFavouriteServer;
                    OnFavouriteServerChanged(EventArgs.Empty);
                }
            }
        }