@Override public DataNode createDataNode(DataNodeDescriptor nodeDescriptor) throws Exception { DataNode dataNode = new DataNode(nodeDescriptor.getName()); dataNode.setJdbcEventLogger(jdbcEventLogger); dataNode.setRowReaderFactory(rowReaderFactory); dataNode.setBatchTranslatorFactory(batchTranslatorFactory); dataNode.setDataSourceLocation(nodeDescriptor.getParameters()); DataSource dataSource = dataSourceFactory.getDataSource(nodeDescriptor); dataNode.setDataSourceFactory(nodeDescriptor.getDataSourceFactoryType()); dataNode.setDataSource(dataSource); // schema update strategy String schemaUpdateStrategyType = nodeDescriptor.getSchemaUpdateStrategyType(); if (schemaUpdateStrategyType == null) { dataNode.setSchemaUpdateStrategy(defaultSchemaUpdateStrategy); dataNode.setSchemaUpdateStrategyName(defaultSchemaUpdateStrategy.getClass().getName()); } else { SchemaUpdateStrategy strategy = objectFactory.newInstance(SchemaUpdateStrategy.class, schemaUpdateStrategyType); dataNode.setSchemaUpdateStrategyName(schemaUpdateStrategyType); dataNode.setSchemaUpdateStrategy(strategy); } // DbAdapter dataNode.setAdapter(adapterFactory.createAdapter(nodeDescriptor, dataSource)); return dataNode; }
public String getSchemaUpdateStrategy() { return (node != null) ? node.getSchemaUpdateStrategyType() : null; }