Exemple #1
0
 public TreeView(TreeHandler[] treeHandler, Dictionary<String, String> attrDef,  ClientClass client)
 {
     InitializeComponent();
     this.treeHandler = treeHandler;
     this.attrDef = attrDef;
     this.client = client;
 }
Exemple #2
0
/*_________________Metodo che, data un stringa contente gli alberi con i relativi attributi, ritorna una struttura dati_____________
 *_________________contente le informazioni ottenute dal parsing della stringa______________________________________________________
 * ___formato della stringa: NomeAlbero#attr1Vertex?tipo:attr2Vertex?tipo#attrEdge?tipo:attrEdge2?tipo$NomeAlbero2#etc*/

        private TreeHandler[] fillTreeHandl(String treeParameters)
        {
            TreeHandler[] treeHandler;
            String[]      trees = treeParameters.Split('$');
            treeHandler = new TreeHandler[trees.Length];

            for (int i = 0; i < trees.Length; i++)
            {
                Dictionary <String, String> vertex = new Dictionary <String, String>();
                Dictionary <String, String> edge   = new Dictionary <String, String>();

                String[] trees_aux    = trees[i].Split('#');
                String[] vertex_aux   = trees_aux[1].Split(':');
                String[] edge_aux     = trees_aux[2].Split(':');
                String[] nomeAttrTipo = new String[2];
                foreach (String aux in vertex_aux)
                {
                    nomeAttrTipo = aux.Split('?');
                    vertex.Add(nomeAttrTipo[0], nomeAttrTipo[1]);
                }
                foreach (String aux in edge_aux)
                {
                    nomeAttrTipo = aux.Split('?');
                    edge.Add(nomeAttrTipo[0], nomeAttrTipo[1]);
                }

                treeHandler[i] = new TreeHandler(trees_aux[0], vertex, edge);
            }
            return(treeHandler);
        }
Exemple #3
0
        private void SelAlbModcomboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            isSelected           = true;
            albero               = SelAlbModcomboBox.SelectedItem.ToString();
            NomAttrLabel.Content = "";
            type = "";
            ArchiListBox.Items.Clear();
            NodiListBox.Items.Clear();
            this.newNodeAttrList = new Dictionary <String, String>();
            this.newEdgeAttrList = new Dictionary <String, String>();


            foreach (TreeHandler selTree in treeHandler)
            {
                if (selTree.nome.Equals(albero))
                {
                    selectedTree = selTree;
                    break;
                }
            }

            foreach (KeyValuePair <String, String> vertexAttr in selectedTree.vertexAttrList)
            {
                NodiListBox.Items.Add(vertexAttr.Key);
            }


            foreach (KeyValuePair <String, String> edgeAttr in selectedTree.edgeAttrList)
            {
                ArchiListBox.Items.Add(edgeAttr.Key);
            }
        }
        public EsportaFileWindow(ClientClass client, TreeHandler[] parameters)
        {
           
            InitializeComponent();
            this.client = client;
            this.trees = parameters;
            this.file = "";

            foreach (TreeHandler tree in trees)
            {
                MenuComboBox.Items.Add(tree.nome);
            }
        }
        public CreaAlberoWindow(TreeHandler[] treeHandler, Dictionary<String, String> attrDef, ClientClass client)
        {
            InitializeComponent();
            
            this.client = client;
            this.attrDef = attrDef;
            this.treeHandler = treeHandler;
            this.vertexAttrList = new Dictionary<String, String[]>();
            this.edgeAttrList = new Dictionary<String, String[]>();
            this.type = "";

            setVisibile(false);
            setDefStringVisibility(false);
            setRandomNumberVisibility(false);
            foreach (KeyValuePair<String, String> attribute in attrDef)
            {
                AttributeListbox.Items.Add(attribute.Key);
            }
        }
Exemple #6
0
        private void SelAlbCalcomboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            this.isSelected      = true;
            albero               = SelAlbCalcomboBox.SelectedItem.ToString();
            NomAttrLabel.Content = "";
            AttrArchiListbox.Items.Clear();
            AttrNodiListBox.Items.Clear();
            this.attrArchi = new List <string>();
            this.attrNodi  = new List <string>();


            foreach (TreeHandler selTree in treeHandler)
            {
                if (selTree.nome.Equals(albero))
                {
                    selectedTree = selTree;
                    break;
                }
            }

            foreach (KeyValuePair <String, String> vertexAttr in selectedTree.vertexAttrList)
            {
                if (vertexAttr.Value.Equals("numeric"))
                {
                    AttrNodiListBox.Items.Add(vertexAttr.Key);
                }
            }


            foreach (KeyValuePair <String, String> edgeAttr in selectedTree.edgeAttrList)
            {
                if (edgeAttr.Value.Equals("numeric"))
                {
                    AttrArchiListbox.Items.Add(edgeAttr.Key);
                }
            }
        }
Exemple #7
0
/*_________________Metodo che si connette al server e al db specificati dai parametri___________________________________________*/ 
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            /*controlla se i parametri sono errati*/
            if (!CheckParameters())
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Parametri errati");
                error.ShowDialog();
            }

            /*Se i parametri sono sintatticamente corretti*/
            else
            {
                /*parsing parametri*/
                IPAddress ip = IPAddress.Parse(IPStartTextBox.Text);
                int porta = Int32.Parse(PortStartTextBox.Text);
            /*______-----1-------Connettersi al Server_________________________*/
                ClientClass clientGui = new ClientClass(ip, porta);
                /*verifica il successo della connessione con il server*/
                if (!clientGui.connect())
                {
                    this.Close();
                    return;
                }
            
            /*______-----2-------Inviare username e password al server_________*/
                String parameters = IpDBTextBox.Text + '$' + UsernameTextBoxStart.Text + '$' + PasswordBoxStart.Password;
                clientGui.write(parameters);
          
            /*______-----3--------Check login database andato a buon fine_______*/
                String checkAuth = clientGui.read();
                /*-3.1- Se l'autenticazione non è andata a buon fine il server ci ritorna "1", altrimenti "0" */
                if (checkAuth.Equals("1"))
                {
                    ParametersErrorWindow errorAuth = new ParametersErrorWindow(false, "Auth DB fallita");
                    errorAuth.ShowDialog();
                    clientGui.disconnect();
                }/*Fine if-autenticazione non andata a buon fine*/
                else
                /*-3.2-Autenticazione andata a buon fine*/
                {
            /*______-----4-------Salvare in una strutturadati i dati dei database ricevuti dal server*/
                    String treeParameters = clientGui.read();
                    TreeHandler[] treeHandler;
                    if (!treeParameters.Equals("Vuoto"))
                    {

                        /*-4.1- I parametri arrivano nel formato seguente "NomeAlbero#attr1Vertex?tipo:attr2Vertex?tipo#attrEdge?tipo:attrEdge2?tipo$NomeAlbero2#etc*/

                        treeHandler = fillTreeHandl(treeParameters);
                    }
                    else
                    {
                        treeHandler = new TreeHandler[0];
                    }
           /*______-----5-------Una volta che il server ci ha inviato la lista degli alberi con gli attributi,viene inviata l'attribute definition */
                    Dictionary<String, String> attrDef = attrDefPars(clientGui.read());
                    
           /*______-----6-------Instanziare finestra TreeView passando al costruttore treeHandler[] e attrDef e client*/
                    TreeView treeView = new TreeView(treeHandler, attrDef, clientGui);
                    treeView.Show();
                    this.Close();
                }/*Fine if-autenticazione andata a buon-fine*/
            }/*Fine if-Se i parametri sono sintatticamente corretti*/
        }/*Fine funzione ConnectButton_Click*/
Exemple #8
0
/*_________________Metodo che, data un stringa contente gli alberi con i relativi attributi, ritorna una struttura dati_____________
 *_________________contente le informazioni ottenute dal parsing della stringa______________________________________________________
* ___formato della stringa: NomeAlbero#attr1Vertex?tipo:attr2Vertex?tipo#attrEdge?tipo:attrEdge2?tipo$NomeAlbero2#etc*/

        private TreeHandler[] fillTreeHandl(String treeParameters)
        {
            TreeHandler[] treeHandler;
            String[] trees = treeParameters.Split('$');
            treeHandler = new TreeHandler[trees.Length];

            for(int i = 0; i < trees.Length; i++)
            {
                Dictionary<String, String> vertex = new Dictionary<String, String>();
                Dictionary<String, String> edge = new Dictionary<String, String>();

                String[] trees_aux = trees[i].Split('#');
                String[] vertex_aux = trees_aux[1].Split(':');
                String[] edge_aux = trees_aux[2].Split(':');
                String[] nomeAttrTipo = new String[2];
                foreach (String aux in vertex_aux)
                {
                    nomeAttrTipo = aux.Split('?');
                    vertex.Add(nomeAttrTipo[0], nomeAttrTipo[1]);
                }
                foreach (String aux in edge_aux)
                {
                    nomeAttrTipo = aux.Split('?');
                    edge.Add(nomeAttrTipo[0], nomeAttrTipo[1]);
                }
                
                treeHandler[i] = new TreeHandler(trees_aux[0], vertex, edge);
            }
            return treeHandler;
        }
        private void SelAlbModcomboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            isSelected = true;
            albero = SelAlbModcomboBox.SelectedItem.ToString();
            NomAttrLabel.Content = "";
            type = "";
            ArchiListBox.Items.Clear();
            NodiListBox.Items.Clear();
            this.newNodeAttrList = new Dictionary<String, String>();
            this.newEdgeAttrList = new Dictionary<String, String>();


            foreach (TreeHandler selTree in treeHandler)
            {

                if (selTree.nome.Equals(albero))
                {
                    selectedTree = selTree;
                    break;
                }

            }

            foreach (KeyValuePair<String, String> vertexAttr in selectedTree.vertexAttrList)
            {
                NodiListBox.Items.Add(vertexAttr.Key);
            }


            foreach (KeyValuePair<String, String> edgeAttr in selectedTree.edgeAttrList)
            {
                ArchiListBox.Items.Add(edgeAttr.Key);

            }
        }
Exemple #10
0
/*_________________Metodo che si connette al server e al db specificati dai parametri___________________________________________*/
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            /*controlla se i parametri sono errati*/
            if (!CheckParameters())
            {
                ParametersErrorWindow error = new ParametersErrorWindow(false, "Parametri errati");
                error.ShowDialog();
            }

            /*Se i parametri sono sintatticamente corretti*/
            else
            {
                /*parsing parametri*/
                IPAddress ip    = IPAddress.Parse(IPStartTextBox.Text);
                int       porta = Int32.Parse(PortStartTextBox.Text);
                /*______-----1-------Connettersi al Server_________________________*/
                ClientClass clientGui = new ClientClass(ip, porta);
                /*verifica il successo della connessione con il server*/
                if (!clientGui.connect())
                {
                    this.Close();
                    return;
                }

                /*______-----2-------Inviare username e password al server_________*/
                String parameters = IpDBTextBox.Text + '$' + UsernameTextBoxStart.Text + '$' + PasswordBoxStart.Password;
                clientGui.write(parameters);

                /*______-----3--------Check login database andato a buon fine_______*/
                String checkAuth = clientGui.read();
                /*-3.1- Se l'autenticazione non è andata a buon fine il server ci ritorna "1", altrimenti "0" */
                if (checkAuth.Equals("1"))
                {
                    ParametersErrorWindow errorAuth = new ParametersErrorWindow(false, "Auth DB fallita");
                    errorAuth.ShowDialog();
                    clientGui.disconnect();
                }/*Fine if-autenticazione non andata a buon fine*/
                else
                /*-3.2-Autenticazione andata a buon fine*/
                {
                    /*______-----4-------Salvare in una strutturadati i dati dei database ricevuti dal server*/
                    String        treeParameters = clientGui.read();
                    TreeHandler[] treeHandler;
                    if (!treeParameters.Equals("Vuoto"))
                    {
                        /*-4.1- I parametri arrivano nel formato seguente "NomeAlbero#attr1Vertex?tipo:attr2Vertex?tipo#attrEdge?tipo:attrEdge2?tipo$NomeAlbero2#etc*/

                        treeHandler = fillTreeHandl(treeParameters);
                    }
                    else
                    {
                        treeHandler = new TreeHandler[0];
                    }
                    /*______-----5-------Una volta che il server ci ha inviato la lista degli alberi con gli attributi,viene inviata l'attribute definition */
                    Dictionary <String, String> attrDef = attrDefPars(clientGui.read());

                    /*______-----6-------Instanziare finestra TreeView passando al costruttore treeHandler[] e attrDef e client*/
                    TreeView treeView = new TreeView(treeHandler, attrDef, clientGui);
                    treeView.Show();
                    this.Close();
                } /*Fine if-autenticazione andata a buon-fine*/
            }     /*Fine if-Se i parametri sono sintatticamente corretti*/
        }         /*Fine funzione ConnectButton_Click*/
        private void SelAlbCalcomboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            this.isSelected = true;
            albero = SelAlbCalcomboBox.SelectedItem.ToString();
            NomAttrLabel.Content = "";
            AttrArchiListbox.Items.Clear();
            AttrNodiListBox.Items.Clear();
            this.attrArchi = new List<string>();
            this.attrNodi = new List<string>();


            foreach (TreeHandler selTree in treeHandler)
            {

                if (selTree.nome.Equals(albero))
                {
                    selectedTree = selTree;
                    break;
                }

            }

            foreach(KeyValuePair<String, String> vertexAttr in selectedTree.vertexAttrList)
            {
                if(vertexAttr.Value.Equals("numeric"))
                {
                    AttrNodiListBox.Items.Add(vertexAttr.Key);
                }
            }


            foreach (KeyValuePair<String, String> edgeAttr in selectedTree.edgeAttrList)
            {
                if (edgeAttr.Value.Equals("numeric"))
                {
                    AttrArchiListbox.Items.Add(edgeAttr.Key);
                }
            }
        }