Added code to show on top the legend for the synoptic table
[Task #17247] Add numbers to correlation charts git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/performfish-analytics-portlet@181300 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
f101ec3ecd
commit
6ce5550ba8
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/performfish-analytics-portlet-0.2.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||
<classpathentry kind="src" output="target/performfish-analytics-portlet-0.3.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry excluding="**" kind="src" output="target/performfish-analytics-portlet-0.2.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
|
||||
<classpathentry excluding="**" kind="src" output="target/performfish-analytics-portlet-0.3.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
|
@ -35,5 +35,5 @@
|
|||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/performfish-analytics-portlet-0.2.0-SNAPSHOT/WEB-INF/classes"/>
|
||||
<classpathentry kind="output" path="target/performfish-analytics-portlet-0.3.0-SNAPSHOT/WEB-INF/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
eclipse.preferences.version=1
|
||||
lastWarOutDir=/home/francesco-mangiacrapa/eclipse-workspace/performfish-analytics-portlet-TRUNK/target/performfish-analytics-portlet-0.2.0-SNAPSHOT
|
||||
lastWarOutDir=/home/francesco-mangiacrapa/eclipse-workspace/performfish-analytics-portlet-TRUNK/target/performfish-analytics-portlet-0.3.0-SNAPSHOT
|
||||
warSrcDir=src/main/webapp
|
||||
warSrcDirIsOutput=false
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="performfish-analytics-portlet-0.2.0-SNAPSHOT">
|
||||
<wb-module deploy-name="performfish-analytics-portlet-0.3.0-SNAPSHOT">
|
||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||
<property name="context-root" value="performfish-analytics-portlet"/>
|
||||
<property name="java-output-path" value="/performfish-analytics-portlet/target/performfish-analytics-portlet-0.2.0-SNAPSHOT/WEB-INF/classes"/>
|
||||
<property name="java-output-path" value="/performfish-analytics-portlet/target/performfish-analytics-portlet-0.3.0-SNAPSHOT/WEB-INF/classes"/>
|
||||
</wb-module>
|
||||
</project-modules>
|
||||
|
|
|
@ -86,6 +86,8 @@ public class PerformFishAnnualAnalyticsController {
|
|||
private String theFocusValue = null;
|
||||
|
||||
private Map<Integer,FlexTable> boxPlotOrderBy = new HashMap<Integer,FlexTable>();
|
||||
|
||||
private Map<Integer,FlexTable> synopticOrderBy = new HashMap<Integer,FlexTable>();
|
||||
|
||||
|
||||
/**
|
||||
|
@ -846,8 +848,14 @@ public class PerformFishAnnualAnalyticsController {
|
|||
case DEA_CHART:
|
||||
break;
|
||||
case PERFORMFISH_SYNOPTIC_TABLE_FARM:
|
||||
cssTableStyle = "synoptictable-farm";
|
||||
break;
|
||||
if(!result.getFileName().contains("legend")) {
|
||||
cssTableStyle = "synoptictable-farm";
|
||||
}
|
||||
ShowResult showResultSin = new ShowResult(title);
|
||||
showResultSin.showCSVFile(result, cssTableStyle);
|
||||
displayingOrderedSynopticTable(dmResponse, result.getFileName(), container, showResultSin);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ShowResult showResult = new ShowResult(title);
|
||||
|
@ -865,7 +873,42 @@ public class PerformFishAnnualAnalyticsController {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Displaying ordered synoptic table.
|
||||
*
|
||||
* @param dmResponse the dm response
|
||||
* @param fileName the file name
|
||||
* @param container the container
|
||||
* @param showResult the show result
|
||||
*/
|
||||
private void displayingOrderedSynopticTable(final DataMinerResponse dmResponse, String fileName, final Panel container, ShowResult showResult) {
|
||||
int hashcode = dmResponse.hashCode();
|
||||
GWT.log("The hascode is: "+hashcode);
|
||||
FlexTable flex = synopticOrderBy.get(hashcode);
|
||||
|
||||
if(flex==null) {
|
||||
GWT.log("The flextable is null");
|
||||
flex = new FlexTable();
|
||||
synopticOrderBy.put(hashcode, flex);
|
||||
container.add(flex);
|
||||
}
|
||||
|
||||
if(fileName.toLowerCase().contains("legend")) {
|
||||
flex.setWidget(0, 0, showResult);
|
||||
}else {
|
||||
flex.setWidget(flex.getRowCount()+1,0,showResult);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Displaying ordered box plot.
|
||||
*
|
||||
* @param dmResponse the dm response
|
||||
* @param title the title
|
||||
* @param container the container
|
||||
* @param showResult the show result
|
||||
*/
|
||||
private void displayingOrderedBoxPlot(final DataMinerResponse dmResponse, String title, final Panel container, ShowResult showResult) {
|
||||
int hashcode = dmResponse.hashCode();
|
||||
GWT.log("The hascode is: "+hashcode);
|
||||
|
|
|
@ -83,6 +83,8 @@ public class PerformFishAnalyticsController {
|
|||
private PerformFishInitParameter decryptParameters;
|
||||
|
||||
private Map<Integer,FlexTable> boxPlotOrderBy = new HashMap<Integer,FlexTable>();
|
||||
|
||||
private Map<Integer,FlexTable> synopticOrderBy = new HashMap<Integer,FlexTable>();
|
||||
|
||||
|
||||
/**
|
||||
|
@ -753,6 +755,7 @@ public class PerformFishAnalyticsController {
|
|||
String title = toTitle;
|
||||
switch (chartType) {
|
||||
case BOXPLOT:
|
||||
|
||||
if(result.getFileName().contains("_user")){
|
||||
title = "My Batch(es)";
|
||||
}else{
|
||||
|
@ -764,7 +767,9 @@ public class PerformFishAnalyticsController {
|
|||
ShowResult showResult = new ShowResult(title);
|
||||
showResult.showCSVFile(result, cssTableStyle);
|
||||
displayingOrderedBoxPlot(dmResponse, title, container, showResult);
|
||||
|
||||
return;
|
||||
|
||||
case CORRELATION:
|
||||
break;
|
||||
case DEA_ANALYSIS:
|
||||
|
@ -776,10 +781,17 @@ public class PerformFishAnalyticsController {
|
|||
case DEA_CHART:
|
||||
break;
|
||||
case PERFORMFISH_SYNOPTICTABLE_BATCH:
|
||||
cssTableStyle = "synoptictable-batch";
|
||||
break;
|
||||
|
||||
if(!result.getFileName().contains("legend")) {
|
||||
cssTableStyle = "synoptictable-batch";
|
||||
}
|
||||
ShowResult showResultSin = new ShowResult(title);
|
||||
showResultSin.showCSVFile(result, cssTableStyle);
|
||||
displayingOrderedSynopticTable(dmResponse, result.getFileName(), container, showResultSin);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//ALL OTHER CASES
|
||||
ShowResult showResult = new ShowResult(title);
|
||||
showResult.showCSVFile(result, cssTableStyle);
|
||||
container.add(showResult);
|
||||
|
@ -815,4 +827,23 @@ public class PerformFishAnalyticsController {
|
|||
flex.setWidget(0, 2, showResult);
|
||||
}
|
||||
}
|
||||
|
||||
private void displayingOrderedSynopticTable(final DataMinerResponse dmResponse, String fileName, final Panel container, ShowResult showResult) {
|
||||
int hashcode = dmResponse.hashCode();
|
||||
GWT.log("The hascode is: "+hashcode);
|
||||
FlexTable flex = synopticOrderBy.get(hashcode);
|
||||
|
||||
if(flex==null) {
|
||||
GWT.log("The flextable is null");
|
||||
flex = new FlexTable();
|
||||
synopticOrderBy.put(hashcode, flex);
|
||||
container.add(flex);
|
||||
}
|
||||
|
||||
if(fileName.toLowerCase().contains("legend")) {
|
||||
flex.setWidget(0, 0, showResult);
|
||||
}else {
|
||||
flex.setWidget(flex.getRowCount()+1,0,showResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ import org.gcube.portlets.user.performfishanalytics.client.event.CallAlgorithmEv
|
|||
import org.gcube.portlets.user.performfishanalytics.client.view.LoaderIcon;
|
||||
import org.gcube.portlets.user.performfishanalytics.client.view.util.CorrelationValueToColourUtil;
|
||||
import org.gcube.portlets.user.performfishanalytics.client.viewbinder.ShowResult;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.FileContentType;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.KPI;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.OutputFile;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.csv.CSVFile;
|
||||
|
@ -157,6 +158,8 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
private List<String> selectedAreas;
|
||||
|
||||
private HandlerManager theEventBus;
|
||||
|
||||
private Map<String, CSVFile> csvGenerated = new HashMap<String, CSVFile>();
|
||||
|
||||
/**
|
||||
* Because this class has a default constructor, it can
|
||||
|
@ -343,8 +346,12 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
// }
|
||||
|
||||
public KPI getKPIForName(String name){
|
||||
|
||||
GWT.log("Searching KPI name: "+name);
|
||||
|
||||
GWT.log("Searching KPI name: "+name+ " into: ");
|
||||
for (KPI kpi : selectedKPIs) {
|
||||
GWT.log("selected: "+kpi.getName());
|
||||
}
|
||||
|
||||
KPI foundKPI = null;
|
||||
String purgedName = name.trim();
|
||||
for (KPI kpi : selectedKPIs) {
|
||||
|
@ -446,32 +453,12 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
* @param dmResponse the dm response
|
||||
*/
|
||||
public void addResults(DataMinerResponse dmResponse) {
|
||||
|
||||
this.dmResponse = dmResponse;
|
||||
|
||||
|
||||
for (final OutputFile outputFile : dmResponse.getListOutput()) {
|
||||
|
||||
switch (outputFile.getDataType()) {
|
||||
case IMAGE:
|
||||
PerformFishAnalyticsServiceAsync.Util.getInstance().getImageFile(outputFile, new AsyncCallback<String>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
showAlert(caught.getMessage(), AlertType.ERROR, true, uib_vp_correlation_results_container);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String base64Content) {
|
||||
ShowResult showResult = new ShowResult(outputFile.getName());
|
||||
showResult.showImage(base64Content);
|
||||
uib_vp_correlation_results_container.add(showResult);
|
||||
|
||||
}
|
||||
});
|
||||
break;
|
||||
case CSV:
|
||||
|
||||
//CORRELATION MATRIX
|
||||
|
||||
if(outputFile.getDataType().equals(FileContentType.CSV)){
|
||||
PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback<CSVFile>() {
|
||||
|
||||
@Override
|
||||
|
@ -482,32 +469,63 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
|
||||
@Override
|
||||
public void onSuccess(CSVFile result) {
|
||||
|
||||
GWT.log("Displaying: "+result);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
final FlexTable flexTable = new FlexTable();
|
||||
flexTable.setStyleName("fixedtable");
|
||||
flexTable.getElement().getStyle().setMarginBottom(10, Unit.PX);
|
||||
|
||||
flexTable.setWidget(0, 0,new Label(""));
|
||||
|
||||
// for (KPI kpi : selectedKPIs) {
|
||||
// GWT.log("Selected KPIs are: "+kpi);
|
||||
// }
|
||||
|
||||
CSVRow headerRow = result.getHeaderRow();
|
||||
//HEADER
|
||||
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
||||
csvGenerated.put(result.getFileName(), result);
|
||||
fillCorrelationMatrix();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fill correlation matrix.
|
||||
*/
|
||||
private void fillCorrelationMatrix() {
|
||||
|
||||
if(csvGenerated.size()<2)
|
||||
return;
|
||||
|
||||
String corrIndexFilename = null;
|
||||
String corrFilename = null;
|
||||
for (String fileName : csvGenerated.keySet()) {
|
||||
if(fileName.contains("index")) {
|
||||
corrIndexFilename = fileName;
|
||||
}else {
|
||||
corrFilename = fileName;
|
||||
}
|
||||
}
|
||||
|
||||
GWT.log("Correlation Matrix Index File: "+corrIndexFilename);
|
||||
GWT.log("Correlation Matrix File: "+corrFilename);
|
||||
CSVFile corrIndexCsvFile = csvGenerated.get(corrIndexFilename);
|
||||
CSVFile corrCsvFile = csvGenerated.get(corrFilename);
|
||||
GWT.log("Correlation Matrix Index CSV: "+corrIndexCsvFile);
|
||||
GWT.log("Correlation Matrix CSV: "+corrCsvFile);
|
||||
|
||||
final String headerValue = headerRow.getListValues().get(i);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
final FlexTable flexTable = new FlexTable();
|
||||
flexTable.setStyleName("fixedtable");
|
||||
flexTable.getElement().getStyle().setMarginBottom(10, Unit.PX);
|
||||
|
||||
flexTable.setWidget(0, 0,new Label(""));
|
||||
|
||||
|
||||
CSVRow headerRow = corrIndexCsvFile.getHeaderRow();
|
||||
//HEADER
|
||||
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
||||
|
||||
final String headerValue = headerRow.getListValues().get(i);
|
||||
// final Button button = new Button(headerValue);
|
||||
// button.setType(ButtonType.LINK);
|
||||
HTML label = new HTML(headerValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
HTML label = new HTML(headerValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
|
||||
final int columnIndex = i;
|
||||
KPI kpi = getKPIForName(headerValue);
|
||||
fillKPIReferenceForIndex(0, columnIndex, Arrays.asList(kpi));
|
||||
final int columnIndex = i;
|
||||
KPI kpi = getKPIForName(headerValue);
|
||||
fillKPIReferenceForIndex(0, columnIndex, Arrays.asList(kpi));
|
||||
// button.addClickHandler(new ClickHandler() {
|
||||
//
|
||||
// @Override
|
||||
|
@ -517,28 +535,34 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
//
|
||||
// }
|
||||
// });
|
||||
flexTable.setWidget(0, i,label);
|
||||
}
|
||||
//DATA
|
||||
for (int i=0; i<result.getValueRows().size(); i++) {
|
||||
CSVRow row = result.getValueRows().get(i);
|
||||
final int rowIndex = i+1; //adding +1 for header row
|
||||
for (int j=0; j<row.getListValues().size(); j++) {
|
||||
final String rowValue = row.getListValues().get(j);
|
||||
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowValue);
|
||||
final int columnIndex = j;
|
||||
final Button button = new Button(rowValue);
|
||||
flexTable.setWidget(0, i,label);
|
||||
}
|
||||
//DATA
|
||||
for (int i=0; i<corrIndexCsvFile.getValueRows().size(); i++) {
|
||||
CSVRow row = corrIndexCsvFile.getValueRows().get(i);
|
||||
CSVRow rowMatrixColor = corrCsvFile.getValueRows().get(i);
|
||||
final int rowIndex = i+1; //adding +1 for header row
|
||||
for (int j=0; j<row.getListValues().size(); j++) {
|
||||
final String rowValue = row.getListValues().get(j);
|
||||
final String rowMatrixColorValue = rowMatrixColor.getListValues().get(j);
|
||||
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowMatrixColorValue);
|
||||
final int columnIndex = j;
|
||||
//final Button button = new Button(rowValue);
|
||||
final HTML buttonHTML = new HTML(rowValue);
|
||||
buttonHTML.addStyleName("my-active-html");
|
||||
// button.setType(ButtonType.LINK);
|
||||
// button.setSize(ButtonSize.LARGE);
|
||||
|
||||
//only the first column
|
||||
if(j==0){
|
||||
HTML label = new HTML(rowValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,label);
|
||||
//rowValue is a KPI name
|
||||
KPI kpi = getKPIForName(rowValue);
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(kpi));
|
||||
continue;
|
||||
//rowValue is a KPI name
|
||||
//only the first column
|
||||
if(j==0){
|
||||
HTML label = new HTML(rowValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,label);
|
||||
//rowValue is a KPI name
|
||||
KPI kpi = getKPIForName(rowValue);
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(kpi));
|
||||
continue;
|
||||
//rowValue is a KPI name
|
||||
// KPI kpi = getKPIForName(rowValue);
|
||||
// fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(kpi));
|
||||
// button.addClickHandler(new ClickHandler() {
|
||||
|
@ -550,92 +574,86 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
//
|
||||
// }
|
||||
// });
|
||||
}
|
||||
//diagonal
|
||||
else if(rowIndex==j){
|
||||
HTML dg = new HTML("1");
|
||||
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,dg);
|
||||
continue;
|
||||
//j > 0
|
||||
}else{
|
||||
KPI columnKPI = getKPIForName(headerRow.getListValues().get(columnIndex));
|
||||
//Here the first index is the KPI name
|
||||
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
||||
button.setText(" ");
|
||||
button.setIcon(IconType.COMPASS);
|
||||
button.setSize(ButtonSize.LARGE);
|
||||
}
|
||||
//diagonal
|
||||
else if(rowIndex==j){
|
||||
//rowValue should be 1
|
||||
//HTML dg = new HTML("1");
|
||||
HTML dg = new HTML(rowValue);
|
||||
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,dg);
|
||||
continue;
|
||||
//j > 0
|
||||
}else{
|
||||
KPI columnKPI = getKPIForName(headerRow.getListValues().get(columnIndex));
|
||||
//Here the first index is the KPI name
|
||||
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
||||
//button.setText(" ");
|
||||
//button.setIcon(IconType.COMPASS);
|
||||
//button.setSize(ButtonSize.LARGE);
|
||||
|
||||
button.addClickHandler(new ClickHandler() {
|
||||
buttonHTML.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
||||
callScatter(rowIndex, columnIndex, button);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
button.setType(ButtonType.LINK);
|
||||
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
||||
if(j>0)
|
||||
button.getElement().getStyle().setColor("#000");
|
||||
|
||||
button.addAttachHandler(new AttachEvent.Handler() {
|
||||
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
if(theColor.startsWith("#")){
|
||||
GWT.log("Setting backgrounf color: "+theColor);
|
||||
button.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
flexTable.setWidget(rowIndex, j,button);
|
||||
}
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
||||
callScatter(rowIndex, columnIndex, buttonHTML);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
hp.add(flexTable);
|
||||
//button.setType(ButtonType.LINK);
|
||||
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
||||
if(j>0)
|
||||
buttonHTML.getElement().getStyle().setColor("#000");
|
||||
|
||||
final FlexTable flexLegend = new FlexTable();
|
||||
flexLegend.setStyleName("simpletable");
|
||||
//flexLegend.getElement().getStyle().setBorderWidth(0, Unit.PX);
|
||||
Map<String, String> map = CorrelationValueToColourUtil.getMap();
|
||||
flexLegend.setWidget(0, 0, new Label("Legend"));
|
||||
flexLegend.setWidget(0, 1, new HTML(""));
|
||||
int i = 1;
|
||||
for (String key : map.keySet()) {
|
||||
final String rgbColor = map.get(key);
|
||||
final HTML theLegendColor = new HTML("");
|
||||
flexLegend.setWidget(i, 0, theLegendColor);
|
||||
flexLegend.setWidget(i, 1, new HTML(key));
|
||||
theLegendColor.addAttachHandler(new AttachEvent.Handler() {
|
||||
buttonHTML.addAttachHandler(new AttachEvent.Handler() {
|
||||
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
theLegendColor.getElement().getParentElement().getStyle().setBackgroundColor(rgbColor);
|
||||
}
|
||||
});
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
||||
hp.add(flexLegend);
|
||||
uib_vp_correlation_results_container.insert(hp,0);
|
||||
}
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
if(theColor.startsWith("#")){
|
||||
GWT.log("Setting backgrounf color: "+theColor);
|
||||
buttonHTML.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
flexTable.setWidget(rowIndex, j,buttonHTML);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
hp.add(flexTable);
|
||||
|
||||
final FlexTable flexLegend = new FlexTable();
|
||||
flexLegend.setStyleName("simpletable");
|
||||
//flexLegend.getElement().getStyle().setBorderWidth(0, Unit.PX);
|
||||
Map<String, String> map = CorrelationValueToColourUtil.getMap();
|
||||
flexLegend.setWidget(0, 0, new Label("Legend"));
|
||||
flexLegend.setWidget(0, 1, new HTML(""));
|
||||
int i = 1;
|
||||
for (String key : map.keySet()) {
|
||||
final String rgbColor = map.get(key);
|
||||
final HTML theLegendColor = new HTML("");
|
||||
flexLegend.setWidget(i, 0, theLegendColor);
|
||||
flexLegend.setWidget(i, 1, new HTML(key));
|
||||
theLegendColor.addAttachHandler(new AttachEvent.Handler() {
|
||||
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
theLegendColor.getElement().getParentElement().getStyle().setBackgroundColor(rgbColor);
|
||||
}
|
||||
});
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
||||
hp.add(flexLegend);
|
||||
uib_vp_correlation_results_container.insert(hp,0);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -785,9 +803,9 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
|||
*
|
||||
* @param rowIndex the row index
|
||||
* @param columnIndex the column index
|
||||
* @param button the button
|
||||
* @param buttonHTML the button
|
||||
*/
|
||||
private void callScatter(int rowIndex, int columnIndex, Button button){
|
||||
private void callScatter(int rowIndex, int columnIndex, HTML buttonHTML){
|
||||
|
||||
String focusID = checkValidFocusID();
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import org.gcube.portlets.user.performfishanalytics.client.controllers.PerformFi
|
|||
import org.gcube.portlets.user.performfishanalytics.client.event.CallAlgorithmEvent;
|
||||
import org.gcube.portlets.user.performfishanalytics.client.view.LoaderIcon;
|
||||
import org.gcube.portlets.user.performfishanalytics.client.view.util.CorrelationValueToColourUtil;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.FileContentType;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.KPI;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.OutputFile;
|
||||
import org.gcube.portlets.user.performfishanalytics.shared.csv.CSVFile;
|
||||
|
@ -28,10 +29,7 @@ import com.github.gwtbootstrap.client.ui.CheckBox;
|
|||
import com.github.gwtbootstrap.client.ui.ControlGroup;
|
||||
import com.github.gwtbootstrap.client.ui.ListBox;
|
||||
import com.github.gwtbootstrap.client.ui.constants.AlertType;
|
||||
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
|
||||
import com.github.gwtbootstrap.client.ui.constants.ControlGroupType;
|
||||
import com.github.gwtbootstrap.client.ui.constants.IconType;
|
||||
import com.github.gwtbootstrap.client.ui.resources.ButtonSize;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.core.client.Scheduler;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
|
@ -154,6 +152,8 @@ public class AnalyticsPanelResult extends Composite {
|
|||
private List<KPI> selectedKPIs;
|
||||
|
||||
private List<String> selectedAreas;
|
||||
|
||||
private Map<String, CSVFile> csvGenerated = new HashMap<String, CSVFile>();
|
||||
|
||||
/**
|
||||
* Because this class has a default constructor, it can
|
||||
|
@ -192,7 +192,7 @@ public class AnalyticsPanelResult extends Composite {
|
|||
|
||||
List<String> inputKPINames = getSelected(list_dea_input_kpi);
|
||||
List<String> outputKPINames = getSelected(list_dea_output_kpi);
|
||||
callDeaAnalysis(inputKPINames, outputKPINames, button_dea_analys_request);
|
||||
//callDeaAnalysis(inputKPINames, outputKPINames, button_dea_analys_request);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -447,31 +447,10 @@ public class AnalyticsPanelResult extends Composite {
|
|||
*/
|
||||
public void addResults(DataMinerResponse dmResponse) {
|
||||
this.dmResponse = dmResponse;
|
||||
|
||||
|
||||
for (final OutputFile outputFile : dmResponse.getListOutput()) {
|
||||
|
||||
switch (outputFile.getDataType()) {
|
||||
case IMAGE:
|
||||
PerformFishAnalyticsServiceAsync.Util.getInstance().getImageFile(outputFile, new AsyncCallback<String>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
showAlert(caught.getMessage(), AlertType.ERROR, true, uib_vp_correlation_results_container);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String base64Content) {
|
||||
ShowResult showResult = new ShowResult(outputFile.getName());
|
||||
showResult.showImage(base64Content);
|
||||
uib_vp_correlation_results_container.add(showResult);
|
||||
|
||||
}
|
||||
});
|
||||
break;
|
||||
case CSV:
|
||||
|
||||
//CORRELATION MATRIX
|
||||
|
||||
if(outputFile.getDataType().equals(FileContentType.CSV)){
|
||||
PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback<CSVFile>() {
|
||||
|
||||
@Override
|
||||
|
@ -482,32 +461,59 @@ public class AnalyticsPanelResult extends Composite {
|
|||
|
||||
@Override
|
||||
public void onSuccess(CSVFile result) {
|
||||
|
||||
GWT.log("Displaying: "+result);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
final FlexTable flexTable = new FlexTable();
|
||||
flexTable.setStyleName("fixedtable");
|
||||
flexTable.getElement().getStyle().setMarginBottom(10, Unit.PX);
|
||||
|
||||
flexTable.setWidget(0, 0,new Label(""));
|
||||
|
||||
// for (KPI kpi : selectedKPIs) {
|
||||
// GWT.log("Selected KPIs are: "+kpi);
|
||||
// }
|
||||
|
||||
CSVRow headerRow = result.getHeaderRow();
|
||||
//HEADER
|
||||
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
||||
csvGenerated.put(result.getFileName(), result);
|
||||
fillCorrelationMatrix();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void fillCorrelationMatrix() {
|
||||
|
||||
if(csvGenerated.size()<2)
|
||||
return;
|
||||
|
||||
String corrIndexFilename = null;
|
||||
String corrFilename = null;
|
||||
for (String fileName : csvGenerated.keySet()) {
|
||||
if(fileName.contains("index")) {
|
||||
corrIndexFilename = fileName;
|
||||
}else {
|
||||
corrFilename = fileName;
|
||||
}
|
||||
}
|
||||
|
||||
GWT.log("Correlation Matrix Index File: "+corrIndexFilename);
|
||||
GWT.log("Correlation Matrix File: "+corrFilename);
|
||||
CSVFile corrIndexCsvFile = csvGenerated.get(corrIndexFilename);
|
||||
CSVFile corrCsvFile = csvGenerated.get(corrFilename);
|
||||
GWT.log("Correlation Matrix Index CSV: "+corrIndexCsvFile);
|
||||
GWT.log("Correlation Matrix CSV: "+corrCsvFile);
|
||||
|
||||
final String headerValue = headerRow.getListValues().get(i);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
final FlexTable flexTable = new FlexTable();
|
||||
flexTable.setStyleName("fixedtable");
|
||||
flexTable.getElement().getStyle().setMarginBottom(10, Unit.PX);
|
||||
|
||||
flexTable.setWidget(0, 0,new Label(""));
|
||||
|
||||
|
||||
CSVRow headerRow = corrIndexCsvFile.getHeaderRow();
|
||||
//HEADER
|
||||
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
||||
|
||||
final String headerValue = headerRow.getListValues().get(i);
|
||||
// final Button button = new Button(headerValue);
|
||||
// button.setType(ButtonType.LINK);
|
||||
HTML label = new HTML(headerValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
HTML label = new HTML(headerValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
|
||||
final int columnIndex = i;
|
||||
KPI kpi = getKPIForName(headerValue);
|
||||
fillKPIReferenceForIndex(0, columnIndex, Arrays.asList(kpi));
|
||||
final int columnIndex = i;
|
||||
KPI kpi = getKPIForName(headerValue);
|
||||
fillKPIReferenceForIndex(0, columnIndex, Arrays.asList(kpi));
|
||||
// button.addClickHandler(new ClickHandler() {
|
||||
//
|
||||
// @Override
|
||||
|
@ -517,28 +523,34 @@ public class AnalyticsPanelResult extends Composite {
|
|||
//
|
||||
// }
|
||||
// });
|
||||
flexTable.setWidget(0, i,label);
|
||||
}
|
||||
//DATA
|
||||
for (int i=0; i<result.getValueRows().size(); i++) {
|
||||
CSVRow row = result.getValueRows().get(i);
|
||||
final int rowIndex = i+1; //adding +1 for header row
|
||||
for (int j=0; j<row.getListValues().size(); j++) {
|
||||
final String rowValue = row.getListValues().get(j);
|
||||
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowValue);
|
||||
final int columnIndex = j;
|
||||
final Button button = new Button(rowValue);
|
||||
flexTable.setWidget(0, i,label);
|
||||
}
|
||||
//DATA
|
||||
for (int i=0; i<corrIndexCsvFile.getValueRows().size(); i++) {
|
||||
CSVRow row = corrIndexCsvFile.getValueRows().get(i);
|
||||
CSVRow rowMatrixColor = corrCsvFile.getValueRows().get(i);
|
||||
final int rowIndex = i+1; //adding +1 for header row
|
||||
for (int j=0; j<row.getListValues().size(); j++) {
|
||||
final String rowValue = row.getListValues().get(j);
|
||||
final String rowMatrixColorValue = rowMatrixColor.getListValues().get(j);
|
||||
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowMatrixColorValue);
|
||||
final int columnIndex = j;
|
||||
//final Button button = new Button(rowValue);
|
||||
final HTML buttonHTML = new HTML(rowValue);
|
||||
buttonHTML.addStyleName("my-active-html");
|
||||
// button.setType(ButtonType.LINK);
|
||||
// button.setSize(ButtonSize.LARGE);
|
||||
|
||||
//only the first column
|
||||
if(j==0){
|
||||
HTML label = new HTML(rowValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,label);
|
||||
//rowValue is a KPI name
|
||||
KPI kpi = getKPIForName(rowValue);
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(kpi));
|
||||
continue;
|
||||
//rowValue is a KPI name
|
||||
//only the first column
|
||||
if(j==0){
|
||||
HTML label = new HTML(rowValue);
|
||||
label.getElement().getStyle().setFontSize(16, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,label);
|
||||
//rowValue is a KPI name
|
||||
KPI kpi = getKPIForName(rowValue);
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(kpi));
|
||||
continue;
|
||||
//rowValue is a KPI name
|
||||
// KPI kpi = getKPIForName(rowValue);
|
||||
// fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(kpi));
|
||||
// button.addClickHandler(new ClickHandler() {
|
||||
|
@ -550,92 +562,86 @@ public class AnalyticsPanelResult extends Composite {
|
|||
//
|
||||
// }
|
||||
// });
|
||||
}
|
||||
//diagonal
|
||||
else if(rowIndex==j){
|
||||
HTML dg = new HTML("1");
|
||||
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,dg);
|
||||
continue;
|
||||
//j > 0
|
||||
}else{
|
||||
KPI columnKPI = getKPIForName(headerRow.getListValues().get(columnIndex));
|
||||
//Here the first index is the KPI name
|
||||
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
||||
button.setText(" ");
|
||||
button.setIcon(IconType.COMPASS);
|
||||
button.setSize(ButtonSize.LARGE);
|
||||
}
|
||||
//diagonal
|
||||
else if(rowIndex==j){
|
||||
//rowValue should be 1
|
||||
//HTML dg = new HTML("1");
|
||||
HTML dg = new HTML(rowValue);
|
||||
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
||||
flexTable.setWidget(rowIndex, j,dg);
|
||||
continue;
|
||||
//j > 0
|
||||
}else{
|
||||
KPI columnKPI = getKPIForName(headerRow.getListValues().get(columnIndex));
|
||||
//Here the first index is the KPI name
|
||||
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
||||
//button.setText(" ");
|
||||
//button.setIcon(IconType.COMPASS);
|
||||
//button.setSize(ButtonSize.LARGE);
|
||||
|
||||
button.addClickHandler(new ClickHandler() {
|
||||
buttonHTML.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
||||
callScatter(rowIndex, columnIndex, button);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
button.setType(ButtonType.LINK);
|
||||
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
||||
if(j>0)
|
||||
button.getElement().getStyle().setColor("#000");
|
||||
|
||||
button.addAttachHandler(new AttachEvent.Handler() {
|
||||
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
if(theColor.startsWith("#")){
|
||||
GWT.log("Setting backgrounf color: "+theColor);
|
||||
button.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
flexTable.setWidget(rowIndex, j,button);
|
||||
}
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
||||
callScatter(rowIndex, columnIndex, buttonHTML);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
hp.add(flexTable);
|
||||
//button.setType(ButtonType.LINK);
|
||||
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
||||
if(j>0)
|
||||
buttonHTML.getElement().getStyle().setColor("#000");
|
||||
|
||||
final FlexTable flexLegend = new FlexTable();
|
||||
flexLegend.setStyleName("simpletable");
|
||||
//flexLegend.getElement().getStyle().setBorderWidth(0, Unit.PX);
|
||||
Map<String, String> map = CorrelationValueToColourUtil.getMap();
|
||||
flexLegend.setWidget(0, 0, new Label("Legend"));
|
||||
flexLegend.setWidget(0, 1, new HTML(""));
|
||||
int i = 1;
|
||||
for (String key : map.keySet()) {
|
||||
final String rgbColor = map.get(key);
|
||||
final HTML theLegendColor = new HTML("");
|
||||
flexLegend.setWidget(i, 0, theLegendColor);
|
||||
flexLegend.setWidget(i, 1, new HTML(key));
|
||||
theLegendColor.addAttachHandler(new AttachEvent.Handler() {
|
||||
buttonHTML.addAttachHandler(new AttachEvent.Handler() {
|
||||
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
theLegendColor.getElement().getParentElement().getStyle().setBackgroundColor(rgbColor);
|
||||
}
|
||||
});
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
||||
hp.add(flexLegend);
|
||||
uib_vp_correlation_results_container.insert(hp,0);
|
||||
}
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
if(theColor.startsWith("#")){
|
||||
GWT.log("Setting backgrounf color: "+theColor);
|
||||
buttonHTML.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
flexTable.setWidget(rowIndex, j,buttonHTML);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
hp.add(flexTable);
|
||||
|
||||
final FlexTable flexLegend = new FlexTable();
|
||||
flexLegend.setStyleName("simpletable");
|
||||
//flexLegend.getElement().getStyle().setBorderWidth(0, Unit.PX);
|
||||
Map<String, String> map = CorrelationValueToColourUtil.getMap();
|
||||
flexLegend.setWidget(0, 0, new Label("Legend"));
|
||||
flexLegend.setWidget(0, 1, new HTML(""));
|
||||
int i = 1;
|
||||
for (String key : map.keySet()) {
|
||||
final String rgbColor = map.get(key);
|
||||
final HTML theLegendColor = new HTML("");
|
||||
flexLegend.setWidget(i, 0, theLegendColor);
|
||||
flexLegend.setWidget(i, 1, new HTML(key));
|
||||
theLegendColor.addAttachHandler(new AttachEvent.Handler() {
|
||||
|
||||
@Override
|
||||
public void onAttachOrDetach(AttachEvent event) {
|
||||
theLegendColor.getElement().getParentElement().getStyle().setBackgroundColor(rgbColor);
|
||||
}
|
||||
});
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
||||
hp.add(flexLegend);
|
||||
uib_vp_correlation_results_container.insert(hp,0);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -691,36 +697,36 @@ public class AnalyticsPanelResult extends Composite {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Call box plot and speedo meter.
|
||||
*
|
||||
* @param rowIndex the row index
|
||||
* @param columnIndex the column index
|
||||
* @param button the button
|
||||
*/
|
||||
private void callBoxPlotAndSpeedoMeter(int rowIndex, int columnIndex, Button button){
|
||||
|
||||
String focusID = checkValidFocusID();
|
||||
|
||||
if(focusID==null)
|
||||
return;
|
||||
|
||||
GWT.log("Called BoxPlotAndSpeedoMeter at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
hp.getElement().addClassName("ext-horizontal-panel");
|
||||
HorizontalPanel boxPlot = new HorizontalPanel();
|
||||
HorizontalPanel speedometer = new HorizontalPanel();
|
||||
hp.add(boxPlot);
|
||||
hp.add(speedometer);
|
||||
//hp.getElement().addClassName("ext-horizontal-panel");
|
||||
field_unary_algorithm_container.add(hp);
|
||||
//KPI selectKPI = getKPIForName(button.getText());
|
||||
List<KPI> selectedKPI = getKPIForIndexes(rowIndex, columnIndex);
|
||||
GWT.log("Selected KPI: "+selectedKPI);
|
||||
field_unary_algorithm.setVisible(true);
|
||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.BOXPLOT, focusID, boxPlot);
|
||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.SPEEDOMETER, focusID, speedometer);
|
||||
}
|
||||
// /**
|
||||
// * Call box plot and speedo meter.
|
||||
// *
|
||||
// * @param rowIndex the row index
|
||||
// * @param columnIndex the column index
|
||||
// * @param button the button
|
||||
// */
|
||||
// private void callBoxPlotAndSpeedoMeter(int rowIndex, int columnIndex, Button button){
|
||||
//
|
||||
// String focusID = checkValidFocusID();
|
||||
//
|
||||
// if(focusID==null)
|
||||
// return;
|
||||
//
|
||||
// GWT.log("Called BoxPlotAndSpeedoMeter at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
||||
// HorizontalPanel hp = new HorizontalPanel();
|
||||
// hp.getElement().addClassName("ext-horizontal-panel");
|
||||
// HorizontalPanel boxPlot = new HorizontalPanel();
|
||||
// HorizontalPanel speedometer = new HorizontalPanel();
|
||||
// hp.add(boxPlot);
|
||||
// hp.add(speedometer);
|
||||
// //hp.getElement().addClassName("ext-horizontal-panel");
|
||||
// field_unary_algorithm_container.add(hp);
|
||||
// //KPI selectKPI = getKPIForName(button.getText());
|
||||
// List<KPI> selectedKPI = getKPIForIndexes(rowIndex, columnIndex);
|
||||
// GWT.log("Selected KPI: "+selectedKPI);
|
||||
// field_unary_algorithm.setVisible(true);
|
||||
// callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.BOXPLOT, focusID, boxPlot);
|
||||
// callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.SPEEDOMETER, focusID, speedometer);
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
@ -754,35 +760,35 @@ public class AnalyticsPanelResult extends Composite {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Call scatter and dea chart.
|
||||
*
|
||||
* @param rowIndex the row index
|
||||
* @param columnIndex the column index
|
||||
* @param button the button
|
||||
*/
|
||||
private void callScatterAndDeaChart(int rowIndex, int columnIndex, Button button){
|
||||
|
||||
String focusID = checkValidFocusID();
|
||||
|
||||
if(focusID==null)
|
||||
return;
|
||||
|
||||
GWT.log("Called ScatterAndDeaChart at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
hp.getElement().addClassName("ext-horizontal-panel");
|
||||
HorizontalPanel scatter = new HorizontalPanel();
|
||||
HorizontalPanel deaChart = new HorizontalPanel();
|
||||
hp.add(scatter);
|
||||
hp.add(deaChart);
|
||||
//hp.getElement().addClassName("ext-horizontal-panel");
|
||||
field_binary_algorithm_container.add(hp);
|
||||
List<KPI> selectedKPI = getKPIForIndexes(rowIndex, columnIndex);
|
||||
GWT.log("Selected KPI: "+selectedKPI);
|
||||
field_binary_algorithm.setVisible(true);
|
||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.SCATTER, focusID, scatter);
|
||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.DEA_CHART, focusID, deaChart);
|
||||
}
|
||||
// /**
|
||||
// * Call scatter and dea chart.
|
||||
// *
|
||||
// * @param rowIndex the row index
|
||||
// * @param columnIndex the column index
|
||||
// * @param button the button
|
||||
// */
|
||||
// private void callScatterAndDeaChart(int rowIndex, int columnIndex, Button button){
|
||||
//
|
||||
// String focusID = checkValidFocusID();
|
||||
//
|
||||
// if(focusID==null)
|
||||
// return;
|
||||
//
|
||||
// GWT.log("Called ScatterAndDeaChart at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
||||
// HorizontalPanel hp = new HorizontalPanel();
|
||||
// hp.getElement().addClassName("ext-horizontal-panel");
|
||||
// HorizontalPanel scatter = new HorizontalPanel();
|
||||
// HorizontalPanel deaChart = new HorizontalPanel();
|
||||
// hp.add(scatter);
|
||||
// hp.add(deaChart);
|
||||
// //hp.getElement().addClassName("ext-horizontal-panel");
|
||||
// field_binary_algorithm_container.add(hp);
|
||||
// List<KPI> selectedKPI = getKPIForIndexes(rowIndex, columnIndex);
|
||||
// GWT.log("Selected KPI: "+selectedKPI);
|
||||
// field_binary_algorithm.setVisible(true);
|
||||
// callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.SCATTER, focusID, scatter);
|
||||
// callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.DEA_CHART, focusID, deaChart);
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
@ -792,7 +798,7 @@ public class AnalyticsPanelResult extends Composite {
|
|||
* @param columnIndex the column index
|
||||
* @param button the button
|
||||
*/
|
||||
private void callScatter(int rowIndex, int columnIndex, Button button){
|
||||
private void callScatter(int rowIndex, int columnIndex, HTML button){
|
||||
|
||||
String focusID = checkValidFocusID();
|
||||
|
||||
|
@ -806,37 +812,37 @@ public class AnalyticsPanelResult extends Composite {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Call dea analysis.
|
||||
*
|
||||
* @param inputKPINames the input kpi names
|
||||
* @param outputKPINames the output kpi names
|
||||
* @param button the button
|
||||
*/
|
||||
private void callDeaAnalysis(List<String> inputKPINames, List<String> outputKPINames, Button button){
|
||||
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
hp.getElement().addClassName("ext-horizontal-panel");
|
||||
HorizontalPanel deaAnalysis = new HorizontalPanel();
|
||||
hp.add(deaAnalysis);
|
||||
//hp.getElement().addClassName("ext-horizontal-panel");
|
||||
uib_vp_deanalanlysis_algorithm_container.add(hp);
|
||||
|
||||
List<KPI> inputKPI = new ArrayList<KPI>();
|
||||
for (String kpiName : inputKPINames) {
|
||||
inputKPI.add(getKPIForName(kpiName));
|
||||
}
|
||||
|
||||
List<KPI> outputKPI = new ArrayList<KPI>();
|
||||
for (String kpiName : outputKPINames) {
|
||||
outputKPI.add(getKPIForName(kpiName));
|
||||
}
|
||||
|
||||
|
||||
GWT.log("Calling Dea Analysys... with input: "+inputKPI+" and output: "+outputKPI);
|
||||
uib_vp_deanalanlysis_algorithm.setVisible(true);
|
||||
callDataMinerServiceForChart(dataInputParameters, inputKPI, outputKPI, DataMinerAlgorithms.DEA_ANALYSIS, "ID", deaAnalysis);
|
||||
}
|
||||
// /**
|
||||
// * Call dea analysis.
|
||||
// *
|
||||
// * @param inputKPINames the input kpi names
|
||||
// * @param outputKPINames the output kpi names
|
||||
// * @param button the button
|
||||
// */
|
||||
// private void callDeaAnalysis(List<String> inputKPINames, List<String> outputKPINames, Button button){
|
||||
//
|
||||
// HorizontalPanel hp = new HorizontalPanel();
|
||||
// hp.getElement().addClassName("ext-horizontal-panel");
|
||||
// HorizontalPanel deaAnalysis = new HorizontalPanel();
|
||||
// hp.add(deaAnalysis);
|
||||
// //hp.getElement().addClassName("ext-horizontal-panel");
|
||||
// uib_vp_deanalanlysis_algorithm_container.add(hp);
|
||||
//
|
||||
// List<KPI> inputKPI = new ArrayList<KPI>();
|
||||
// for (String kpiName : inputKPINames) {
|
||||
// inputKPI.add(getKPIForName(kpiName));
|
||||
// }
|
||||
//
|
||||
// List<KPI> outputKPI = new ArrayList<KPI>();
|
||||
// for (String kpiName : outputKPINames) {
|
||||
// outputKPI.add(getKPIForName(kpiName));
|
||||
// }
|
||||
//
|
||||
//
|
||||
// GWT.log("Calling Dea Analysys... with input: "+inputKPI+" and output: "+outputKPI);
|
||||
// uib_vp_deanalanlysis_algorithm.setVisible(true);
|
||||
// callDataMinerServiceForChart(dataInputParameters, inputKPI, outputKPI, DataMinerAlgorithms.DEA_ANALYSIS, "ID", deaAnalysis);
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -77,7 +77,10 @@ public class ShowResult extends Composite {
|
|||
public void showCSVFile(CSVFile csvFile, String cssStyleName){
|
||||
|
||||
final FlexTable flexTable = new FlexTable();
|
||||
flexTable.setStyleName(cssStyleName);
|
||||
|
||||
if(cssStyleName!=null && !cssStyleName.isEmpty())
|
||||
flexTable.setStyleName(cssStyleName);
|
||||
|
||||
flexTable.getElement().getStyle().setMarginLeft(30, Unit.PX);
|
||||
flexTable.getElement().getStyle().setMarginRight(30, Unit.PX);
|
||||
|
||||
|
|
|
@ -721,11 +721,12 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet
|
|||
*/
|
||||
public List<OutputFile> manageOutputsForPerformFishAnalysis(List<OutputFile> output) {
|
||||
|
||||
OutputFile theOutputFile = null;
|
||||
List<OutputFile> newOutputFiles = new ArrayList<OutputFile>();
|
||||
try {
|
||||
|
||||
Map<String, List<String>> theLegendMap = new HashMap<String, List<String>>();
|
||||
|
||||
//FINDING THE FILE WIHT THE LEGEND
|
||||
for (OutputFile outputFile : output) {
|
||||
log.trace("outputFile: {}", outputFile.getName());
|
||||
if(outputFile.getName().toLowerCase().contains("legend") && outputFile.getDataType().equals(FileContentType.CSV)){
|
||||
|
@ -744,24 +745,39 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet
|
|||
if(theLegendMap.size()>0){
|
||||
log.info("Legend created as {}", theLegendMap.toString());
|
||||
for (OutputFile outputFile : output) {
|
||||
//THE FILE MUST NOT CONTAINT *_legend_* IN THE NAME
|
||||
if(!outputFile.getName().toLowerCase().contains("legend") && outputFile.getDataType().equals(FileContentType.CSV)){
|
||||
CSVFile theCorrelationFile = getCSVFile(outputFile, true);
|
||||
OutputFile theOutputFile = outputFile;
|
||||
String toNameLower = outputFile.getName().toLowerCase();
|
||||
|
||||
//SKIPPING THE LEGEND
|
||||
if(toNameLower.contains("legend")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(outputFile.getDataType().equals(FileContentType.CSV)) {
|
||||
|
||||
//FINDING THE FILE *index* TO CREATE A NEW CSV REPLACING THE LABELS 'A','B','C', etc. WITH THE NAMES (THE KPI NAMES) CONTAINED IN THE LEGEND
|
||||
if(toNameLower.contains("index")){
|
||||
CSVFile theCorrelationMatrixIndexCSVFile = getCSVFile(outputFile, true);
|
||||
try{
|
||||
theOutputFile = createCSVWithLegendValues(theCorrelationFile, theLegendMap);
|
||||
theOutputFile = createCSVWithLegendValues(theCorrelationMatrixIndexCSVFile, theLegendMap);
|
||||
}catch(Exception e){
|
||||
log.warn("Error thrown creating the CSV File with legend returning the original output file {}", outputFile);
|
||||
theOutputFile = outputFile;
|
||||
}
|
||||
break;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
|
||||
//RETURNING ALSO THE file correlation_matrix.csv for applying the COLORS
|
||||
newOutputFiles.add(theOutputFile);
|
||||
}
|
||||
|
||||
}else{
|
||||
log.warn("The Legend file not found returning the original output files {}", output);
|
||||
return output;
|
||||
}
|
||||
|
||||
return Arrays.asList(theOutputFile);
|
||||
return newOutputFiles;
|
||||
|
||||
}catch (Exception e) {
|
||||
log.warn("Error occured managing the CSV File returing the original files extracted form .zip {}", output);
|
||||
|
@ -895,7 +911,7 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet
|
|||
//delete the file;
|
||||
if(theFile!=null && deleteAfter){
|
||||
try{
|
||||
Files.deleteIfExists(theFile.toPath());
|
||||
//Files.deleteIfExists(theFile.toPath());
|
||||
}catch(Exception e){
|
||||
//silent
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
KPI CODE,KPI NAME - LEVEL 1,KPI NAME – LEVEL 2,KPI NAME - LEVEL 3
|
||||
,Dependency on treatments KPIs,,
|
||||
,,Number of therapeutic treatments,
|
||||
G9,,,Total number of antiparasitic treatments (n)
|
||||
G10,,,Total number of antibiotic treatments (n)
|
||||
G9,,,Total number of antiparasitic treatments (n)
|
||||
G10,,,Total number of antibiotic treatments (n)
|
||||
,Productivity KPIs,,
|
||||
G20,,Biomass produced per number of FTE employees (fish/FTE),
|
||||
G21,,Biomass produced per volumes of sea water used (ton produced/m^3),
|
||||
|
|
|
|
@ -292,4 +292,15 @@ table.synoptictable-farm td:first-child {
|
|||
|
||||
table.synoptictable-farm td:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.my-active-html {
|
||||
cursor: pointer;
|
||||
font-size: 18px;
|
||||
color: #0066cc !important;
|
||||
/* text-decoration: underline; */
|
||||
}
|
||||
|
||||
.my-active-html:hover{
|
||||
color: #000 !important;
|
||||
}
|
Loading…
Reference in New Issue