Skip to content

Commit

Permalink
consolidating the classes using template class
Browse files Browse the repository at this point in the history
  • Loading branch information
vikasgupta78 committed Apr 24, 2024
1 parent 4c928d0 commit ba3503f
Show file tree
Hide file tree
Showing 15 changed files with 48 additions and 156 deletions.
Expand Up @@ -4,9 +4,9 @@

import zingg.common.client.FieldDefinition;
import zingg.common.client.MatchType;
import zingg.common.core.similarity.function.CheckNullFunctionDate;
import zingg.common.core.similarity.function.CheckNullFunction;
import zingg.common.core.similarity.function.DateSimilarityFunction;
import zingg.common.core.similarity.function.DateSimilarityFunctionExact;
import zingg.common.core.similarity.function.SimilarityFunctionExact;

public class DateFeature extends BaseFeature<Date> {

Expand All @@ -33,10 +33,10 @@ public void init(FieldDefinition f) {
addSimFunction(new DateSimilarityFunction());
}
if (f.getMatchType().contains(MatchType.EXACT)) {
addSimFunction(new DateSimilarityFunctionExact());
addSimFunction(new SimilarityFunctionExact<Date>("DateSimilarityFunctionExact"));
}
if (f.getMatchType().contains(MatchType.NULL_OR_BLANK)) {
addSimFunction(new CheckNullFunctionDate());
addSimFunction(new CheckNullFunction<Date>("CheckNullFunctionDate"));
}
}

Expand Down
Expand Up @@ -2,9 +2,9 @@

import zingg.common.client.FieldDefinition;
import zingg.common.client.MatchType;
import zingg.common.core.similarity.function.CheckNullFunctionInt;
import zingg.common.core.similarity.function.CheckNullFunction;
import zingg.common.core.similarity.function.IntegerSimilarityFunction;
import zingg.common.core.similarity.function.IntegerSimilarityFunctionExact;
import zingg.common.core.similarity.function.SimilarityFunctionExact;
public class IntFeature extends BaseFeature<Integer> {

private static final long serialVersionUID = 1L;
Expand All @@ -19,10 +19,10 @@ public void init(FieldDefinition newParam) {
addSimFunction(new IntegerSimilarityFunction());
}
if (newParam.getMatchType().contains(MatchType.EXACT)) {
addSimFunction(new IntegerSimilarityFunctionExact());
addSimFunction(new SimilarityFunctionExact<Integer>("IntegerSimilarityFunctionExact"));
}
if (newParam.getMatchType().contains(MatchType.NULL_OR_BLANK)) {
addSimFunction(new CheckNullFunctionInt());
addSimFunction(new CheckNullFunction<Integer>("CheckNullFunctionInt"));
}
}

Expand Down
Expand Up @@ -2,9 +2,9 @@

import zingg.common.client.FieldDefinition;
import zingg.common.client.MatchType;
import zingg.common.core.similarity.function.CheckNullFunctionLong;
import zingg.common.core.similarity.function.CheckNullFunction;
import zingg.common.core.similarity.function.LongSimilarityFunction;
import zingg.common.core.similarity.function.LongSimilarityFunctionExact;
import zingg.common.core.similarity.function.SimilarityFunctionExact;
public class LongFeature extends BaseFeature<Long> {

private static final long serialVersionUID = 1L;
Expand All @@ -19,10 +19,10 @@ public void init(FieldDefinition newParam) {
addSimFunction(new LongSimilarityFunction());
}
if (newParam.getMatchType().contains(MatchType.EXACT)) {
addSimFunction(new LongSimilarityFunctionExact());
addSimFunction(new SimilarityFunctionExact<Long>("LongSimilarityFunctionExact"));
}
if (newParam.getMatchType().contains(MatchType.NULL_OR_BLANK)) {
addSimFunction(new CheckNullFunctionLong());
addSimFunction(new CheckNullFunction<Long>("CheckNullFunctionLong"));
}
}

Expand Down
Expand Up @@ -3,22 +3,18 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class CheckNullFunctionLong extends SimFunction<Long> {
public class CheckNullFunction<T> extends SimFunction<T> {

private static final long serialVersionUID = 1L;
public static final Log LOG = LogFactory
.getLog(CheckNullFunctionLong.class);
.getLog(CheckNullFunction.class);

public CheckNullFunctionLong() {
super("CheckNullFunctionLong");
}

public CheckNullFunctionLong(String name) {
public CheckNullFunction(String name) {
super(name);
}

@Override
public Double call(Long first, Long second) {
public Double call(T first, T second) {
if (first != null && second != null) {
return 1d;
}
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

@@ -1,21 +1,19 @@
package zingg.common.core.similarity.function;

import java.util.Date;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class DateSimilarityFunctionExact extends SimFunction<Date> {
public class SimilarityFunctionExact<T> extends SimFunction<T> {
private static final long serialVersionUID = 1L;
public static final Log LOG = LogFactory
.getLog(DateSimilarityFunctionExact.class);
.getLog(SimilarityFunctionExact.class);

public DateSimilarityFunctionExact() {
super("DateSimilarityFunctionExact");
public SimilarityFunctionExact(String name) {
super(name);
}

@Override
public Double call(Date first, Date second) {
public Double call(T first, T second) {
if (first == null || second == null) return 1d;
double score = first.equals(second) ? 1d : 0d;
return score;
Expand Down
Expand Up @@ -10,26 +10,26 @@ public class TestCheckNullFunctionDate {

@Test
public void testFirstNull() {
CheckNullFunctionDate isNull = new CheckNullFunctionDate();
CheckNullFunction<Date> isNull = new CheckNullFunction<Date>("CheckNullFunctionDate");
assertEquals(0d, isNull.call(null, new Date(2)));
}


@Test
public void testSecondNull() {
CheckNullFunctionDate isNull = new CheckNullFunctionDate();
CheckNullFunction<Date> isNull = new CheckNullFunction<Date>("CheckNullFunctionDate");
assertEquals(0d, isNull.call(new Date(1), null));
}

@Test
public void testBothNull() {
CheckNullFunctionDate isNull = new CheckNullFunctionDate();
CheckNullFunction<Date> isNull = new CheckNullFunction<Date>("CheckNullFunctionDate");
assertEquals(0d, isNull.call(null, null));
}

@Test
public void testBothNotNull() {
CheckNullFunctionDate isNull = new CheckNullFunctionDate();
CheckNullFunction<Date> isNull = new CheckNullFunction<Date>("CheckNullFunctionDate");
assertEquals(1d, isNull.call(new Date(1), new Date(2)));
}

Expand Down
Expand Up @@ -9,26 +9,26 @@ public class TestCheckNullFunctionInt {

@Test
public void testFirstNull() {
CheckNullFunctionInt isNull = new CheckNullFunctionInt();
CheckNullFunction<Integer> isNull = new CheckNullFunction<Integer>("CheckNullFunctionInt");
assertEquals(0d, isNull.call(null, 2));
}


@Test
public void testSecondNull() {
CheckNullFunctionInt isNull = new CheckNullFunctionInt();
CheckNullFunction<Integer> isNull = new CheckNullFunction<Integer>("CheckNullFunctionInt");
assertEquals(0d, isNull.call(1, null));
}

@Test
public void testBothNull() {
CheckNullFunctionInt isNull = new CheckNullFunctionInt();
CheckNullFunction<Integer> isNull = new CheckNullFunction<Integer>("CheckNullFunctionInt");
assertEquals(0d, isNull.call(null, null));
}

@Test
public void testBothNotNull() {
CheckNullFunctionInt isNull = new CheckNullFunctionInt();
CheckNullFunction<Integer> isNull = new CheckNullFunction<Integer>("CheckNullFunctionInt");
assertEquals(1d, isNull.call(1, 2));
}

Expand Down
Expand Up @@ -9,26 +9,26 @@ public class TestCheckNullFunctionLong {

@Test
public void testFirstNull() {
CheckNullFunctionLong isNull = new CheckNullFunctionLong();
CheckNullFunction<Long> isNull = new CheckNullFunction<Long>("CheckNullFunctionLong");
assertEquals(0d, isNull.call(null, 2l));
}


@Test
public void testSecondNull() {
CheckNullFunctionLong isNull = new CheckNullFunctionLong();
CheckNullFunction<Long> isNull = new CheckNullFunction<Long>("CheckNullFunctionLong");
assertEquals(0d, isNull.call(1l, null));
}

@Test
public void testBothNull() {
CheckNullFunctionLong isNull = new CheckNullFunctionLong();
CheckNullFunction<Long> isNull = new CheckNullFunction<Long>("CheckNullFunctionLong");
assertEquals(0d, isNull.call(null, null));
}

@Test
public void testBothNotNull() {
CheckNullFunctionLong isNull = new CheckNullFunctionLong();
CheckNullFunction<Long> isNull = new CheckNullFunction<Long>("CheckNullFunctionLong");
assertEquals(1d, isNull.call(1l, 2l));
}

Expand Down
Expand Up @@ -11,32 +11,32 @@ public class TestDateSimilarityFunctionExact {

@Test
public void testFirstNull() {
DateSimilarityFunctionExact exact = new DateSimilarityFunctionExact();
SimilarityFunctionExact<Date> exact = new SimilarityFunctionExact<Date>("DateSimilarityFunctionExact");
assertEquals(1d, exact.call(null, new Date(2)));
}


@Test
public void testSecondNull() {
DateSimilarityFunctionExact exact = new DateSimilarityFunctionExact();
SimilarityFunctionExact<Date> exact = new SimilarityFunctionExact<Date>("DateSimilarityFunctionExact");
assertEquals(1d, exact.call(new Date(1), null));
}

@Test
public void testBothNull() {
DateSimilarityFunctionExact exact = new DateSimilarityFunctionExact();
SimilarityFunctionExact<Date> exact = new SimilarityFunctionExact<Date>("DateSimilarityFunctionExact");
assertEquals(1d, exact.call(null, null));
}

@Test
public void testNotEqual() {
DateSimilarityFunctionExact exact = new DateSimilarityFunctionExact();
SimilarityFunctionExact<Date> exact = new SimilarityFunctionExact<Date>("DateSimilarityFunctionExact");
assertEquals(0d, exact.call(new Date(101), new Date(102)));
}

@Test
public void testEqual() {
DateSimilarityFunctionExact exact = new DateSimilarityFunctionExact();
SimilarityFunctionExact<Date> exact = new SimilarityFunctionExact<Date>("DateSimilarityFunctionExact");
assertEquals(1d, exact.call(new Date(101), new Date(101)));
}

Expand Down

0 comments on commit ba3503f

Please sign in to comment.