You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2005/05/10 16:28:59 UTC
svn commit: r169480 - in
/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query:
lucene/ChildAxisQuery.java lucene/DerefQuery.java
lucene/DescendantSelfAxisQuery.java lucene/LuceneQueryBuilder.java
xpath/XPathQueryBuilder.java
Author: mreutegg
Date: Tue May 10 07:28:59 2005
New Revision: 169480
URL: http://svn.apache.org/viewcvs?rev=169480&view=rev
Log:
- TermDocs in queries are not closed when not used anymore.
- Minor fix in LuceneQueryBuilder: coercing string into name did not work.
- Fix issue with order by jcr:score()
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/ChildAxisQuery.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DerefQuery.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryBuilder.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/ChildAxisQuery.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/ChildAxisQuery.java?rev=169480&r1=169479&r2=169480&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/ChildAxisQuery.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/ChildAxisQuery.java Tue May 10 07:28:59 2005
@@ -166,23 +166,20 @@
* {@inheritDoc}
*/
public float getValue() {
- // @todo implement properly
- return 0;
+ return 1.0f;
}
/**
* {@inheritDoc}
*/
public float sumOfSquaredWeights() throws IOException {
- // @todo implement properly
- return 0;
+ return 1.0f;
}
/**
* {@inheritDoc}
*/
public void normalize(float norm) {
- // @todo implement properly
}
/**
@@ -293,7 +290,6 @@
uuids = new ArrayList();
contextScorer.score(new HitCollector() {
public void collect(int doc, float score) {
- // @todo maintain cache of doc id hierarchy
hits.set(doc);
}
});
@@ -319,8 +315,12 @@
hits.clear();
for (Iterator it = uuids.iterator(); it.hasNext();) {
TermDocs children = reader.termDocs(new Term(FieldNames.PARENT, (String) it.next()));
- while (children.next()) {
- hits.set(children.doc());
+ try {
+ while (children.next()) {
+ hits.set(children.doc());
+ }
+ } finally {
+ children.close();
}
}
// filter out the child nodes that do not match the name test
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DerefQuery.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DerefQuery.java?rev=169480&r1=169479&r2=169480&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DerefQuery.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DerefQuery.java Tue May 10 07:28:59 2005
@@ -290,8 +290,12 @@
hits.clear();
for (Iterator it = uuids.iterator(); it.hasNext();) {
TermDocs node = reader.termDocs(new Term(FieldNames.UUID, (String) it.next()));
- while (node.next()) {
- hits.set(node.doc());
+ try {
+ while (node.next()) {
+ hits.set(node.doc());
+ }
+ } finally {
+ node.close();
}
}
// filter out the target nodes that do not match the name test
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java?rev=169480&r1=169479&r2=169480&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery.java Tue May 10 07:28:59 2005
@@ -252,13 +252,17 @@
while (parentUUID != null && !contextUUIDs.contains(parentUUID)) {
// traverse
TermDocs ancestor = reader.termDocs(new Term(FieldNames.UUID, parentUUID));
- if (ancestor.next()) {
- parentUUID = reader.document(ancestor.doc()).get(FieldNames.PARENT);
- if (parentUUID.length() == 0) {
+ try {
+ if (ancestor.next()) {
+ parentUUID = reader.document(ancestor.doc()).get(FieldNames.PARENT);
+ if (parentUUID.length() == 0) {
+ parentUUID = null;
+ }
+ } else {
parentUUID = null;
}
- } else {
- parentUUID = null;
+ } finally {
+ ancestor.close();
}
}
if (parentUUID != null) {
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryBuilder.java?rev=169480&r1=169479&r2=169480&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryBuilder.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryBuilder.java Tue May 10 07:28:59 2005
@@ -784,7 +784,7 @@
} else if (literal.indexOf(':') > -1) {
// might be a name
try {
- values.add(QName.fromJCRName(literal, session.getNamespaceResolver()));
+ values.add(nsMappings.translatePropertyName(literal, session.getNamespaceResolver()));
log.debug("Coerced " + literal + " into NAME.");
} catch (Exception e) {
// not a name
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java?rev=169480&r1=169479&r2=169480&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/xpath/XPathQueryBuilder.java Tue May 10 07:28:59 2005
@@ -843,7 +843,13 @@
SimpleNode child = (SimpleNode) node.jjtGetChild(0);
OrderQueryNode.OrderSpec spec = null;
try {
- QName name = ISO9075.decode(QName.fromJCRName(child.getValue(), resolver));
+ String propName = child.getValue();
+ if (child.getId() == JJTQNAMELPAR) {
+ // function name
+ // cut off left parenthesis at end
+ propName.substring(0, propName.length() - 1);
+ }
+ QName name = ISO9075.decode(QName.fromJCRName(propName, resolver));
spec = new OrderQueryNode.OrderSpec(name, true);
queryNode.addOrderSpec(spec);
} catch (IllegalNameException e) {