/* * (non-Javadoc) * * @see * com.toolsverse.etl.connector.DataSetConnector#persist(com.toolsverse. * etl.connector.DataSetConnectorParams, com.toolsverse.etl.common.DataSet, * com.toolsverse.etl.driver.Driver) */ public ConnectorResult persist(ExcelConnectorParams params, DataSet dataSet, Driver driver) throws Exception { if (dataSet == null || params == null || (driver == null && dataSet.getDriver() == null) || Utils.isNothing(dataSet.getName()) || dataSet.getFieldCount() == 0 || (params.isFileNameRequired() && Utils.isNothing(params.getFileName()))) { ConnectorResult result = new ConnectorResult(); result.setRetCode(ConnectorResult.VALIDATION_FAILED_CODE); if (dataSet == null) result.addResult(ConnectorResource.VALIDATION_ERROR_DATA_SET_NULL.getValue()); if (driver == null && dataSet.getDriver() == null) result.addResult(ConnectorResource.VALIDATION_ERROR_DRIVER_NULL.getValue()); if (params == null) result.addResult(ConnectorResource.VALIDATION_ERROR_PARAMS_NULL.getValue()); if (dataSet != null && dataSet.getFieldCount() == 0) result.addResult(ConnectorResource.VALIDATION_ERROR_DATA_SET_NO_FIELDS.getValue()); if (dataSet != null && Utils.isNothing(dataSet.getName())) result.addResult(ConnectorResource.VALIDATION_ERROR_DATA_SET_NO_NAME.getValue()); if (params.isFileNameRequired() && Utils.isNothing(params.getFileName())) result.addResult(FileConnectorResource.VALIDATION_ERROR_FILE_NAME_NOT_SPECIFIED.getValue()); return result; } if (!params.isSilent()) Logger.log( Logger.INFO, EtlLogger.class, EtlResource.PERSISTING_DATASET_MSG.getValue() + dataSet.getName() + "..."); try { prePersist(params, dataSet, driver); int records = dataSet.getRecordCount(); // data for (int row = 0; row < records; row++) { DataSetRecord record = dataSet.getRecord(row); inlinePersist(params, dataSet, driver, record, row, records); } postPersist(params, dataSet, driver); ConnectorResult connectorResult = new ConnectorResult(); connectorResult.addResult( Utils.format( FileConnectorResource.FILE_PERSISTED.getValue(), new String[] {FilenameUtils.getName(params.getRealFileName())})); return connectorResult; } finally { cleanUp(params, dataSet, driver); } }