Merge pull request #1967 from OpenRefine/compute_recon_features_bug
Fix Recon features computation for empty recons
This commit is contained in:
commit
7144798aac
@ -566,8 +566,8 @@ public class StandardReconConfig extends ReconConfig {
|
|||||||
* @param text
|
* @param text
|
||||||
* the cell value to compare the reconciliation data to
|
* the cell value to compare the reconciliation data to
|
||||||
*/
|
*/
|
||||||
public void computeFeatures(Recon recon, String text) {
|
public void computeFeatures(Recon recon, String text) {
|
||||||
if (!recon.candidates.isEmpty()) {
|
if (recon.candidates != null && !recon.candidates.isEmpty()) {
|
||||||
ReconCandidate candidate = recon.candidates.get(0);
|
ReconCandidate candidate = recon.candidates.get(0);
|
||||||
|
|
||||||
recon.setFeature(Recon.Feature_nameMatch, text.equalsIgnoreCase(candidate.name));
|
recon.setFeature(Recon.Feature_nameMatch, text.equalsIgnoreCase(candidate.name));
|
||||||
@ -587,7 +587,7 @@ public class StandardReconConfig extends ReconConfig {
|
|||||||
} else {
|
} else {
|
||||||
recon.features = new Object[Recon.Feature_max];
|
recon.features = new Object[Recon.Feature_max];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static protected double wordDistance(String s1, String s2) {
|
static protected double wordDistance(String s1, String s2) {
|
||||||
Set<String> words1 = breakWords(s1);
|
Set<String> words1 = breakWords(s1);
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
package com.google.refine.tests.model.recon;
|
package com.google.refine.tests.model.recon;
|
||||||
|
|
||||||
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertEquals;
|
||||||
|
import static org.testng.Assert.assertNotNull;
|
||||||
import static org.testng.Assert.assertNull;
|
import static org.testng.Assert.assertNull;
|
||||||
import static org.testng.Assert.assertTrue;
|
import static org.testng.Assert.assertTrue;
|
||||||
|
|
||||||
@ -333,4 +334,15 @@ public class StandardReconConfigTests extends RefineTest {
|
|||||||
assertEquals(recon.candidates.get(0).score, 0.3);
|
assertEquals(recon.candidates.get(0).score, 0.3);
|
||||||
assertEquals(recon.candidates.get(0).id, "18951129");
|
assertEquals(recon.candidates.get(0).id, "18951129");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* computing the features on an empty recon should not fail
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testComputeFeatures() {
|
||||||
|
StandardReconConfigStub stub = new StandardReconConfigStub();
|
||||||
|
Recon recon = stub.createNewRecon(2384738L);
|
||||||
|
stub.computeFeatures(recon, "my string");
|
||||||
|
assertNotNull(recon.features);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user