Beispiel #1
0
        private Paquete_Lup analizarPaqueteLup(ParseTreeNode raiz)//toma la raiz del arbol generado y retorna un paquete lup procesado para que sea utilizado por los demas interpretes
        {
            Paquete_Lup paquete_Lup = new Paquete_Lup();

            switch (raiz.ToString())
            {
            case "ETIQUETA_LOGIN":                                              //creamos el paquete lup para el login que es del tipo 1
                paquete_Lup.tipo = 1;
                paquete_Lup.data.Add("usuario", raiz.ChildNodes.ElementAt(0));  //guardamos el nodo que contiene la informacion del usuario
                paquete_Lup.data.Add("password", raiz.ChildNodes.ElementAt(1)); //guardamos el nodo que contiene la informacion del password
                break;

            case "ETIQUETA_LOGOUT":                                            //creamos el paquete lup para el logout que es del tipo 2
                paquete_Lup.tipo = 2;
                paquete_Lup.data.Add("usuario", raiz.ChildNodes.ElementAt(0)); //guardamos el nodo que contiene la informacion del usuario
                break;

            case "ETIQUETA_QUERY":                                             //creamos el paquete lup para el query que es del tipo 3
                paquete_Lup.tipo = 3;
                paquete_Lup.data.Add("usuario", raiz.ChildNodes.ElementAt(0)); //guardamos el nodo que contiene la informacion del usuario
                paquete_Lup.data.Add("query", raiz.ChildNodes.ElementAt(1));   //guardamos el nodo que contiene la informacion del query
                break;

            case "ETIQUETA_STRUCT":                                            //creamos el paquete lup para el struct que es del tipo 4
                paquete_Lup.tipo = 4;
                paquete_Lup.data.Add("usuario", raiz.ChildNodes.ElementAt(0)); //guardamos el nodo que contiene la informacion del usuario
                break;
            }
            return(paquete_Lup);
        }
Beispiel #2
0
        // POST: api/Consulta
        public string Post([FromBody] Paquete_Lup paquete_lup)
        {
            if (paquete_lup is null)
            {
                return("sin contenido");
            }
            Paquete_Lup paquete_procesado = interprete_Lup.interpretar(paquete_lup.contenido + "$");   //interpretamos el contenido que envia el cliente para obtener un paquete procesado con la informacion util para el interprete CQL

            if (paquete_procesado != null)                                                             //si el paquete no es nulo, entonces sabemos que la salida sera un paquete tipo 3
            {
                return("contenido valido - se produjo un paquete del tipo " + paquete_procesado.tipo); //mandar al interprete CQL
            }
            return("contenido invalido");
        }