summaryrefslogtreecommitdiffstats
path: root/fsa
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-01-06 12:17:03 +0000
committerArne H Juul <arnej@yahooinc.com>2022-01-07 07:51:55 +0000
commit3ff4626645dfea192e6ae34f0488cb8e8c987b1f (patch)
tree96bada7bf090c111b494d7a2af0b0eb3617aa703 /fsa
parent0867ac297c706bf962c2154ba2425f3a2ba2fa88 (diff)
modernize java slightly
rewrite to avoid "rawtypes" and "unchecked" warnings. Note: does not change ABI.
Diffstat (limited to 'fsa')
-rw-r--r--fsa/src/main/java/com/yahoo/fsa/FSA.java12
-rw-r--r--fsa/src/main/java/com/yahoo/fsa/segmenter/Segmenter.java6
-rw-r--r--fsa/src/main/java/com/yahoo/fsa/segmenter/Segments.java26
-rw-r--r--fsa/src/main/java/com/yahoo/fsa/topicpredictor/TopicPredictor.java6
-rw-r--r--fsa/src/test/java/com/yahoo/fsa/test/FSAIteratorTestCase.java6
5 files changed, 29 insertions, 27 deletions
diff --git a/fsa/src/main/java/com/yahoo/fsa/FSA.java b/fsa/src/main/java/com/yahoo/fsa/FSA.java
index a964b32c54a..fcc940a335c 100644
--- a/fsa/src/main/java/com/yahoo/fsa/FSA.java
+++ b/fsa/src/main/java/com/yahoo/fsa/FSA.java
@@ -188,10 +188,10 @@ public class FSA implements Closeable {
*/
public Item(FSA fsa, int state) {
this.fsa = fsa;
- this.string = new java.util.Stack();
+ this.string = new java.util.Stack<>();
this.symbol = 0;
this.state = state;
- this.stack = new java.util.Stack();
+ this.stack = new java.util.Stack<>();
}
/**
@@ -199,7 +199,7 @@ public class FSA implements Closeable {
*/
public Item(Item item) {
this.fsa = item.fsa;
- this.string = new java.util.Stack();
+ this.string = new java.util.Stack<>();
for (java.util.Iterator<Byte> itr = item.string.iterator(); itr.hasNext(); ) {
byte b = itr.next();
this.string.push(b);
@@ -415,7 +415,7 @@ public class FSA implements Closeable {
if ((mmap == null) || !mmap.isDirect()) return;
try {
- Class unsafeClass;
+ Class<?> unsafeClass;
try {
unsafeClass = Class.forName("sun.misc.Unsafe");
} catch (Exception ex) {
@@ -468,8 +468,8 @@ public class FSA implements Closeable {
* @return the loaded FSA
* @throws RuntimeException if the class could not be loaded
*/
- public static FSA loadFromResource(String resourceFileName,Class loadingClass) {
- URL fsaUrl=loadingClass.getResource(resourceFileName);
+ public static FSA loadFromResource(String resourceFileName, Class<?> loadingClass) {
+ URL fsaUrl = loadingClass.getResource(resourceFileName);
if ( ! "file".equals(fsaUrl.getProtocol())) {
throw new RuntimeException("Could not open non-file url '" + fsaUrl + "' as a file input stream: " +
"The classloader of " + loadingClass + "' does not return file urls");
diff --git a/fsa/src/main/java/com/yahoo/fsa/segmenter/Segmenter.java b/fsa/src/main/java/com/yahoo/fsa/segmenter/Segmenter.java
index 7c3e76996bb..4edac362131 100644
--- a/fsa/src/main/java/com/yahoo/fsa/segmenter/Segmenter.java
+++ b/fsa/src/main/java/com/yahoo/fsa/segmenter/Segmenter.java
@@ -60,7 +60,7 @@ public class Segmenter {
public Segments segment(String[] tokens) {
Segments segments = new Segments(tokens);
- LinkedList detectors = new LinkedList();
+ LinkedList<Detector> detectors = new LinkedList<>();
int i=0;
@@ -68,9 +68,9 @@ public class Segmenter {
while(i<tokens.length){
detectors.add(new Detector(fsa.getState(), i));
- ListIterator det_it = detectors.listIterator();
+ ListIterator<Detector> det_it = detectors.listIterator();
while(det_it.hasNext()){
- Detector d = (Detector)det_it.next();
+ Detector d = det_it.next();
d.state().deltaWord(tokens[i]);
if(d.state().isFinal()){
segments.add(new Segment(d.index(),i+1,d.state().data().getInt(0)));
diff --git a/fsa/src/main/java/com/yahoo/fsa/segmenter/Segments.java b/fsa/src/main/java/com/yahoo/fsa/segmenter/Segments.java
index 89368e2bf8f..376b9a69954 100644
--- a/fsa/src/main/java/com/yahoo/fsa/segmenter/Segments.java
+++ b/fsa/src/main/java/com/yahoo/fsa/segmenter/Segments.java
@@ -8,7 +8,7 @@ import java.util.LinkedList;
*
* @author Peter Boros
*/
-public class Segments extends LinkedList {
+public class Segments extends LinkedList<Segment> {
public final static int SEGMENTATION_WEIGHTED = 0;
public final static int SEGMENTATION_WEIGHTED_BIAS10 = 1;
@@ -43,10 +43,11 @@ public class Segments extends LinkedList {
}
}
- public void add(Segment s)
+ public boolean add(Segment s)
{
- super.add(s);
+ var result = super.add(s);
_map[s.beg()][s.end()]=super.size()-1;
+ return result;
}
private void addMissingSingles()
@@ -76,8 +77,8 @@ public class Segments extends LinkedList {
if(idx<0 || idx>=super.size()){
return null;
}
- String s = new String(_tokens[((Segment)(super.get(idx))).beg()]);
- for(int i=((Segment)(super.get(idx))).beg()+1;i<((Segment)(super.get(idx))).end();i++){
+ String s = new String(_tokens[super.get(idx).beg()]);
+ for(int i = super.get(idx).beg() + 1; i < super.get(idx).end(); i++){
s += " " + _tokens[i];
}
return s;
@@ -88,7 +89,7 @@ public class Segments extends LinkedList {
if(idx<0 || idx>=super.size()){
return -1;
}
- return ((Segment)(super.get(idx))).beg();
+ return super.get(idx).beg();
}
public int end(int idx)
@@ -96,7 +97,7 @@ public class Segments extends LinkedList {
if(idx<0 || idx>=super.size()){
return -1;
}
- return ((Segment)(super.get(idx))).end();
+ return super.get(idx).end();
}
public int len(int idx)
@@ -104,7 +105,7 @@ public class Segments extends LinkedList {
if(idx<0 || idx>=super.size()){
return -1;
}
- return ((Segment)(super.get(idx))).len();
+ return super.get(idx).len();
}
public int conn(int idx)
@@ -112,9 +113,10 @@ public class Segments extends LinkedList {
if(idx<0 || idx>=super.size()){
return -1;
}
- return ((Segment)(super.get(idx))).conn();
+ return super.get(idx).conn();
}
+ @SuppressWarnings("fallthrough")
public Segments segmentation(int method)
{
Segments smnt = new Segments(_tokens);
@@ -170,7 +172,7 @@ public class Segments extends LinkedList {
}
id = bestid;
while(id!=-1){
- smnt.add(((Segment)(super.get(id))));
+ smnt.add(super.get(id));
id=nextid[id];
}
break;
@@ -189,7 +191,7 @@ public class Segments extends LinkedList {
next = i;
}
}
- smnt.add((Segment)(super.get(bestid)));
+ smnt.add(super.get(bestid));
pos=next;
}
break;
@@ -302,7 +304,7 @@ public class Segments extends LinkedList {
}
// add segment
- smnt.add((Segment)(super.get(bestid)));
+ smnt.add(super.get(bestid));
// check right side
if(e>end(bestid)){
diff --git a/fsa/src/main/java/com/yahoo/fsa/topicpredictor/TopicPredictor.java b/fsa/src/main/java/com/yahoo/fsa/topicpredictor/TopicPredictor.java
index 7049ad5495d..52dae951165 100644
--- a/fsa/src/main/java/com/yahoo/fsa/topicpredictor/TopicPredictor.java
+++ b/fsa/src/main/java/com/yahoo/fsa/topicpredictor/TopicPredictor.java
@@ -59,7 +59,7 @@ public class TopicPredictor extends MetaData {
* as opposed to the two-argument version.
* @param segment The segment string to find (all) topics for.
* @return (Linked)List of PredictedTopic objects. */
- public List getPredictedTopics(String segment) {
+ public List<PredictedTopic> getPredictedTopics(String segment) {
return getPredictedTopics(segment, 0);
}
@@ -70,8 +70,8 @@ public class TopicPredictor extends MetaData {
* @param segment The segment string to find topics for.
* @param maxTopics The max number of topics to return, 0 for all topics
* @return (Linked)List of PredictedTopic objects. */
- public List getPredictedTopics(String segment, int maxTopics) {
- List predictedTopics = new LinkedList();
+ public List<PredictedTopic> getPredictedTopics(String segment, int maxTopics) {
+ List<PredictedTopic> predictedTopics = new LinkedList<>();
int segIdx = getSegmentIndex(segment);
int[][] topicArr = getTopicArray(segIdx, maxTopics);
diff --git a/fsa/src/test/java/com/yahoo/fsa/test/FSAIteratorTestCase.java b/fsa/src/test/java/com/yahoo/fsa/test/FSAIteratorTestCase.java
index 645536e596b..e99998e16f2 100644
--- a/fsa/src/test/java/com/yahoo/fsa/test/FSAIteratorTestCase.java
+++ b/fsa/src/test/java/com/yahoo/fsa/test/FSAIteratorTestCase.java
@@ -94,7 +94,7 @@ public class FSAIteratorTestCase {
@Test
public void testIteratorEmpty1() {
state.delta("b");
- java.util.Iterator i = fsa.iterator(state);
+ FSA.Iterator i = fsa.iterator(state);
assertFalse(i.hasNext());
try {
i.next();
@@ -107,7 +107,7 @@ public class FSAIteratorTestCase {
@Test
public void testIteratorEmpty2() {
state.delta("daciac");
- java.util.Iterator i = fsa.iterator(state);
+ FSA.Iterator i = fsa.iterator(state);
assertFalse(i.hasNext());
try {
i.next();
@@ -119,7 +119,7 @@ public class FSAIteratorTestCase {
@Test
public void testIteratorRemove() {
- java.util.Iterator i = fsa.iterator(state);
+ FSA.Iterator i = fsa.iterator(state);
try {
i.remove();
assertFalse(true);