private void assertSelectorOK(SmooksResourceConfiguration config) { String selector = config.getSelector(); if(selector != null) { if(selector.contains(SmooksResourceConfiguration.DOCUMENT_FRAGMENT_SELECTOR) || selector.contains(SmooksResourceConfiguration.LEGACY_DOCUMENT_FRAGMENT_SELECTOR)) { throw new SmooksConfigurationException("Cannot use the document selector with the XMLBinding class. Must use an absolute path. Selector value '" + selector + "'."); } if(!selector.startsWith("/") && !selector.startsWith("${") && !selector.startsWith("#")) { throw new SmooksConfigurationException("Invalid selector value '" + selector + "'. Selector paths must be absolute."); } rootElementNames.add(config.getSelectorSteps()[0].getTargetElement()); } }
private void assertSelectorOK(SmooksResourceConfiguration config) { String selector = config.getSelector(); if(selector != null) { if(selector.contains(SmooksResourceConfiguration.DOCUMENT_FRAGMENT_SELECTOR) || selector.contains(SmooksResourceConfiguration.LEGACY_DOCUMENT_FRAGMENT_SELECTOR)) { throw new SmooksConfigurationException("Cannot use the document selector with the XMLBinding class. Must use an absolute path. Selector value '" + selector + "'."); } if(!selector.startsWith("/") && !selector.startsWith("${") && !selector.startsWith("#")) { throw new SmooksConfigurationException("Invalid selector value '" + selector + "'. Selector paths must be absolute."); } rootElementNames.add(config.getSelectorSteps()[0].getTargetElement()); } }
private void assertSelectorOK(SmooksResourceConfiguration config) { String selector = config.getSelector(); if(selector != null) { if(selector.contains(SmooksResourceConfiguration.DOCUMENT_FRAGMENT_SELECTOR) || selector.contains(SmooksResourceConfiguration.LEGACY_DOCUMENT_FRAGMENT_SELECTOR)) { throw new SmooksConfigurationException("Cannot use the document selector with the XMLBinding class. Must use an absolute path. Selector value '" + selector + "'."); } if(!selector.startsWith("/") && !selector.startsWith("${") && !selector.startsWith("#")) { throw new SmooksConfigurationException("Invalid selector value '" + selector + "'. Selector paths must be absolute."); } rootElementNames.add(config.getSelectorSteps()[0].getTargetElement()); } }
private void expandSelector(SmooksResourceConfiguration resourceConfiguration, boolean failOnMissingBean, SmooksResourceConfiguration context) { SelectorStep[] selectorSteps = resourceConfiguration.getSelectorSteps(); QName targetElement = selectorSteps[0].getTargetElement(); if(targetElement == null) { return; } String localPart = targetElement.getLocalPart(); if(localPart.equals("#") && context != null) { resourceConfiguration.setSelectorSteps(concat(context.getSelectorSteps(), selectorSteps)); return; } List<String> dollarBraceTokens = DollarBraceDecoder.getTokens(localPart); if(dollarBraceTokens.size() == 1) { String beanId = dollarBraceTokens.get(0); Bean bean = baseBeans.get(beanId); if(bean != null) { resourceConfiguration.setSelectorSteps(concat(bean.getConfig().getSelectorSteps(), selectorSteps)); } else if(failOnMissingBean) { throw new SmooksConfigurationException("Invalid selector '" + SelectorStepBuilder.toString(selectorSteps) + "'. Unknown beanId '" + beanId + "'."); } } }
private void expandSelector(SmooksResourceConfiguration resourceConfiguration, boolean failOnMissingBean, SmooksResourceConfiguration context) { SelectorStep[] selectorSteps = resourceConfiguration.getSelectorSteps(); QName targetElement = selectorSteps[0].getTargetElement(); if(targetElement == null) { return; } String localPart = targetElement.getLocalPart(); if(localPart.equals("#") && context != null) { resourceConfiguration.setSelectorSteps(concat(context.getSelectorSteps(), selectorSteps)); return; } List<String> dollarBraceTokens = DollarBraceDecoder.getTokens(localPart); if(dollarBraceTokens.size() == 1) { String beanId = dollarBraceTokens.get(0); Bean bean = baseBeans.get(beanId); if(bean != null) { resourceConfiguration.setSelectorSteps(concat(bean.getConfig().getSelectorSteps(), selectorSteps)); } else if(failOnMissingBean) { throw new SmooksConfigurationException("Invalid selector '" + SelectorStepBuilder.toString(selectorSteps) + "'. Unknown beanId '" + beanId + "'."); } } }
private void expandSelector(SmooksResourceConfiguration resourceConfiguration, boolean failOnMissingBean, SmooksResourceConfiguration context) { SelectorStep[] selectorSteps = resourceConfiguration.getSelectorSteps(); QName targetElement = selectorSteps[0].getTargetElement(); if(targetElement == null) { return; } String localPart = targetElement.getLocalPart(); if(localPart.equals("#") && context != null) { resourceConfiguration.setSelectorSteps(concat(context.getSelectorSteps(), selectorSteps)); return; } List<String> dollarBraceTokens = DollarBraceDecoder.getTokens(localPart); if(dollarBraceTokens.size() == 1) { String beanId = dollarBraceTokens.get(0); Bean bean = baseBeans.get(beanId); if(bean != null) { resourceConfiguration.setSelectorSteps(concat(bean.getConfig().getSelectorSteps(), selectorSteps)); } else if(failOnMissingBean) { throw new SmooksConfigurationException("Invalid selector '" + SelectorStepBuilder.toString(selectorSteps) + "'. Unknown beanId '" + beanId + "'."); } } }
private List<XMLElementSerializationNode> createExpandedXMLOutputGraphs(SmooksResourceConfigurationList userConfigList) { List<XMLElementSerializationNode> graphRoots = new ArrayList<XMLElementSerializationNode>(); for(int i = 0; i < userConfigList.size(); i++) { SmooksResourceConfiguration config = userConfigList.get(i); Object javaResource = config.getJavaResourceObject(); if(javaResource instanceof BeanInstanceCreator) { assertSelectorOK(config); constructNodePath(config.getSelectorSteps(), graphRoots); } else if(javaResource instanceof BeanInstancePopulator) { assertSelectorOK(config); constructNodePath(config.getSelectorSteps(), graphRoots); } } return graphRoots; }
private List<XMLElementSerializationNode> createExpandedXMLOutputGraphs(SmooksResourceConfigurationList userConfigList) { List<XMLElementSerializationNode> graphRoots = new ArrayList<XMLElementSerializationNode>(); for(int i = 0; i < userConfigList.size(); i++) { SmooksResourceConfiguration config = userConfigList.get(i); Object javaResource = config.getJavaResourceObject(); if(javaResource instanceof BeanInstanceCreator) { assertSelectorOK(config); constructNodePath(config.getSelectorSteps(), graphRoots); } else if(javaResource instanceof BeanInstancePopulator) { assertSelectorOK(config); constructNodePath(config.getSelectorSteps(), graphRoots); } } return graphRoots; }
private List<XMLElementSerializationNode> createExpandedXMLOutputGraphs(SmooksResourceConfigurationList userConfigList) { List<XMLElementSerializationNode> graphRoots = new ArrayList<XMLElementSerializationNode>(); for(int i = 0; i < userConfigList.size(); i++) { SmooksResourceConfiguration config = userConfigList.get(i); Object javaResource = config.getJavaResourceObject(); if(javaResource instanceof BeanInstanceCreator) { assertSelectorOK(config); constructNodePath(config.getSelectorSteps(), graphRoots); } else if(javaResource instanceof BeanInstancePopulator) { assertSelectorOK(config); constructNodePath(config.getSelectorSteps(), graphRoots); } } return graphRoots; }
public void setNamespaces() throws SAXPathException { Properties namespaces = NamespaceMappings.getMappings(applicationContext); for(SmooksResourceConfigurationList resourceConfigList : configLists) { for(int i = 0; i < resourceConfigList.size(); i++) { SelectorStep.setNamespaces(resourceConfigList.get(i).getSelectorSteps(), namespaces); } } }
public void setNamespaces() throws SAXPathException { Properties namespaces = NamespaceMappings.getMappings(applicationContext); for(SmooksResourceConfigurationList resourceConfigList : configLists) { for(int i = 0; i < resourceConfigList.size(); i++) { SelectorStep.setNamespaces(resourceConfigList.get(i).getSelectorSteps(), namespaces); } } }
public void setNamespaces() throws SAXPathException { Properties namespaces = NamespaceMappings.getMappings(applicationContext); for(SmooksResourceConfigurationList resourceConfigList : configLists) { for(int i = 0; i < resourceConfigList.size(); i++) { SelectorStep.setNamespaces(resourceConfigList.get(i).getSelectorSteps(), namespaces); } } }
public void setNamespaces() throws SAXPathException { Properties namespaces = NamespaceMappings.getMappings(applicationContext); for(SmooksResourceConfigurationList resourceConfigList : configLists) { for(int i = 0; i < resourceConfigList.size(); i++) { SelectorStep.setNamespaces(resourceConfigList.get(i).getSelectorSteps(), namespaces); } } }
private <T extends SAXVisitor> void addIndexCounters(List<ContentHandlerConfigMap<T>> saxVisitorMap) { if(saxVisitorMap == null) { return; } for(ContentHandlerConfigMap<? extends SAXVisitor> contentHandlerMap : saxVisitorMap) { SmooksResourceConfiguration resourceConfig = contentHandlerMap.getResourceConfig(); SelectorStep[] selectorSteps = resourceConfig.getSelectorSteps(); List<IndexEvaluator> indexEvaluators = new ArrayList<IndexEvaluator>(); for(SelectorStep selectorStep : selectorSteps) { indexEvaluators.clear(); selectorStep.getEvaluators(IndexEvaluator.class, indexEvaluators); for(IndexEvaluator indexEvaluator : indexEvaluators) { if(indexEvaluator.getCounter() == null) { ElementIndexCounter indexCounter = new ElementIndexCounter(selectorStep); indexEvaluator.setCounter(indexCounter); addIndexCounter(indexCounter); } } } } }
private <T extends SAXVisitor> void addIndexCounters(List<ContentHandlerConfigMap<T>> saxVisitorMap) { if(saxVisitorMap == null) { return; } for(ContentHandlerConfigMap<? extends SAXVisitor> contentHandlerMap : saxVisitorMap) { SmooksResourceConfiguration resourceConfig = contentHandlerMap.getResourceConfig(); SelectorStep[] selectorSteps = resourceConfig.getSelectorSteps(); List<IndexEvaluator> indexEvaluators = new ArrayList<IndexEvaluator>(); for(SelectorStep selectorStep : selectorSteps) { indexEvaluators.clear(); selectorStep.getEvaluators(IndexEvaluator.class, indexEvaluators); for(IndexEvaluator indexEvaluator : indexEvaluators) { if(indexEvaluator.getCounter() == null) { ElementIndexCounter indexCounter = new ElementIndexCounter(selectorStep); indexEvaluator.setCounter(indexCounter); addIndexCounter(indexCounter); } } } } }
private <T extends SAXVisitor> void addIndexCounters(List<ContentHandlerConfigMap<T>> saxVisitorMap) { if(saxVisitorMap == null) { return; } for(ContentHandlerConfigMap<? extends SAXVisitor> contentHandlerMap : saxVisitorMap) { SmooksResourceConfiguration resourceConfig = contentHandlerMap.getResourceConfig(); SelectorStep[] selectorSteps = resourceConfig.getSelectorSteps(); List<IndexEvaluator> indexEvaluators = new ArrayList<IndexEvaluator>(); for(SelectorStep selectorStep : selectorSteps) { indexEvaluators.clear(); selectorStep.getEvaluators(IndexEvaluator.class, indexEvaluators); for(IndexEvaluator indexEvaluator : indexEvaluators) { if(indexEvaluator.getCounter() == null) { ElementIndexCounter indexCounter = new ElementIndexCounter(selectorStep); indexEvaluator.setCounter(indexCounter); addIndexCounter(indexCounter); } } } } }
private <T extends SAXVisitor> void addIndexCounters(List<ContentHandlerConfigMap<T>> saxVisitorMap) { if(saxVisitorMap == null) { return; } for(ContentHandlerConfigMap<? extends SAXVisitor> contentHandlerMap : saxVisitorMap) { SmooksResourceConfiguration resourceConfig = contentHandlerMap.getResourceConfig(); SelectorStep[] selectorSteps = resourceConfig.getSelectorSteps(); List<IndexEvaluator> indexEvaluators = new ArrayList<IndexEvaluator>(); for(SelectorStep selectorStep : selectorSteps) { indexEvaluators.clear(); selectorStep.getEvaluators(IndexEvaluator.class, indexEvaluators); for(IndexEvaluator indexEvaluator : indexEvaluators) { if(indexEvaluator.getCounter() == null) { ElementIndexCounter indexCounter = new ElementIndexCounter(selectorStep); indexEvaluator.setCounter(indexCounter); addIndexCounter(indexCounter); } } } } }
private void createRootSerializers(List<XMLElementSerializationNode> graphs) { Collection<Bean> beanModels = beanModelSet.getModels().values(); for(Bean model : beanModels) { BeanInstanceCreator creator = model.getCreator(); SelectorStep[] selectorSteps = creator.getConfig().getSelectorSteps(); XMLElementSerializationNode createNode = (XMLElementSerializationNode) findNode(graphs, selectorSteps); // Only create serializers for routed elements... if(rootElementNames.contains(createNode.getQName())) { createNode = ((XMLElementSerializationNode) createNode.clone()); createNode.setParent(null); Class<?> beanClass = creator.getBeanRuntimeInfo().getPopulateType(); if(!Collection.class.isAssignableFrom(beanClass)) { // Ignore Collections... don't allow them to be serialized.... not enough type info. serializers.put(beanClass, new RootNodeSerializer(creator.getBeanId(), createNode)); addNamespaceAttributes(createNode); } } } }
private void createRootSerializers(List<XMLElementSerializationNode> graphs) { Collection<Bean> beanModels = beanModelSet.getModels().values(); for(Bean model : beanModels) { BeanInstanceCreator creator = model.getCreator(); SelectorStep[] selectorSteps = creator.getConfig().getSelectorSteps(); XMLElementSerializationNode createNode = (XMLElementSerializationNode) findNode(graphs, selectorSteps); // Only create serializers for routed elements... if(rootElementNames.contains(createNode.getQName())) { createNode = ((XMLElementSerializationNode) createNode.clone()); createNode.setParent(null); Class<?> beanClass = creator.getBeanRuntimeInfo().getPopulateType(); if(!Collection.class.isAssignableFrom(beanClass)) { // Ignore Collections... don't allow them to be serialized.... not enough type info. serializers.put(beanClass, new RootNodeSerializer(creator.getBeanId(), createNode)); addNamespaceAttributes(createNode); } } } }
private void createRootSerializers(List<XMLElementSerializationNode> graphs) { Collection<Bean> beanModels = beanModelSet.getModels().values(); for(Bean model : beanModels) { BeanInstanceCreator creator = model.getCreator(); SelectorStep[] selectorSteps = creator.getConfig().getSelectorSteps(); XMLElementSerializationNode createNode = (XMLElementSerializationNode) findNode(graphs, selectorSteps); // Only create serializers for routed elements... if(rootElementNames.contains(createNode.getQName())) { createNode = ((XMLElementSerializationNode) createNode.clone()); createNode.setParent(null); Class<?> beanClass = creator.getBeanRuntimeInfo().getPopulateType(); if(!Collection.class.isAssignableFrom(beanClass)) { // Ignore Collections... don't allow them to be serialized.... not enough type info. serializers.put(beanClass, new RootNodeSerializer(creator.getBeanId(), createNode)); addNamespaceAttributes(createNode); } } } }