DataChannelDescriptor merged = new DataChannelDescriptor(); merged.setName(descriptors[len - 1].getName()); merged.getProperties().putAll(descriptors[len - 1].getProperties()); for (DataMap map : descriptor.getDataMaps()) { DataMap existing = merged.getDataMap(map.getName()); if (existing != null) { + map.getName() + "' from descriptor '" + descriptor.getName() + "'"); + map.getName() + "' from descriptor '" + descriptor.getName() + "' in merged descriptor"); merged.getDataMaps().add(map); for (DataNodeDescriptor node : descriptor.getNodeDescriptors()) { DataNodeDescriptor existing = merged.getNodeDescriptor(node.getName()); if (existing != null) { logger.info("Discarding overridden DataNode '" + node.getName() + "' from descriptor '" + descriptor.getName() + "'");
@Override public Resource visitDataChannelDescriptor(DataChannelDescriptor descriptor) { return descriptor.getConfigurationSource(); }
@Override protected ContentHandler createChildTagHandler(String namespaceURI, String localName, String name, Attributes attributes) { if (localName.equals(DOMAIN_TAG)) { String domainName = attributes.getValue("", "name"); DataChannelDescriptor descriptor = new DataChannelDescriptor(); descriptor.setName(scrubDomainName(domainName)); descriptor.setConfigurationSource(configurationSource); domains.add(descriptor); return new DataChannelChildrenHandler(descriptor, parser, this); } logger.info(unexpectedTagMessage(localName, DOMAIN_TAG)); return super.createChildTagHandler(namespaceURI, localName, name, attributes); } }
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; }
/** * @since 4.0 */ protected DataChannelDescriptor loadDescriptor() { DataChannelDescriptor descriptor = locations.isEmpty() ? new DataChannelDescriptor() : loadDescriptorFromConfigs(); String nameOverride = runtimeProperties.get(Constants.SERVER_DOMAIN_NAME_PROPERTY); if (nameOverride != null) { descriptor.setName(nameOverride); } return descriptor; }
@Override public Void visitDataChannelDescriptor(DataChannelDescriptor node) { node.setConfigurationSource(configurationSource); // update child configurations for (DataNodeDescriptor childDescriptor : node.getNodeDescriptors()) { childDescriptor.setDataChannelDescriptor(node); childDescriptor.setConfigurationSource(configurationSource); } return null; }
String value = attributes.getValue("", "value"); if (key != null && value != null) { descriptor.getProperties().put(key, value); Resource baseResource = descriptor.getConfigurationSource(); dataMap.setDataChannelDescriptor(descriptor); descriptor.getDataMaps().add(dataMap); } else if (localName.equals(NODE_TAG)) { nodeDescriptor.setConfigurationSource(descriptor.getConfigurationSource()); descriptor.getNodeDescriptors().add(nodeDescriptor);
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; }
@Override public Collection<ConfigurationNode> visitDataChannelDescriptor( DataChannelDescriptor descriptor) { Collection<ConfigurationNode> nodes = new ArrayList<>(); nodes.add(descriptor); for (DataMap map : descriptor.getDataMaps()) { nodes.add(map); } return nodes; }
if (domains.isEmpty()) { DataChannelDescriptor descriptor = new DataChannelDescriptor(); descriptor.setName("DEFAULT"); domains.add(descriptor); for (DataNodeDescriptor node : descriptor.getNodeDescriptors()) { Resource nodeResource = node.getConfigurationSource(); if (nodeResource != null) { return domains.get(0).getConfigurationSource();
@Override public boolean isNameInUse(String name) { DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) parent; for (DataNodeDescriptor dataNodeDescriptor : dataChannelDescriptor.getNodeDescriptors()) { if (dataNodeDescriptor.getName().equals(name)) { return true; } } return false; } });
public ValidationResult visitDataChannelDescriptor(DataChannelDescriptor channelDescriptor) { dataChannelValidator.validate(channelDescriptor, validationResult); for (DataNodeDescriptor node : channelDescriptor.getNodeDescriptors()) { visitDataNodeDescriptor(node); } for (DataMap map : channelDescriptor.getDataMaps()) { visitDataMap(map); } return validationResult; }
DataDomain dataDomain = createDataDomain(descriptor.getName()); dataDomain.setDataRowStoreFactory(injector.getInstance(DataRowStoreFactory.class)); dataDomain.initWithProperties(descriptor.getProperties()); for (DataMap dataMap : descriptor.getDataMaps()) { dataDomain.addDataMap(dataMap); dataDomain.getEntityResolver().setValueObjectTypeRegistry(valueObjectTypeRegistry); for (DataNodeDescriptor nodeDescriptor : descriptor.getNodeDescriptors()) { addDataNode(dataDomain, nodeDescriptor); if (descriptor.getDefaultNodeName() != null) { defaultNode = dataDomain.getDataNode(descriptor.getDefaultNodeName());
@Override public void fireLastDisplayEvent() { DataChannelDescriptor dataChannel = (DataChannelDescriptor) controller.getProject().getRootNode(); if (!dataChannel.getName().equals(preferences.getDomain())) { return; } DataNodeDescriptor dataNode = dataChannel.getNodeDescriptor(preferences.getNode()); DataMap dataMap = dataChannel.getDataMap(preferences.getDataMap()); if (dataMap == null) { return; } DataMapDisplayEvent dataMapDisplayEvent = new DataMapDisplayEvent(this, dataMap, dataChannel, dataNode); controller.fireDataMapDisplayEvent(dataMapDisplayEvent); }
@Override public String getNewName() { return (domain != null) ? domain.getName() : null; } }
@Override public void fireLastDisplayEvent() { DataChannelDescriptor dataChannel = (DataChannelDescriptor) controller.getProject().getRootNode(); if (!dataChannel.getName().equals(preferences.getDomain())) { return; } DataMap dataMap = dataChannel.getDataMap(preferences.getDataMap()); if (dataMap == null) { return; } Embeddable embeddable = dataMap.getEmbeddable(preferences.getEmbeddable()); if (embeddable == null) { return; } EmbeddableDisplayEvent embeddableDisplayEvent = new EmbeddableDisplayEvent(this, embeddable, dataMap, dataChannel); controller.fireEmbeddableDisplayEvent(embeddableDisplayEvent); }
void setDomainName(String newName) { DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) Application .getInstance() .getProject() .getRootNode(); if (Util.nullSafeEquals(dataChannelDescriptor.getName(), newName)) { return; } if (newName == null || newName.trim().length() == 0) { throw new ValidationException("Enter name for DataDomain"); } Preferences prefs = projectController.getPreferenceForDataDomain(); DomainEvent e = new DomainEvent( this, dataChannelDescriptor, dataChannelDescriptor.getName()); dataChannelDescriptor.setName(newName); RenamedPreferences.copyPreferences(newName, prefs); projectController.fireDomainEvent(e); } }
@Override protected DataDomain createAndInitDataDomain() throws Exception { DataDomain dataDomain = super.createAndInitDataDomain(); // no nodes... add a synthetic node... it will become the default if (dataDomain.getDataNodes().isEmpty()) { DataChannelDescriptor channelDescriptor = new DataChannelDescriptor(); DataNodeDescriptor nodeDescriptor = new DataNodeDescriptor(createSyntheticDataNodeName(dataDomain)); for (DataMap map : dataDomain.getDataMaps()) { nodeDescriptor.getDataMapNames().add(map.getName()); } nodeDescriptor.setDataChannelDescriptor(channelDescriptor); DataNode node = addDataNode(dataDomain, nodeDescriptor); dataDomain.setDefaultNode(node); } return dataDomain; }
@Override public boolean isNameInUse(String name) { // null context is a situation when DataMap is a // top level object of the project if (parent == null) { return false; } if (parent instanceof DataChannelDescriptor) { DataChannelDescriptor domain = (DataChannelDescriptor) parent; return domain.getDataMap(name) != null; } return false; } });
@Override public void fireLastDisplayEvent() { DataChannelDescriptor dataChannel = (DataChannelDescriptor) controller.getProject().getRootNode(); if (!dataChannel.getName().equals(preferences.getDomain())) { return; } DataNodeDescriptor dataNode = dataChannel.getNodeDescriptor(preferences.getNode()); if (dataNode == null) { return; } DataNodeDisplayEvent dataNodeDisplayEvent = new DataNodeDisplayEvent(this, dataChannel, dataNode); controller.fireDataNodeDisplayEvent(dataNodeDisplayEvent); }