public String getFactoryName() { return (node != null) ? node.getDataSourceFactoryType() : null; }
void validateConnection(DataNodeDescriptor node, ValidationResult validationResult) { String factory = node.getDataSourceFactoryType(); // TODO: andrus 03/10/2010 - null factory is allowed, however // 'getDataSourceDescriptor' must ne not null in this case if (factory != null && !XMLPoolingDataSourceFactory.class.getName().equals(factory)) { String parameters = node.getParameters(); if (Util.isEmptyString(parameters)) { addFailure( validationResult, node, "DataNode has empty 'parameters' string"); } } }
protected DataSource cayenneDataSource(DataNodeDescriptor nodeDescriptor) throws Exception { // trying to guess whether Cayenne will be able to provide a DataSource without our help... if (shouldConfigureDataSourceFromProperties(nodeDescriptor) || nodeDescriptor.getDataSourceFactoryType() != null || nodeDescriptor.getDataSourceDescriptor() != null) { return super.getDataSource(nodeDescriptor); } return null; }
protected DataSource cayenneDataSource(DataNodeDescriptor nodeDescriptor) throws Exception { // trying to guess whether Cayenne will be able to provide a DataSource without our help... if (shouldConfigureDataSourceFromProperties(nodeDescriptor) || nodeDescriptor.getDataSourceFactoryType() != null || nodeDescriptor.getDataSourceDescriptor() != null) { return super.getDataSource(nodeDescriptor); } return null; }
protected DataSourceFactory getDataSourceFactory(DataNodeDescriptor nodeDescriptor) { String typeName; if (shouldConfigureDataSourceFromProperties(nodeDescriptor)) { typeName = PropertyDataSourceFactory.class.getName(); } else { typeName = nodeDescriptor.getDataSourceFactoryType(); } if (typeName == null) { if (nodeDescriptor.getDataSourceDescriptor() == null) { throw new CayenneRuntimeException( "DataNodeDescriptor '%s' has null 'dataSourceFactoryType' and 'dataSourceDescriptor' properties", nodeDescriptor.getName()); } typeName = XMLPoolingDataSourceFactory.class.getName(); } return objectFactory.newInstance(DataSourceFactory.class, typeName); }
protected DataNodeDescriptor cloneDataNodeDescriptor( DataNodeDescriptor original, DataChannelDescriptor targetOwner) { DataNodeDescriptor clone = new DataNodeDescriptor(original.getName()); // do not clone 'configurationSource' as we may change the structure of the node clone.setAdapterType(original.getAdapterType()); clone.setDataChannelDescriptor(targetOwner); clone.setDataSourceDescriptor(original.getDataSourceDescriptor()); clone.setDataSourceFactoryType(original.getDataSourceFactoryType()); clone.setParameters(original.getParameters()); clone.setSchemaUpdateStrategyType(original.getSchemaUpdateStrategyType()); clone.getDataMapNames().addAll(original.getDataMapNames()); return clone; } }
@Override public DataNode createDataNode(DataNodeDescriptor nodeDescriptor) throws Exception { DataNode dataNode = new DataNode(nodeDescriptor.getName()); dataNode.setJdbcEventLogger(jdbcEventLogger); dataNode.setRowReaderFactory(rowReaderFactory); dataNode.setBatchTranslatorFactory(batchTranslatorFactory); dataNode.setSelectTranslatorFactory(selectTranslatorFactory); dataNode.setSqlTemplateProcessor(sqlTemplateProcessor); dataNode.setDataSourceLocation(nodeDescriptor.getParameters()); DataSource dataSource = dataSourceFactory.getDataSource(nodeDescriptor); dataNode.setDataSourceFactory(nodeDescriptor.getDataSourceFactoryType()); dataNode.setDataSource(dataSource); dataNode.setSchemaUpdateStrategy(schemaUpdateStrategyFactory.create(nodeDescriptor)); dataNode.setAdapter(adapterFactory.createAdapter(nodeDescriptor, dataSource)); return dataNode; }