public void init(Element config, QueryHandlerContext context, NamespaceMappings nsMappings) throws Exception {
Properties customNamespaces = getNamespaces(config);
registerCustomNamespaces(context.getNamespaceRegistry(), customNamespaces);
super.init(config, context, nsMappings);
NamespaceResolver nsResolver = new AdditionalNamespaceResolver(customNamespaces);
NameResolver resolver = new ParsingNameResolver(NameFactoryImpl.getInstance(), nsResolver);
NodeList indexingConfigs = config.getChildNodes();
for (int i = 0; i < indexingConfigs.getLength(); i++) {
Node configNode = indexingConfigs.item(i);
if (configNode.getNodeName().equals("i18ncopy")) {
NodeList childNodes = configNode.getChildNodes();
for (int j = 0; j < childNodes.getLength(); j++) {
Node excludePropNode = childNodes.item(j);
if (excludePropNode.getNodeName().equals("exclude-property")) {
String propertyName = getTextContent(excludePropNode);
try {
getExcludesFromI18NCopy().add(resolver.getQName(propertyName));
} catch (Exception e) {
logger.warn("Cannot resolve configured property name to be excluded from i18ncopy: "
+ propertyName, e);
}
}