All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.deliver8r.aws.io.dom4j.AWSResourcesDom4jWriter Maven / Gradle / Ivy

// =================== DO NOT EDIT THIS FILE ====================
// Generated by Modello 1.8.3,
// any modifications will be overwritten.
// ==============================================================

package com.deliver8r.aws.io.dom4j;

  //---------------------------------/
 //- Imported classes and packages -/
//---------------------------------/

import com.deliver8r.aws.AwsInstances;
import com.deliver8r.aws.Instance;
import java.io.OutputStream;
import java.io.Writer;
import java.text.DateFormat;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Locale;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentFactory;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
 * Class AWSResourcesDom4jWriter.
 * 
 * @version $Revision$ $Date$
 */
@SuppressWarnings( "all" )
public class AWSResourcesDom4jWriter
{

      //-----------/
     //- Methods -/
    //-----------/

    /**
     * Method write.
     * 
     * @param writer
     * @param awsInstances
     * @throws java.io.IOException
     */
    public void write( Writer writer, AwsInstances awsInstances )
        throws java.io.IOException
    {
        Document document = new DocumentFactory().createDocument();
        writeAwsInstances( awsInstances, "awsInstances", document );
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setLineSeparator( System.getProperty( "line.separator" ) );
        XMLWriter serializer = new XMLWriter( writer, format );
        serializer.write( document );
    } //-- void write( Writer, AwsInstances )

    /**
     * Method write.
     * 
     * @param stream
     * @param awsInstances
     * @throws java.io.IOException
     */
    public void write( OutputStream stream, AwsInstances awsInstances )
        throws java.io.IOException
    {
        Document document = new DocumentFactory().createDocument();
        writeAwsInstances( awsInstances, "awsInstances", document );
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setLineSeparator( System.getProperty( "line.separator" ) );
        format.setEncoding( awsInstances.getModelEncoding() );
        XMLWriter serializer = new XMLWriter( stream, format );
        serializer.write( document );
    } //-- void write( OutputStream, AwsInstances )

    /**
     * Method writeAwsInstances.
     * 
     * @param awsInstances
     * @param parentElement
     * @param tagName
     * @throws java.io.IOException
     */
    private void writeAwsInstances( AwsInstances awsInstances, String tagName, org.dom4j.Branch parentElement )
        throws java.io.IOException
    {
        if ( awsInstances != null )
        {
            Element element = parentElement.addElement( tagName, "http://deliver8r.github.io/AWSResources/1.0.0" );
            element.addAttribute( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" );
            element.addAttribute( "xsi:schemaLocation", "http://deliver8r.github.io/AWSResources/1.0.0 http://deliver8r.github.io/xsd/AWSResources-1.0.0" );
            if ( awsInstances.getCreateDate() != 0L )
            {
                element.addElement( "createDate" ).setText( String.valueOf( awsInstances.getCreateDate() ) );
            }
            if ( ( awsInstances.getInstances() != null ) && ( awsInstances.getInstances().size() > 0 ) )
            {
                Element listElement = element;
                listElement = element.addElement( "instances" );
                for ( Iterator iter = awsInstances.getInstances().iterator(); iter.hasNext(); )
                {
                    Instance o = (Instance) iter.next();
                    writeInstance( o, "instance", listElement );
                }
            }
        }
    } //-- void writeAwsInstances( AwsInstances, String, org.dom4j.Branch )

    /**
     * Method writeInstance.
     * 
     * @param instance
     * @param parentElement
     * @param tagName
     * @throws java.io.IOException
     */
    private void writeInstance( Instance instance, String tagName, org.dom4j.Branch parentElement )
        throws java.io.IOException
    {
        if ( instance != null )
        {
            Element element = parentElement.addElement( tagName );
            if ( instance.getModel() != null )
            {
                element.addElement( "model" ).setText( instance.getModel() );
            }
            if ( instance.getVCPU() != 0 )
            {
                element.addElement( "vCPU" ).setText( String.valueOf( instance.getVCPU() ) );
            }
            if ( instance.getGpus() != 0 )
            {
                element.addElement( "gpus" ).setText( String.valueOf( instance.getGpus() ) );
            }
            if ( instance.getRam() != 0.0 )
            {
                element.addElement( "ram" ).setText( String.valueOf( instance.getRam() ) );
            }
            if ( instance.getStorageType() != null )
            {
                element.addElement( "storageType" ).setText( instance.getStorageType() );
            }
            if ( instance.getSsdCount() != 0 )
            {
                element.addElement( "ssdCount" ).setText( String.valueOf( instance.getSsdCount() ) );
            }
            if ( instance.getSsdSize() != 0 )
            {
                element.addElement( "ssdSize" ).setText( String.valueOf( instance.getSsdSize() ) );
            }
            if ( ( instance.getNetworkingPerformace() != null ) && !instance.getNetworkingPerformace().equals( "HIGH" ) )
            {
                element.addElement( "networkingPerformace" ).setText( instance.getNetworkingPerformace() );
            }
            if ( ( instance.getPhysicalProcessor() != null ) && !instance.getPhysicalProcessor().equals( "INTEL_XEON_E5_2670_V2" ) )
            {
                element.addElement( "physicalProcessor" ).setText( instance.getPhysicalProcessor() );
            }
            if ( instance.getClockSpeed() != 2.5 )
            {
                element.addElement( "clockSpeed" ).setText( String.valueOf( instance.getClockSpeed() ) );
            }
            if ( instance.isIntelAVX() != true )
            {
                element.addElement( "intelAVX" ).setText( String.valueOf( instance.isIntelAVX() ) );
            }
            if ( instance.isIntelAVX2() != false )
            {
                element.addElement( "intelAVX2" ).setText( String.valueOf( instance.isIntelAVX2() ) );
            }
            if ( instance.isIntelTurbo() != true )
            {
                element.addElement( "intelTurbo" ).setText( String.valueOf( instance.isIntelTurbo() ) );
            }
            if ( instance.isEbsOptimized() != true )
            {
                element.addElement( "ebsOptimized" ).setText( String.valueOf( instance.isEbsOptimized() ) );
            }
            if ( instance.getDedicatedEBSThroughput() != -1 )
            {
                element.addElement( "dedicatedEBSThroughput" ).setText( String.valueOf( instance.getDedicatedEBSThroughput() ) );
            }
            if ( instance.isEnhancedNetworking() != true )
            {
                element.addElement( "enhancedNetworking" ).setText( String.valueOf( instance.isEnhancedNetworking() ) );
            }
            if ( instance.isBurstable() != false )
            {
                element.addElement( "burstable" ).setText( String.valueOf( instance.isBurstable() ) );
            }
            if ( instance.getCpuCreditsPerHour() != 0 )
            {
                element.addElement( "cpuCreditsPerHour" ).setText( String.valueOf( instance.getCpuCreditsPerHour() ) );
            }
            if ( instance.isClusterNetworking() != true )
            {
                element.addElement( "clusterNetworking" ).setText( String.valueOf( instance.isClusterNetworking() ) );
            }
        }
    } //-- void writeInstance( Instance, String, org.dom4j.Branch )

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy