Revision: 17436
          http://sourceforge.net/p/gate/code/17436
Author:   adamfunk
Date:     2014-02-26 14:52:59 +0000 (Wed, 26 Feb 2014)
Log Message:
-----------
Adding as much as I can without breaking existing code...

Modified Paths:
--------------
    gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
    
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java
    
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
    gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java
    gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
    gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java

Added Paths:
-----------
    
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java

Modified: 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java
===================================================================
--- 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java    
    2014-02-26 14:47:17 UTC (rev 17435)
+++ 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AbstractTermbank.java    
    2014-02-26 14:52:59 UTC (rev 17436)
@@ -18,7 +18,6 @@
 import gate.*;
 import java.io.*;
 import java.util.*;
-
 import gate.termraider.output.*;
 import gate.termraider.util.*;
 import gate.termraider.gui.*;
@@ -46,9 +45,15 @@
 
   public static final String freqProperty = "frequency";
 
+  protected List<ScoreType> scoreTypes;
 
+
   public Resource init() throws ResourceInstantiationException {
     prepare();
+    initializeScoreTypes();
+    if (this.scoreTypes.size() == 0) {
+      throw new ResourceInstantiationException("No score types found in " + 
this.toString());
+    }
     resetScores();
     processCorpora();
     scanTypesLanguagesDocFreq();
@@ -62,6 +67,30 @@
   }
   
   
+  public List<ScoreType> getScoreTypes() {
+    return this.scoreTypes;
+  }
+  
+  // TODO : make this abstract and implement it
+  // everywhere as part of the overhaul
+  public Number getScore(ScoreType type, Term term) {
+    return 0.0;
+  }
+
+  // TODO : make this abstract and implement it
+  // everywhere as part of the overhaul
+  public Collection<Term> getTerms() {
+    return new HashSet<Term>();
+  }
+  
+  
+  public ScoreType getDefaultScoreType() {
+    return this.scoreTypes.get(0);
+  }
+  
+  protected abstract void initializeScoreTypes();
+  
+  
   public List<Term> getTermsByDescendingScore() {
     return this.termsByDescendingScore;
   }
@@ -267,6 +296,13 @@
   }
   
   
+  public abstract String getCsvHeader();
+
+
+  public abstract String getCsvLine(Term term);
+  
+  
+
   /***** CREOLE PARAMETERS *****/
 
   @CreoleParameter(comment = "input AS name",
@@ -288,11 +324,5 @@
   public Set<String> getInputAnnotationTypes() {
     return this.inputAnnotationTypes;
   }
-
-
-  public abstract String getCsvHeader();
-
-
-  public abstract String getCsvLine(Term term);
   
 }

Modified: 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java
===================================================================
--- 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java  
    2014-02-26 14:47:17 UTC (rev 17435)
+++ 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/AnnotationTermbank.java  
    2014-02-26 14:52:59 UTC (rev 17436)
@@ -139,6 +139,17 @@
   }
   
   
+  protected void initializeScoreTypes() {
+    this.scoreTypes = new ArrayList<ScoreType>();
+    this.scoreTypes.add(new ScoreType(scoreProperty));
+    // TODO Do we need any of this stuff here?
+    //this.termFrequencyST = new ScoreType("termFrequency");
+    //this.scoreTypes.add(termFrequencyST);
+    //this.localDocFrequencyST = new ScoreType("localDocFrequency");
+    //this.scoreTypes.add(localDocFrequencyST);
+  }
+
+  
   /***** CREOLE PARAMETERS *****/
 
   @CreoleParameter(comment = "annotation feature containing the score to 
index",

Modified: 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
===================================================================
--- 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
   2014-02-26 14:47:17 UTC (rev 17435)
+++ 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/DocumentFrequencyBank.java
   2014-02-26 14:52:59 UTC (rev 17436)
@@ -13,11 +13,8 @@
 
 import java.io.File;
 import java.util.*;
-
 import javax.swing.Action;
-
 import org.apache.commons.lang.StringEscapeUtils;
-
 import gate.Annotation;
 import gate.AnnotationSet;
 import gate.Corpus;
@@ -43,9 +40,7 @@
   
   
   private Set<DocumentFrequencyBank> inputBanks;
-  private boolean debugMode;
-  protected String inputASName;
-  protected Set<String> inputAnnotationTypes;
+  // note: corpora inherited from AbstractBank
   
   private int documentTotal;
   private Map<Term, Integer> documentFrequencies;
@@ -268,40 +263,6 @@
   }
 
   
-  @CreoleParameter(comment = "print debugging information during 
initialization",
-          defaultValue = "false")
-  public void setDebugMode(Boolean debug) {
-    this.debugMode = debug;
-  }
-
-  public Boolean getDebugMode() {
-    return this.debugMode;
-  }
-
-  
-  @CreoleParameter(comment = "input AS name",
-          defaultValue = "")
-  public void setInputASName(String name) {
-    this.inputASName = name;
-  }
-  public String getInputASName() {
-    return this.inputASName;
-  }
-  
-  
-  @CreoleParameter(comment = "input annotation types",
-          defaultValue = "SingleWord;MultiWord")
-  public void setInputAnnotationTypes(Set<String> names) {
-    this.inputAnnotationTypes = names;
-  }
-  
-  public Set<String> getInputAnnotationTypes() {
-    return this.inputAnnotationTypes;
-  }
-  
-  
-  
-  
   private void increment(Term term, int i) {
     int count = i;
     if (documentFrequencies.containsKey(term)) {
@@ -332,8 +293,23 @@
   public int getTotalDocs() {
     return this.documentTotal;
   }
+  
+  protected void initializeScoreTypes() {
+    // Whatever this is called, it must be the reference
+    // document frequency, so we will only meed
+    // getDefaultScoreType()
+    this.scoreTypes = new ArrayList<ScoreType>();
+    this.scoreTypes.add(new ScoreType(scoreProperty));
+  }
 
+  
+  @CreoleParameter(comment = "name of main score",
+          defaultValue = "documentFrequency")
+  public void setScoreProperty(String name) {
+    this.scoreProperty = name;
+  }
 
+
   public String getCsvLine(Term term) {
     StringBuilder sb = new StringBuilder();
     sb.append(StringEscapeUtils.escapeCsv(term.getTermString()));

Modified: 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java
===================================================================
--- 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java    
    2014-02-26 14:47:17 UTC (rev 17435)
+++ 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/HyponymyTermbank.java    
    2014-02-26 14:52:59 UTC (rev 17436)
@@ -168,6 +168,20 @@
   }
 
   
+  protected void initializeScoreTypes() {
+    this.scoreTypes = new ArrayList<ScoreType>();
+    this.scoreTypes.add(new ScoreType(scoreProperty));
+    // TODO this TB needs a whole different kettle of fish
+    //this.termFrequencyST = new ScoreType("termFrequency");
+    //this.scoreTypes.add(termFrequencyST);
+    //this.localDocFrequencyST = new ScoreType("localDocFrequency");
+    //this.scoreTypes.add(localDocFrequencyST);
+    //this.refDocFrequencyST = new ScoreType("refDocFrequency");
+    //this.scoreTypes.add(refDocFrequencyST);
+  }
+
+  
+  
   public String getCsvHeader() {
     StringBuilder sb = new StringBuilder();
     sb.append(StringEscapeUtils.escapeCsv("Term"));

Modified: 
gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java
===================================================================
--- gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java   
2014-02-26 14:47:17 UTC (rev 17435)
+++ gate/trunk/plugins/TermRaider/src/gate/termraider/bank/TfIdfTermbank.java   
2014-02-26 14:52:59 UTC (rev 17436)
@@ -18,9 +18,7 @@
 import gate.termraider.bank.modes.IdfCalculation;
 import gate.termraider.bank.modes.TfCalculation;
 import gate.termraider.util.*;
-
 import java.util.*;
-
 import org.apache.commons.lang.StringEscapeUtils;
 
 
@@ -41,6 +39,7 @@
   
   /* EXTRA DATA */
   private int documentCount;
+  private ScoreType termFrequencyST, localDocFrequencyST, refDocFrequencyST;
   
   
   protected void processDocument(Document document) {
@@ -64,6 +63,18 @@
   }
 
   
+  protected void initializeScoreTypes() {
+    this.scoreTypes = new ArrayList<ScoreType>();
+    this.scoreTypes.add(new ScoreType(scoreProperty));
+    this.termFrequencyST = new ScoreType("termFrequency");
+    this.scoreTypes.add(termFrequencyST);
+    this.localDocFrequencyST = new ScoreType("localDocFrequency");
+    this.scoreTypes.add(localDocFrequencyST);
+    this.refDocFrequencyST = new ScoreType("refDocFrequency");
+    this.scoreTypes.add(refDocFrequencyST);
+  }
+
+  
   public int getRefDocFrequency(Term term) {
     return this.docFreqSource.getDocFrequency(term);
   }

Added: 
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
===================================================================
--- 
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java   
                            (rev 0)
+++ 
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java   
    2014-02-26 14:52:59 UTC (rev 17436)
@@ -0,0 +1,77 @@
+/*
+ *  Copyright (c) 2010--2014, The University of Sheffield. See the file
+ *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
+ *
+ *  This file is part of GATE (see http://gate.ac.uk/), and is free
+ *  software, licenced under the GNU Library General Public License,
+ *  Version 2, June 1991 (in the distribution as file licence.html,
+ *  and also available at http://gate.ac.uk/gate/licence.html).
+ *
+ *  $Id$
+ */
+package gate.termraider.gui;
+
+import gate.termraider.bank.AbstractTermbank;
+import gate.termraider.util.*;
+import java.util.*;
+import javax.swing.table.AbstractTableModel;
+
+public class TermbankTableModel extends AbstractTableModel {
+  private static final long serialVersionUID = 3477026307772675813L;
+
+  private List<Term> terms;
+  private AbstractTermbank termbank;
+  private List<ScoreType> scoreTypes;
+
+  
+  public TermbankTableModel(AbstractTermbank termbank) {
+    this.termbank = termbank;
+    this.terms = new ArrayList<Term>(termbank.getTerms());
+    // Is this necessary?  The table will have autosort wedges
+    Collections.sort(this.terms, new TermComparator());
+    this.scoreTypes = termbank.getScoreTypes();
+  }
+
+
+  public int getColumnCount() {
+    // 1 column for the Term itself
+    return this.scoreTypes.size() + 1;
+  }
+
+  
+  public int getRowCount() {
+    return this.terms.size();
+  }
+
+  
+  public Object getValueAt(int row, int col) {
+    Term term = this.terms.get(row); 
+    if (col == 0) {
+      return term.toString();
+    }
+    
+    // Implied else: look the score up;
+    // remember that the scoreType index is off by 1 from the column
+    ScoreType type = scoreTypes.get(col - 1);
+    return this.termbank.getScore(type, term);
+  }
+
+
+  public Class<?> getColumnClass(int col) {
+    if (col == 0) {
+      return String.class;
+    }
+    // implied else
+    return Number.class;
+  }
+
+  
+  public String getColumnName(int col) {
+    if (col == 0) {
+      return "term";
+    }
+    
+    return this.scoreTypes.get(col - 1).toString();
+  }
+
+}


Property changes on: 
gate/trunk/plugins/TermRaider/src/gate/termraider/gui/TermbankTableModel.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: 
gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java
===================================================================
--- gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java    
2014-02-26 14:47:17 UTC (rev 17435)
+++ gate/trunk/plugins/TermRaider/src/gate/termraider/util/AbstractBank.java    
2014-02-26 14:52:59 UTC (rev 17436)
@@ -81,7 +81,7 @@
 
 
   /* Default value is overridden in the implementations   */
-  @CreoleParameter(comment = "name of score property",
+  @CreoleParameter(comment = "name of main score",
           defaultValue = "score")
   public void setScoreProperty(String name) {
     this.scoreProperty = name;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to