Exemplo n.º 1
0
        void OnDragEnterOver(object sender, DragEventArgs args)
        {
            Debug.Assert(m_DraggedNode != null);

            ServiceBusTreeNode targetNode = GetTargetNode(args);

            if (targetNode == m_DraggedNode)
            {
                return;
            }
            if (targetNode.ServiceBusNode != null)
            {
                if (targetNode.ServiceBusNode.Policy != null)
                {
                    if (targetNode.ServiceBusNode.Policy is RouterPolicy)
                    {
                        foreach (ServiceBusNode node in targetNode.ServiceBusNode.Subscribers)
                        {
                            if (node.Address == m_DraggedNode.ServiceBusNode.Address)
                            {
                                Cursor.Current = Cursors.No;

                                return;
                            }
                        }
                        args.Effect = DragDropEffects.Link;
                        m_ServiceBusTree.SelectedNode = targetNode;
                        m_ServiceBusTree.Select();
                    }
                }
            }
        }
Exemplo n.º 2
0
        void DeleteBuffers(ServiceBusTreeNode treeNode)
        {
            if (treeNode.ServiceBusNode != null)
            {
                if (treeNode.ServiceBusNode.Policy != null)
                {
                    if (treeNode.ServiceBusNode.Policy is MessageBufferPolicy)
                    {
                        string nodeAddress = treeNode.ServiceBusNode.Address;
                        nodeAddress = nodeAddress.Replace(@"sb://", @"https://");

                        TransportClientEndpointBehavior credential = Graphs[ServiceNamespace.ToLower()].Credential;
                        Uri address = new Uri(nodeAddress);
                        try
                        {
                            MessageBufferClient.GetMessageBuffer(credential, address).DeleteMessageBuffer();
                        }
                        catch
                        {}
                    }
                }
            }
            foreach (TreeNode node in treeNode.Nodes)
            {
                DeleteBuffers(node as ServiceBusTreeNode);
            }
        }
Exemplo n.º 3
0
        void OnDragDrop(object sender, DragEventArgs args)
        {
            Cursor.Current = Cursors.Default;
            Debug.Assert(m_DraggedNode != null);

            ServiceBusTreeNode targetNode = GetTargetNode(args);

            if (targetNode.ServiceBusNode == null)
            {
                return;
            }
            if (targetNode.ServiceBusNode.Policy != null)//A router or a buffer
            {
                if (targetNode.ServiceBusNode.Policy is RouterPolicy)
                {
                    Trace.WriteLine("Droped at: " + targetNode.Text);
                    string draggedAddress = m_DraggedNode.ServiceBusNode.Address;
                    draggedAddress = draggedAddress.Replace(@"https://", @"sb://");
                    draggedAddress = draggedAddress.Replace(@"http://", @"sb://");

                    string targetAddress = targetNode.ServiceBusNode.Address;
                    targetAddress = targetAddress.Replace(@"https://", @"sb://");
                    targetAddress = targetAddress.Replace(@"http://", @"sb://");

                    TransportClientEndpointBehavior credential = Graphs[ServiceNamespace.ToLower()].Credential;

                    Uri draggedUri = new Uri(draggedAddress);
                    Uri targetUri  = new Uri(targetAddress);

                    try
                    {
                        RouterClient targetClient = RouterManagementClient.GetRouter(credential, targetUri);
                        if (m_DraggedNode.ServiceBusNode.Policy is RouterPolicy)
                        {
                            RouterClient draggedClient = RouterManagementClient.GetRouter(credential, draggedUri);

                            draggedClient.SubscribeToRouter(targetClient, TimeSpan.MaxValue);
                        }
                        else
                        {
                            MessageBufferClient draggedClient = MessageBufferClient.GetMessageBuffer(credential, draggedUri);

                            /* TODO Restore on next release
                             * draggedClient.SubscribeToRouter(targetClient,TimeSpan.MaxValue);
                             */
                        }
                        OnExplore(this, EventArgs.Empty);

                        m_ServiceBusTree.SelectedNode = targetNode;
                        m_ServiceBusTree.Select();
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show("Unable to subscribe: " + exception.Message, "Service Bus Explorer", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            m_DraggedNode = null;
        }
Exemplo n.º 4
0
        void OnItemDrag(object sender, ItemDragEventArgs args)
        {
            m_DraggedNode = args.Item as ServiceBusTreeNode;

            if (m_DraggedNode != null)
            {
                if (m_DraggedNode.ServiceBusNode == null)
                {
                    return;
                }
                if (m_DraggedNode.ServiceBusNode.Policy != null)//A router or a buffer
                {
                    Cursor.Current = Cursors.Hand;
                    DoDragDrop(m_DraggedNode, DragDropEffects.Link);
                }
            }
        }
Exemplo n.º 5
0
        void OnItemSelected(object sender, TreeViewEventArgs treeEventArgs)
        {
            ServiceBusTreeNode node = treeEventArgs.Node as ServiceBusTreeNode;

            if (node != null)
            {
                TreeNode namespaceNode = node;
                if (namespaceNode.Parent != null)
                {
                    while (namespaceNode.Parent is NamespaceTreeNode == false)
                    {
                        namespaceNode = namespaceNode.Parent;
                    }

                    m_NamespaceTextBox.Text = namespaceNode.Parent.Text;
                }
            }
            node.DisplayControl();
        }
Exemplo n.º 6
0
      void OnDragDrop(object sender,DragEventArgs args)
      {           
         Cursor.Current = Cursors.Default;
         Debug.Assert(m_DraggedNode != null);

         ServiceBusTreeNode targetNode = GetTargetNode(args);
                                    
         if(targetNode.ServiceBusNode == null)
         {
            return;
         }
         if(targetNode.ServiceBusNode.Policy != null)//A router or a buffer
         {
            if(targetNode.ServiceBusNode.Policy is RouterPolicy)
            {
               Trace.WriteLine("Droped at: " + targetNode.Text);
               string draggedAddress = m_DraggedNode.ServiceBusNode.Address;
               draggedAddress = draggedAddress.Replace(@"https://",@"sb://");
               draggedAddress = draggedAddress.Replace(@"http://",@"sb://");

               string targetAddress = targetNode.ServiceBusNode.Address;
               targetAddress = targetAddress.Replace(@"https://",@"sb://");
               targetAddress = targetAddress.Replace(@"http://",@"sb://");
               
               TransportClientEndpointBehavior credential = Graphs[ServiceNamespace.ToLower()].Credential;

               Uri draggedUri = new Uri(draggedAddress);
               Uri targetUri = new Uri(targetAddress);

               try
               {
                  RouterClient targetClient  = RouterManagementClient.GetRouter(credential,targetUri);
                  if(m_DraggedNode.ServiceBusNode.Policy is RouterPolicy)
                  {
                     RouterClient draggedClient = RouterManagementClient.GetRouter(credential,draggedUri);

                     draggedClient.SubscribeToRouter(targetClient,TimeSpan.MaxValue);
                  }
                  else
                  {
                     MessageBufferClient draggedClient = MessageBufferClient.GetMessageBuffer(credential,draggedUri);
                     /* TODO Restore on next release
                     draggedClient.SubscribeToRouter(targetClient,TimeSpan.MaxValue);
                     */
                  }
                  OnExplore(this,EventArgs.Empty);

                  m_ServiceBusTree.SelectedNode = targetNode;
                  m_ServiceBusTree.Select();  
               }
               catch(Exception exception)
               {
                  MessageBox.Show("Unable to subscribe: " + exception.Message,"Service Bus Explorer",MessageBoxButtons.OK,MessageBoxIcon.Error);
               }
            }
         }
         m_DraggedNode = null;
		}
Exemplo n.º 7
0
      void OnItemDrag(object sender,ItemDragEventArgs args)
      {
         m_DraggedNode = args.Item as ServiceBusTreeNode;

         if(m_DraggedNode != null)
         {
            if(m_DraggedNode.ServiceBusNode == null)
            {
               return;
            }
            if(m_DraggedNode.ServiceBusNode.Policy != null)//A router or a buffer
            {
               Cursor.Current = Cursors.Hand;
               DoDragDrop(m_DraggedNode,DragDropEffects.Link);
            }
         }
      }
Exemplo n.º 8
0
      void DeleteBuffers(ServiceBusTreeNode treeNode)
      {
         if(treeNode.ServiceBusNode != null)
         {
            if(treeNode.ServiceBusNode.Policy != null)
            {
               if(treeNode.ServiceBusNode.Policy is MessageBufferPolicy)
               {
                  string nodeAddress = treeNode.ServiceBusNode.Address;
                  nodeAddress = nodeAddress.Replace(@"sb://",@"https://");

                  TransportClientEndpointBehavior credential = Graphs[ServiceNamespace.ToLower()].Credential;
                  Uri address = new Uri(nodeAddress);
                  try
                  {
                     MessageBufferClient.GetMessageBuffer(credential,address).DeleteMessageBuffer();
                  }
                  catch
                  {}
               }
            }
         }
         foreach(TreeNode node in treeNode.Nodes)
         {
            DeleteBuffers(node as ServiceBusTreeNode);
         }
      }