Gianpaolo Coro 2013-03-19 11:56:26 +00:00
parent f51d727c04
commit 0586a978c9
2 changed files with 55 additions and 6 deletions

View File

@ -5,6 +5,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.configuration.INFRASTRUCTURE;
import org.gcube.dataanalysis.ecoengine.datatypes.PrimitiveType;
@ -18,8 +19,8 @@ import org.gcube.dataanalysis.taxamatch.fin.func_Taxamatch;
public class TaxaMatchTransducer implements Transducerer{
public static enum operators {EQUAL, NOT_EQUAL,CONTAINS,BEGINS_WITH,ENDS_WITH};
static String GenusOperator = "Comparison Operator for Genus";
static String SpeciesOperator = "Comparison Operator for Species";
static String GenusOperator = "ComparisonOperatorforGenus";
static String SpeciesOperator = "ComparisonOperatorforSpecies";
static String Genus = "Genus";
static String Species = "Species";
protected AlgorithmConfiguration config;
@ -94,6 +95,8 @@ public class TaxaMatchTransducer implements Transducerer{
@Override
public void compute() throws Exception {
AnalysisLogger.setLogger(config.getConfigPath() + AlgorithmConfiguration.defaultLoggerFile);
String genus = config.getParam(Genus);
String species = config.getParam(Species);
String genusOperator = config.getParam(GenusOperator);
@ -104,17 +107,26 @@ public class TaxaMatchTransducer implements Transducerer{
String databasePwd = "0b1s@d4sc13nc3";
String databaseName = "fishbase";
AnalysisLogger.getLogger().trace("Computing matching for "+genus+" "+species);
AnalysisLogger.getLogger().trace("With operators: "+genusOperator+" "+speciesOperator);
func_Taxamatch func = new func_Taxamatch();
String[] matches = func.func_Taxamatch(genus, species, genusOperator, speciesOperator, databaseIP, databaseUser, databasePwd, databaseName);
if ((matches==null) || (matches.length==0))
if ((matches==null) || (matches.length==0)){
AnalysisLogger.getLogger().trace("No match");
count.put("Number of Matches", "0");
}
else{
AnalysisLogger.getLogger().trace("Found "+matches[0]+" matches");
count.put("Number of Matches", matches[0]);
for (int i=1;i<matches.length;i++){
count.put("Match "+i, matches[i]);
String[] speciesn = matches[1].split("\n");
for (int i=0;i<speciesn.length;i++){
count.put("Match "+(i+1), speciesn[i].trim());
}
}
AnalysisLogger.getLogger().trace("Returning map: "+count);
}
status = 100;
}
}

View File

@ -0,0 +1,37 @@
package org.gcube.dataanalysis.test;
import java.util.List;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.evaluation.bioclimate.InterpolateTables.INTERPOLATIONFUNCTIONS;
import org.gcube.dataanalysis.ecoengine.interfaces.ComputationalAgent;
import org.gcube.dataanalysis.ecoengine.processing.factories.TransducerersFactory;
import org.gcube.dataanalysis.ecoengine.test.regression.Regressor;
public class TestFinTaxaMatch {
public static void main(String[] args) throws Exception {
System.out.println("TEST 1");
List<ComputationalAgent> trans = null;
trans = TransducerersFactory.getTransducerers(testConfig());
trans.get(0).init();
Regressor.process(trans.get(0));
trans = null;
}
private static AlgorithmConfiguration testConfig() {
AlgorithmConfiguration config = Regressor.getConfig();
config.setAgent("FIN_TAXA_MATCH");
config.setParam("Genus", "Gaduss");
config.setParam("Species", "morhua");
config.setParam("ComparisonOperatorforGenus", "EQUAL");
config.setParam("ComparisonOperatorforSpecies", "EQUAL");
return config;
}
}