public void setRandomly(GeneticConfiguration cfg) { Configuration config = cfg.getConfiguration(); Property p = config.getPropertyByName(prop.getName()); p.setComparator(comparators.get((int) (comparators.size() * Math.random()))); }
private boolean isFuzzy(String fieldName) { Comparator c = config.getPropertyByName(fieldName).getComparator(); return c != null && c.isTokenized(); }
public void setFromOther(GeneticConfiguration cfg1, GeneticConfiguration cfg2) { Configuration config = cfg1.getConfiguration(); Configuration other = cfg2.getConfiguration(); Property p1 = config.getPropertyByName(prop.getName()); Property p2 = other.getPropertyByName(prop.getName()); p1.setComparator(p2.getComparator()); } }
public void setFromOther(GeneticConfiguration cfg1, GeneticConfiguration cfg2) { Configuration config = cfg1.getConfiguration(); Configuration other = cfg2.getConfiguration(); Property p1 = config.getPropertyByName(prop.getName()); Property p2 = other.getPropertyByName(prop.getName()); p1.setLowProbability(p2.getLowProbability()); }
public void setFromOther(GeneticConfiguration cfg1, GeneticConfiguration cfg2) { Configuration config = cfg1.getConfiguration(); Configuration other = cfg2.getConfiguration(); Property p1 = config.getPropertyByName(prop.getName()); Property p2 = other.getPropertyByName(prop.getName()); p1.setHighProbability(p2.getHighProbability()); } }
private String getid(Record r) { for (String propname : r.getProperties()) if (config.getPropertyByName(propname).isIdProperty()) return r.getValue(propname); return null; } }
private String getid(Record r) { for (String propname : r.getProperties()) { Property prop = config.getPropertyByName(propname); if (prop == null) throw new DukeConfigException("Record has property " + propname + " which is not in configuration"); if (prop.isIdProperty()) return r.getValue(propname); } return null; }
@Test public void testLookup() throws IOException, SAXException { Configuration config = ConfigLoader.load("classpath:config-lookup.xml"); Property prop = config.getPropertyByName("FIRSTNAME"); assertEquals(Property.Lookup.REQUIRED, prop.getLookupBehaviour()); prop = config.getPropertyByName("LASTNAME"); assertEquals(Property.Lookup.DEFAULT, prop.getLookupBehaviour()); }
public void setRandomly(GeneticConfiguration cfg) { Configuration config = cfg.getConfiguration(); Property p = config.getPropertyByName(prop.getName()); double new_value = drift(config.getThreshold(), 1.0, 0.5); p.setHighProbability(new_value); }
public void setRandomly(GeneticConfiguration cfg) { Configuration config = cfg.getConfiguration(); Property p = config.getPropertyByName(prop.getName()); double new_value = drift(config.getThreshold(), 0.5, 0.0); p.setLowProbability(new_value); }
Map<String, Object> json = new HashMap<String, Object>(); for (String propname : record.getProperties()) { Property prop = config.getPropertyByName(propname);
double prob = 0.5; for (String propname : r1.getProperties()) { Property prop = config.getPropertyByName(propname); if (prop == null) continue; // means the property is unknown
@Test public void testDefaultComparator() throws IOException, SAXException { Configuration config = ConfigLoader.load("classpath:config-no-comparator.xml"); Property prop = config.getPropertyByName("LASTNAME"); assertEquals(null, prop.getComparator()); assertEquals(Property.Lookup.DEFAULT, prop.getLookupBehaviour()); }
@Test public void testDefaultProbs() throws IOException, SAXException { Configuration config = ConfigLoader.load("classpath:config-default-probs.xml"); Property prop = config.getPropertyByName("FIRSTNAME"); assertEquals(0.5, prop.getHighProbability()); assertEquals(0.5, prop.getLowProbability()); assertEquals(Property.Lookup.DEFAULT, prop.getLookupBehaviour()); }
private int checkProperty(String name, Configuration config, Configuration rand) { Property prop = rand.getPropertyByName(name); Property orig = config.getPropertyByName(name); int differences = 0; if (!prop.getComparator().equals(orig.getComparator())) differences++; if (prop.getHighProbability() != orig.getHighProbability()) differences++; if (prop.getLowProbability() != orig.getLowProbability()) differences++; return differences; }
@Test public void canAddCustomComparator() { GeneticConfiguration conf = new GeneticConfiguration(config1); Property aspectProp = new PropertyImpl(propName, null, 0.5, 0.5); List<Comparator> compList = new ArrayList<Comparator>(); compList.add(comparator); ComparatorAspect aspect = new ComparatorAspect(aspectProp, compList); aspect.setRandomly(conf); Property updatedProp = config1.getPropertyByName(propName); Comparator randomComparator = updatedProp.getComparator(); assertTrue("should have custom comparator set, but has : " + randomComparator.getClass(), randomComparator.equals(comparator)); } }
assertEquals(3, config.getProperties().size()); Property prop = config.getPropertyByName("ID"); assertTrue("ID property lost", prop.isIdProperty()); prop = config.getPropertyByName("NAME"); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); prop = config.getPropertyByName("EMAIL"); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability());
assertEquals(3, config.getProperties().size()); Property prop = config.getPropertyByName("ID"); assertTrue("ID property lost", prop.isIdProperty()); prop = config.getPropertyByName("NAME"); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); prop = config.getPropertyByName("EMAIL"); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability());
assertEquals(3, config.getProperties().size()); Property prop = config.getPropertyByName("ID"); assertTrue("ID property lost", prop.isIdProperty()); prop = config.getPropertyByName("NAME"); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); prop = config.getPropertyByName("EMAIL"); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability());
private int countDifferences(Configuration config, Configuration rand) { int differences = 0; if (rand.getThreshold() != config.getThreshold()) differences += 1; Property prop = rand.getPropertyByName("ID"); assertTrue("ID property lost", prop.isIdProperty()); differences += checkProperty("NAME", config, rand); differences += checkProperty("EMAIL", config, rand); return differences; }