Merged DEV/THOR1 to HEAD

32945: Fix for ALF-12122 Some CMIS queries with SOLR are not returning correct results

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32958 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2011-12-22 19:46:51 +00:00
parent 6b82d6d145
commit e3c9e3fb0b
4 changed files with 39 additions and 4 deletions

View File

@@ -20,7 +20,9 @@ package org.alfresco.jcr.item;
import java.util.StringTokenizer;
import org.alfresco.repo.tenant.TenantService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.Path.Element;
import org.alfresco.service.namespace.NamespacePrefixResolver;
import org.alfresco.service.namespace.QName;
@@ -157,6 +159,15 @@ public class JCRPath
return path.hashCode();
}
/* (non-Javadoc)
* @see org.alfresco.service.cmr.repository.Path.Element#getBaseNameElement(org.alfresco.repo.tenant.TenantService)
*/
@Override
public Element getBaseNameElement(TenantService tenantService)
{
return new SimpleElement(path);
}
}
/**

View File

@@ -33,10 +33,12 @@ import java.util.Map;
import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.tenant.TenantService;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.Path.Element;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.version.Version;
import org.alfresco.service.namespace.NamespaceService;
@@ -128,6 +130,12 @@ public class NodeChangeTest
{
return name;
}
@Override
public Element getBaseNameElement(TenantService tenantService)
{
return this;
}
});
return path;
}

View File

@@ -583,9 +583,14 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent
Collection<Pair<Path, QName>> paths = new ArrayList<Pair<Path, QName>>(directPaths.size() + categoryPaths.size());
for (Path path : directPaths)
{
paths.add(new Pair<Path, QName>(path, null));
paths.add(new Pair<Path, QName>(path.getBaseNamePath(tenantService), null));
}
paths.addAll(categoryPaths);
for(Pair<Path, QName> catPair : categoryPaths)
{
paths.add(new Pair<Path, QName>(catPair.getFirst().getBaseNamePath(tenantService), catPair.getSecond()));
}
nodeMetaData.setPaths(paths);
}

View File

@@ -21,7 +21,9 @@ package org.alfresco.repo.transfer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.alfresco.repo.tenant.TenantService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.Path.Element;
import org.alfresco.util.ISO9075;
public class PathHelper
@@ -74,6 +76,15 @@ public class PathHelper
return elementString;
}
/* (non-Javadoc)
* @see org.alfresco.service.cmr.repository.Path.Element#getBaseNameElement(org.alfresco.repo.tenant.TenantService)
*/
@Override
public Element getBaseNameElement(TenantService tenantService)
{
return new SimplePathElement(elementString);
}
}
}