You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2011/11/09 09:25:34 UTC
svn commit: r1199644 - in
/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp: maxent/
maxent/io/ model/
Author: joern
Date: Wed Nov 9 08:25:34 2011
New Revision: 1199644
URL: http://svn.apache.org/viewvc?rev=1199644&view=rev
Log:
OPENNLP-366 Used generics to avoid casts. Thanks to Aliaksandr Autayeu for providing a patch.
Modified:
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/DomainToModelMap.java
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/io/GISModelWriter.java
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/AbstractDataIndexer.java
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/ComparableEvent.java
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassDataIndexer.java
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassRealValueDataIndexer.java
incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/TwoPassDataIndexer.java
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/DomainToModelMap.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/DomainToModelMap.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/DomainToModelMap.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/DomainToModelMap.java Wed Nov 9 08:25:34 2011
@@ -37,7 +37,7 @@ import opennlp.model.MaxentModel;
public class DomainToModelMap {
// the underlying object which stores the mapping
- private Map map = Collections.synchronizedMap(new HashMap());
+ private Map<ModelDomain, MaxentModel> map = Collections.synchronizedMap(new HashMap<ModelDomain, MaxentModel>());
/**
* Sets the model for the given domain.
@@ -60,7 +60,7 @@ public class DomainToModelMap {
*/
public MaxentModel getModel(ModelDomain domain) {
if (map.containsKey(domain)) {
- return (MaxentModel) map.get(domain);
+ return map.get(domain);
} else {
throw new NoSuchElementException("No model has been created for "
+ "domain: " + domain);
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/io/GISModelWriter.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/io/GISModelWriter.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/io/GISModelWriter.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/maxent/io/GISModelWriter.java Wed Nov 9 08:25:34 2011
@@ -49,8 +49,8 @@ public abstract class GISModelWriter ext
PARAMS = (Context[]) data[0];
IndexHashTable<String> pmap = (IndexHashTable<String>) data[1];
OUTCOME_LABELS = (String[]) data[2];
- CORRECTION_CONSTANT = ((Integer) data[3]).intValue();
- CORRECTION_PARAM = ((Double) data[4]).doubleValue();
+ CORRECTION_CONSTANT = (Integer) data[3];
+ CORRECTION_PARAM = (Double) data[4];
PRED_LABELS = new String[pmap.size()];
pmap.toArray(PRED_LABELS);
@@ -93,7 +93,7 @@ public abstract class GISModelWriter ext
for (int i = 0; i < compressed.size(); i++) {
List a = (List) compressed.get(i);
- writeUTF(a.size() + ((ComparablePredicate) a.get(0)).toString());
+ writeUTF(a.size() + a.get(0).toString());
}
// the mapping from predicate names to their integer indexes
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/AbstractDataIndexer.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/AbstractDataIndexer.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/AbstractDataIndexer.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/AbstractDataIndexer.java Wed Nov 9 08:25:34 2011
@@ -80,7 +80,7 @@ public abstract class AbstractDataIndexe
* @return The number of unique events in the specified list.
* @since maxent 1.2.6
*/
- protected int sortAndMerge(List eventsToCompare, boolean sort) {
+ protected int sortAndMerge(List<ComparableEvent> eventsToCompare, boolean sort) {
int numUniqueEvents = 1;
numEvents = eventsToCompare.size();
if (sort) {
@@ -89,9 +89,9 @@ public abstract class AbstractDataIndexe
return numUniqueEvents; // nothing to do; edge case (see assertion)
}
- ComparableEvent ce = (ComparableEvent) eventsToCompare.get(0);
+ ComparableEvent ce = eventsToCompare.get(0);
for (int i = 1; i < numEvents; i++) {
- ComparableEvent ce2 = (ComparableEvent) eventsToCompare.get(i);
+ ComparableEvent ce2 = eventsToCompare.get(i);
if (ce.compareTo(ce2) == 0) {
ce.seen++; // increment the seen count
@@ -113,7 +113,7 @@ public abstract class AbstractDataIndexe
numTimesEventsSeen = new int[numUniqueEvents];
for (int i = 0, j = 0; i < numEvents; i++) {
- ComparableEvent evt = (ComparableEvent) eventsToCompare.get(i);
+ ComparableEvent evt = eventsToCompare.get(i);
if (null == evt) {
continue; // this was a dupe, skip over it.
}
@@ -137,7 +137,7 @@ public abstract class AbstractDataIndexe
* @param counter The predicate counters.
* @param cutoff The cutoff which determines whether a predicate is included.
*/
- protected static void update(String[] ec, Set predicateSet, Map<String,Integer> counter, int cutoff) {
+ protected static void update(String[] ec, Set<String> predicateSet, Map<String,Integer> counter, int cutoff) {
for (int j=0; j<ec.length; j++) {
Integer i = counter.get(ec[j]);
if (i == null) {
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/ComparableEvent.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/ComparableEvent.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/ComparableEvent.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/ComparableEvent.java Wed Nov 9 08:25:34 2011
@@ -25,7 +25,7 @@ import java.util.Arrays;
* A maxent event representation which we can use to sort based on the
* predicates indexes contained in the events.
*/
-public class ComparableEvent implements Comparable {
+public class ComparableEvent implements Comparable<ComparableEvent> {
public int outcome;
public int[] predIndexes;
public int seen = 1; // the number of times this event
@@ -48,8 +48,8 @@ public class ComparableEvent implements
this(oc, pids, null);
}
- public int compareTo(Object o) {
- ComparableEvent ce = (ComparableEvent) o;
+ public int compareTo(ComparableEvent ce) {
+
if (outcome < ce.outcome)
return -1;
else if (outcome > ce.outcome)
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassDataIndexer.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassDataIndexer.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassDataIndexer.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassDataIndexer.java Wed Nov 9 08:25:34 2011
@@ -68,7 +68,7 @@ public class OnePassDataIndexer extends
throws IOException {
Map<String, Integer> predicateIndex = new HashMap<String, Integer>();
LinkedList<Event> events;
- List eventsToCompare;
+ List<ComparableEvent> eventsToCompare;
System.out.println("Indexing events using cutoff of " + cutoff + "\n");
@@ -106,7 +106,7 @@ public class OnePassDataIndexer extends
*/
private LinkedList<Event> computeEventCounts(EventStream eventStream,
Map<String, Integer> predicatesInOut, int cutoff) throws IOException {
- Set predicateSet = new HashSet();
+ Set<String> predicateSet = new HashSet<String>();
Map<String, Integer> counter = new HashMap<String, Integer>();
LinkedList<Event> events = new LinkedList<Event>();
while (eventStream.hasNext()) {
@@ -116,25 +116,25 @@ public class OnePassDataIndexer extends
}
predCounts = new int[predicateSet.size()];
int index = 0;
- for (Iterator pi = predicateSet.iterator(); pi.hasNext(); index++) {
- String predicate = (String) pi.next();
+ for (Iterator<String> pi = predicateSet.iterator(); pi.hasNext(); index++) {
+ String predicate = pi.next();
predCounts[index] = counter.get(predicate);
predicatesInOut.put(predicate, index);
}
return events;
}
- protected List index(LinkedList<Event> events,
+ protected List<ComparableEvent> index(LinkedList<Event> events,
Map<String, Integer> predicateIndex) {
Map<String, Integer> omap = new HashMap<String, Integer>();
int numEvents = events.size();
int outcomeCount = 0;
- List eventsToCompare = new ArrayList(numEvents);
+ List<ComparableEvent> eventsToCompare = new ArrayList<ComparableEvent>(numEvents);
List<Integer> indexedContext = new ArrayList<Integer>();
for (int eventIndex = 0; eventIndex < numEvents; eventIndex++) {
- Event ev = (Event) events.removeFirst();
+ Event ev = events.removeFirst();
String[] econtext = ev.getContext();
ComparableEvent ce;
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassRealValueDataIndexer.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassRealValueDataIndexer.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassRealValueDataIndexer.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/OnePassRealValueDataIndexer.java Wed Nov 9 08:25:34 2011
@@ -55,7 +55,7 @@ public class OnePassRealValueDataIndexer
return values;
}
- protected int sortAndMerge(List eventsToCompare,boolean sort) {
+ protected int sortAndMerge(List<ComparableEvent> eventsToCompare,boolean sort) {
int numUniqueEvents = super.sortAndMerge(eventsToCompare,sort);
values = new float[numUniqueEvents][];
int numEvents = eventsToCompare.size();
@@ -74,11 +74,11 @@ public class OnePassRealValueDataIndexer
int numEvents = events.size();
int outcomeCount = 0;
- List eventsToCompare = new ArrayList(numEvents);
+ List<ComparableEvent> eventsToCompare = new ArrayList<ComparableEvent>(numEvents);
List<Integer> indexedContext = new ArrayList<Integer>();
for (int eventIndex=0; eventIndex<numEvents; eventIndex++) {
- Event ev = (Event)events.removeFirst();
+ Event ev = events.removeFirst();
String[] econtext = ev.getContext();
ComparableEvent ce;
Modified: incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/TwoPassDataIndexer.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/TwoPassDataIndexer.java?rev=1199644&r1=1199643&r2=1199644&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/TwoPassDataIndexer.java (original)
+++ incubator/opennlp/trunk/opennlp-maxent/src/main/java/opennlp/model/TwoPassDataIndexer.java Wed Nov 9 08:25:34 2011
@@ -69,7 +69,7 @@ public class TwoPassDataIndexer extends
*/
public TwoPassDataIndexer(EventStream eventStream, int cutoff, boolean sort) throws IOException {
Map<String,Integer> predicateIndex = new HashMap<String,Integer>();
- List eventsToCompare;
+ List<ComparableEvent> eventsToCompare;
System.out.println("Indexing events using cutoff of " + cutoff + "\n");
@@ -117,7 +117,7 @@ public class TwoPassDataIndexer extends
private int computeEventCounts(EventStream eventStream, Writer eventStore, Map<String,Integer> predicatesInOut, int cutoff) throws IOException {
Map<String,Integer> counter = new HashMap<String,Integer>();
int eventCount = 0;
- Set predicateSet = new HashSet();
+ Set<String> predicateSet = new HashSet<String>();
while (eventStream.hasNext()) {
Event ev = eventStream.next();
eventCount++;
@@ -127,8 +127,8 @@ public class TwoPassDataIndexer extends
}
predCounts = new int[predicateSet.size()];
int index = 0;
- for (Iterator pi=predicateSet.iterator();pi.hasNext();index++) {
- String predicate = (String) pi.next();
+ for (Iterator<String> pi=predicateSet.iterator();pi.hasNext();index++) {
+ String predicate = pi.next();
predCounts[index] = counter.get(predicate);
predicatesInOut.put(predicate,index);
}
@@ -136,10 +136,10 @@ public class TwoPassDataIndexer extends
return eventCount;
}
- private List index(int numEvents, EventStream es, Map<String,Integer> predicateIndex) throws IOException {
+ private List<ComparableEvent> index(int numEvents, EventStream es, Map<String,Integer> predicateIndex) throws IOException {
Map<String,Integer> omap = new HashMap<String,Integer>();
int outcomeCount = 0;
- List eventsToCompare = new ArrayList(numEvents);
+ List<ComparableEvent> eventsToCompare = new ArrayList<ComparableEvent>(numEvents);
List<Integer> indexedContext = new ArrayList<Integer>();
while (es.hasNext()) {
Event ev = es.next();