Class CSVFileStoreConnector
java.lang.Object
org.odpi.openmetadata.frameworks.connectors.Connector
org.odpi.openmetadata.frameworks.connectors.ConnectorBase
org.odpi.openmetadata.adapters.connectors.datastore.basicfile.BasicFileStoreConnector
org.odpi.openmetadata.adapters.connectors.datastore.csvfile.CSVFileStoreConnector
- All Implemented Interfaces:
BasicFileStore
,CSVFileStore
,SecureConnectorExtension
,TabularDataSource
,VirtualConnectorExtension
public class CSVFileStoreConnector
extends BasicFileStoreConnector
implements CSVFileStore, TabularDataSource
CSVFileStoreConnector works with structured files to retrieve simple tables of data.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
ConnectorBase.ProtectedConnection
-
Field Summary
Fields inherited from class org.odpi.openmetadata.adapters.connectors.datastore.basicfile.BasicFileStoreConnector
fileStoreName
Fields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
auditLog, connectionBean, connectorInstanceId, embeddedConnectors, messageFormatter, secretsStoreConnectorMap
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendRecord
(List<String> dataValues) Write the requested data record to the end of the data source.void
Close the fileReturn the list of column names associated with this data source.Return the list of column names associated with this structured file.long
Return the number of records in the file.readRecord
(long dataRecordNumber) Return the requested data record.void
setColumnDescriptions
(List<TabularColumnDescription> columnDescriptions) Set up the columns associated with this tabular data source.void
start()
Indicates that the connector is completely configured and can begin processing.void
writeRecord
(long requestedRowNumber, List<String> dataValues) Write the requested data record.Methods inherited from class org.odpi.openmetadata.adapters.connectors.datastore.basicfile.BasicFileStoreConnector
getCreationDate, getFile, getFile, getFileLength, getFileName, getLastAccessDate, getLastUpdateDate, initialize
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
combineConfigurationProperties, disconnectConnectors, equals, getArrayConfigurationProperty, getArrayConfigurationProperty, getArrayConfigurationProperty, getBooleanConfigurationProperty, getConnection, getConnectorInstanceId, getDateConfigurationProperty, getIntConfigurationProperty, getLongConfigurationProperty, getStringConfigurationProperty, getStringConfigurationProperty, getSuppliedPlaceholderProperties, hashCode, initializeEmbeddedConnectors, initializeSecretsStoreConnector, isActive, logExceptionRecord, logRecord, logRecord, throwMissingConfigurationProperty, throwMissingEndpointAddress, throwMissingResource, throwNoAsset, throwWrongTypeOfAsset, throwWrongTypeOfResource, throwWrongTypeOfRootSchema, toString
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, refreshStatistics, setStatisticProperty, setStatisticTimestamp
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.odpi.openmetadata.adapters.connectors.datastore.basicfile.BasicFileStore
getCreationDate, getFile, getFileLength, getFileName, getLastAccessDate, getLastUpdateDate
-
Constructor Details
-
CSVFileStoreConnector
public CSVFileStoreConnector()
-
-
Method Details
-
start
Indicates that the connector is completely configured and can begin processing.- Overrides:
start
in classConnectorBase
- Throws:
ConnectorCheckedException
- there is a problem within the connector.UserNotAuthorizedException
- the connector was disconnected before/during start
-
getRecordCount
Return the number of records in the file. This is achieved by scanning the file and counting the records - not recommended for very large files.- Specified by:
getRecordCount
in interfaceCSVFileStore
- Specified by:
getRecordCount
in interfaceTabularDataSource
- Returns:
- count
- Throws:
FileException
- problem accessing the fileFileReadException
- unable to find, open or scan the file.
-
getColumnDescriptions
Return the list of column names associated with this data source.- Specified by:
getColumnDescriptions
in interfaceTabularDataSource
- Returns:
- a list of column descriptions or null if not available.
- Throws:
ConnectorCheckedException
- there is a problem accessing the data
-
getColumnNames
Return the list of column names associated with this structured file. This may be embedded in the first line of the file or encoded in the connection object used to create a connector instance.- Specified by:
getColumnNames
in interfaceCSVFileStore
- Returns:
- a list of column names
- Throws:
FileException
- problem accessing the fileFileReadException
- unable to retrieve the column names
-
readRecord
Return the requested data record. The first record is record 0. If the first line of the file is the column names then record 0 is the line following the column names.- Specified by:
readRecord
in interfaceCSVFileStore
- Specified by:
readRecord
in interfaceTabularDataSource
- Parameters:
dataRecordNumber
- long- Returns:
- List of strings, each string is the value from the column.
- Throws:
FileException
- problem accessing the fileFileReadException
- unable to find, open or read the file, or the file does not include the requested record.
-
setColumnDescriptions
public void setColumnDescriptions(List<TabularColumnDescription> columnDescriptions) throws ConnectorCheckedException Set up the columns associated with this tabular data source. These are stored in the first record of the file. The rest of the file is cleared.- Specified by:
setColumnDescriptions
in interfaceTabularDataSource
- Parameters:
columnDescriptions
- a list of column descriptions- Throws:
ConnectorCheckedException
- there is a problem accessing the data
-
writeRecord
public void writeRecord(long requestedRowNumber, List<String> dataValues) throws ConnectorCheckedException Write the requested data record. The first data record is record 0. This process reads the entire file, inserts the record in the right place and writes it out again.- Specified by:
writeRecord
in interfaceTabularDataSource
- Parameters:
requestedRowNumber
- longdataValues
- Map of column descriptions to strings, each string is the value for the column.- Throws:
ConnectorCheckedException
- there is a problem accessing the data.
-
appendRecord
Write the requested data record to the end of the data source.- Specified by:
appendRecord
in interfaceTabularDataSource
- Parameters:
dataValues
- Map of column descriptions to strings, each string is the value for the column.- Throws:
ConnectorCheckedException
- there is a problem accessing the data.
-
disconnect
public void disconnect()Close the file- Overrides:
disconnect
in classBasicFileStoreConnector
-