@Override public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException { final ContentHandler handler = cacheXmlGenerator.getContentHandler(); try { handler.startPrefixMapping(PREFIX, NAMESPACE); final AttributesImpl atts = new AttributesImpl(); addAttribute(atts, ATTRIBUTE_VALUE, extension.getValue()); emptyElement(handler, PREFIX, ELEMENT_REGION, atts); } finally { handler.endPrefixMapping(PREFIX); } } }
@Override public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException { final ContentHandler handler = cacheXmlGenerator.getContentHandler(); try { handler.startPrefixMapping(PREFIX, NAMESPACE); final AttributesImpl atts = new AttributesImpl(); addAttribute(atts, ATTRIBUTE_VALUE, extension.getValue()); emptyElement(handler, PREFIX, ELEMENT_CACHE, atts); } finally { handler.endPrefixMapping("mock"); } } }
private void addField(String fieldName, String analyzerClassName) throws SAXException { AttributesImpl field = new AttributesImpl(); XmlGeneratorUtils.addAttribute(field, LuceneXmlConstants.NAME, fieldName); if (analyzerClassName != null) { XmlGeneratorUtils.addAttribute(field, LuceneXmlConstants.ANALYZER, analyzerClassName); } this.parser.startElement(LuceneXmlConstants.NAMESPACE, LuceneXmlConstants.FIELD, null, field); this.parser.endElement(LuceneXmlConstants.NAMESPACE, LuceneXmlConstants.FIELD, null); } }
@Override public void generate(CacheXmlGenerator cacheXmlGenerator) throws SAXException { final ContentHandler handler = cacheXmlGenerator.getContentHandler(); handler.startPrefixMapping(PREFIX, NAMESPACE); AttributesImpl attr = new AttributesImpl(); // TODO - should the type be xs:string ? XmlGeneratorUtils.addAttribute(attr, NAME, index.getName()); XmlGeneratorUtils.startElement(handler, PREFIX, INDEX, attr); for (String field : index.getFieldNames()) { AttributesImpl fieldAttr = new AttributesImpl(); XmlGeneratorUtils.addAttribute(fieldAttr, NAME, field); Analyzer analyzer = index.getFieldAnalyzers().get(field); if (analyzer != null) { XmlGeneratorUtils.addAttribute(fieldAttr, ANALYZER, analyzer.getClass().getName()); } XmlGeneratorUtils.emptyElement(handler, PREFIX, FIELD, fieldAttr); } LuceneSerializer serializer = index.getLuceneSerializer(); if (serializer != null) { XmlGeneratorUtils.startElement(handler, PREFIX, SERIALIZER, EMPTY); XmlGeneratorUtils.addDeclarable(handler, serializer); XmlGeneratorUtils.endElement(handler, PREFIX, SERIALIZER); } XmlGeneratorUtils.endElement(handler, PREFIX, INDEX); } }
@Test public void attemptInvalidAnalyzerClass() throws SAXException { AttributesImpl attrs = new AttributesImpl(); XmlGeneratorUtils.addAttribute(attrs, LuceneXmlConstants.NAME, "index"); this.parser.startElement(LuceneXmlConstants.NAMESPACE, LuceneXmlConstants.INDEX, null, attrs); try { addField("field", "some.invalid.class"); fail("Should not have been able to add a field with an invalid analyzer class name"); } catch (Exception e) { } }
@Test public void generateWithFields() throws SAXException { AttributesImpl attrs = new AttributesImpl(); XmlGeneratorUtils.addAttribute(attrs, LuceneXmlConstants.NAME, "index"); this.parser.startElement(LuceneXmlConstants.NAMESPACE, LuceneXmlConstants.INDEX, null, attrs); addField("field1"); addField("field2"); addField("field3", KeywordAnalyzer.class.getName()); this.parser.endElement(LuceneXmlConstants.NAMESPACE, LuceneXmlConstants.INDEX, null); assertEquals(this.rc, this.stack.peek()); LuceneIndexCreation index = (LuceneIndexCreation) this.rc.getExtensionPoint().getExtensions().iterator().next(); assertEquals("index", index.getName()); assertArrayEquals(new String[] {"field1", "field2", "field3"}, index.getFieldNames()); // Assert analyzers Map<String, Analyzer> fieldAnalyzers = index.getFieldAnalyzers(); assertEquals(1, fieldAnalyzers.size()); assertTrue(fieldAnalyzers.containsKey("field3")); assertTrue(fieldAnalyzers.get("field3") instanceof KeywordAnalyzer); }
addAttribute(atts, W3C_XML_SCHEMA_INSTANCE_PREFIX, W3C_XML_SCHEMA_INSTANCE_ATTRIBUTE_SCHEMA_LOCATION, version.getNamespace() + " " + version.getSchemaLocation()); addAttribute(atts, VERSION, this.version.getVersion());
/** * Test method for {@link XmlGeneratorUtils#addAttribute(AttributesImpl, String, String, Object)}. */ @Test public void testAddAttributeAttributesImplStringStringObject() { final AttributesImpl attributes = new AttributesImpl(); assertEquals(0, attributes.getLength()); XmlGeneratorUtils.addAttribute(attributes, "prefix", "localname", null); assertEquals(0, attributes.getLength()); XmlGeneratorUtils.addAttribute(attributes, "prefix", "localname", "value"); assertEquals(1, attributes.getLength()); assertEquals("localname", attributes.getLocalName(0)); assertEquals("prefix:localname", attributes.getQName(0)); assertEquals(NULL_NS_URI, attributes.getURI(0)); assertEquals("value", attributes.getValue(0)); }
/** * Test method for {@link XmlGeneratorUtils#addAttribute(AttributesImpl, String, Object)}. */ @Test public void testAddAttributeAttributesImplStringObject() { final AttributesImpl attributes = new AttributesImpl(); assertEquals(0, attributes.getLength()); XmlGeneratorUtils.addAttribute(attributes, "localname", null); assertEquals(0, attributes.getLength()); XmlGeneratorUtils.addAttribute(attributes, "localname", "value"); assertEquals(1, attributes.getLength()); assertEquals("localname", attributes.getLocalName(0)); assertEquals("localname", attributes.getQName(0)); assertEquals(XMLConstants.NULL_NS_URI, attributes.getURI(0)); assertEquals("value", attributes.getValue(0)); }