81 lines
2.7 KiB
Java
Executable File
81 lines
2.7 KiB
Java
Executable File
package org.gcube.contentmanagement.lexicalmatcher.analysis.guesser.data;
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
import org.gcube.contentmanagement.lexicalmatcher.analysis.core.LexicalEngineConfiguration;
|
|
import org.gcube.contentmanagement.lexicalmatcher.analysis.guesser.treeStructure.graph.GraphFramer;
|
|
|
|
|
|
|
|
public class TSObjectTransformer {
|
|
|
|
/**
|
|
* @param args
|
|
*/
|
|
public static void main(String[] args) {
|
|
// TODO Auto-generated method stub
|
|
|
|
}
|
|
|
|
public static CategoryOrderedList transform2List(DBObjectTranslator dbo, LexicalEngineConfiguration config){
|
|
return transform2List(dbo,config,null);
|
|
}
|
|
|
|
public static CategoryOrderedList transform2List(DBObjectTranslator dbo, LexicalEngineConfiguration config, String filter){
|
|
CategoryOrderedList col = new CategoryOrderedList(config);
|
|
for (Category cat:dbo.categories){
|
|
if ((filter==null) || filter.equalsIgnoreCase(cat.getName()))
|
|
col.addCategory(cat);
|
|
}
|
|
return col;
|
|
}
|
|
|
|
|
|
|
|
public static void transform2Graph(DBObjectTranslator dbo){
|
|
|
|
GraphFramer starter = new GraphFramer("Time Series Graph");
|
|
BigDecimal total = new BigDecimal(dbo.totalCatElements);
|
|
// total = new BigDecimal(100).divide(total,2,BigDecimal.ROUND_HALF_UP);
|
|
for (Category cat:dbo.categories){
|
|
|
|
BigDecimal bd = new BigDecimal(cat.getNumberOfElements());
|
|
|
|
bd = bd.divide(total,4,BigDecimal.ROUND_HALF_UP);
|
|
bd = bd.multiply(new BigDecimal(100));
|
|
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
// double perc = bd.doubleValue()*100;
|
|
|
|
String builtname = cat.getName()+":"+bd+"% ";
|
|
|
|
starter.graphDisplayer.addVertex(builtname);
|
|
}
|
|
for (RelationEdge rel:dbo.relations){
|
|
Category cat = dbo.getCategoryfromIndex(rel.getFrom());
|
|
BigDecimal bd = new BigDecimal(cat.getNumberOfElements());
|
|
bd = bd.divide(total,4,BigDecimal.ROUND_HALF_UP);
|
|
bd = bd.multiply(new BigDecimal(100));
|
|
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
// double perc = bd.doubleValue()*100;
|
|
|
|
String name1 = cat.getName()+":"+bd+"% ";
|
|
|
|
cat = dbo.getCategoryfromIndex(rel.getTo());
|
|
bd = new BigDecimal(cat.getNumberOfElements());
|
|
bd = bd.divide(total,4,BigDecimal.ROUND_HALF_UP);
|
|
bd = bd.multiply(new BigDecimal(100));
|
|
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
// perc = bd.doubleValue()+100;
|
|
|
|
String name2 = cat.getName()+":"+bd+"% ";
|
|
starter.graphDisplayer.addEdge(name1,name2,new BigDecimal(rel.getWeigth()).divide(new BigDecimal(dbo.totalCatElements),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).doubleValue());
|
|
// starter.graphDisplayer.addEdge(name1,name2,0);
|
|
}
|
|
|
|
// starter.graphDisplayer.generateRandomGraph();
|
|
starter.graphDisplayer.generateUpTo5StarGraph();
|
|
|
|
starter.go();
|
|
}
|
|
}
|