This commit is contained in:
Gianpaolo Coro 2012-08-29 09:52:18 +00:00
parent db1da28d61
commit 500677a435
10 changed files with 252 additions and 24 deletions

View File

@ -0,0 +1 @@
DBSCAN=org.gcube.dataanalysis.ecoengine.clustering.DBScan

View File

@ -0,0 +1 @@
TESTTRANS=org.gcube.dataanalysis.ecoengine.transducers.TestTrans

View File

@ -43,6 +43,8 @@ public class AlgorithmConfiguration extends LexicalEngineConfiguration implement
public static String modelsFile = "models.properties";
public static String modelersFile = "modelers.properties";
public static String evaluatorsFile = "evaluators.properties";
public static String clusterersFile = "clusterers.properties";
public static String transducererFile = "transducerers.properties";
public static String RapidMinerOperatorsFile = "operators.xml";
public static String StatisticalManagerService = "StatisticalManager";
public static String StatisticalManagerClass = "Services";

View File

@ -8,22 +8,22 @@ import org.gcube.dataanalysis.ecoengine.configuration.INFRASTRUCTURE;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
public interface Clusterer {
public INFRASTRUCTURE getInfrastructure();
public void init() throws Exception;
public void setConfiguration(AlgorithmConfiguration config);
public void shutdown();
public float getStatus();
public String getDescription();
public List<StatisticalType> getInputParameters();
public StatisticalType getOutput();
public void cluster() throws Exception;
public List<StatisticalType> getInputParameters();
public StatisticalType getOutput();
public void cluster() throws Exception;
}

View File

@ -0,0 +1,29 @@
package org.gcube.dataanalysis.ecoengine.interfaces;
import java.util.List;
import org.gcube.dataanalysis.ecoengine.configuration.ALG_PROPS;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.configuration.INFRASTRUCTURE;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
public interface Transducerer {
public INFRASTRUCTURE getInfrastructure();
public void init() throws Exception;
public void setConfiguration(AlgorithmConfiguration config);
public void shutdown();
public float getStatus();
public String getDescription();
public List<StatisticalType> getInputParameters();
public StatisticalType getOutput();
public void transform() throws Exception;
}

View File

@ -0,0 +1,33 @@
package org.gcube.dataanalysis.ecoengine.processing.factories;
import java.util.ArrayList;
import java.util.List;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
import org.gcube.dataanalysis.ecoengine.interfaces.Clusterer;
public class ClusterersFactory {
public static Clusterer getClusterer(AlgorithmConfiguration config) throws Exception {
Clusterer clus = (Clusterer) ProcessorsFactory.getProcessor(config, config.getConfigPath() + AlgorithmConfiguration.clusterersFile);
return clus;
}
public static List<String> getAllClusterers(String configPath) throws Exception {
List<String> cluss = ProcessorsFactory.getClasses(configPath + AlgorithmConfiguration.clusterersFile);
return cluss;
}
public static List<StatisticalType> getClustererParameters(String configPath, String algorithmName) throws Exception {
List<StatisticalType> inputs = ProcessorsFactory.getParameters(configPath + AlgorithmConfiguration.clusterersFile, algorithmName);
return inputs;
}
public static List<Clusterer> getClusterers(AlgorithmConfiguration config) throws Exception {
List<Clusterer> clusterers = new ArrayList<Clusterer>();
clusterers.add(getClusterer(config));
return clusterers;
}
}

View File

@ -8,11 +8,13 @@ import java.util.Properties;
import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
import org.gcube.dataanalysis.ecoengine.interfaces.Clusterer;
import org.gcube.dataanalysis.ecoengine.interfaces.Evaluator;
import org.gcube.dataanalysis.ecoengine.interfaces.Generator;
import org.gcube.dataanalysis.ecoengine.interfaces.Model;
import org.gcube.dataanalysis.ecoengine.interfaces.Modeler;
import org.gcube.dataanalysis.ecoengine.interfaces.SpatialProbabilityDistribution;
import org.gcube.dataanalysis.ecoengine.interfaces.Transducerer;
import org.gcube.dataanalysis.ecoengine.utils.DatabaseFactory;
public class ProcessorsFactory {
@ -52,6 +54,12 @@ public class ProcessorsFactory {
}
else if (algclass instanceof Evaluator) {
return ((Evaluator) algclass).getInputParameters();
}
else if (algclass instanceof Clusterer) {
return ((Clusterer) algclass).getInputParameters();
}
else if (algclass instanceof Transducerer) {
return ((Transducerer) algclass).getInputParameters();
}
else
return ((SpatialProbabilityDistribution) algclass).getInputParameters();
@ -83,7 +91,15 @@ public class ProcessorsFactory {
else if (algclass instanceof Evaluator) {
Evaluator m = (Evaluator) algclass;
return m;
}
}
else if (algclass instanceof Clusterer) {
Clusterer m = (Clusterer) algclass;
return m;
}
else if (algclass instanceof Transducerer) {
Transducerer m = (Transducerer) algclass;
return m;
}
else
return null;
@ -99,6 +115,8 @@ public class ProcessorsFactory {
map.put("DISTRIBUTIONS", GeneratorsFactory.getProbabilityDistributionAlgorithms(configPath));
map.put("MODELS", ModelersFactory.getModels(configPath));
map.put("EVALUATORS", EvaluatorsFactory.getAllEvaluators(configPath));
map.put("CLUSTERERS", ClusterersFactory.getAllClusterers(configPath));
map.put("TRANSDUCERER", TransducerersFactory.getAllTransducerers(configPath));
return map;
}

View File

@ -0,0 +1,34 @@
package org.gcube.dataanalysis.ecoengine.processing.factories;
import java.util.ArrayList;
import java.util.List;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
import org.gcube.dataanalysis.ecoengine.interfaces.Clusterer;
import org.gcube.dataanalysis.ecoengine.interfaces.Transducerer;
public class TransducerersFactory {
public static Transducerer getTransducerer(AlgorithmConfiguration config) throws Exception {
Transducerer tran = (Transducerer) ProcessorsFactory.getProcessor(config, config.getConfigPath() + AlgorithmConfiguration.transducererFile);
return tran;
}
public static List<String> getAllTransducerers(String configPath) throws Exception {
List<String> trans = ProcessorsFactory.getClasses(configPath + AlgorithmConfiguration.transducererFile);
return trans;
}
public static List<StatisticalType> getTransducerParameters(String configPath, String algorithmName) throws Exception {
List<StatisticalType> inputs = ProcessorsFactory.getParameters(configPath + AlgorithmConfiguration.transducererFile, algorithmName);
return inputs;
}
public static List<Transducerer> getTransducerers(AlgorithmConfiguration config) throws Exception {
List<Transducerer> clusterers = new ArrayList<Transducerer>();
clusterers.add(getTransducerer(config));
return clusterers;
}
}

View File

@ -6,12 +6,16 @@ import java.util.List;
import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
import org.gcube.dataanalysis.ecoengine.interfaces.Clusterer;
import org.gcube.dataanalysis.ecoengine.interfaces.Evaluator;
import org.gcube.dataanalysis.ecoengine.interfaces.Generator;
import org.gcube.dataanalysis.ecoengine.interfaces.Transducerer;
import org.gcube.dataanalysis.ecoengine.processing.factories.ClusterersFactory;
import org.gcube.dataanalysis.ecoengine.processing.factories.EvaluatorsFactory;
import org.gcube.dataanalysis.ecoengine.processing.factories.GeneratorsFactory;
import org.gcube.dataanalysis.ecoengine.processing.factories.ModelersFactory;
import org.gcube.dataanalysis.ecoengine.processing.factories.ProcessorsFactory;
import org.gcube.dataanalysis.ecoengine.processing.factories.TransducerersFactory;
public class TestsMetaInfo {
/**
@ -21,18 +25,18 @@ public class TestsMetaInfo {
public static void main(String[] args) throws Exception {
System.out.println("***TEST 1 - Get Algorithm Information***");
System.out.println("***TEST 1 - Get Generation Algorithm Parameters***");
List<StatisticalType> map = GeneratorsFactory.getAlgorithmParameters("./cfg/","DUMMY");
System.out.println("input for DUMMY algorithm: "+map);
map = GeneratorsFactory.getAlgorithmParameters("./cfg/","AQUAMAPS_SUITABLE");
System.out.println("input for AQUAMAPS_SUITABLE algorithm: "+map);
System.out.println("\n***TEST 2 - Get Single Generator***");
System.out.println("\n***TEST 2 - Get Generator***");
Generator g = GeneratorsFactory.getGenerator(testConfig());
System.out.println("Found generator "+g);
System.out.println("\n***TEST 3 - Get All Algorithms ***");
System.out.println("\n***TEST 3 - Get All Generation Algorithms ***");
System.out.println("Algs: "+GeneratorsFactory.getProbabilityDistributionAlgorithms("./cfg/"));
System.out.println("\n***TEST 4 - Get All Generators ***");
@ -44,7 +48,7 @@ public static void main(String[] args) throws Exception {
System.out.println("\n***TEST 6 - Get All Modelers ***");
System.out.println("Models: "+ModelersFactory.getModelers("./cfg/"));
System.out.println("\n***TEST 7- Get All Model parameters ***");
System.out.println("\n***TEST 7- Get Model parameters ***");
map = ModelersFactory.getModelParameters("./cfg/","HSPEN");
System.out.println("input for HSPEN algorithm: "+map);
@ -52,25 +56,43 @@ public static void main(String[] args) throws Exception {
map = ProcessorsFactory.getDefaultDatabaseConfiguration("./cfg/");
System.out.println("Database Default Values: "+map);
System.out.println("\n***TEST 8- Get Database Default Parameters***");
map = ProcessorsFactory.getDefaultDatabaseConfiguration("./cfg/");
System.out.println("Database Default Values: "+map);
System.out.println("\n***TEST 9- Get Evaluators ***");
System.out.println("\n***TEST 9- Get All Evaluators ***");
System.out.println("Database Default Values: "+EvaluatorsFactory.getAllEvaluators("./cfg/"));
System.out.println("\n***TEST 10- Get Evaluator Parameters ***");
map = EvaluatorsFactory.getEvaluatorParameters("./cfg/","QUALITY_ANALYSIS");
System.out.println("Database Default Values: "+map);
System.out.println("\n***TEST 11- Get Evaluator Parameters ***");
System.out.println("\n***TEST 11- Get Evaluators with a config***");
List<Evaluator> eval = EvaluatorsFactory.getEvaluators(testConfigEvaluator());
System.out.println("Database Default Values: "+eval);
System.out.println("\n***TEST 12- Get Evaluator Parameters ***");
System.out.println("\n***TEST 12- Get All Supported features***");
HashMap<String,List<String>> features = ProcessorsFactory.getAllFeatures("./cfg/");
System.out.println("Database Default Values: "+features);
System.out.println("\n***TEST 13- Get All Clusterers***");
System.out.println("All Clusterers: "+ClusterersFactory.getAllClusterers("./cfg/"));
System.out.println("\n***TEST 14- Get Clusterer Parameters ***");
map = ClusterersFactory.getClustererParameters("./cfg/","DBSCAN");
System.out.println("Clusterers Params: "+map);
System.out.println("\n***TEST 15- Get Clusterers with a config***");
List<Clusterer> clus = ClusterersFactory.getClusterers(testConfigClusterer());
System.out.println("Clusterers list: "+clus);
System.out.println("\n***TEST 16- Get All Transducerers***");
System.out.println("All Transducers: "+TransducerersFactory.getAllTransducerers("./cfg/"));
System.out.println("\n***TEST 17- Get Transducerers Parameters ***");
map = TransducerersFactory.getTransducerParameters("./cfg/","TESTTRANS");
System.out.println("Transducerers Params: "+map);
System.out.println("\n***TEST 18- Get Transducerers with a config***");
List<Transducerer> trans = TransducerersFactory.getTransducerers(testConfigTrans());
System.out.println("Transducerers list: "+trans);
int cores = Runtime.getRuntime().availableProcessors();
System.out.println("Number of cores: "+cores);
}
@ -117,6 +139,28 @@ public static void main(String[] args) throws Exception {
}
private static AlgorithmConfiguration testConfigTrans() {
AlgorithmConfiguration config = new AlgorithmConfiguration();
config.setConfigPath("./cfg/");
config.setPersistencePath("./");
config.setNumberOfResources(1);
config.setAgent("TESTTRANS");
return config;
}
private static AlgorithmConfiguration testConfigClusterer() {
AlgorithmConfiguration config = new AlgorithmConfiguration();
config.setConfigPath("./cfg/");
config.setPersistencePath("./");
config.setNumberOfResources(1);
config.setAgent("DBSCAN");
return config;
}
private static AlgorithmConfiguration testConfigEvaluator() {
AlgorithmConfiguration config = new AlgorithmConfiguration();
config.setConfigPath("./cfg/");

View File

@ -0,0 +1,66 @@
package org.gcube.dataanalysis.ecoengine.transducers;
import java.util.List;
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
import org.gcube.dataanalysis.ecoengine.configuration.INFRASTRUCTURE;
import org.gcube.dataanalysis.ecoengine.datatypes.StatisticalType;
import org.gcube.dataanalysis.ecoengine.interfaces.Transducerer;
public class TestTrans implements Transducerer{
@Override
public INFRASTRUCTURE getInfrastructure() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init() throws Exception {
// TODO Auto-generated method stub
}
@Override
public void setConfiguration(AlgorithmConfiguration config) {
// TODO Auto-generated method stub
}
@Override
public void shutdown() {
// TODO Auto-generated method stub
}
@Override
public float getStatus() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
public List<StatisticalType> getInputParameters() {
// TODO Auto-generated method stub
return null;
}
@Override
public StatisticalType getOutput() {
// TODO Auto-generated method stub
return null;
}
@Override
public void transform() throws Exception {
// TODO Auto-generated method stub
}
}