summaryrefslogtreecommitdiffstats
path: root/docproc
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-09-18 12:54:21 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2018-10-25 20:23:16 +0200
commit85b08b29cc2bc6355fb896ee63786b01beebeba5 (patch)
tree6146a6e12b4bdce08ed62a4dd384f95e71f375a2 /docproc
parent6a6f6f8f6695ff8f39132303ca460665882ccaf6 (diff)
Use hashmap for faster access.
Diffstat (limited to 'docproc')
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java13
-rw-r--r--docproc/src/test/java/com/yahoo/docproc/ProcessingUpdateTestCase.java10
-rw-r--r--docproc/src/test/java/com/yahoo/docproc/proxy/SchemaMappingAndAccessesTest.java9
3 files changed, 22 insertions, 10 deletions
diff --git a/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java b/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java
index a0516a62bd9..517f44cb983 100644
--- a/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java
+++ b/docproc/src/main/java/com/yahoo/docproc/proxy/ProxyDocumentUpdate.java
@@ -10,6 +10,7 @@ import com.yahoo.document.Field;
import com.yahoo.document.serialization.DocumentUpdateWriter;
import com.yahoo.document.update.FieldUpdate;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -18,6 +19,7 @@ import java.util.Map;
*
* @author vegardh
*/
+// TODO Vespa 7 Remove all deprecated methods
public class ProxyDocumentUpdate extends DocumentUpdate implements DocumentOperationWrapper {
private DocumentUpdate docU;
@@ -41,10 +43,12 @@ public class ProxyDocumentUpdate extends DocumentUpdate implements DocumentOpera
@Override
public FieldUpdate getFieldUpdate(Field field) {
- return getFieldUpdate(field.getName());
+ return docU.getFieldUpdate(field);
}
@Override
+ @Deprecated
+ @SuppressWarnings( "deprecation" )
public FieldUpdate getFieldUpdate(int index) {
return docU.getFieldUpdate(index);
}
@@ -60,10 +64,15 @@ public class ProxyDocumentUpdate extends DocumentUpdate implements DocumentOpera
}
@Override
+ @Deprecated
+ @SuppressWarnings( "deprecation" )
public List<FieldUpdate> getFieldUpdates() {
return docU.getFieldUpdates();
}
-
+ @Override
+ public Collection<FieldUpdate> fieldUpdates() {
+ return docU.fieldUpdates();
+ }
@Override
public DocumentId getId() {
return docU.getId();
diff --git a/docproc/src/test/java/com/yahoo/docproc/ProcessingUpdateTestCase.java b/docproc/src/test/java/com/yahoo/docproc/ProcessingUpdateTestCase.java
index 9a3a29e55b1..a89dbfcc782 100644
--- a/docproc/src/test/java/com/yahoo/docproc/ProcessingUpdateTestCase.java
+++ b/docproc/src/test/java/com/yahoo/docproc/ProcessingUpdateTestCase.java
@@ -37,8 +37,10 @@ public class ProcessingUpdateTestCase {
@Test
public void testProcessingUpdates() {
DocumentType articleType = new DocumentType("article");
- articleType.addField(new Field("body", DataType.STRING, true));
- articleType.addField(new Field("title", DataType.STRING, true));
+ Field bodyField = new Field("body", DataType.STRING, true);
+ Field titleField = new Field("title", DataType.STRING, true);
+ articleType.addField(bodyField);
+ articleType.addField(titleField);
dtm = new DocumentTypeManager();
dtm.registerDocumentType(articleType);
@@ -69,12 +71,12 @@ public class ProcessingUpdateTestCase {
assertEquals(new StringFieldValue("body blah blah blah "), first.getFieldValue("title"));
DocumentUpdate second = (DocumentUpdate) operations.get(1);
- FieldUpdate firstUpd = second.getFieldUpdate(0);
+ FieldUpdate firstUpd = second.getFieldUpdate(bodyField);
assertEquals(ValueUpdate.ValueUpdateClassID.ASSIGN, firstUpd.getValueUpdate(0).getValueUpdateClassID());
assertEquals(new StringFieldValue("this is the updated body of the article, blahdi blahdi blahdi"), firstUpd.getValueUpdate(0)
.getValue());
- FieldUpdate secondUpd = second.getFieldUpdate(1);
+ FieldUpdate secondUpd = second.getFieldUpdate(titleField);
assertEquals(ValueUpdate.ValueUpdateClassID.ASSIGN, secondUpd.getValueUpdate(0).getValueUpdateClassID());
assertEquals(new StringFieldValue("body blahdi blahdi blahdi "), secondUpd.getValueUpdate(0).getValue());
}
diff --git a/docproc/src/test/java/com/yahoo/docproc/proxy/SchemaMappingAndAccessesTest.java b/docproc/src/test/java/com/yahoo/docproc/proxy/SchemaMappingAndAccessesTest.java
index 05a03480173..e6de3190156 100644
--- a/docproc/src/test/java/com/yahoo/docproc/proxy/SchemaMappingAndAccessesTest.java
+++ b/docproc/src/test/java/com/yahoo/docproc/proxy/SchemaMappingAndAccessesTest.java
@@ -328,16 +328,17 @@ public class SchemaMappingAndAccessesTest {
Document doc = getDoc();
DocumentType type = doc.getDataType();
DocumentUpdate dud = new DocumentUpdate(type, new DocumentId("doc:map:test:1"));
- FieldUpdate assignSingle = FieldUpdate.createAssign(type.getField("title"), new StringFieldValue("something"));
+ com.yahoo.document.Field title = type.getField("title");
+ FieldUpdate assignSingle = FieldUpdate.createAssign(title, new StringFieldValue("something"));
Map<String, String> fieldMap = new HashMap<>();
fieldMap.put("t", "title");
fieldMap.put("a", "artist");
ProxyDocumentUpdate pup = new ProxyDocumentUpdate(dud, fieldMap);
pup.addFieldUpdate(assignSingle);
- assertEquals(pup.getFieldUpdates(), dud.getFieldUpdates());
+ assertEquals(pup.fieldUpdates().toString(), dud.fieldUpdates().toString());
assertEquals(pup.getDocumentType(), dud.getDocumentType());
- assertEquals(pup.getFieldUpdate(new com.yahoo.document.Field("title")).size(), 1);
- assertEquals(pup.getFieldUpdate(0), dud.getFieldUpdate(0));
+ assertEquals(pup.getFieldUpdate(title).size(), 1);
+ assertEquals(pup.getFieldUpdate(title), dud.fieldUpdates().iterator().next());
assertEquals(pup.getFieldUpdate("title"), dud.getFieldUpdate("title"));
assertEquals(pup.getId(), dud.getId());
assertEquals(pup.getType(), dud.getType());