Package org.refcodes.logger.alt.simpledb
Class SimpleDbTrimLogger<T>
- java.lang.Object
-
- org.refcodes.logger.alt.simpledb.SimpleDbLogger<T>
-
- org.refcodes.logger.alt.simpledb.SimpleDbQueryLogger<T>
-
- org.refcodes.logger.alt.simpledb.SimpleDbTrimLogger<T>
-
- Type Parameters:
T
- The type of theRecord
instances managed by theLogger
.
- All Implemented Interfaces:
java.io.Flushable
,org.refcodes.component.Component
,org.refcodes.component.Decomposeable
,org.refcodes.component.Destroyable
,org.refcodes.component.Flushable
,org.refcodes.component.Initializable
,org.refcodes.logger.Logger<T>
,org.refcodes.logger.QueryLogger<T>
,org.refcodes.logger.TrimLogger<T>
,org.refcodes.structure.Clearable
public class SimpleDbTrimLogger<T> extends SimpleDbQueryLogger<T> implements org.refcodes.logger.TrimLogger<T>, org.refcodes.component.Component, org.refcodes.component.Initializable, org.refcodes.component.Decomposeable, org.refcodes.component.Flushable
TheSimpleDbTrimLogger
extends theSimpleDbQueryLogger
implementation with theTrimLogger
functionality.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.component.Decomposeable
org.refcodes.component.Decomposeable.DecomposeAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
org.refcodes.component.Destroyable.DestroyAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.component.Flushable
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Initializable
org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable
-
Nested classes/interfaces inherited from class org.refcodes.logger.alt.simpledb.SimpleDbQueryLogger
SimpleDbQueryLogger.SimpleDbRecordsImpl
-
-
Field Summary
-
Fields inherited from class org.refcodes.logger.alt.simpledb.SimpleDbLogger
LOGGER
-
-
Constructor Summary
Constructors Constructor Description SimpleDbTrimLogger(java.lang.String aDomainName, java.lang.String aAccessKey, java.lang.String aSecretKey, java.lang.String aEndPoint, org.refcodes.tabular.ColumnFactory<T> aColumnFactory)
Instantiates a new simple db trim logger impl.SimpleDbTrimLogger(java.lang.String aDomainName, java.lang.String aAccessKey, java.lang.String aSecretKey, org.refcodes.tabular.ColumnFactory<T> aColumnFactory)
Instantiates a new simple db trim logger impl.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
protected static void
clearDomain(com.amazonaws.services.simpledb.AmazonSimpleDB aAmazonSimpleDbClient, java.lang.String aDomainName)
Clears all content from the given Amazon SimpleDB domain.void
deleteLogs(org.refcodes.criteria.Criteria aCriteria)
protected com.amazonaws.services.simpledb.AmazonSimpleDB
getAmazonSimpleDbClient()
Retrieves the amazon SimpleDB client to be used.protected static com.amazonaws.services.simpledb.AmazonSimpleDB
getAmazonSimpleDbClient(java.io.File aConfigFile)
Retrieves anAmazonSimpleDBClient
from a configuration file containing the access- and the secret key.protected java.lang.String
getAmazonSimpleDbDomainName()
Retrieves the domain name to be used.protected static java.util.List<java.lang.String>
getDomainNames(com.amazonaws.services.simpledb.AmazonSimpleDBClient aAmazonSimpleDbClient)
Retrieves a list of domain names retrievable from the givenAmazonSimpleDBClient
.protected static boolean
hasDomain(com.amazonaws.services.simpledb.AmazonSimpleDBClient aAmazonSimpleDbClient, java.lang.String aDomainName)
Tests whether the given domain exists in Amazon SimpleDB.protected static boolean
isRequestTimeoutException(java.lang.Exception aException)
Checks if is request timeout exception.protected static boolean
isServiceUnavailableException(java.lang.Exception aException)
Checks if is service unavailable exception.protected void
setAmazonSimpleDbDomainName(java.lang.String aAmazonSimpleDbDomainName)
Sets the domain name to be used.protected static java.lang.String
toMessage(java.lang.Throwable aThrowable)
Creates an Amazon AWS specific exception message from the given throwable containing additional information such as the AWS error code, the AWS error type, the request ID, the service name and the status code.-
Methods inherited from interface org.refcodes.component.Flushable
flush, flushUnchecked, isFlushable
-
Methods inherited from interface org.refcodes.component.Initializable
initialize, initializeUnchecked
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.refcodes.logger.QueryLogger
findLogs, findLogs, findLogs, findLogs, findLogs, findLogs, findLogs
-
Methods inherited from class org.refcodes.logger.alt.simpledb.SimpleDbLogger
addHeaderColumn, decompose, flush, flushBuffer, getHeader, initialize, log
-
Methods inherited from class org.refcodes.logger.alt.simpledb.SimpleDbQueryLogger
destroy, findLogs, findLogs, findLogs, findLogs, findLogs, findLogs, findLogs, toSqlQuery
-
-
-
-
Constructor Detail
-
SimpleDbTrimLogger
public SimpleDbTrimLogger(java.lang.String aDomainName, java.lang.String aAccessKey, java.lang.String aSecretKey, org.refcodes.tabular.ColumnFactory<T> aColumnFactory)
Instantiates a new simple db trim logger impl.- Parameters:
aDomainName
- the domain nameaAccessKey
- the access keyaSecretKey
- the secret keyaColumnFactory
- the column factory
-
SimpleDbTrimLogger
public SimpleDbTrimLogger(java.lang.String aDomainName, java.lang.String aAccessKey, java.lang.String aSecretKey, java.lang.String aEndPoint, org.refcodes.tabular.ColumnFactory<T> aColumnFactory)
Instantiates a new simple db trim logger impl.- Parameters:
aDomainName
- the domain nameaAccessKey
- the access keyaSecretKey
- the secret keyaEndPoint
- the end pointaColumnFactory
- the column factory
-
-
Method Detail
-
deleteLogs
public void deleteLogs(org.refcodes.criteria.Criteria aCriteria)
- Specified by:
deleteLogs
in interfaceorg.refcodes.logger.TrimLogger<T>
-
clear
public void clear()
- Specified by:
clear
in interfaceorg.refcodes.structure.Clearable
-
getAmazonSimpleDbDomainName
protected java.lang.String getAmazonSimpleDbDomainName()
Retrieves the domain name to be used.- Returns:
- The domain name.
-
setAmazonSimpleDbDomainName
protected void setAmazonSimpleDbDomainName(java.lang.String aAmazonSimpleDbDomainName)
Sets the domain name to be used.- Parameters:
aAmazonSimpleDbDomainName
- the new amazon simple db domain name
-
getAmazonSimpleDbClient
protected com.amazonaws.services.simpledb.AmazonSimpleDB getAmazonSimpleDbClient()
Retrieves the amazon SimpleDB client to be used.- Returns:
- The SimpleDB client to be used.
-
isRequestTimeoutException
protected static boolean isRequestTimeoutException(java.lang.Exception aException)
Checks if is request timeout exception.- Parameters:
aException
- the exception- Returns:
- true, if is request timeout exception
-
isServiceUnavailableException
protected static boolean isServiceUnavailableException(java.lang.Exception aException)
Checks if is service unavailable exception.- Parameters:
aException
- the exception- Returns:
- true, if is service unavailable exception
-
toMessage
protected static java.lang.String toMessage(java.lang.Throwable aThrowable)
Creates an Amazon AWS specific exception message from the given throwable containing additional information such as the AWS error code, the AWS error type, the request ID, the service name and the status code.- Parameters:
aThrowable
- The throwable from which to generate the Amazon AWS specific exception message.- Returns:
- The according exception message.
-
clearDomain
protected static void clearDomain(com.amazonaws.services.simpledb.AmazonSimpleDB aAmazonSimpleDbClient, java.lang.String aDomainName)
Clears all content from the given Amazon SimpleDB domain.- Parameters:
aAmazonSimpleDbClient
- TheAmazonSimpleDBClient
.aDomainName
- The domain name of the domain to be cleared.
-
getAmazonSimpleDbClient
protected static com.amazonaws.services.simpledb.AmazonSimpleDB getAmazonSimpleDbClient(java.io.File aConfigFile) throws java.io.IOException
Retrieves anAmazonSimpleDBClient
from a configuration file containing the access- and the secret key.- Parameters:
aConfigFile
- The configuration file used to configure theAmazonSimpleDBClient
.- Returns:
- An
AmazonSimpleDBClient
. - Throws:
java.io.IOException
- In case there were problems reading the configuration file.
-
getDomainNames
protected static java.util.List<java.lang.String> getDomainNames(com.amazonaws.services.simpledb.AmazonSimpleDBClient aAmazonSimpleDbClient)
Retrieves a list of domain names retrievable from the givenAmazonSimpleDBClient
.- Parameters:
aAmazonSimpleDbClient
- TheAmazonSimpleDBClient
.- Returns:
- A list containing
String
instances representing the retrievable domain names.
-
hasDomain
protected static boolean hasDomain(com.amazonaws.services.simpledb.AmazonSimpleDBClient aAmazonSimpleDbClient, java.lang.String aDomainName)
Tests whether the given domain exists in Amazon SimpleDB.- Parameters:
aAmazonSimpleDbClient
- TheAmazonSimpleDBClient
.aDomainName
- The domain name to be tested.- Returns:
- True in case the domain with the given name exists, else false.
-
-