Class GoogleAnalyticsReportReader
java.lang.Object
com.northconcepts.datapipeline.core.DataObject
com.northconcepts.datapipeline.core.Endpoint
com.northconcepts.datapipeline.core.DataEndpoint
com.northconcepts.datapipeline.core.DataReader
com.northconcepts.datapipeline.internal.lang.IntegrationReader
com.northconcepts.datapipeline.google.GoogleApiReader
com.northconcepts.datapipeline.google.analytics.GoogleAnalyticsReportReader
Reads a Google Analytics (Reporting API v4) report for a view, one record per report row holding its dimension values
followed by its metric values for each date range.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.northconcepts.datapipeline.core.DataEndpoint
DataEndpoint.State -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class com.northconcepts.datapipeline.google.GoogleApiReader
credentials, JSON_FACTORY, transportFields inherited from class com.northconcepts.datapipeline.core.DataReader
fieldLineage, recordLineageFields inherited from class com.northconcepts.datapipeline.core.DataEndpoint
lastRecord, PRODUCT, PRODUCT_VERSION, VENDOR, XML_INPUT_FACTORY_KEYFields inherited from class com.northconcepts.datapipeline.core.Endpoint
BUFFER_SIZE, captureElapsedTime, DEFAULT_READ_BUFFER_SIZEFields inherited from class com.northconcepts.datapipeline.core.DataObject
id, log, name, TIMESTAMP_FORMAT -
Constructor Summary
ConstructorsConstructorDescriptionGoogleAnalyticsReportReader(GoogleCredential credential, HttpTransport httpTransport, String viewId) Creates a reader for the given view that uses the caller's transport, which is not shut down on close.GoogleAnalyticsReportReader(GoogleCredential credentials, String viewId) Creates a reader for the given view with its own HTTP transport, which is shut down on close. -
Method Summary
Modifier and TypeMethodDescriptionaddDateRange(String startDate, String endDate) Adds a date range to the report, such asDATE_30_DAYS_AGOtoDATE_TODAY; must be called beforeopen().addDimension(String name) Adds a dimension to the report; must be called beforeopen().addExceptionProperties(DataException exception) Adds this endpoint's current state to aDataException.Adds a metric expression to the report; must be called beforeopen().Adds a metric expression with an alias to the report; must be called beforeopen().voidclose()Indicates that this endpoint has finished reading or writing.voidopen()Makes this endpoint ready for reading or writing.protected RecordreadImpl()Overridden by subclasses to read the next record from thisDataReader.Methods inherited from class com.northconcepts.datapipeline.google.GoogleApiReader
getApplicationName, setApplicationName, setJsonFactory, toDate, toExceptionMethods inherited from class com.northconcepts.datapipeline.core.DataReader
addLineage, available, getBufferSize, getNestedEndpoint, getNestedReader, getReader, getRootEndpoint, getRootReader, isExhausted, isLineageSupported, isSaveLineage, peek, pop, push, read, setSaveLineage, skipMethods inherited from class com.northconcepts.datapipeline.core.DataEndpoint
decrementRecordCount, enableJmx, getLastRecord, getRecordCount, getRecordCountAsBigInteger, getRecordCountAsString, incrementRecordCount, isRecordCountBigInteger, resetRecordCount, toStringMethods inherited from class com.northconcepts.datapipeline.core.Endpoint
addElapsedtime, assertClosed, assertNotOpened, assertOpened, finalize, getClosedOn, getDescription, getElapsedTime, getElapsedTimeAsString, getOpenedOn, getOpenElapsedTime, getOpenElapsedTimeAsString, getSelfTime, getSelfTimeAsString, getState, isCaptureElapsedTime, isClosed, isOpen, setCaptureElapsedTime, setDescription
-
Field Details
-
DATE_TODAY
- See Also:
-
DATE_YESTERDAY
- See Also:
-
DATE_7_DAYS_AGO
- See Also:
-
DATE_14_DAYS_AGO
- See Also:
-
DATE_30_DAYS_AGO
- See Also:
-
DATE_60_DAYS_AGO
- See Also:
-
DATE_90_DAYS_AGO
- See Also:
-
-
Constructor Details
-
GoogleAnalyticsReportReader
public GoogleAnalyticsReportReader(GoogleCredential credential, HttpTransport httpTransport, String viewId) Creates a reader for the given view that uses the caller's transport, which is not shut down on close. -
GoogleAnalyticsReportReader
Creates a reader for the given view with its own HTTP transport, which is shut down on close.
-
-
Method Details
-
getViewId
-
addDateRange
Adds a date range to the report, such asDATE_30_DAYS_AGOtoDATE_TODAY; must be called beforeopen(). -
addMetric
Adds a metric expression to the report; must be called beforeopen(). -
addMetric
Adds a metric expression with an alias to the report; must be called beforeopen(). -
addDimension
Adds a dimension to the report; must be called beforeopen(). -
open
Description copied from class:DataEndpointMakes this endpoint ready for reading or writing.- Overrides:
openin classIntegrationReader- Throws:
DataException
-
close
Description copied from class:DataEndpointIndicates that this endpoint has finished reading or writing.- Overrides:
closein classGoogleApiReader- Throws:
DataException
-
readImpl
Description copied from class:DataReaderOverridden by subclasses to read the next record from thisDataReader. The default implementation ofDataReader.read()now insures that this method will not be called again after it returns anull.If no record is available,
nullwill be returned.Contract for subclasses (see also
docs/authoring/DataReader.md):- Return
nullexactly once to signal end-of-stream. - Do not call this method directly —
DataReader.read()is the template method that wraps exceptions, increments the record count, and tracks lineage. - Do not call
DataEndpoint.incrementRecordCount()here;DataReader.read()already does. - Throw raw exceptions;
DataReader.read()wraps them viaexception(throwable).
- Specified by:
readImplin classDataReader- Throws:
Throwable
- Return
-
addExceptionProperties
Description copied from class:EndpointAdds this endpoint's current state to aDataException. Since this method is called whenever an exception is thrown, subclasses should override it to add their specific information.- Overrides:
addExceptionPropertiesin classGoogleApiReader
-