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; } }
private String getDataNodePropertyName(DataNodeDescriptor nodeDescriptor, String propertyConstant) { return propertyConstant + "." + nodeDescriptor.getDataChannelDescriptor().getName() + "." + nodeDescriptor.getName(); }
public DataNodeDescriptor createDataNodeDescriptor() { DataNodeDescriptor nodeDescriptor = new DataNodeDescriptor(); nodeDescriptor.setAdapterType(getAdapter()); nodeDescriptor.setDataSourceDescriptor(dataSourceInfo); return nodeDescriptor; }
protected String getLocation(DataNodeDescriptor nodeDescriptor) { String location = nodeDescriptor.getParameters(); if (location == null) { throw new CayenneRuntimeException("Null 'location' for nodeDescriptor '%s'", nodeDescriptor.getName()); } return location; }
DataNodeDescriptor nodeDescriptor = new DataNodeDescriptor(); nodeDescriptor.setConfigurationSource(descriptor.getConfigurationSource()); descriptor.getNodeDescriptors().add(nodeDescriptor); nodeDescriptor.setName(nodeName); nodeDescriptor.setAdapterType(attributes.getValue("", "adapter")); nodeDescriptor.setParameters(parameters); nodeDescriptor.setDataSourceFactoryType(dataSourceFactory); nodeDescriptor.setSchemaUpdateStrategyType(attributes.getValue("", "schema-update-strategy")); nodeDescriptor.setDataChannelDescriptor(descriptor);
DataNodeDescriptor nodeDescriptor = new DataNodeDescriptor(); nodeDescriptor.setName(nodeName); nodeDescriptor.setDataSourceFactoryType(dataSourceFactory6); Resource baseResource = descriptor.getConfigurationSource(); Resource dataNodeResource = baseResource.getRelativeResource(datasource); nodeDescriptor.setConfigurationSource(dataNodeResource); nodeDescriptor.setDataSourceDescriptor(dataSourceInfo); } else { nodeDescriptor.setParameters(datasource); nodeDescriptor.setAdapterType(attributes.getValue("", "adapter")); nodeDescriptor.setSchemaUpdateStrategyType(attributes.getValue("", "schema-update-strategy"));
private DataNodeDescriptor createDefaultNodeDescriptor(DataDomain dataDomain) { DataChannelDescriptor channelDescriptor = new DataChannelDescriptor(); DataNodeDescriptor defaultDescriptor = new DataNodeDescriptor(createSyntheticDataNodeName(dataDomain)); channelDescriptor.getNodeDescriptors().add(defaultDescriptor); for (DataMap map : dataDomain.getDataMaps()) { channelDescriptor.getDataMaps().add(map); defaultDescriptor.getDataMapNames().add(map.getName()); } defaultDescriptor.setDataChannelDescriptor(channelDescriptor); return defaultDescriptor; }
explicitConfigs.forEach((datasource, configs) -> { DataNodeDescriptor nodeDescriptor = new DataNodeDescriptor(createSyntheticDataNodeName(datasource)); List<DataChannelDescriptor> channelDescriptors = new ArrayList<>(); channelDescriptors.add(channelDescriptor); nodeDescriptor.getDataMapNames().add(dataMapName); && !defaultNodeDescriptor.getDataMapNames().isEmpty()) { channelDescriptors.add(defaultNodeDescriptor.getDataChannelDescriptor()); nodeDescriptor.getDataMapNames().addAll(defaultNodeDescriptor.getDataMapNames()); nodeDescriptor.setDataChannelDescriptor(descriptorMerger.merge( channelDescriptors.toArray(new DataChannelDescriptor[channelDescriptors.size()])));
@Override protected ContentHandler createChildTagHandler(String namespaceURI, String localName, String name, Attributes attributes) { if (localName.equals(MAP_REF_TAG)) { String mapName = attributes.getValue("", "name"); nodeDescriptor.getDataMapNames().add(mapName); } return super.createChildTagHandler(namespaceURI, localName, name, attributes); } }
/** * A factory method that makes a new DataNode. */ DataNodeDescriptor buildDataNode(DataChannelDescriptor dataChannelDescriptor) { DataNodeDescriptor node = new DataNodeDescriptor(); node.setName(NameBuilder.builder(node, dataChannelDescriptor).name()); node.setDataChannelDescriptor(dataChannelDescriptor); return node; } }
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); }
node.setDataSourceFactoryType(JNDIDataSourceFactory.class.getName()); node.setParameters((String) connection.get("serverUrl")); .getClassLoadingService() .loadClass(DbAdapter.class, cayenneAdapter); node.setAdapterType(adapterClass.toString()); .setDataSourceFactoryType(XMLPoolingDataSourceFactory.class .getName()); DataSourceInfo dsi = node.getDataSourceDescriptor();
@Override public String getNewName() { return (dataNode != null) ? dataNode.getName() : 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; }
@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; }
/** * Creates a new DataNode, adding to the current domain, but doesn't send * any events. */ public DataNodeDescriptor buildDataNode() { ProjectController mediator = getProjectController(); DataChannelDescriptor domain = (DataChannelDescriptor) mediator.getProject().getRootNode(); DataNodeDescriptor node = buildDataNode(domain); DataSourceInfo src = new DataSourceInfo(); node.setDataSourceDescriptor(src); // by default create JDBC Node node.setDataSourceFactoryType(XMLPoolingDataSourceFactory.class.getName()); node.setSchemaUpdateStrategyType(SkipSchemaUpdateStrategy.class.getName()); return node; }
protected void refreshView(DataNodeDescriptor dataNodeDescriptor) { this.node = dataNodeDescriptor; if (dataNodeDescriptor == null || dataNodeDescriptor.getDataSourceDescriptor() == null) { getView().setVisible(false); return; } for (ObjectBinding binding : bindings) { binding.updateView(); } }
protected ConfigurationNode[] getLastMultipleObjects(DataNodeDescriptor dataNode) { List<ConfigurationNode> configurationNodeList = new ArrayList<ConfigurationNode>(); ConfigurationNode[] nodes = new ConfigurationNode[0]; String multipleObjects = preferences.getMultipleObjects(); if (multipleObjects.isEmpty()) { return configurationNodeList.toArray(nodes); } for (String objectName : multipleObjects.split(",")) { if (dataNode.getDataMapNames().contains(objectName)) { configurationNodeList.add(dataNode.getDataChannelDescriptor().getDataMap(objectName)); } } return configurationNodeList.toArray(nodes); }
@Override protected ContentHandler createChildTagHandler(String namespaceURI, String localName, String name, Attributes attributes) { if (localName.equals(MAP_REF_TAG)) { String mapName = attributes.getValue("", "name"); nodeDescriptor.getDataMapNames().add(mapName); } else if (localName.equals(DATA_SOURCE_TAG)) { DataSourceInfo dataSourceDescriptor = new DataSourceInfo(); nodeDescriptor.setDataSourceDescriptor(dataSourceDescriptor); return new DataSourceChildrenHandler(parser, this, dataSourceDescriptor); } return super.createChildTagHandler(namespaceURI, localName, name, attributes); } }
@Override public void setNode(DataNodeDescriptor node) { if (!Util.nullSafeEquals(getNode(), node)) { if (node.getDataSourceDescriptor() == null) { node.setDataSourceDescriptor(new DataSourceInfo()); } super.setNode(node); } }