Example usage for org.jdom2 Element Element

List of usage examples for org.jdom2 Element Element

Introduction

In this page you can find the example usage for org.jdom2 Element Element.

Prototype

public Element(final String name) 

Source Link

Document

Create a new element with the supplied (local) name and no namespace.

Usage

From source file:cager.parser.test.SimpleTest2.java

License:Open Source License

private Element inicializaDataTypes() {

    // Creamos el builder basado en SAX
    SAXBuilder builder = new SAXBuilder();

    Namespace xmi = Namespace.getNamespace("xmi", "http://www.omg.org/XMI");
    Namespace code = Namespace.getNamespace("code", "http://kdm.omg.org/code");

    Element model = new Element("model");
    model.setAttribute("id", "id." + idCount, xmi);
    model.setAttribute("type", "code:CodeModel", xmi);
    idCount++;// w  w  w .j  a v a2 s  .  com

    Element codeElementP = new Element("codeElement");
    codeElementP.setAttribute("id", "id." + idCount, xmi);
    codeElementP.setAttribute("type", "code:LanguageUnit", xmi);
    idCount++;

    Element codeElementI = new Element("codeElement");

    for (int i = 0; i < dataTypes.length; i++) {

        codeElementI = new Element("codeElement");
        codeElementI.setAttribute("id", "id." + idCount, xmi);
        if (dataTypes[i].equals("Double") || dataTypes[i].equals("Long") || dataTypes[i].equals("Short")) {
            codeElementI.setAttribute("type", "code:DecimalType", xmi);
        } else if (dataTypes[i].equals("Byte")) {
            codeElementI.setAttribute("type", "code:OctetType", xmi);
        } else {
            codeElementI.setAttribute("type", "code:" + dataTypes[i] + "Type", xmi);
        }

        codeElementI.setAttribute("name", dataTypes[i]);

        if (!hsmLanguajeUnitDataType.containsKey(dataTypes[i])) {
            hsmLanguajeUnitDataType.put(dataTypes[i], idCount);
        }

        idCount++;

        codeElementP.addContent(codeElementI);

    }

    //model.addContent(codeElementP);      

    return codeElementP;

}

From source file:cager.parser.test.SimpleTest3.java

License:Open Source License

private void trataNodo(SimpleNode astNode, Element segmento, int nivel, String contexto) {

    int numChildren = astNode.jjtGetNumChildren();
    //TODO Solucionar referencias a Namespaces 
    Namespace xmi = Namespace.getNamespace("xmi", "http://www.omg.org/XMI");

    String contextoLocal = "";
    contextoLocal = contexto;//  w w w .ja v  a2s  .c o  m

    String strNombre = "";

    for (int i = 0; i < numChildren; i++) {

        strNombre = ((SimpleNode) astNode.jjtGetChild(i)).getName();

        if (astNode.jjtGetChild(i).getClass() == ASTProcDeclaration.class) {

            for (int j = 0; j < nivel; j++)
                System.out.print("\t");
            //logger.info("1. ->"+astNode.jjtGetChild(i).getClass().toString()+" - "+strNombre+" - "+" Nivel: "+nivel);
            System.out.println("1. ->" + astNode.jjtGetChild(i).getClass().toString() + " - " + strNombre
                    + " - " + " Nivel: " + nivel);

            Element codeElement = new Element("codeElement");
            codeElement.setAttribute("id", "id." + idCount, xmi);
            hsmMethodUnits.put(strNombre, idCount);
            hsmMethodUnitsObj.put(idCount, codeElement);
            contextoLocal = strNombre;
            idCount++;
            codeElement.setAttribute("name", strNombre);
            codeElement.setAttribute("type", "code:MethodUnit", xmi);
            //TODO: Comprobar que tipo de method es: Enumeration MethodKind
            codeElement.setAttribute("kind", "method");

            ASTProcDeclaration astProcDecl = (ASTProcDeclaration) astNode.jjtGetChild(i);
            String contenido = astProcDecl.allText(true);

            Element sourceElement = new Element("source");
            sourceElement.setAttribute("id", "id." + idCount, xmi);
            idCount++;
            sourceElement.setAttribute("language", "VisualBasic");
            sourceElement.setAttribute("snippet", contenido);

            codeElement.addContent(sourceElement);

            segmento.getChild("model").getChild("codeElement").addContent(codeElement);
            this.segmento = segmento;

            //<source xmi:id="id.41" language="Hla" snippet="Field5[1] -> Acc_Type[0]"/>

            //Buscar Parmetros para signature

            codeElement.addContent(TratarSignature((SimpleNode) astNode.jjtGetChild(i), strNombre));

        } else if (astNode.jjtGetChild(i) instanceof ASTName) {

            if (astNode instanceof ASTDeclare
                    && astNode.jjtGetChild(i).jjtGetParent().jjtGetChild(0).equals(astNode.jjtGetChild(i))) { //TODO: Revisar si esto es lgico.

                ASTDeclare astDeclare = (ASTDeclare) astNode;
                Element codeElement = new Element("codeElement");
                codeElement.setAttribute("id", "id." + idCount, xmi);
                hsmMethodUnits.put(strNombre, idCount);
                hsmMethodUnitsObj.put(idCount, codeElement);
                contextoLocal = strNombre;
                idCount++;
                codeElement.setAttribute("name", strNombre);
                codeElement.setAttribute("export", astDeclare.getFirstToken().toString().toLowerCase());
                codeElement.setAttribute("type", "code:MethodUnit", xmi);
                //TODO: Comprobar que tipo de method es: Enumeration MethodKind
                codeElement.setAttribute("kind", "method");

                String contenido = astDeclare.allText(true);

                Element sourceElement = new Element("source");
                sourceElement.setAttribute("id", "id." + idCount, xmi);
                idCount++;
                sourceElement.setAttribute("language", "VisualBasic");
                sourceElement.setAttribute("snippet", contenido);

                codeElement.addContent(sourceElement);

                segmento.getChild("model").getChild("codeElement").addContent(codeElement);
                this.segmento = segmento;

                //Buscar Parmetros para signature

                codeElement.addContent(TratarSignature(astNode, strNombre));

            } else if (astNode instanceof ASTVarDecl) {

                ASTDeclaration astDeclaration = null;
                String exportVal = null;
                if (astNode.jjtGetParent() instanceof ASTDeclaration) {
                    astDeclaration = (ASTDeclaration) astNode.jjtGetParent();
                    exportVal = astDeclaration.getFirstToken().toString().toLowerCase();
                }

                Element codeElement = new Element("codeElement");
                codeElement.setAttribute("id", "id." + idCount, xmi);
                String tipo = null;

                //Buscamos el tipo de la variable declarada recorriendo todos los hijos buscando el ASTTypeName
                for (int n = 0; n < astNode.jjtGetNumChildren() && tipo == null; n++) {
                    if (astNode.jjtGetChild(n) instanceof ASTTypeName) {
                        tipo = ((SimpleNode) ((SimpleNode) astNode.jjtGetChild(n)).jjtGetChild(0)).getName();
                    }
                }

                //Si no se ha encontrado comprobamos si es una declaracin mltiple y buscamos el tipo
                if (tipo == null) {

                    SimpleNode Padre = (SimpleNode) astNode.jjtGetParent();

                    for (int t = 0; t < Padre.jjtGetNumChildren() && tipo == null; t++) {

                        SimpleNode Hijo = (SimpleNode) Padre.jjtGetChild(t);

                        for (int n = 0; n < Hijo.jjtGetNumChildren(); n++) {

                            if (Hijo.jjtGetChild(n) instanceof ASTTypeName) {
                                tipo = ((SimpleNode) ((SimpleNode) Hijo.jjtGetChild(n)).jjtGetChild(0))
                                        .getName();
                            }

                        }

                    }

                }

                hsmStorableUnits.put(strNombre, idCount);
                hsmStorableUnitsObj.put(idCount, codeElement);

                Integer numeroTipo = hsmLanguajeUnitDataType.get(tipo);
                if (numeroTipo == null) {
                    numeroTipo = 13;
                }

                /*               
                if(numeroTipo == null){
                        
                  numeroTipo = idCount;
                  Element enumerated = new Element("codeElement");
                  enumerated.setAttribute("id", "id."+numeroTipo, xmi);
                  //enumerated.setAttribute("type", "code:ClassUnit", xmi);
                  enumerated.setAttribute("type", "code:StringType", xmi);
                  enumerated.setAttribute("name", tipo);
                  hsmLanguajeUnitDataType.put(tipo, numeroTipo);
                  idCount++;
                        
                                      
                  //Aadimos el enumerated a la lista de tipos
                  elementoTipos.addContent(enumerated);
                          
                }
                        
                */
                idCount++;
                codeElement.setAttribute("name", strNombre);
                //StorableUnit no permite atributo export
                //if(exportVal != null) codeElement.setAttribute("export", exportVal);
                codeElement.setAttribute("type", "code:StorableUnit", xmi);
                codeElement.setAttribute("type", "id." + numeroTipo);

                if (contextoLocal == "") {
                    codeElement.setAttribute("kind", "global");
                    segmento.getChild("model").getChild("codeElement").addContent(codeElement);
                    this.segmento = segmento;
                } else {
                    codeElement.setAttribute("kind", "local");
                    Element elementAux = hsmMethodUnitsObj.get(hsmMethodUnits.get(contextoLocal));//.getChild("codeElement");
                    elementAux.addContent(codeElement);
                }
            }
        }

        trataNodo((SimpleNode) astNode.jjtGetChild(i), segmento, nivel + 1, contextoLocal);

    }
}

From source file:cager.parser.test.SimpleTest3.java

License:Open Source License

private Element TratarSignature(SimpleNode astNode, String strNombre) {

    //Namespace xmi = Namespace.getNamespace("xmi", "http://www.omg.org/XMI");

    Element signature = new Element("codeElement");
    signature.setAttribute("id", "id." + idCount, xmi);
    signature.setAttribute("type", "code:Signature", xmi);
    signature.setAttribute("name", strNombre);
    idCount++;//w w  w  .ja  v a  2s.c o m

    for (int i = 0; i < astNode.jjtGetNumChildren(); i++) {

        if (astNode.jjtGetChild(i) instanceof ASTFormalParamList) {

            SimpleNode paramList = (SimpleNode) astNode.jjtGetChild(i);

            for (int j = 0; j < paramList.jjtGetNumChildren(); j++) {

                String tipo = "";
                String nombre = "";
                String valorTipo = "";
                String kind = null;

                for (int k = 0; k < paramList.jjtGetChild(j).jjtGetNumChildren(); k++) {

                    SimpleNode hijo = (SimpleNode) paramList.jjtGetChild(j).jjtGetChild(k);
                    //TODO: hacer la correspondencia token/valor del ParameterKind (byVal/byValue, etc...)

                    if (paramList.jjtGetChild(j) instanceof ASTParamSpec) {
                        ASTParamSpec param = ((ASTParamSpec) paramList.jjtGetChild(j));

                        if (param.getByVal()) {
                            kind = "byValue";
                        } else if (param.getbyRef()) {
                            kind = "byReference";
                        } else {
                            kind = null;
                        }
                    }
                    //Se busca el nombre 
                    if (hijo instanceof ASTName) {
                        nombre = hijo.getName();
                    } else if (hijo instanceof ASTTypeName) {

                        if (hijo.jjtGetNumChildren() > 1) {
                            tipo = ((SimpleNode) hijo.jjtGetChild(0)).getName();
                            for (int l = 1; l < hijo.jjtGetNumChildren(); l++) {
                                tipo = tipo + "." + ((SimpleNode) hijo.jjtGetChild(l)).getName();
                            }

                        } else {
                            tipo = ((SimpleNode) hijo.jjtGetChild(0)).getName();
                        }
                    } else {
                        if (hijo instanceof ASTExpression) {
                            valorTipo = ((SimpleNode) hijo.jjtGetChild(0)).getName();
                        }
                    }

                }

                Integer numeroTipo = hsmLanguajeUnitDataType.get(tipo);

                if (numeroTipo == null) {

                    numeroTipo = idCount;
                    Element enumerated = new Element("codeElement");
                    enumerated.setAttribute("id", "id." + numeroTipo, xmi);
                    enumerated.setAttribute("type", "code:EnumeratedType", xmi);
                    enumerated.setAttribute("name", tipo);
                    hsmLanguajeUnitDataType.put(tipo, numeroTipo);
                    idCount++;

                    Element valor = new Element("value");
                    valor.setAttribute("id", "id." + idCount, xmi);
                    valor.setAttribute("name", valorTipo);
                    valor.setAttribute("type", "id." + String.valueOf(numeroTipo));
                    idCount++;

                    enumerated.addContent(valor);

                    //Aadimos el enumerated a la lista de tipos
                    elementoTipos.addContent(enumerated);

                }

                Element parameterUnit = new Element("parameterUnit");
                parameterUnit.setAttribute("id", "id." + idCount, xmi);
                parameterUnit.setAttribute("name", nombre);
                if (kind != null)
                    parameterUnit.setAttribute("kind", kind);
                parameterUnit.setAttribute("type", "id." + numeroTipo);
                parameterUnit.setAttribute("pos", String.valueOf(j));
                idCount++;

                signature.addContent(parameterUnit);

            }

            //Aadimos el tipo devuelto (tipo del Return)
            String tipo = "Void";
            for (int n = 1; n < astNode.jjtGetNumChildren(); n++) {

                if (astNode.jjtGetChild(n) instanceof ASTName) {
                    tipo = ((SimpleNode) astNode.jjtGetChild(n)).getName();
                }

            }

            Element parameterUnit = new Element("parameterUnit");
            parameterUnit.setAttribute("id", "id." + idCount, xmi);
            parameterUnit.setAttribute("type", "id." + hsmLanguajeUnitDataType.get(tipo));
            parameterUnit.setAttribute("kind", "return");
            idCount++;
            signature.addContent(parameterUnit);
        }
    }
    return signature;
}

From source file:cager.parser.test.SimpleTest3.java

License:Open Source License

private void trataNodo2(SimpleNode astNode, Element segmento, int nivel, int nivelAcumulado, String contexto) {

    int numChildren = astNode.jjtGetNumChildren();

    if ((SimpleNode) astNode instanceof ASTStatements) {
        System.out.println("***>" + nivel + " - " + numChildren + " -> " + astNode.getClass().getName() + " "
                + astNode.toString());//  w  w  w  .  j  a v a 2  s  . c o m
    }

    SimpleNode snHijo = new SimpleNode(0);

    String strNombre = "";

    contextoLocal = contexto;

    strNombre = astNode.getName();

    if (hsmMethodUnits.get(strNombre) != null) {
        contextoLocal = strNombre;
    }

    String espacios = "";
    for (int j = 0; j < nivelAcumulado; j++)
        espacios += "    ";
    //logger.info(espacios+"Trata nodo : "+nivel+" - "+numChildren+" -> "+astNode.getClass().getName()+" "+astNode.toString());       
    //System.out.println(espacios+"Trata nodo : "+nivel+" - "+numChildren+" -> "+astNode.getClass().getName()+" "+astNode.toString());       
    System.out.println(espacios + nivel + " - " + numChildren + " -> " + astNode.getClass().getName() + " "
            + astNode.toString());

    // Recorre todos los hijos del ASTNode
    for (int i = 0; i < numChildren; i++) {

        strNombre = ((SimpleNode) astNode.jjtGetChild(i)).getName();

        if ((SimpleNode) astNode.jjtGetChild(i) instanceof ASTAssignment
                || (SimpleNode) astNode.jjtGetChild(i) instanceof ASTExpression) {

            ASTAssignment assigment = (ASTAssignment) astNode.jjtGetChild(i);

            //Preparamos el ActionElement
            Element actionElement = new Element("codeElement");
            idAction = idCount;
            idCount++;
            actionElement.setAttribute("id", "id." + idAction, xmi);

            trataExpressions(assigment, actionElement, nivelAcumulado, segmento);

        } else if ((SimpleNode) astNode.jjtGetChild(i) instanceof ASTStatement) {

            ASTStatement astStatement = (ASTStatement) astNode.jjtGetChild(i);
            //Preparamos el ActionElement
            Element actionElement = new Element("codeElement");
            idCount++;
            idAction = idCount;
            idCount++;
            actionElement.setAttribute("id", "id." + idAction, xmi);
            actionElement.setAttribute("type", "action:ActionElement", xmi);
            actionElement.setAttribute("name", "a" + idName);
            //actionElement.setAttribute("name",contexto+"_"+idName);
            idName++;

            trataStatements(astStatement, actionElement, segmento);

        }
        trataNodo2((SimpleNode) astNode.jjtGetChild(i), segmento, nivel + 1, nivel + nivelAcumulado,
                contextoLocal);
    }
}

From source file:cager.parser.test.SimpleTest3.java

License:Open Source License

private void trataExpressions(SimpleNode astAssignment, Element actionElement, int nivelAcumulado,
        Element segmento) {// w  w w. j  a  v  a 2s.  co  m

    SimpleNode snHijo = new SimpleNode(0);
    String strNombre = "";

    actionElement.setAttribute("type", "action:ActionElement", xmi);

    if (this.debuggMode)
        actionElement.setAttribute("debug", astAssignment.toString());
    actionElement.setAttribute("name", "a" + idName);
    idName++;

    String espacios = "";
    for (int j = 0; j < nivelAcumulado; j++)
        espacios += "    ";

    //Recorre todos los nodos del ASTAssignment 
    for (int k = 0; k < astAssignment.jjtGetNumChildren(); k++) {

        snHijo = (SimpleNode) astAssignment.jjtGetChild(k);

        //Tratamos el hijo ASTPrimaryExpresion
        if (snHijo instanceof ASTPrimaryExpression) {

            SimpleNode snNieto;

            //Recorre todos los hijos del ASTPrimaryExpression
            for (int l = 0; l < snHijo.jjtGetNumChildren(); l++) {

                snNieto = (SimpleNode) snHijo.jjtGetChild(l);
                String nombreCompleto = "";

                for (int m = 0; m < snHijo.jjtGetNumChildren(); m++) {
                    if (m > 0)
                        nombreCompleto += ".";
                    nombreCompleto += ((SimpleNode) snHijo.jjtGetChild(m)).getName();
                }

                //Comprobamos si se trata de un StorableUnit reconocido
                if (hsmStorableUnits.get(nombreCompleto) != null) {

                    //<actionRelation xmi:id="id.46" xmi:type="action:Writes" to="id.39"/>
                    Element actionRelation = new Element("actionRelation");
                    actionRelation.setAttribute("id", "id." + idCount, xmi);
                    idCount++;
                    actionRelation.setAttribute("type", "action:Writes", xmi);
                    actionRelation.setAttribute("to",
                            "id." + String.valueOf(hsmStorableUnits.get(nombreCompleto)));
                    actionRelation.setAttribute("from", "id." + idAction);

                    actionElement.addContent(actionRelation);

                    //TODO: Revisar qu hacemos con las referencias a tributos de Objetos (Objeto.atributo = ...) ASTName y ASTName
                    //salir 
                    //TODO: Tomamos solo uno de los ASTNames hasta que sepamos cmo hacer con las properties de un objeto.
                    break;

                } else {

                    //logger.info("Detectado un StorabeUnit nuevo!!!! Qu hacemos?");
                    System.out
                            .println("Detectado un StorabeUnit nuevo!!!! Que hacemos?: " + snNieto.getName());

                    //Optamos temporalmente por aadirlo como StorableUnit global.
                    //TODO: Revisar qu hacer en estos casos, ya que el parser no trata los "Begin"

                    //Comprobamos si a
                    Element codeElement = new Element("codeElement");
                    codeElement.setAttribute("id", "id." + idCount, xmi);

                    hsmStorableUnits.put(nombreCompleto, idCount);
                    hsmStorableUnitsObj.put(idCount, codeElement);

                    idCount++;
                    codeElement.setAttribute("name", nombreCompleto);
                    codeElement.setAttribute("type", "code:StorableUnit", xmi);
                    codeElement.setAttribute("type", "");

                    //codeElement.setAttribute("kind", "external");//TODO: Ver cmo tratar ste caso, variables utilizadas no definidas.
                    //Para MethodUnit no hay external
                    codeElement.setAttribute("kind", "unknown");

                    segmento.getChild("model").getChild("codeElement").addContent(codeElement);
                    //                     this.segmento = segmento;

                    //Aadimos el Action:Writes
                    //TODO: Qu hacemos con los properties de un objeto.
                    Element actionRelation = new Element("actionRelation");
                    actionRelation.setAttribute("id", "id." + idCount, xmi);
                    idCount++;
                    actionRelation.setAttribute("type", "action:Writes", xmi);
                    actionRelation.setAttribute("to",
                            "id." + String.valueOf(hsmStorableUnits.get(nombreCompleto)));
                    actionRelation.setAttribute("from", "id." + idAction);

                    actionElement.addContent(actionRelation);

                    //salir 
                    //TODO: Tomamos solo uno de los ASTNames hasta que sepamos cmo hacer con las properties de un objeto.
                    break;
                    //l=snHijo.jjtGetNumChildren();

                }

            } //FIN hijos ASTPrimaryExpression

            //Tratamos el caso de ASTExpression
        } else if (snHijo instanceof ASTExpression) {

            SimpleNode snNieto;

            //Recorre todos los hijos del ASTExpression
            for (int l = 0; l < snHijo.jjtGetNumChildren(); l++) {

                snNieto = (SimpleNode) snHijo.jjtGetChild(l);

                //Si el hijo es un ASTName
                if (snNieto instanceof ASTName) {

                    //Comprobamos si es un storableUnit reconocido
                    if (hsmStorableUnits.get(snNieto.getName()) != null) {

                        Element actionRelation = new Element("actionRelation");
                        actionRelation.setAttribute("id", "id." + idCount, xmi);
                        idCount++;
                        actionRelation.setAttribute("type", "action:Reads", xmi);
                        actionRelation.setAttribute("to",
                                "id." + String.valueOf(hsmStorableUnits.get(snNieto.getName())));
                        actionRelation.setAttribute("from", "id." + idAction);

                        actionElement.addContent(actionRelation);

                        //TODO: Revisar qu hacemos con las referencias atributos de Objetos (Objeto.atributo = ...) ASTName y ASTName

                        //Si no es un storableUnit reconocido
                    } else {

                        //logger.info("Encontrado un Hijo de ASTExpression que no es ASTName");
                        System.out.println("Encontrado un Hijo de ASTExpression que no es ASTName");

                    } //FIN Comprobar si se conoce el storableUnit

                    //Si el hijo es ASTBinOp
                } else if (snNieto instanceof ASTBinOp) {

                    //Si el hijo es ASTName 
                    if (snNieto.jjtGetChild(0) instanceof ASTName) {

                        strNombre = ((SimpleNode) (snNieto).jjtGetChild(0)).getName();

                        //Tratamos la llamada a mtodo

                        //Si la MethodUnit no estaba registrada
                        if (hsmMethodUnits.get(strNombre) == null && strNombre != null) {
                            //idCount++;                                 
                            //Se da de alta como nueva MethodUnit
                            Element nuevaFuncion = new Element("codeElement");
                            nuevaFuncion.setAttribute("id", "id." + idCount, xmi);
                            hsmMethodUnits.put(strNombre, idCount);
                            hsmMethodUnitsObj.put(idCount, nuevaFuncion);

                            //logger.info("METODO: "+strNombre+": "+idCount);              
                            System.out.println("METODO: " + strNombre + ": " + idCount);

                            idCount++;
                            nuevaFuncion.setAttribute("name", "" + strNombre);
                            nuevaFuncion.setAttribute("type", "code:MethodUnit", xmi);
                            //nuevaFuncion.setAttribute("kind", "system");  //TODO: Ver cmo tratar ste caso, funciones llamadas no definidas.
                            //nuevaFuncion.setAttribute("kind", "unknown"); //TODO: Ver cmo tratar ste caso, funciones llamadas no definidas.
                            //nuevaFuncion.setAttribute("kind", "external");  //Tratamos los mtodos no conocidos como de tipo exteral.
                            //Para los MethodUnit no hay external
                            nuevaFuncion.setAttribute("kind", "unknown");

                            segmento.getChild("model").getChild("codeElement").addContent(nuevaFuncion);
                            //                            this.segmento = segmento;

                            //Se registra el actionRelation (Call)                               
                            Element actionRelation = new Element("actionRelation");
                            actionRelation.setAttribute("id", "id." + idCount, xmi);
                            actionRelation.setAttribute("type", "action:Calls", xmi);
                            actionRelation.setAttribute("to",
                                    "id." + String.valueOf(hsmMethodUnits.get(strNombre)));
                            //                                       actionRelation.setAttribute("from","id."+String.valueOf(idCount));
                            actionRelation.setAttribute("from", "id." + idAction);
                            idCount++;

                            actionElement.addContent(actionRelation);

                            //segmento.getChild("model").getChild("codeElement").addContent(codeElement);

                            //Si el MethodUnit ya existia   
                        } else {

                            //Se registra el actionRelation (Call)
                            Element actionRelation = new Element("actionRelation");
                            actionRelation.setAttribute("id", "id." + idCount, xmi);
                            actionRelation.setAttribute("type", "action:Calls", xmi);
                            actionRelation.setAttribute("to",
                                    "id." + String.valueOf(hsmMethodUnits.get(strNombre)));
                            actionRelation.setAttribute("from", "id." + String.valueOf(idAction));
                            idCount++;
                            actionElement.addContent(actionRelation);

                        } //FIN Tratamiento la llamada a mtodo
                    } //FIN Tratar hijo ASTName
                    //TODO Hijos que no sean ASTName (Otro ASTBinOp contatenaciones) 
                    else {
                        System.out.println("ESTO ES UN ASTBinOp distinto.");
                    }
                    // EJEMPLO ->  AFOROS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\BaseDatos.mdb;Persist Security Info=False" 
                } //FIN Tratamiento tipos de hijos de ASTExpression
            } //FIN Recorrido de hijos de ASTExpression
        } //FIN Tratamiento tipos de hijos de ASTAssignment
    } //FIN Recorrido de hijos de ASTAssignment

    if (contextoLocal == "") {
        actionElement.setAttribute("kind", "global");
        segmento.getChild("model").getChild("codeElement").addContent(actionElement);
        //            this.segmento = segmento;
    } else {
        actionElement.setAttribute("kind", "local");
        Element elementAux = hsmMethodUnitsObj.get(hsmMethodUnits.get(contextoLocal));//.getChild("codeElement");
        elementAux.addContent(actionElement);
    }

}

From source file:cager.parser.test.SimpleTest3.java

License:Open Source License

private void TratarASTIfStatement(ASTStatement astStatement, Element actionElement) {

    //Namespace xmi = Namespace.getNamespace("xmi", "http://www.omg.org/XMI");
    //<actionRelation xmi:id="id.26" xmi:type="action:Reads" to="id.20" from="id.25"/>
    Element actionRelation = new Element("actionRelation");
    actionRelation.setAttribute("id", "id." + idCount, xmi);
    idCount++;/*from  w  ww .j av  a  2  s  . c  o  m*/
    actionRelation.setAttribute("type", "action:Reads", xmi);
    //actionRelation.setAttribute("to", "id."+(idAction+2));//TODO calcular a dnde va
    actionRelation.setAttribute("from", "id." + idAction);

    actionElement.addContent(actionRelation);

    //<actionRelation xmi:id="id.46" xmi:type="action:Writes" to="id.39"/>
    actionRelation = new Element("actionRelation");
    actionRelation.setAttribute("id", "id." + idCount, xmi);
    idCount++;
    actionRelation.setAttribute("type", "action:TrueFlow", xmi);
    //actionRelation.setAttribute("to", "id."+(idAction+2));//TODO calcular a dnde va
    actionRelation.setAttribute("from", "id." + idAction);

    actionElement.addContent(actionRelation);

    actionRelation = new Element("actionRelation");
    actionRelation.setAttribute("id", "id." + idCount, xmi);
    idCount++;
    actionRelation.setAttribute("type", "action:FalseFlow", xmi);
    //actionRelation.setAttribute("to", "id."+(idAction+1));//TODO calcular a dnde va
    actionRelation.setAttribute("from", "id." + idAction);

    actionElement.addContent(actionRelation);

    //      <codeElement xmi:id="id.34" xmi:type="action:ActionElement" name="a3.1" kind="Condition">
    //          <actionRelation xmi:id="id.35" xmi:type="action:Reads" to="id.29" from="id.34"/>
    //          <actionRelation xmi:id="id.36" xmi:type="action:TrueFlow" to="id.38" from="id.28"/>
    //          <actionRelation xmi:id="id.37" xmi:type="action:FalseFlow" to="id.42" from="id.34"/>
    //       </codeElement>

    //         <codeElement xmi:id="id.111" xmi:type="action:ActionElement" name="p5.2" kind="GreaterThan">
    //            <actionRelation xmi:id="id.112" xmi:type="action:Reads" to="id.104" from="id.111"/>
    //            <actionRelation xmi:id="id.113" xmi:type="action:TrueFlow" to="id.115" from="id.111"/>
    //            <actionRelation xmi:id="id.114" xmi:type="action:FalseFlow" to="id.120" from="id.111"/>
    //         </codeElement>

    /*
             
    <codeElement xmi:id="id.25" xmi:type="action:ActionElement" name="1.3" kind="Condition">
       <actionRelation xmi:id="id.26" xmi:type="action:Reads" to="id.20" from="id.25"/>
       <actionRelation xmi:id="id.27" xmi:type="action:TrueFlow" to="id.29" from="id.25"/>
       <actionRelation xmi:id="id.28" xmi:type="action:FalseFlow" to="id.39" from="id.25"/>
    </codeElement>
            
    <codeElement xmi:id="id.75" xmi:type="action:ActionElement" name="a1" kind="Condition">
    <actionRelation xmi:id="id.76" xmi:type="action:TrueFlow" to="id.77" from="id.75" />
    <actionRelation xmi:id="id.77" xmi:type="action:FalseFlow" to="id.76" from="id.75" />
    </codeElement>
             
    */

}

From source file:cager.parser.test.SimpleTest3.java

License:Open Source License

private Element inicializaDataTypes() {

    // Creamos el builder basado en SAX
    SAXBuilder builder = new SAXBuilder();

    //Namespace xmi = Namespace.getNamespace("xmi", "http://www.omg.org/XMI");
    Namespace code = Namespace.getNamespace("code", "http://kdm.omg.org/code");

    Element model = new Element("model");
    model.setAttribute("id", "id." + idCount, xmi);
    model.setAttribute("type", "code:CodeModel", xmi);
    idCount++;/*from   ww w.  j a v  a  2s.c  o  m*/

    Element codeElementP = new Element("codeElement");
    codeElementP.setAttribute("id", "id." + idCount, xmi);
    codeElementP.setAttribute("type", "code:LanguageUnit", xmi);
    idCount++;

    Element codeElementI = new Element("codeElement");

    for (int i = 0; i < dataTypes.length; i++) {

        codeElementI = new Element("codeElement");
        codeElementI.setAttribute("id", "id." + idCount, xmi);
        if (dataTypes[i].equals("Double") || dataTypes[i].equals("Long") || dataTypes[i].equals("Short")) {
            codeElementI.setAttribute("type", "code:DecimalType", xmi);
        } else if (dataTypes[i].equals("Byte")) {
            codeElementI.setAttribute("type", "code:OctetType", xmi);
        } else {
            codeElementI.setAttribute("type", "code:" + dataTypes[i] + "Type", xmi);
        }

        codeElementI.setAttribute("name", dataTypes[i]);

        if (!hsmLanguajeUnitDataType.containsKey(dataTypes[i])) {
            hsmLanguajeUnitDataType.put(dataTypes[i], idCount);
        }

        idCount++;

        codeElementP.addContent(codeElementI);

    }

    //model.addContent(codeElementP);      

    return codeElementP;

}

From source file:catalogo.XMLOut.java

public void criaDocument(List<String[]> lista, String[] categorias) {

    Element artigos = new Element("listagem");
    Document doc = new Document(artigos);

    //iterao sobre a lista com os artigos
    for (int i = 0; i < lista.size(); i++) {
        Element artigo1 = new Element("artigo");
        artigo1.setAttribute("id", Integer.toString(i));
        //iterao sobre os valores do artigo
        for (int j = 0; j < lista.get(i).length; j++) {
            if (categorias[j].equals("ano"))
                artigo1.addContent(new Element("ano").setText(lista.get(i)[j]));
            else/*  ww w .  ja v  a 2  s.c  o m*/
                artigo1.addContent(new Element(categorias[j]).setText(lista.get(i)[j]));
        }
        doc.getRootElement().addContent(artigo1);
    }

    criaXML(doc);

}

From source file:codigoFonte.Sistema.java

public boolean addUser(User u) throws IOException {

    boolean success = false, matriculaExists = false;
    File file = new File("Sistema.xml");
    Document newDocument = null;/*from   ww w .j  a v  a2s . c o  m*/
    Element root = null;
    Attribute matricula = null, nome = null, tipo = null, senha = null;
    Element user = null;

    if (u.getTipo().isEmpty() || u.getTipo().isEmpty() || u.getPassword().isEmpty()) {
        return success;
    }

    if (file.exists()) {
        SAXBuilder builder = new SAXBuilder();
        try {
            newDocument = builder.build(file);
        } catch (JDOMException ex) {
            Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
        }
        root = newDocument.getRootElement();
    } else {
        root = new Element("sistema");

        newDocument = new Document(root);
    }

    if (root.getChildren().size() > 0) {
        List<Element> listUsers = root.getChildren();
        for (Element a : listUsers) {
            if (a.getAttributeValue("matrcula").equals(u.getMatricula())) {
                matriculaExists = true;
            }
        }
    }

    if (!matriculaExists) {
        user = new Element("user");

        matricula = new Attribute("matrcula", this.newId());
        tipo = new Attribute("tipo", u.getTipo());
        nome = new Attribute("nome", u.getNome());
        senha = new Attribute("senha", u.getPassword());

        user.setAttribute(matricula);
        user.setAttribute(nome);
        user.setAttribute(tipo);
        user.setAttribute(senha);
        //user.setAttribute(divida);

        root.addContent(user);

        success = true;
    }
    //        

    XMLOutputter out = new XMLOutputter();

    try {
        FileWriter arquivo = new FileWriter(file);
        out.output(newDocument, arquivo);
    } catch (IOException ex) {
        Logger.getLogger(Sistema.class.getName()).log(Level.SEVERE, null, ex);
    }

    return success;
}

From source file:codigoFonte.Sistema.java

public ArrayList<User> listarUser() {
    File file = new File("Sistema.xml");
    Document newDocument = null;//from  w w w .j ava 2  s .c o m
    Element root = null;
    ArrayList<User> users = new ArrayList<User>();
    ;
    ArrayList<Livro> livros = new ArrayList<Livro>();

    if (file.exists()) {
        SAXBuilder builder = new SAXBuilder();
        try {
            newDocument = builder.build(file);
        } catch (JDOMException ex) {
            Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex);
        }
        root = newDocument.getRootElement();
    } else {
        root = new Element("sistema");

        newDocument = new Document(root);
    }

    List<Element> listusers = root.getChildren();
    for (Element e : listusers) {
        User user = new User(null, null, null, null);
        List<Element> listlivro = e.getChildren("livro");
        List<Element> historico = e.getChildren("histrico");

        if (!listlivro.isEmpty())

            for (Element l : listlivro) {
                Livro livro = new Livro(null, null, null, 0);
                livro.setAutor(l.getAttributeValue("autor"));
                livro.setEditora(l.getAttributeValue("editora"));
                livro.setTitulo(l.getAttributeValue("ttulo"));
                livros.add(livro);
            }

        //List<Element> historico = e.getChildren("histrico");
        ArrayList<Livro> historicoObjeto = new ArrayList<Livro>();
        if (!historico.isEmpty()) {
            for (Element h : historico) {
                Livro livroHistorico = new Livro(null, null, null, 0);
                livroHistorico.setAutor(h.getAttributeValue("autor"));
                livroHistorico.setEditora(h.getAttributeValue("editora"));
                livroHistorico.setTitulo(h.getAttributeValue("ttulo"));
                historicoObjeto.add(livroHistorico);
            }
        }

        user.setMatricula(e.getAttributeValue("matrcula"));
        user.setNome(e.getAttributeValue("nome"));
        user.setTipo(e.getAttributeValue("tipo"));
        user.setLivros(livros);

        users.add(user);
    }
    return users;
}