diff --git a/.classpath b/.classpath
index f83f87d..99f76aa 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,12 @@
-
+
-
+
@@ -35,5 +35,5 @@
-
+
diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs
index 6fd3d23..b136e10 100644
--- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs
+++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs
@@ -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
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 2ef44fc..5216cf9 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,10 +1,10 @@
-
+
-
+
diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/annualcontrollers/PerformFishAnnualAnalyticsController.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/annualcontrollers/PerformFishAnnualAnalyticsController.java
index 828293d..5e7e629 100644
--- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/annualcontrollers/PerformFishAnnualAnalyticsController.java
+++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/annualcontrollers/PerformFishAnnualAnalyticsController.java
@@ -86,6 +86,8 @@ public class PerformFishAnnualAnalyticsController {
private String theFocusValue = null;
private Map boxPlotOrderBy = new HashMap();
+
+ private Map synopticOrderBy = new HashMap();
/**
@@ -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);
diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java
index ffe9f89..ed89501 100644
--- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java
+++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/controllers/PerformFishAnalyticsController.java
@@ -83,6 +83,8 @@ public class PerformFishAnalyticsController {
private PerformFishInitParameter decryptParameters;
private Map boxPlotOrderBy = new HashMap();
+
+ private Map synopticOrderBy = new HashMap();
/**
@@ -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);
+ }
+ }
}
diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewannualbinder/AnalyticsAnnualPanelResult.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewannualbinder/AnalyticsAnnualPanelResult.java
index c50ea7d..c42b3d5 100644
--- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewannualbinder/AnalyticsAnnualPanelResult.java
+++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewannualbinder/AnalyticsAnnualPanelResult.java
@@ -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 selectedAreas;
private HandlerManager theEventBus;
+
+ private Map csvGenerated = new HashMap();
/**
* 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,13 +453,13 @@ 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() {
+
+ if(outputFile.getDataType().equals(FileContentType.CSV)){
+ PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback() {
@Override
public void onFailure(Throwable caught) {
@@ -461,53 +468,64 @@ public class AnalyticsAnnualPanelResult extends Composite {
}
@Override
- public void onSuccess(String base64Content) {
- ShowResult showResult = new ShowResult(outputFile.getName());
- showResult.showImage(base64Content);
- uib_vp_correlation_results_container.add(showResult);
-
+ public void onSuccess(CSVFile result) {
+
+ csvGenerated.put(result.getFileName(), result);
+ fillCorrelationMatrix();
}
});
- break;
- case CSV:
-
- //CORRELATION MATRIX
- PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback() {
-
- @Override
- public void onFailure(Throwable caught) {
- showAlert(caught.getMessage(), AlertType.ERROR, true, uib_vp_correlation_results_container);
-
- }
+ }
+
+ }
+ }
+
+
+ /**
+ * 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);
- @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);
+ 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 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() {
-
- @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);
- }
-
+ }
+ //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);
+
+ buttonHTML.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+
+ //callScatterAndDeaChart(rowIndex, columnIndex, button);
+ callScatter(rowIndex, columnIndex, buttonHTML);
}
+ });
+ }
- hp.add(flexTable);
-
- final FlexTable flexLegend = new FlexTable();
- flexLegend.setStyleName("simpletable");
- //flexLegend.getElement().getStyle().setBorderWidth(0, Unit.PX);
- Map 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++;
- }
+ //button.setType(ButtonType.LINK);
+ //APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
+ if(j>0)
+ buttonHTML.getElement().getStyle().setColor("#000");
- flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
- hp.add(flexLegend);
- uib_vp_correlation_results_container.insert(hp,0);
- }
+ buttonHTML.addAttachHandler(new AttachEvent.Handler() {
+
+ @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 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();
diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/AnalyticsPanelResult.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/AnalyticsPanelResult.java
index 5d0f210..1797077 100644
--- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/AnalyticsPanelResult.java
+++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/AnalyticsPanelResult.java
@@ -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 selectedKPIs;
private List selectedAreas;
+
+ private Map csvGenerated = new HashMap();
/**
* Because this class has a default constructor, it can
@@ -192,7 +192,7 @@ public class AnalyticsPanelResult extends Composite {
List inputKPINames = getSelected(list_dea_input_kpi);
List outputKPINames = getSelected(list_dea_output_kpi);
- callDeaAnalysis(inputKPINames, outputKPINames, button_dea_analys_request);
+ //callDeaAnalysis(inputKPINames, outputKPINames, button_dea_analys_request);
}
});
@@ -447,12 +447,11 @@ 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() {
+
+ if(outputFile.getDataType().equals(FileContentType.CSV)){
+ PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback() {
@Override
public void onFailure(Throwable caught) {
@@ -461,53 +460,60 @@ public class AnalyticsPanelResult extends Composite {
}
@Override
- public void onSuccess(String base64Content) {
- ShowResult showResult = new ShowResult(outputFile.getName());
- showResult.showImage(base64Content);
- uib_vp_correlation_results_container.add(showResult);
-
+ public void onSuccess(CSVFile result) {
+
+ csvGenerated.put(result.getFileName(), result);
+ fillCorrelationMatrix();
}
});
- break;
- case CSV:
-
- //CORRELATION MATRIX
- PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback() {
-
- @Override
- public void onFailure(Throwable caught) {
- showAlert(caught.getMessage(), AlertType.ERROR, true, uib_vp_correlation_results_container);
-
- }
+ }
+
+ }
+ }
+
+ 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);
- @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);
+ 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 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() {
-
- @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);
- }
-
+ }
+ //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);
+
+ buttonHTML.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent event) {
+
+ //callScatterAndDeaChart(rowIndex, columnIndex, button);
+ callScatter(rowIndex, columnIndex, buttonHTML);
}
+ });
+ }
- hp.add(flexTable);
-
- final FlexTable flexLegend = new FlexTable();
- flexLegend.setStyleName("simpletable");
- //flexLegend.getElement().getStyle().setBorderWidth(0, Unit.PX);
- Map 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++;
- }
+ //button.setType(ButtonType.LINK);
+ //APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
+ if(j>0)
+ buttonHTML.getElement().getStyle().setColor("#000");
- flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
- hp.add(flexLegend);
- uib_vp_correlation_results_container.insert(hp,0);
- }
+ buttonHTML.addAttachHandler(new AttachEvent.Handler() {
+
+ @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 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 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 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 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 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 inputKPINames, List 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 inputKPI = new ArrayList();
- for (String kpiName : inputKPINames) {
- inputKPI.add(getKPIForName(kpiName));
- }
-
- List outputKPI = new ArrayList();
- 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 inputKPINames, List 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 inputKPI = new ArrayList();
+// for (String kpiName : inputKPINames) {
+// inputKPI.add(getKPIForName(kpiName));
+// }
+//
+// List outputKPI = new ArrayList();
+// 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);
+// }
/**
diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/ShowResult.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/ShowResult.java
index d5c4518..bcca8c8 100644
--- a/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/ShowResult.java
+++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/client/viewbinder/ShowResult.java
@@ -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);
diff --git a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java
index da8dfe5..e4d9260 100644
--- a/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java
+++ b/src/main/java/org/gcube/portlets/user/performfishanalytics/server/PerformFishAnalyticsServiceImpl.java
@@ -721,11 +721,12 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet
*/
public List manageOutputsForPerformFishAnalysis(List output) {
- OutputFile theOutputFile = null;
+ List newOutputFiles = new ArrayList();
try {
Map> theLegendMap = new HashMap>();
+ //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
}
diff --git a/src/main/resources/BATCH/KPI/GROW_OUT_AGGREGATED_CLOSED_BATCHES.csv b/src/main/resources/BATCH/KPI/GROW_OUT_AGGREGATED_CLOSED_BATCHES.csv
index 6c0c7df..94b33b0 100644
--- a/src/main/resources/BATCH/KPI/GROW_OUT_AGGREGATED_CLOSED_BATCHES.csv
+++ b/src/main/resources/BATCH/KPI/GROW_OUT_AGGREGATED_CLOSED_BATCHES.csv
@@ -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),
diff --git a/src/main/webapp/PerformFishAnalytics.css b/src/main/webapp/PerformFishAnalytics.css
index 729e728..889ea0c 100644
--- a/src/main/webapp/PerformFishAnalytics.css
+++ b/src/main/webapp/PerformFishAnalytics.css
@@ -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;
}
\ No newline at end of file