@@ -38,15 +38,15 @@ public final class LinkerProbabilistic {
38
38
private static final float MISSING_PENALTY = 0.925F ;
39
39
static List <ProbabilisticField > currentProbabilisticLinkFields = LINKER_CONFIG .probabilisticLinkFields
40
40
.stream ()
41
- .map (f -> new ProbabilisticField (getSimilarityFunction (f .similarityScore ()), f .comparisonLevels (), f .m (), f .u ()))
41
+ .map (f -> new ProbabilisticField (getSimilarityFunction (SimilarityFunctionName . valueOf ( f .similarityScore () )), f .comparisonLevels (), f .m (), f .u ()))
42
42
.toList ();
43
43
static List <ProbabilisticField > currentProbabilisticValidateFields = LINKER_CONFIG .probabilisticValidateFields
44
44
.stream ()
45
- .map (f -> new ProbabilisticField (getSimilarityFunction (f .similarityScore ()), f .comparisonLevels (), f .m (), f .u ()))
45
+ .map (f -> new ProbabilisticField (getSimilarityFunction (SimilarityFunctionName . valueOf ( f .similarityScore () )), f .comparisonLevels (), f .m (), f .u ()))
46
46
.toList ();
47
47
static List <ProbabilisticField > currentProbabilisticMatchFields = LINKER_CONFIG .probabilisticMatchNotificationFields
48
48
.stream ()
49
- .map (f -> new ProbabilisticField (getSimilarityFunction (f .similarityScore ()), f .comparisonLevels (), f .m (), f .u ()))
49
+ .map (f -> new ProbabilisticField (getSimilarityFunction (SimilarityFunctionName . valueOf ( f .similarityScore () )), f .comparisonLevels (), f .m (), f .u ()))
50
50
.toList ();
51
51
52
52
static List <ProbabilisticField > updatedProbabilisticLinkFields = null ;
@@ -67,22 +67,30 @@ static List<ProbabilisticField> toLinkProbabilisticFieldList(
67
67
final var list = new ArrayList <ProbabilisticField >();
68
68
for (int i = 0 ; i < mu .size (); i ++) {
69
69
list .add (new ProbabilisticField (
70
- getSimilarityFunction (probabilisticMetaData .get (i ).similarityScore ()),
70
+ getSimilarityFunction (SimilarityFunctionName . valueOf ( probabilisticMetaData .get (i ).similarityScore () )),
71
71
probabilisticMetaData .get (i ).comparisonLevels (),
72
72
mu .get (i ).m (), mu .get (i ).u ()));
73
73
}
74
74
return list ;
75
75
}
76
76
77
- static SimilarityScore <Double > getSimilarityFunction (final String func ) {
77
+ public enum SimilarityFunctionName {
78
+ JARO_WINKLER_SIMILARITY ,
79
+ JARO_SIMILARITY ,
80
+ JACCARD_SIMILARITY ,
81
+ SOUNDEX_SIMILARITY ,
82
+ EXACT_SIMILARITY
83
+ }
84
+
85
+ static SimilarityScore <Double > getSimilarityFunction (final SimilarityFunctionName func ) {
78
86
switch (func ) {
79
- case " JARO_WINKLER_SIMILARITY" :
87
+ case JARO_WINKLER_SIMILARITY :
80
88
return JARO_WINKLER_SIMILARITY ;
81
- case " JARO_SIMILARITY" :
89
+ case JARO_SIMILARITY :
82
90
return JARO_SIMILARITY ;
83
- case " JACCARD_SIMILARITY" :
91
+ case JACCARD_SIMILARITY :
84
92
return JACCARD_SIMILARITY ;
85
- case " SOUNDEX_SIMILARITY" :
93
+ case SOUNDEX_SIMILARITY :
86
94
return SOUNDEX_SIMILARITY ;
87
95
default :
88
96
return EXACT_SIMILARITY ;
@@ -297,7 +305,7 @@ public Double apply(
297
305
return 0.5 ;
298
306
}
299
307
300
- return StringUtils .equals (soundex .soundex (( String ) left ), soundex .soundex (( String ) right ))
308
+ return StringUtils .equals (soundex .soundex (left . toString () ), soundex .soundex (right . toString () ))
301
309
? 1.0
302
310
: 0.0 ;
303
311
}
0 commit comments