[exo-jcr-commits] exo-jcr SVN: r4814 - in jcr/trunk/exo.jcr.component.core/src: test/java/org/exoplatform/services/jcr/api/core/query and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Aug 30 10:36:07 EDT 2011


Author: sergiykarpenko
Date: 2011-08-30 10:36:07 -0400 (Tue, 30 Aug 2011)
New Revision: 4814

Removed:
   jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TestQueryIndexReordering.java
Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/ChildAxisQuery.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldNames.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldSelectors.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexFormatVersion.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
Log:
EXOJCR-1239: patch from JCR-1571 temporary reverted

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/ChildAxisQuery.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/ChildAxisQuery.java	2011-08-30 13:45:20 UTC (rev 4813)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/ChildAxisQuery.java	2011-08-30 14:36:07 UTC (rev 4814)
@@ -538,14 +538,15 @@
       {
          if (position != LocationStepQueryNode.NONE)
          {
-            Document node = reader.document(i, FieldSelectors.UUID_AND_PARENT_AND_INDEX);
+            Document node = reader.document(i, FieldSelectors.UUID_AND_PARENT);
             String parentId = node.get(FieldNames.PARENT);
             String id = node.get(FieldNames.UUID);
             try
             {
+               //NodeState state = (NodeState) itemMgr.getItemState(parentId);
+               NodeData state = (NodeData)itemMgr.getItemData(parentId);
                if (nameTest == null)
                {
-                  NodeData state = (NodeData)itemMgr.getItemData(parentId);
                   // only select this node if it is the child at
                   // specified position
                   if (position == LocationStepQueryNode.LAST)
@@ -573,7 +574,6 @@
                   // specified position
                   if (position == LocationStepQueryNode.LAST)
                   {
-                     NodeData state = (NodeData)itemMgr.getItemData(parentId);
                      // only select last
 
                      if (state == null)
@@ -591,11 +591,6 @@
                         }
                      }
                   }
-                  else if (version.getVersion() >= IndexFormatVersion.V4.getVersion())
-                  {
-                     if (Integer.valueOf(node.get(FieldNames.INDEX)) != position)
-                        return false;
-                  }
                   else
                   {
                      NodeData nodeData = (NodeData)itemMgr.getItemData(id);

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldNames.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldNames.java	2011-08-30 13:45:20 UTC (rev 4813)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldNames.java	2011-08-30 14:36:07 UTC (rev 4814)
@@ -64,11 +64,6 @@
     public static final String LOCAL_NAME = "_:LOCAL_NAME".intern();
 
     /**
-     * Name of the field that contains the index of the item.
-     */
-    public static final String INDEX = "_:INDEX".intern();
-
-    /**
      * Name of the field that contains the namespace URI of the node name. Terms
      * are not tokenized.
      */

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldSelectors.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldSelectors.java	2011-08-30 13:45:20 UTC (rev 4813)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FieldSelectors.java	2011-08-30 14:36:07 UTC (rev 4814)
@@ -63,25 +63,4 @@
             }
         }
     };
-
-    public static final FieldSelector UUID_AND_PARENT_AND_INDEX = new FieldSelector() {
-        /**
-         * Accepts {@link FieldNames#UUID}, {@link FieldNames#PARENT} 
-         * and {@link FieldNames#INDEX}.
-         *
-         * @param fieldName the field name to check.
-         * @return result.
-         */
-        public FieldSelectorResult accept(String fieldName) {
-            if (FieldNames.UUID == fieldName) {
-                return FieldSelectorResult.LOAD;
-            } else if (FieldNames.PARENT == fieldName) {
-                return FieldSelectorResult.LOAD;
-            } else if (FieldNames.INDEX == fieldName) {
-               return FieldSelectorResult.LOAD;
-            } else {
-                return FieldSelectorResult.NO_LOAD;
-            }
-        }
-    };
 }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexFormatVersion.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexFormatVersion.java	2011-08-30 13:45:20 UTC (rev 4813)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexFormatVersion.java	2011-08-30 14:36:07 UTC (rev 4814)
@@ -16,10 +16,10 @@
  */
 package org.exoplatform.services.jcr.impl.core.query.lucene;
 
-import org.apache.lucene.index.IndexReader;
-
 import java.util.Collection;
 
+import org.apache.lucene.index.IndexReader;
+
 /**
  * This class indicates the lucene index format that is used.
  * <ul>
@@ -52,16 +52,11 @@
     public static final IndexFormatVersion V2 = new IndexFormatVersion(2);
 
     /**
-     * V3 is the index format for Jackrabbit releases 1.5.x
+     * V3 is the index format for Jackrabbit releases >= 1.5
      */
     public static final IndexFormatVersion V3 = new IndexFormatVersion(3);
 
     /**
-     * V4 is the index format for Jackrabbit releases >= 1.6
-     */
-    public static final IndexFormatVersion V4 = new IndexFormatVersion(4);
-
-    /**
      * The used version of the index format
      */
     private final int version;
@@ -109,9 +104,7 @@
     public static IndexFormatVersion getVersion(IndexReader indexReader) {
         Collection fields = indexReader.getFieldNames(
                 IndexReader.FieldOption.ALL);
-        if (fields.contains(FieldNames.INDEX) || indexReader.numDocs() == 0) {
-           return IndexFormatVersion.V4;
-        } else if (fields.contains(FieldNames.LOCAL_NAME)) {
+        if (fields.contains(FieldNames.LOCAL_NAME) || indexReader.numDocs() == 0) {
             return IndexFormatVersion.V3;
         } else if (fields.contains(FieldNames.PROPERTIES_SET)) {
             return IndexFormatVersion.V2;

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java	2011-08-30 13:45:20 UTC (rev 4813)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java	2011-08-30 14:36:07 UTC (rev 4814)
@@ -217,12 +217,6 @@
          // unknown uri<->prefix mappings
       }
 
-      if (indexFormatVersion.getVersion() >= IndexFormatVersion.V4.getVersion())
-      {
-         doc.add(new Field(FieldNames.INDEX, Integer.toString(node.getQPath().getIndex()), Field.Store.YES,
-            Field.Index.NOT_ANALYZED_NO_NORMS));
-      }
-
       Collection<PropertyData> props = node.getChildPropertiesData();
       if (props == null)
       {
@@ -340,7 +334,7 @@
                   if (encProp == null)
                   {
                      encProp =
-                        (PropertyData)stateProvider.getItemData(node, new QPathEntry(Constants.JCR_ENCODING, 0),
+                     (PropertyData)stateProvider.getItemData(node, new QPathEntry(Constants.JCR_ENCODING, 0),
                            ItemType.PROPERTY);
                   }
 

Deleted: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TestQueryIndexReordering.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TestQueryIndexReordering.java	2011-08-30 13:45:20 UTC (rev 4813)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TestQueryIndexReordering.java	2011-08-30 14:36:07 UTC (rev 4814)
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2003-2011 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- */
-package org.exoplatform.services.jcr.api.core.query;
-
-import org.exoplatform.services.jcr.usecases.BaseUsecasesTest;
-
-import javax.jcr.Node;
-import javax.jcr.NodeIterator;
-import javax.jcr.query.Query;
-import javax.jcr.query.QueryManager;
-import javax.jcr.query.QueryResult;
-
-/**
- * Created by The eXo Platform SAS.
- * 
- * <br/>Date: 
- *
- * @author <a href="karpenko.sergiy at gmail.com">Karpenko Sergiy</a> 
- * @version $Id: TestIndexReordering.java 111 2008-11-11 11:11:11Z serg $
- */
-public class TestQueryIndexReordering extends BaseUsecasesTest
-{
-
-   public void testReordering() throws Exception
-   {
-      Node testRoot = this.root.addNode("testSameNameSiblingDelete");
-
-      Node subNode_1 = testRoot.addNode("node", "nt:unstructured"); // 1
-      subNode_1.addMixin("mix:referenceable");
-      subNode_1.setProperty("prop", "data 1");
-      Node subNode_2 = testRoot.addNode("node", "nt:unstructured"); // 2
-      subNode_2.addMixin("mix:referenceable");
-      subNode_2.setProperty("prop", "data 2");
-      Node subNode_3 = testRoot.addNode("node", "nt:unstructured"); // 3
-      subNode_3.addMixin("mix:referenceable");
-      subNode_3.setProperty("prop", "data 3");
-      session.save();
-
-      //check the index
-      String sqlQuery;
-      Query query;
-      QueryResult queryResult;
-      NodeIterator iterator;
-      Node node;
-      QueryManager qm = session.getWorkspace().getQueryManager();
-
-      sqlQuery = "SELECT * FROM nt:unstructured WHERE jcr:path = '/testSameNameSiblingDelete/node[1]'";
-      query = qm.createQuery(sqlQuery, Query.SQL);
-      queryResult = query.execute();
-      iterator = queryResult.getNodes();
-      assertTrue("Node expected ", iterator.getSize() == 1);
-      node = iterator.nextNode();
-      assertEquals("Wrong id ", subNode_1.getUUID(), node.getUUID());
-      assertEquals("Wrong path ", subNode_1.getPath(), node.getPath());
-
-      sqlQuery = "SELECT * FROM nt:unstructured WHERE jcr:path = '/testSameNameSiblingDelete/node[2]'";
-      query = qm.createQuery(sqlQuery, Query.SQL);
-      queryResult = query.execute();
-      iterator = queryResult.getNodes();
-      assertTrue("Node expected ", iterator.getSize() == 1);
-      node = iterator.nextNode();
-      assertEquals("Wrong id ", subNode_2.getUUID(), node.getUUID());
-      assertEquals("Wrong path ", subNode_2.getPath(), node.getPath());
-
-      sqlQuery = "SELECT * FROM nt:unstructured WHERE jcr:path = '/testSameNameSiblingDelete/node[3]'";
-      query = qm.createQuery(sqlQuery, Query.SQL);
-      queryResult = query.execute();
-      iterator = queryResult.getNodes();
-      assertTrue("Node expected ", iterator.getSize() == 1);
-      node = iterator.nextNode();
-      assertEquals("Wrong id ", subNode_3.getUUID(), node.getUUID());
-      assertEquals("Wrong path ", subNode_3.getPath(), node.getPath());
-
-      // usecase - order to the end,
-      // i.e. /testSameNameSiblingDelete/node[2] will be UPDATED to
-      // /testSameNameSiblingDelete/node[1]
-      // i.e. /testSameNameSiblingDelete/node[3] will be UPDATED to
-      // /testSameNameSiblingDelete/node[2]
-      subNode_1.getParent().orderBefore("node", null);
-      session.save();
-
-      sqlQuery = "SELECT * FROM nt:unstructured WHERE jcr:path = '/testSameNameSiblingDelete/node[1]'";
-      query = qm.createQuery(sqlQuery, Query.SQL);
-      queryResult = query.execute();
-      iterator = queryResult.getNodes();
-      assertTrue("Node expected ", iterator.getSize() == 1);
-      node = iterator.nextNode();
-      assertEquals("Wrong id ", subNode_2.getUUID(), node.getUUID());
-      assertEquals("Wrong path ", subNode_2.getPath(), node.getPath());
-
-      sqlQuery = "SELECT * FROM nt:unstructured WHERE jcr:path = '/testSameNameSiblingDelete/node[2]'";
-      query = qm.createQuery(sqlQuery, Query.SQL);
-      queryResult = query.execute();
-      iterator = queryResult.getNodes();
-      assertTrue("Node expected ", iterator.getSize() == 1);
-      node = iterator.nextNode();
-      assertEquals("Wrong id ", subNode_3.getUUID(), node.getUUID());
-      assertEquals("Wrong path ", subNode_3.getPath(), node.getPath());
-
-      sqlQuery = "SELECT * FROM nt:unstructured WHERE jcr:path = '/testSameNameSiblingDelete/node[3]'";
-      query = qm.createQuery(sqlQuery, Query.SQL);
-      queryResult = query.execute();
-      iterator = queryResult.getNodes();
-      assertTrue("Node expected ", iterator.getSize() == 1);
-      node = iterator.nextNode();
-      assertEquals("Wrong id ", subNode_1.getUUID(), node.getUUID());
-      assertEquals("Wrong path ", subNode_1.getPath(), node.getPath());
-   }
-
-}



More information about the exo-jcr-commits mailing list