Package gov.usgs.earthquake.eids
Class QuakemlProductCreator
- java.lang.Object
-
- gov.usgs.earthquake.eids.QuakemlProductCreator
-
- All Implemented Interfaces:
ProductCreator
public class QuakemlProductCreator extends java.lang.Object implements ProductCreator
Create Products from ANSS Quakeml files.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONTENTS_XML_PATHContents XML pathstatic java.util.logging.LoggerLOGGERFor use in logging issuesstatic java.math.BigDecimalMETERS_PER_KILOMETERVar for number of meters/kilometer...static java.lang.StringQUAKEML_CONTENT_PATHContent path for quakemlstatic java.lang.StringVERSIONVersionstatic java.lang.StringXML_CONTENT_TYPEContent type for xml
-
Constructor Summary
Constructors Constructor Description QuakemlProductCreator()Default ConstructorQuakemlProductCreator(boolean padForBase64Bug)Constructor taking in argument for Base64 bug padding
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringfixRawQuakeml(java.lang.String rawMessage)Fixes base 64 bug: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222187protected ContentgetContentsXML()gov.usgs.earthquake.quakeml.FileToQuakemlConvertergetConverter()java.util.List<Product>getEventProducts(org.quakeml_1_2.Quakeml message, org.quakeml_1_2.Event event)Get products in quakeml event element.protected ProductgetFocalMechanismProduct(org.quakeml_1_2.Quakeml quakeml, org.quakeml_1_2.Event event, org.quakeml_1_2.FocalMechanism mech, java.lang.String quakemlContent)java.util.List<Product>getInternalEventProducts(org.quakeml_1_2.Quakeml message, org.quakeml_1_2.InternalEvent event)Get internal products in quakeml event element.java.util.List<Product>getProducts(java.io.File file)Implement the ProductCreator interface.java.util.List<Product>getQuakemlProducts(java.lang.String message)Gets Quakeml products with the message as a rawQuakemljava.util.List<Product>getQuakemlProducts(org.quakeml_1_2.Quakeml message)Gets Quakeml products with no rawQuakemljava.util.List<Product>getQuakemlProducts(org.quakeml_1_2.Quakeml message, java.lang.String rawQuakeml)Get products in a quakeml message.java.util.List<Product>getScenarioEventProducts(org.quakeml_1_2.Quakeml message, org.quakeml_1_2.ScenarioEvent event)Get scenario products in quakeml event element.booleanisPadForBase64Bug()booleanisSendMechanismWhenPhasesExist()booleanisSendOriginWhenPhasesExist()booleanisValidate()static voidmain(java.lang.String[] args)Convert quakeml files to products.voidsetConverter(gov.usgs.earthquake.quakeml.FileToQuakemlConverter converter)voidsetPadForBase64Bug(boolean padForBase64Bug)voidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.lang.Integer value)setProperty taking in IntegersvoidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.lang.String value)setProperty for stringsvoidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.math.BigDecimal value)setProperty taking in BigDecimals.voidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.math.BigDecimal value, boolean allowExponential)setProperty taking in BigDecimalsvoidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.math.BigInteger value)setProperty taking in BigIntegers.voidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, org.quakeml_1_2.RealQuantity value)setProperty for RealQuantity values.voidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, org.quakeml_1_2.RealQuantity value, boolean allowExponential)setProperty for RealQuantity valuesvoidsetProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, org.quakeml_1_2.TimeQuantity value)setProperty for TimeQuantitiesvoidsetSendMechanismWhenPhasesExist(boolean sendMechanismWhenPhasesExist)voidsetSendOriginWhenPhasesExist(boolean sendOriginWhenPhasesExist)voidsetValidate(boolean validate)Enable validation during getProducts method.
-
-
-
Field Detail
-
LOGGER
public static final java.util.logging.Logger LOGGER
For use in logging issues
-
XML_CONTENT_TYPE
public static final java.lang.String XML_CONTENT_TYPE
Content type for xml- See Also:
- Constant Field Values
-
QUAKEML_CONTENT_PATH
public static final java.lang.String QUAKEML_CONTENT_PATH
Content path for quakeml- See Also:
- Constant Field Values
-
CONTENTS_XML_PATH
public static final java.lang.String CONTENTS_XML_PATH
Contents XML path- See Also:
- Constant Field Values
-
METERS_PER_KILOMETER
public static final java.math.BigDecimal METERS_PER_KILOMETER
Var for number of meters/kilometer...
-
VERSION
public static final java.lang.String VERSION
Version- See Also:
- Constant Field Values
-
-
Method Detail
-
getQuakemlProducts
public java.util.List<Product> getQuakemlProducts(org.quakeml_1_2.Quakeml message) throws java.lang.Exception
Gets Quakeml products with no rawQuakeml- Parameters:
message- Parsed quakeml message- Returns:
- List of products
- Throws:
java.lang.Exception- if error occurs
-
getQuakemlProducts
public java.util.List<Product> getQuakemlProducts(java.lang.String message) throws java.lang.Exception
Gets Quakeml products with the message as a rawQuakeml- Parameters:
message- Parsed quakeml message- Returns:
- List of products
- Throws:
java.lang.Exception- if error occurs
-
getQuakemlProducts
public java.util.List<Product> getQuakemlProducts(org.quakeml_1_2.Quakeml message, java.lang.String rawQuakeml) throws java.lang.Exception
Get products in a quakeml message.- Parameters:
message- the parsed quakeml message.rawQuakeml- bytes of quakeml message. If null, the quakeml object will be serialized into xml. This parameter is used to preserve the original input, instead of always serializing from the quakeml object.- Returns:
- list of products generated from quakeml message.
- Throws:
java.lang.Exception- if error occurs
-
getInternalEventProducts
public java.util.List<Product> getInternalEventProducts(org.quakeml_1_2.Quakeml message, org.quakeml_1_2.InternalEvent event) throws java.lang.Exception
Get internal products in quakeml event element. CallsgetEventProducts(Quakeml, Event), and adds "internal-" prefix to each type in the returned list of products.- Parameters:
message- the quakeml message.event- the internal event element.- Returns:
- list of internal products found in event element, may be empty.
- Throws:
java.lang.Exception- if error occurs
-
getScenarioEventProducts
public java.util.List<Product> getScenarioEventProducts(org.quakeml_1_2.Quakeml message, org.quakeml_1_2.ScenarioEvent event) throws java.lang.Exception
Get scenario products in quakeml event element. CallsgetEventProducts(Quakeml, Event), and adds "-scenario" suffix to each type in the returned list of products.- Parameters:
message- the quakeml message.event- the scenario event element.- Returns:
- list of scenario products found in event element, may be empty.
- Throws:
java.lang.Exception- if error occurs
-
getEventProducts
public java.util.List<Product> getEventProducts(org.quakeml_1_2.Quakeml message, org.quakeml_1_2.Event event) throws java.lang.Exception
Get products in quakeml event element.- Parameters:
message- the quakeml message.event- the event element in the quakeml message.- Returns:
- list of products found in event element, may be empty.
- Throws:
java.lang.Exception- if error occurs
-
getFocalMechanismProduct
protected Product getFocalMechanismProduct(org.quakeml_1_2.Quakeml quakeml, org.quakeml_1_2.Event event, org.quakeml_1_2.FocalMechanism mech, java.lang.String quakemlContent)
- Parameters:
quakeml- Quakemlevent- the event element in the quakeml messagemech- A focal mechanismquakemlContent- String of content in Quakeml- Returns:
- A product derived from a focal mechanism
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, org.quakeml_1_2.RealQuantity value)setProperty for RealQuantity values. No exponentials- Parameters:
properties- to addname- of propertyvalue- of property
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, org.quakeml_1_2.RealQuantity value, boolean allowExponential)setProperty for RealQuantity values- Parameters:
properties- to addname- of propertyvalue- of propertyallowExponential- if allowed
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.lang.String value)setProperty for strings- Parameters:
properties- to addname- of propertyvalue- of property
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, org.quakeml_1_2.TimeQuantity value)setProperty for TimeQuantities- Parameters:
properties- to addname- of propertyvalue- of property
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.math.BigDecimal value)setProperty taking in BigDecimals. No exponentials- Parameters:
properties- to addname- of propertyvalue- of property
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.math.BigDecimal value, boolean allowExponential)setProperty taking in BigDecimals- Parameters:
properties- to addname- of propertyvalue- of propertyallowExponential- boolean
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.math.BigInteger value)setProperty taking in BigIntegers. No exponentials- Parameters:
properties- to addname- of propertyvalue- of property
-
setProperty
public void setProperty(java.util.Map<java.lang.String,java.lang.String> properties, java.lang.String name, java.lang.Integer value)setProperty taking in Integers- Parameters:
properties- to addname- of propertyvalue- of property
-
setConverter
public void setConverter(gov.usgs.earthquake.quakeml.FileToQuakemlConverter converter)
- Parameters:
converter- FileToQuakeml Converter to set
-
getConverter
public gov.usgs.earthquake.quakeml.FileToQuakemlConverter getConverter()
- Returns:
- FileToQuakeml converter
-
isValidate
public boolean isValidate()
- Specified by:
isValidatein interfaceProductCreator- Returns:
- whether product creator is currently validating.
-
setValidate
public void setValidate(boolean validate)
Description copied from interface:ProductCreatorEnable validation during getProducts method.- Specified by:
setValidatein interfaceProductCreator- Parameters:
validate- boolean to enable/disable
-
getProducts
public java.util.List<Product> getProducts(java.io.File file) throws java.lang.Exception
Implement the ProductCreator interface.- Specified by:
getProductsin interfaceProductCreator- Parameters:
file- file or directory.- Returns:
- list of parsed products.
- Throws:
java.lang.Exception- if error occurs
-
getContentsXML
protected Content getContentsXML()
- Returns:
- XML contents
-
isSendOriginWhenPhasesExist
public boolean isSendOriginWhenPhasesExist()
- Returns:
- boolean sendOriginWhenPhasesExist
-
setSendOriginWhenPhasesExist
public void setSendOriginWhenPhasesExist(boolean sendOriginWhenPhasesExist)
- Parameters:
sendOriginWhenPhasesExist- boolean to set
-
setSendMechanismWhenPhasesExist
public void setSendMechanismWhenPhasesExist(boolean sendMechanismWhenPhasesExist)
- Parameters:
sendMechanismWhenPhasesExist- boolean to set
-
isSendMechanismWhenPhasesExist
public boolean isSendMechanismWhenPhasesExist()
- Returns:
- sendMechanismWhenPhasesExist boolean
-
setPadForBase64Bug
public void setPadForBase64Bug(boolean padForBase64Bug)
- Parameters:
padForBase64Bug- to set
-
isPadForBase64Bug
public boolean isPadForBase64Bug()
- Returns:
- padForBase64Bug
-
fixRawQuakeml
public java.lang.String fixRawQuakeml(java.lang.String rawMessage)
Fixes base 64 bug: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222187- Parameters:
rawMessage- the message to edit- Returns:
- the fixed string
-
main
public static void main(java.lang.String[] args) throws java.lang.ExceptionConvert quakeml files to products.- Parameters:
args- a list of files to convert from quakeml to products.- Throws:
java.lang.Exception- if error occurs
-
-