Search in sources :

Example 1 with ParsingNameResolver

use of org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver in project jackrabbit by apache.

the class ValueFormatTest method setUp.

@Override
protected void setUp() throws Exception {
    super.setUp();
    idResolver = new IdentifierResolver() {

        public Path getPath(String identifier) throws MalformedPathException {
            throw new UnsupportedOperationException();
        }

        public void checkFormat(String identifier) throws MalformedPathException {
        // nop
        }
    };
    NameResolver nResolver = new ParsingNameResolver(NameFactoryImpl.getInstance(), new DummyNamespaceResolver());
    PathResolver pResolver = new ParsingPathResolver(PathFactoryImpl.getInstance(), nResolver, idResolver);
    resolver = new DefaultNamePathResolver(nResolver, pResolver);
    qvFactory = QValueFactoryImpl.getInstance();
    vFactory = new ValueFactoryQImpl(qvFactory, resolver);
}
Also used : IdentifierResolver(org.apache.jackrabbit.spi.commons.conversion.IdentifierResolver) Path(org.apache.jackrabbit.spi.Path) ParsingNameResolver(org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver) DummyNamespaceResolver(org.apache.jackrabbit.spi.commons.conversion.DummyNamespaceResolver) MalformedPathException(org.apache.jackrabbit.spi.commons.conversion.MalformedPathException) NamePathResolver(org.apache.jackrabbit.spi.commons.conversion.NamePathResolver) PathResolver(org.apache.jackrabbit.spi.commons.conversion.PathResolver) ParsingPathResolver(org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver) DefaultNamePathResolver(org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver) DefaultNamePathResolver(org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver) NameResolver(org.apache.jackrabbit.spi.commons.conversion.NameResolver) ParsingNameResolver(org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver) ParsingPathResolver(org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver)

Example 2 with ParsingNameResolver

use of org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver in project jackrabbit by apache.

the class IndexingConfigurationImpl method init.

/**
 * {@inheritDoc}
 */
public void init(Element config, QueryHandlerContext context, NamespaceMappings nsMappings) throws Exception {
    configuration = config;
    ism = context.getItemStateManager();
    hmgr = new HierarchyManagerImpl(context.getRootId(), ism);
    NamespaceResolver nsResolver = new AdditionalNamespaceResolver(getNamespaces(config));
    resolver = new ParsingNameResolver(NameFactoryImpl.getInstance(), nsResolver);
    ntReg = context.getNodeTypeRegistry();
    ntReg.addListener(this);
    refreshIndexRules();
    List<AggregateRule> idxAggregates = new ArrayList<AggregateRule>();
    NodeList indexingConfigs = config.getChildNodes();
    for (int i = 0; i < indexingConfigs.getLength(); i++) {
        Node configNode = indexingConfigs.item(i);
        if (configNode.getNodeName().equals("aggregate")) {
            idxAggregates.add(new AggregateRuleImpl(configNode, resolver, ism, hmgr));
        } else if (configNode.getNodeName().equals("analyzers")) {
            NodeList childNodes = configNode.getChildNodes();
            for (int j = 0; j < childNodes.getLength(); j++) {
                Node analyzerNode = childNodes.item(j);
                if (analyzerNode.getNodeName().equals("analyzer")) {
                    Analyzer analyzer = JackrabbitAnalyzer.getAnalyzerInstance(analyzerNode.getAttributes().getNamedItem("class").getNodeValue());
                    NodeList propertyChildNodes = analyzerNode.getChildNodes();
                    for (int k = 0; k < propertyChildNodes.getLength(); k++) {
                        Node propertyNode = propertyChildNodes.item(k);
                        if (propertyNode.getNodeName().equals("property")) {
                            // get property name
                            Name propName = resolver.getQName(getTextContent(propertyNode));
                            String fieldName = nsMappings.translateName(propName);
                            // set analyzer for the fulltext property fieldname
                            int idx = fieldName.indexOf(':');
                            fieldName = fieldName.substring(0, idx + 1) + FieldNames.FULLTEXT_PREFIX + fieldName.substring(idx + 1);
                            Object prevAnalyzer = analyzers.put(fieldName, analyzer);
                            if (prevAnalyzer != null) {
                                log.warn("Property " + propName.getLocalName() + " has been configured for multiple analyzers. " + " Last configured analyzer is used");
                            }
                        }
                    }
                }
            }
        }
    }
    if (idxAggregates.isEmpty()) {
        aggregateRules = null;
    } else {
        aggregateRules = idxAggregates.toArray(new AggregateRule[idxAggregates.size()]);
    }
}
Also used : ParsingNameResolver(org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver) AdditionalNamespaceResolver(org.apache.jackrabbit.core.nodetype.xml.AdditionalNamespaceResolver) NodeList(org.w3c.dom.NodeList) Node(org.w3c.dom.Node) ArrayList(java.util.ArrayList) Analyzer(org.apache.lucene.analysis.Analyzer) Name(org.apache.jackrabbit.spi.Name) NamespaceResolver(org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver) AdditionalNamespaceResolver(org.apache.jackrabbit.core.nodetype.xml.AdditionalNamespaceResolver) HierarchyManagerImpl(org.apache.jackrabbit.core.HierarchyManagerImpl)

Aggregations

ParsingNameResolver (org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver)2 ArrayList (java.util.ArrayList)1 HierarchyManagerImpl (org.apache.jackrabbit.core.HierarchyManagerImpl)1 AdditionalNamespaceResolver (org.apache.jackrabbit.core.nodetype.xml.AdditionalNamespaceResolver)1 Name (org.apache.jackrabbit.spi.Name)1 Path (org.apache.jackrabbit.spi.Path)1 DefaultNamePathResolver (org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver)1 DummyNamespaceResolver (org.apache.jackrabbit.spi.commons.conversion.DummyNamespaceResolver)1 IdentifierResolver (org.apache.jackrabbit.spi.commons.conversion.IdentifierResolver)1 MalformedPathException (org.apache.jackrabbit.spi.commons.conversion.MalformedPathException)1 NamePathResolver (org.apache.jackrabbit.spi.commons.conversion.NamePathResolver)1 NameResolver (org.apache.jackrabbit.spi.commons.conversion.NameResolver)1 ParsingPathResolver (org.apache.jackrabbit.spi.commons.conversion.ParsingPathResolver)1 PathResolver (org.apache.jackrabbit.spi.commons.conversion.PathResolver)1 NamespaceResolver (org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver)1 Analyzer (org.apache.lucene.analysis.Analyzer)1 Node (org.w3c.dom.Node)1 NodeList (org.w3c.dom.NodeList)1