From 5a02d650ee48ed7d7517f935bd1de43234a2c40a Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Sun, 3 Nov 2013 18:31:50 +0100 Subject: [PATCH] avoid cloning --- .../cora/federate/solr/connector/AbstractSolrConnector.java | 3 +-- .../solr/connector/ConcurrentUpdateSolrConnector.java | 4 ++-- .../cora/federate/solr/connector/EmbeddedSolrConnector.java | 5 ++--- .../cora/federate/solr/connector/MirrorSolrConnector.java | 2 +- .../net/yacy/cora/federate/solr/connector/SolrConnector.java | 2 +- source/net/yacy/search/index/Fulltext.java | 2 +- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/source/net/yacy/cora/federate/solr/connector/AbstractSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/AbstractSolrConnector.java index e2f6f31d3..65a1e2783 100644 --- a/source/net/yacy/cora/federate/solr/connector/AbstractSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/AbstractSolrConnector.java @@ -21,7 +21,6 @@ package net.yacy.cora.federate.solr.connector; import java.io.IOException; -import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -235,7 +234,7 @@ public abstract class AbstractSolrConnector implements SolrConnector { * @return a collection of a subset of the ids which exist in the index * @throws IOException */ - public Set existsByIds(Collection ids) throws IOException { + public Set existsByIds(Set ids) throws IOException { if (ids == null || ids.size() == 0) return new HashSet(); // construct raw query final SolrQuery params = new SolrQuery(); diff --git a/source/net/yacy/cora/federate/solr/connector/ConcurrentUpdateSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/ConcurrentUpdateSolrConnector.java index 8eff5f315..7c7428e00 100644 --- a/source/net/yacy/cora/federate/solr/connector/ConcurrentUpdateSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/ConcurrentUpdateSolrConnector.java @@ -326,10 +326,10 @@ public class ConcurrentUpdateSolrConnector implements SolrConnector { } @Override - public Set existsByIds(Collection ids) throws IOException { + public Set existsByIds(Set ids) throws IOException { HashSet e = new HashSet(); if (ids == null || ids.size() == 0) return e; - Collection idsC = new HashSet(); + Set idsC = new HashSet(); for (String id: ids) { if (this.idCache.has(ASCII.getBytes(id))) {cacheSuccessSign(); e.add(id); continue;} if (existIdFromDeleteQueue(id)) {cacheSuccessSign(); continue;} diff --git a/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java index 6348c79a3..533ecb080 100644 --- a/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/EmbeddedSolrConnector.java @@ -22,7 +22,6 @@ package net.yacy.cora.federate.solr.connector; import java.io.IOException; -import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.concurrent.BlockingQueue; @@ -224,9 +223,9 @@ public class EmbeddedSolrConnector extends SolrServerConnector implements SolrCo } @Override - public Set existsByIds(Collection ids) { + public Set existsByIds(Set ids) { if (ids == null || ids.size() == 0) return new HashSet(); - if (ids.size() == 1 && ids instanceof Set) return existsById(ids.iterator().next()) ? (Set) ids : new HashSet(); + if (ids.size() == 1) return existsById(ids.iterator().next()) ? ids : new HashSet(); StringBuilder sb = new StringBuilder(); // construct something like "({!raw f=id}Ij7B63g-gSHA) OR ({!raw f=id}PBcGI3g-gSHA)" for (String id: ids) { sb.append("({!raw f=").append(CollectionSchema.id.getSolrFieldName()).append('}').append(id).append(") OR "); diff --git a/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java b/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java index 3f7a1453c..282ab65d0 100644 --- a/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/MirrorSolrConnector.java @@ -347,7 +347,7 @@ public class MirrorSolrConnector extends AbstractSolrConnector implements SolrCo } @Override - public Set existsByIds(Collection ids) throws IOException { + public Set existsByIds(Set ids) throws IOException { if (this.solr0 != null && this.solr1 == null) return this.solr0.existsByIds(ids); if (this.solr0 == null && this.solr1 != null) return this.solr1.existsByIds(ids); Set s = new HashSet(); diff --git a/source/net/yacy/cora/federate/solr/connector/SolrConnector.java b/source/net/yacy/cora/federate/solr/connector/SolrConnector.java index e7a3dd957..8fb31c531 100644 --- a/source/net/yacy/cora/federate/solr/connector/SolrConnector.java +++ b/source/net/yacy/cora/federate/solr/connector/SolrConnector.java @@ -106,7 +106,7 @@ public interface SolrConnector extends Iterable /* Iterable of document * @return a collection of a subset of the ids which exist in the index * @throws IOException */ - public Set existsByIds(Collection ids) throws IOException; + public Set existsByIds(Set ids) throws IOException; /** * check if a given document exists in solr diff --git a/source/net/yacy/search/index/Fulltext.java b/source/net/yacy/search/index/Fulltext.java index 46389247c..58f3e3a8f 100644 --- a/source/net/yacy/search/index/Fulltext.java +++ b/source/net/yacy/search/index/Fulltext.java @@ -620,7 +620,7 @@ public final class Fulltext { public Set exists(Collection ids) { HashSet e = new HashSet(); if (ids == null || ids.size() == 0) return e; - Collection idsC = new HashSet(); + Set idsC = new HashSet(); idsC.addAll(ids); if (this.urlIndexFile != null) { Iterator idsi = idsC.iterator();