Exemple #1
0
  private void writeMetaStructure(XMLEventWriter writer, GAMObject go) {

    XMLEventFactory efac = XMLEventFactory.newInstance();

    /* create indent from 2 tabs */
    String sIndent = "  " + "  ";
    XMLEvent indent = efac.createDTD(sIndent);

    XMLEvent startMetadata = efac.createStartElement("", "", "metadata");
    XMLEvent endMetadata = efac.createEndElement("", "", "metadata");

    String data = go.getType();
    if (data == null) {
      data = "";
    }
    XMLEvent startType = efac.createStartElement("", "", "type");
    XMLEvent charsType = efac.createCharacters(data);
    XMLEvent endType = efac.createEndElement("", "", "type");

    data = go.getAuthor();
    if (data == null) {
      data = "";
    }
    XMLEvent startAuthor = efac.createStartElement("", "", "author");
    XMLEvent charsAuthor = efac.createCharacters(data);
    XMLEvent endAuthor = efac.createEndElement("", "", "author");

    data = go.getOrganization();
    if (data == null) {
      data = "";
    }
    XMLEvent startOrganization = efac.createStartElement("", "", "organization");
    XMLEvent charsOrganization = efac.createCharacters(data);
    XMLEvent endOrganization = efac.createEndElement("", "", "organization");

    data = go.getOrganism();
    if (data == null) {
      data = "";
    }
    XMLEvent startOrganism = efac.createStartElement("", "", "organism");
    XMLEvent charsOrganism = efac.createCharacters(data);
    XMLEvent endOrganism = efac.createEndElement("", "", "organism");

    data = go.getStage();
    if (data == null) {
      data = "";
    }
    XMLEvent startDevelStage = efac.createStartElement("", "", "developmental_stage");
    XMLEvent charsDevelStage = efac.createCharacters(data);
    XMLEvent endDevelStage = efac.createEndElement("", "", "developmental_stage");

    data = go.getDescription();
    if (data == null) {
      data = "";
    }
    XMLEvent startDescription = efac.createStartElement("", "", "description");
    XMLEvent charsDescription = efac.createCharacters(data);
    XMLEvent endDescription = efac.createEndElement("", "", "description");

    Collection<XMLEvent> attrSampling = new ArrayList<XMLEvent>();
    attrSampling.add(efac.createAttribute("pointdistX", String.valueOf(go.getPointDistX())));
    attrSampling.add(efac.createAttribute("pointdistY", String.valueOf(go.getPointDistY())));
    attrSampling.add(efac.createAttribute("stepsize", String.valueOf(go.getStepsize())));
    attrSampling.add(efac.createAttribute("numberofpointsX", String.valueOf(go.getNumPointsX())));
    attrSampling.add(efac.createAttribute("numberofpointsY", String.valueOf(go.getNumPointsY())));

    String voxelSize = go.getVoxelSize();
    if (voxelSize == null) {
      voxelSize = "";
    }
    attrSampling.add(efac.createAttribute("voxelsize", voxelSize));

    XMLEvent startSampling =
        efac.createStartElement("", "", "sampling", attrSampling.iterator(), null);
    XMLEvent endSampling = efac.createEndElement("", "", "sampling");

    try {

      /*<metadata>*/
      writer.add(indent);
      writer.add(startMetadata);
      writer.add(newLine);

      /*<type>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startType);
      writer.add(charsType);
      writer.add(endType);
      writer.add(newLine);

      /*<author>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startAuthor);
      writer.add(charsAuthor);
      writer.add(endAuthor);
      writer.add(newLine);

      /*<organization>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startOrganization);
      writer.add(charsOrganization);
      writer.add(endOrganization);
      writer.add(newLine);

      /*<organism>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startOrganism);
      writer.add(charsOrganism);
      writer.add(endOrganism);
      writer.add(newLine);

      /*<developmental_stage>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startDevelStage);
      writer.add(charsDevelStage);
      writer.add(endDevelStage);
      writer.add(newLine);

      /*<description>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startDescription);
      writer.add(charsDescription);
      writer.add(endDescription);
      writer.add(newLine);

      /*<sampling>*/
      writer.add(indent);
      writer.add(tab);
      writer.add(startSampling);
      writer.add(endSampling);
      writer.add(newLine);

      /*</metadata>*/
      writer.add(indent);
      writer.add(endMetadata);
      writer.add(newLine);

    } catch (XMLStreamException e) {
      System.out.println("GAMLWriterV10::writerMetadata - error writing Metadata");
      e.printStackTrace();
    }
  }