the method addTextProperty use PropertyName object as key for the map textProperties and the tokenStream method of IndexConfiguration.AnalyzerImpl use the fieldName as key ... in the map there is a [PropertyName("DAV:", "displayname") => SomeAnalyser()] and the AnalyzerImpl ask get("DAV:displayname") and get 'null' then use the default analyzer
And, there is a patch, Index: src/stores/org/apache/slide/index/lucene/IndexConfiguration.java =================================================================== --- src/stores/org/apache/slide/index/lucene/IndexConfiguration.java (revision 373518) +++ src/stores/org/apache/slide/index/lucene/IndexConfiguration.java (working copy) @@ -84,7 +84,7 @@ protected Set knownResourceTypes = new HashSet(); public void addStringProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); this.stringProperties.add(key); this.indexedProperties.add(key); } @@ -90,11 +90,11 @@ } public boolean isStringProperty(PropertyName propertyName) { - return this.stringProperties.contains(propertyName); + return this.stringProperties. contains(generateFieldName(propertyName)); } public boolean isStringProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.stringProperties.contains(key); } @@ -99,7 +99,7 @@ } public void addDateProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); this.dateProperties.add(key); this.indexedProperties.add(key); } @@ -105,11 +105,11 @@ } public boolean isDateProperty(PropertyName propertyName) { - return this.dateProperties.contains(propertyName); + return this.dateProperties.contains(generateFieldName(propertyName) ); } public boolean isDateProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.dateProperties.contains(key); } @@ -114,7 +114,7 @@ } public void addIntProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); this.intProperties.add(key); this.indexedProperties.add(key); } @@ -120,11 +120,11 @@ } public boolean isIntProperty(PropertyName propertyName) { - return this.intProperties.contains(propertyName); + return this.intProperties.contains(generateFieldName(propertyName)); } public boolean isIntProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.intProperties.contains(key); } @@ -129,7 +129,7 @@ } public void addSupportsIsdefinedProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); this.supportsIsdefinedProperties.add(key); this.indexedProperties.add(key); } @@ -135,11 +135,11 @@ } public boolean supportsIsDefined(PropertyName propertyName) { - return this.supportsIsdefinedProperties.contains(propertyName); + return this.supportsIsdefinedProperties. contains(generateFieldName(propertyName)); } public boolean supportsIsDefined(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.supportsIsdefinedProperties.contains(key); } @@ -144,7 +144,7 @@ } public void addTextProperty(String namespace, String name, Analyzer analyzer) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); this.textProperties.put(key, analyzer); this.indexedProperties.add(key); } @@ -150,11 +150,11 @@ } public boolean isTextProperty(PropertyName propertyName) { - return this.textProperties.containsKey(propertyName); + return this.textProperties. containsKey(generateFieldName(propertyName)); } public boolean isTextProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.textProperties.containsKey(key); } @@ -159,11 +159,11 @@ } public boolean isIndexedProperty(PropertyName name) { - return this.indexedProperties.contains(name); + return this.indexedProperties.contains(generateFieldName(name)); } public boolean isIndexedProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.indexedProperties.contains(key); } @@ -175,7 +175,7 @@ * @return */ public boolean isComparableProperty(String namespace, String name) { - PropertyName key = PropertyName.getPropertyName(name, namespace); + String key = generateFieldName(name, namespace); return this.stringProperties.contains(key) || this.intProperties.contains(key) || this.dateProperties.contains(key); @@ -182,9 +182,9 @@ } public boolean isComparableProperty(PropertyName name) { - return this.stringProperties.contains(name) - || this.intProperties.contains(name) - || this.dateProperties.contains(name); + return this.stringProperties.contains(generateFieldName(name)) + || this.intProperties.contains(generateFieldName(name)) + || this.dateProperties.contains(generateFieldName(name) ); } Iterator knownResourceTypes() { @@ -385,6 +385,10 @@ public String generateFieldName(String namespaceUri, String name) { return namespaceUri + name; } + + public String generateFieldName(PropertyName propertyName) { + return generateFieldName(propertyName.getNamespace(), propertyName. getName()); + } public String generateKey(String uri, NodeRevisionNumber number) { return uri + "#" + number;