
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