@Override public String getNewName() { return (dataNode != null) ? dataNode.getName() : null; } }
public String getNodeName() { return (node != null) ? node.getName() : null; }
public DataNodeDescriptor getNodeDescriptor(String name) { for (DataNodeDescriptor node : nodeDescriptors) { if (name.equals(node.getName())) { return node; } } return null; }
@Override public boolean isNameInUse(String name) { DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) parent; for (DataNodeDescriptor dataNodeDescriptor : dataChannelDescriptor.getNodeDescriptors()) { if (dataNodeDescriptor.getName().equals(name)) { return true; } } return false; } });
protected String getLocation(DataNodeDescriptor nodeDescriptor) { String location = nodeDescriptor.getParameters(); if (location == null) { throw new CayenneRuntimeException("Null 'location' for nodeDescriptor '%s'", nodeDescriptor.getName()); } return location; }
private String getDataNodePropertyName(DataNodeDescriptor nodeDescriptor, String propertyConstant) { return propertyConstant + "." + nodeDescriptor.getDataChannelDescriptor().getName() + "." + nodeDescriptor.getName(); }
private ConfigurationNode getConfigNode(DataChannelDescriptor dataChannel, String objectName) { if (dataChannel.getName().equals(objectName)) { return dataChannel; } for (DataNodeDescriptor dataNode : dataChannel.getNodeDescriptors()) { if (dataNode.getName().equals(objectName)) { return dataNode; } } for (DataMap dataMap : dataChannel.getDataMaps()) { if (dataMap.getName().equals(objectName)) { return dataMap; } } return null; }
/** * Returns preferences object for the current DataMap, throwing an exception * if no DataMap is selected. */ public DataNodeDefaults getDataNodePreferences() { DataNodeDescriptor node = getCurrentDataNode(); if (node == null) { throw new CayenneRuntimeException("No DataNode selected"); } return (DataNodeDefaults) application.getCayenneProjectPreferences().getProjectDetailObject( DataNodeDefaults.class, getPreferenceForDataDomain().node("DataNode").node(node.getName())); }
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); }
@Override public void saveLastDisplayEvent() { preferences.setEvent(DataNodeDisplayEvent.class.getSimpleName()); preferences.setDomain(controller.getCurrentDataChanel().getName()); preferences.setNode(controller.getCurrentDataNode().getName()); } }
protected String getObjectName(Object object) { if (object instanceof CayenneMapEntry) { return ((CayenneMapEntry) object).getName(); } else if (object instanceof DataChannelDescriptor) { return ((DataChannelDescriptor) object).getName(); } else if (object instanceof DataNodeDescriptor) { return ((DataNodeDescriptor) object).getName(); } else if (object instanceof DataMap) { return ((DataMap) object).getName(); } else if (object instanceof Embeddable) { return ((Embeddable) object).getClassName(); } else if (object instanceof Query) { return ((Query) object).getName(); } else { return ""; } }
@Override public void saveLastDisplayEvent() { preferences.setEvent(DataMapDisplayEvent.class.getSimpleName()); preferences.setDomain(controller.getCurrentDataChanel().getName()); preferences.setNode(controller.getCurrentDataNode() != null ? controller.getCurrentDataNode().getName() : ""); preferences.setDataMap(controller.getCurrentDataMap().getName()); } }
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 DataSource getDataSource(DataNodeDescriptor nodeDescriptor) throws Exception { DataSourceInfo descriptor = nodeDescriptor.getDataSourceDescriptor(); if (descriptor == null) { String message = "Null dataSourceDescriptor for nodeDescriptor '" + nodeDescriptor.getName() + "'"; logger.info(message); throw new ConfigurationException(message); } long maxQueueWaitTime = properties.getLong(Constants.JDBC_MAX_QUEUE_WAIT_TIME, UnmanagedPoolingDataSource.MAX_QUEUE_WAIT_DEFAULT); Driver driver = objectFactory.newInstance(Driver.class, descriptor.getJdbcDriver()); return DataSourceBuilder.url(descriptor.getDataSourceUrl()).driver(driver).userName(descriptor.getUserName()) .password(descriptor.getPassword()) .pool(descriptor.getMinConnections(), descriptor.getMaxConnections()) .maxQueueWaitTime(maxQueueWaitTime).build(); }
@Override public void saveLastDisplayEvent() { preferences.setEvent(EntityDisplayEvent.class.getSimpleName()); preferences.setDomain(controller.getCurrentDataChanel().getName()); preferences.setNode(controller.getCurrentDataNode() != null ? controller.getCurrentDataNode().getName() : ""); preferences.setDataMap(controller.getCurrentDataMap().getName()); if (controller.getCurrentObjEntity() != null) { preferences.setObjEntity(controller.getCurrentObjEntity().getName()); preferences.setDbEntity(null); } else if (controller.getCurrentDbEntity() != null) { preferences.setDbEntity(controller.getCurrentDbEntity().getName()); preferences.setObjEntity(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; }
@Override public void saveLastDisplayEvent() { preferences.setEvent(RelationshipDisplayEvent.class.getSimpleName()); preferences.setDomain(controller.getCurrentDataChanel().getName()); preferences.setNode(controller.getCurrentDataNode() != null ? controller.getCurrentDataNode().getName() : ""); preferences.setDataMap(controller.getCurrentDataMap().getName()); if (controller.getCurrentObjEntity() != null) { preferences.setObjEntity(controller.getCurrentObjEntity().getName()); preferences.setObjRels(parseToString(controller.getCurrentObjRelationships())); preferences.setDbEntity(null); } else if (controller.getCurrentDbEntity() != null) { preferences.setDbEntity(controller.getCurrentDbEntity().getName()); preferences.setDbRels(parseToString(controller.getCurrentDbRelationships())); preferences.setObjEntity(null); } }
@Override public void saveLastDisplayEvent() { preferences.setEvent(AttributeDisplayEvent.class.getSimpleName()); preferences.setDomain(controller.getCurrentDataChanel().getName()); preferences.setNode(controller.getCurrentDataNode() != null ? controller.getCurrentDataNode().getName() : ""); preferences.setDataMap(controller.getCurrentDataMap().getName()); if (controller.getCurrentObjEntity() != null) { preferences.setObjEntity(controller.getCurrentObjEntity().getName()); preferences.setObjAttrs(parseToString(controller.getCurrentObjAttributes())); preferences.setDbEntity(null); } else if (controller.getCurrentDbEntity() != null) { preferences.setDbEntity(controller.getCurrentDbEntity().getName()); preferences.setDbAttrs(parseToString(controller.getCurrentDbAttributes())); preferences.setObjEntity(null); } }
@Override public DataSource getDataSource(DataNodeDescriptor nodeDescriptor) throws Exception { String suffix = "." + nodeDescriptor.getDataChannelDescriptor().getName() + "." + nodeDescriptor.getName(); String driverClass = getProperty(Constants.JDBC_DRIVER_PROPERTY, suffix); String url = getProperty(Constants.JDBC_URL_PROPERTY, suffix); String username = getProperty(Constants.JDBC_USERNAME_PROPERTY, suffix); String password = getProperty(Constants.JDBC_PASSWORD_PROPERTY, suffix); int minConnections = getIntProperty(Constants.JDBC_MIN_CONNECTIONS_PROPERTY, suffix, 1); int maxConnections = getIntProperty(Constants.JDBC_MAX_CONNECTIONS_PROPERTY, suffix, 1); long maxQueueWaitTime = properties.getLong(Constants.JDBC_MAX_QUEUE_WAIT_TIME, UnmanagedPoolingDataSource.MAX_QUEUE_WAIT_DEFAULT); String validationQuery = properties.get(Constants.JDBC_VALIDATION_QUERY_PROPERTY); Driver driver = objectFactory.newInstance(Driver.class, driverClass); return DataSourceBuilder.url(url).driver(driver).userName(username).password(password) .pool(minConnections, maxConnections).maxQueueWaitTime(maxQueueWaitTime) .validationQuery(validationQuery).build(); }