private Map<String, String> buildParams(Element parentElement) { Map<String, String> params = Maps.newHashMap(); for (Element paramElement : evalXPathAsElementList("param", parentElement)) { String key = getAttribute(paramElement, "name", true); String value = getAttribute(paramElement, "value", true); params.put(key, value); } return params; }
public IndexerConf read(Document document) { validate(document); builder.table(getAttribute(indexEl, "table", true)); builder.mappingType(getEnumAttribute(MappingType.class, indexEl, "mapping-type", null)); builder.rowReadMode(getEnumAttribute(RowReadMode.class, indexEl, "read-row", null)); builder.uniqueyKeyField(getAttribute(indexEl, "unique-key-field", false)); builder.rowField(getAttribute(indexEl, "row-field", false)); builder.columnFamilyField(getAttribute(indexEl, "column-family-field", false)); builder.tableNameField(getAttribute(indexEl, "table-name-field", false)); builder.globalParams(buildParams(indexEl)); String mapperClassName = getAttribute(indexEl, "mapper", false); if (mapperClassName == null) { mapperClassName = DefaultResultToSolrMapper.class.getName(); builder.mapperClass(loadClass(mapperClassName, ResultToSolrMapper.class)); String uniqueKeyFormatterName = getAttribute(indexEl, "unique-key-formatter", false); if (uniqueKeyFormatterName != null) { builder.uniqueKeyFormatterClass(loadClass(uniqueKeyFormatterName, UniqueKeyFormatter.class)); List<Element> fieldEls = evalXPathAsElementList("field", indexEl); for (Element fieldEl : fieldEls) { String name = getAttribute(fieldEl, "name", true); String value = getAttribute(fieldEl, "value", true); ValueSource source = getEnumAttribute(ValueSource.class, fieldEl, "source", null); String type = getAttribute(fieldEl, "type", false); Map<String,String> params = buildParams(fieldEl);
public static IndexerComponentFactory getComponentFactory(String factoryClass, InputStream configuration, Map<String, String> connectionParams) { IndexerComponentFactory factory; if (factoryClass == null) { factory = new DefaultIndexerComponentFactory(); } else { try { factory = (IndexerComponentFactory)Class.forName(factoryClass).newInstance(); } catch (InstantiationException e) { throw new AssertionError(e); } catch (IllegalAccessException e) { throw new AssertionError(e); } catch (ClassNotFoundException e) { throw new AssertionError(e); } } factory.configure(configuration, connectionParams); return factory; }
public IndexerConf read(Document document) { validate(document); builder.table(getAttribute(indexEl, "table", true)); builder.mappingType(getEnumAttribute(MappingType.class, indexEl, "mapping-type", null)); builder.rowReadMode(getEnumAttribute(RowReadMode.class, indexEl, "read-row", null)); builder.uniqueyKeyField(getAttribute(indexEl, "unique-key-field", false)); builder.rowField(getAttribute(indexEl, "row-field", false)); builder.columnFamilyField(getAttribute(indexEl, "column-family-field", false)); builder.tableNameField(getAttribute(indexEl, "table-name-field", false)); builder.globalParams(buildParams(indexEl)); String mapperClassName = getAttribute(indexEl, "mapper", false); if (mapperClassName == null) { mapperClassName = DefaultResultToSolrMapper.class.getName(); builder.mapperClass(loadClass(mapperClassName, ResultToSolrMapper.class)); String uniqueKeyFormatterName = getAttribute(indexEl, "unique-key-formatter", false); if (uniqueKeyFormatterName != null) { builder.uniqueKeyFormatterClass(loadClass(uniqueKeyFormatterName, UniqueKeyFormatter.class)); List<Element> fieldEls = evalXPathAsElementList("field", indexEl); for (Element fieldEl : fieldEls) { String name = getAttribute(fieldEl, "name", true); String value = getAttribute(fieldEl, "value", true); ValueSource source = getEnumAttribute(ValueSource.class, fieldEl, "source", null); String type = getAttribute(fieldEl, "type", false); Map<String,String> params = buildParams(fieldEl);
public static IndexerComponentFactory getComponentFactory(String factoryClass, InputStream configuration, Map<String, String> connectionParams) { IndexerComponentFactory factory; if (factoryClass == null) { factory = new DefaultIndexerComponentFactory(); } else { try { factory = (IndexerComponentFactory)Class.forName(factoryClass).newInstance(); } catch (InstantiationException e) { throw new AssertionError(e); } catch (IllegalAccessException e) { throw new AssertionError(e); } catch (ClassNotFoundException e) { throw new AssertionError(e); } } factory.configure(configuration, connectionParams); return factory; }
private Map<String, String> buildParams(Element parentElement) { Map<String, String> params = Maps.newHashMap(); for (Element paramElement : evalXPathAsElementList("param", parentElement)) { String key = getAttribute(paramElement, "name", true); String value = getAttribute(paramElement, "value", true); params.put(key, value); } return params; }