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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<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>
|
<attributes>
|
||||||
<attribute name="optional" value="true"/>
|
<attribute name="optional" value="true"/>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</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>
|
<attributes>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
@ -35,5 +35,5 @@
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</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>
|
</classpath>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
eclipse.preferences.version=1
|
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
|
warSrcDir=src/main/webapp
|
||||||
warSrcDirIsOutput=false
|
warSrcDirIsOutput=false
|
|
@ -1,10 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
<?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="/target/m2e-wtp/web-resources"/>
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
<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/java"/>
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||||
<property name="context-root" value="performfish-analytics-portlet"/>
|
<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>
|
</wb-module>
|
||||||
</project-modules>
|
</project-modules>
|
||||||
|
|
|
@ -87,6 +87,8 @@ public class PerformFishAnnualAnalyticsController {
|
||||||
|
|
||||||
private Map<Integer,FlexTable> boxPlotOrderBy = new HashMap<Integer,FlexTable>();
|
private Map<Integer,FlexTable> boxPlotOrderBy = new HashMap<Integer,FlexTable>();
|
||||||
|
|
||||||
|
private Map<Integer,FlexTable> synopticOrderBy = new HashMap<Integer,FlexTable>();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new perform fish analytics controller.
|
* Instantiates a new perform fish analytics controller.
|
||||||
|
@ -846,8 +848,14 @@ public class PerformFishAnnualAnalyticsController {
|
||||||
case DEA_CHART:
|
case DEA_CHART:
|
||||||
break;
|
break;
|
||||||
case PERFORMFISH_SYNOPTIC_TABLE_FARM:
|
case PERFORMFISH_SYNOPTIC_TABLE_FARM:
|
||||||
|
if(!result.getFileName().contains("legend")) {
|
||||||
cssTableStyle = "synoptictable-farm";
|
cssTableStyle = "synoptictable-farm";
|
||||||
break;
|
}
|
||||||
|
ShowResult showResultSin = new ShowResult(title);
|
||||||
|
showResultSin.showCSVFile(result, cssTableStyle);
|
||||||
|
displayingOrderedSynopticTable(dmResponse, result.getFileName(), container, showResultSin);
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ShowResult showResult = new ShowResult(title);
|
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) {
|
private void displayingOrderedBoxPlot(final DataMinerResponse dmResponse, String title, final Panel container, ShowResult showResult) {
|
||||||
int hashcode = dmResponse.hashCode();
|
int hashcode = dmResponse.hashCode();
|
||||||
GWT.log("The hascode is: "+hashcode);
|
GWT.log("The hascode is: "+hashcode);
|
||||||
|
|
|
@ -84,6 +84,8 @@ public class PerformFishAnalyticsController {
|
||||||
|
|
||||||
private Map<Integer,FlexTable> boxPlotOrderBy = new HashMap<Integer,FlexTable>();
|
private Map<Integer,FlexTable> boxPlotOrderBy = new HashMap<Integer,FlexTable>();
|
||||||
|
|
||||||
|
private Map<Integer,FlexTable> synopticOrderBy = new HashMap<Integer,FlexTable>();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new perform fish analytics controller.
|
* Instantiates a new perform fish analytics controller.
|
||||||
|
@ -753,6 +755,7 @@ public class PerformFishAnalyticsController {
|
||||||
String title = toTitle;
|
String title = toTitle;
|
||||||
switch (chartType) {
|
switch (chartType) {
|
||||||
case BOXPLOT:
|
case BOXPLOT:
|
||||||
|
|
||||||
if(result.getFileName().contains("_user")){
|
if(result.getFileName().contains("_user")){
|
||||||
title = "My Batch(es)";
|
title = "My Batch(es)";
|
||||||
}else{
|
}else{
|
||||||
|
@ -764,7 +767,9 @@ public class PerformFishAnalyticsController {
|
||||||
ShowResult showResult = new ShowResult(title);
|
ShowResult showResult = new ShowResult(title);
|
||||||
showResult.showCSVFile(result, cssTableStyle);
|
showResult.showCSVFile(result, cssTableStyle);
|
||||||
displayingOrderedBoxPlot(dmResponse, title, container, showResult);
|
displayingOrderedBoxPlot(dmResponse, title, container, showResult);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case CORRELATION:
|
case CORRELATION:
|
||||||
break;
|
break;
|
||||||
case DEA_ANALYSIS:
|
case DEA_ANALYSIS:
|
||||||
|
@ -776,10 +781,17 @@ public class PerformFishAnalyticsController {
|
||||||
case DEA_CHART:
|
case DEA_CHART:
|
||||||
break;
|
break;
|
||||||
case PERFORMFISH_SYNOPTICTABLE_BATCH:
|
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 showResult = new ShowResult(title);
|
||||||
showResult.showCSVFile(result, cssTableStyle);
|
showResult.showCSVFile(result, cssTableStyle);
|
||||||
container.add(showResult);
|
container.add(showResult);
|
||||||
|
@ -815,4 +827,23 @@ public class PerformFishAnalyticsController {
|
||||||
flex.setWidget(0, 2, showResult);
|
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.LoaderIcon;
|
||||||
import org.gcube.portlets.user.performfishanalytics.client.view.util.CorrelationValueToColourUtil;
|
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.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.KPI;
|
||||||
import org.gcube.portlets.user.performfishanalytics.shared.OutputFile;
|
import org.gcube.portlets.user.performfishanalytics.shared.OutputFile;
|
||||||
import org.gcube.portlets.user.performfishanalytics.shared.csv.CSVFile;
|
import org.gcube.portlets.user.performfishanalytics.shared.csv.CSVFile;
|
||||||
|
@ -158,6 +159,8 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
|
|
||||||
private HandlerManager theEventBus;
|
private HandlerManager theEventBus;
|
||||||
|
|
||||||
|
private Map<String, CSVFile> csvGenerated = new HashMap<String, CSVFile>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Because this class has a default constructor, it can
|
* Because this class has a default constructor, it can
|
||||||
* be used as a binder template. In other words, it can be used in other
|
* be used as a binder template. In other words, it can be used in other
|
||||||
|
@ -344,7 +347,11 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
|
|
||||||
public KPI getKPIForName(String name){
|
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;
|
KPI foundKPI = null;
|
||||||
String purgedName = name.trim();
|
String purgedName = name.trim();
|
||||||
for (KPI kpi : selectedKPIs) {
|
for (KPI kpi : selectedKPIs) {
|
||||||
|
@ -446,32 +453,12 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
* @param dmResponse the dm response
|
* @param dmResponse the dm response
|
||||||
*/
|
*/
|
||||||
public void addResults(DataMinerResponse dmResponse) {
|
public void addResults(DataMinerResponse dmResponse) {
|
||||||
|
|
||||||
this.dmResponse = dmResponse;
|
this.dmResponse = dmResponse;
|
||||||
|
|
||||||
for (final OutputFile outputFile : dmResponse.getListOutput()) {
|
for (final OutputFile outputFile : dmResponse.getListOutput()) {
|
||||||
|
|
||||||
switch (outputFile.getDataType()) {
|
if(outputFile.getDataType().equals(FileContentType.CSV)){
|
||||||
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
|
|
||||||
PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback<CSVFile>() {
|
PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback<CSVFile>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -483,7 +470,41 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(CSVFile result) {
|
public void onSuccess(CSVFile result) {
|
||||||
|
|
||||||
GWT.log("Displaying: "+result);
|
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);
|
||||||
|
|
||||||
HorizontalPanel hp = new HorizontalPanel();
|
HorizontalPanel hp = new HorizontalPanel();
|
||||||
final FlexTable flexTable = new FlexTable();
|
final FlexTable flexTable = new FlexTable();
|
||||||
flexTable.setStyleName("fixedtable");
|
flexTable.setStyleName("fixedtable");
|
||||||
|
@ -491,11 +512,8 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
|
|
||||||
flexTable.setWidget(0, 0,new Label(""));
|
flexTable.setWidget(0, 0,new Label(""));
|
||||||
|
|
||||||
// for (KPI kpi : selectedKPIs) {
|
|
||||||
// GWT.log("Selected KPIs are: "+kpi);
|
|
||||||
// }
|
|
||||||
|
|
||||||
CSVRow headerRow = result.getHeaderRow();
|
CSVRow headerRow = corrIndexCsvFile.getHeaderRow();
|
||||||
//HEADER
|
//HEADER
|
||||||
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
||||||
|
|
||||||
|
@ -520,14 +538,20 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
flexTable.setWidget(0, i,label);
|
flexTable.setWidget(0, i,label);
|
||||||
}
|
}
|
||||||
//DATA
|
//DATA
|
||||||
for (int i=0; i<result.getValueRows().size(); i++) {
|
for (int i=0; i<corrIndexCsvFile.getValueRows().size(); i++) {
|
||||||
CSVRow row = result.getValueRows().get(i);
|
CSVRow row = corrIndexCsvFile.getValueRows().get(i);
|
||||||
|
CSVRow rowMatrixColor = corrCsvFile.getValueRows().get(i);
|
||||||
final int rowIndex = i+1; //adding +1 for header row
|
final int rowIndex = i+1; //adding +1 for header row
|
||||||
for (int j=0; j<row.getListValues().size(); j++) {
|
for (int j=0; j<row.getListValues().size(); j++) {
|
||||||
final String rowValue = row.getListValues().get(j);
|
final String rowValue = row.getListValues().get(j);
|
||||||
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowValue);
|
final String rowMatrixColorValue = rowMatrixColor.getListValues().get(j);
|
||||||
|
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowMatrixColorValue);
|
||||||
final int columnIndex = j;
|
final int columnIndex = j;
|
||||||
final Button button = new Button(rowValue);
|
//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
|
//only the first column
|
||||||
if(j==0){
|
if(j==0){
|
||||||
|
@ -553,7 +577,9 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
}
|
}
|
||||||
//diagonal
|
//diagonal
|
||||||
else if(rowIndex==j){
|
else if(rowIndex==j){
|
||||||
HTML dg = new HTML("1");
|
//rowValue should be 1
|
||||||
|
//HTML dg = new HTML("1");
|
||||||
|
HTML dg = new HTML(rowValue);
|
||||||
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
||||||
flexTable.setWidget(rowIndex, j,dg);
|
flexTable.setWidget(rowIndex, j,dg);
|
||||||
continue;
|
continue;
|
||||||
|
@ -563,38 +589,38 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
//Here the first index is the KPI name
|
//Here the first index is the KPI name
|
||||||
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
||||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
||||||
button.setText(" ");
|
//button.setText(" ");
|
||||||
button.setIcon(IconType.COMPASS);
|
//button.setIcon(IconType.COMPASS);
|
||||||
button.setSize(ButtonSize.LARGE);
|
//button.setSize(ButtonSize.LARGE);
|
||||||
|
|
||||||
button.addClickHandler(new ClickHandler() {
|
buttonHTML.addClickHandler(new ClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
|
|
||||||
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
||||||
callScatter(rowIndex, columnIndex, button);
|
callScatter(rowIndex, columnIndex, buttonHTML);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
button.setType(ButtonType.LINK);
|
//button.setType(ButtonType.LINK);
|
||||||
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
||||||
if(j>0)
|
if(j>0)
|
||||||
button.getElement().getStyle().setColor("#000");
|
buttonHTML.getElement().getStyle().setColor("#000");
|
||||||
|
|
||||||
button.addAttachHandler(new AttachEvent.Handler() {
|
buttonHTML.addAttachHandler(new AttachEvent.Handler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttachOrDetach(AttachEvent event) {
|
public void onAttachOrDetach(AttachEvent event) {
|
||||||
if(theColor.startsWith("#")){
|
if(theColor.startsWith("#")){
|
||||||
GWT.log("Setting backgrounf color: "+theColor);
|
GWT.log("Setting backgrounf color: "+theColor);
|
||||||
button.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
buttonHTML.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
flexTable.setWidget(rowIndex, j,button);
|
flexTable.setWidget(rowIndex, j,buttonHTML);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -627,15 +653,7 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
||||||
hp.add(flexLegend);
|
hp.add(flexLegend);
|
||||||
uib_vp_correlation_results_container.insert(hp,0);
|
uib_vp_correlation_results_container.insert(hp,0);
|
||||||
}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -785,9 +803,9 @@ public class AnalyticsAnnualPanelResult extends Composite {
|
||||||
*
|
*
|
||||||
* @param rowIndex the row index
|
* @param rowIndex the row index
|
||||||
* @param columnIndex the column 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();
|
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.event.CallAlgorithmEvent;
|
||||||
import org.gcube.portlets.user.performfishanalytics.client.view.LoaderIcon;
|
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.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.KPI;
|
||||||
import org.gcube.portlets.user.performfishanalytics.shared.OutputFile;
|
import org.gcube.portlets.user.performfishanalytics.shared.OutputFile;
|
||||||
import org.gcube.portlets.user.performfishanalytics.shared.csv.CSVFile;
|
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.ControlGroup;
|
||||||
import com.github.gwtbootstrap.client.ui.ListBox;
|
import com.github.gwtbootstrap.client.ui.ListBox;
|
||||||
import com.github.gwtbootstrap.client.ui.constants.AlertType;
|
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.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.GWT;
|
||||||
import com.google.gwt.core.client.Scheduler;
|
import com.google.gwt.core.client.Scheduler;
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
import com.google.gwt.dom.client.Style.Unit;
|
||||||
|
@ -155,6 +153,8 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
|
|
||||||
private List<String> selectedAreas;
|
private List<String> selectedAreas;
|
||||||
|
|
||||||
|
private Map<String, CSVFile> csvGenerated = new HashMap<String, CSVFile>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Because this class has a default constructor, it can
|
* Because this class has a default constructor, it can
|
||||||
* be used as a binder template. In other words, it can be used in other
|
* be used as a binder template. In other words, it can be used in other
|
||||||
|
@ -192,7 +192,7 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
|
|
||||||
List<String> inputKPINames = getSelected(list_dea_input_kpi);
|
List<String> inputKPINames = getSelected(list_dea_input_kpi);
|
||||||
List<String> outputKPINames = getSelected(list_dea_output_kpi);
|
List<String> outputKPINames = getSelected(list_dea_output_kpi);
|
||||||
callDeaAnalysis(inputKPINames, outputKPINames, button_dea_analys_request);
|
//callDeaAnalysis(inputKPINames, outputKPINames, button_dea_analys_request);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -450,28 +450,7 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
|
|
||||||
for (final OutputFile outputFile : dmResponse.getListOutput()) {
|
for (final OutputFile outputFile : dmResponse.getListOutput()) {
|
||||||
|
|
||||||
switch (outputFile.getDataType()) {
|
if(outputFile.getDataType().equals(FileContentType.CSV)){
|
||||||
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
|
|
||||||
PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback<CSVFile>() {
|
PerformFishAnalyticsServiceAsync.Util.getInstance().getCSVFile(outputFile, true, new AsyncCallback<CSVFile>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -483,7 +462,37 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(CSVFile result) {
|
public void onSuccess(CSVFile result) {
|
||||||
|
|
||||||
GWT.log("Displaying: "+result);
|
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);
|
||||||
|
|
||||||
HorizontalPanel hp = new HorizontalPanel();
|
HorizontalPanel hp = new HorizontalPanel();
|
||||||
final FlexTable flexTable = new FlexTable();
|
final FlexTable flexTable = new FlexTable();
|
||||||
flexTable.setStyleName("fixedtable");
|
flexTable.setStyleName("fixedtable");
|
||||||
|
@ -491,11 +500,8 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
|
|
||||||
flexTable.setWidget(0, 0,new Label(""));
|
flexTable.setWidget(0, 0,new Label(""));
|
||||||
|
|
||||||
// for (KPI kpi : selectedKPIs) {
|
|
||||||
// GWT.log("Selected KPIs are: "+kpi);
|
|
||||||
// }
|
|
||||||
|
|
||||||
CSVRow headerRow = result.getHeaderRow();
|
CSVRow headerRow = corrIndexCsvFile.getHeaderRow();
|
||||||
//HEADER
|
//HEADER
|
||||||
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
for (int i=1; i<headerRow.getListValues().size(); i++) {
|
||||||
|
|
||||||
|
@ -520,14 +526,20 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
flexTable.setWidget(0, i,label);
|
flexTable.setWidget(0, i,label);
|
||||||
}
|
}
|
||||||
//DATA
|
//DATA
|
||||||
for (int i=0; i<result.getValueRows().size(); i++) {
|
for (int i=0; i<corrIndexCsvFile.getValueRows().size(); i++) {
|
||||||
CSVRow row = result.getValueRows().get(i);
|
CSVRow row = corrIndexCsvFile.getValueRows().get(i);
|
||||||
|
CSVRow rowMatrixColor = corrCsvFile.getValueRows().get(i);
|
||||||
final int rowIndex = i+1; //adding +1 for header row
|
final int rowIndex = i+1; //adding +1 for header row
|
||||||
for (int j=0; j<row.getListValues().size(); j++) {
|
for (int j=0; j<row.getListValues().size(); j++) {
|
||||||
final String rowValue = row.getListValues().get(j);
|
final String rowValue = row.getListValues().get(j);
|
||||||
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowValue);
|
final String rowMatrixColorValue = rowMatrixColor.getListValues().get(j);
|
||||||
|
final String theColor = CorrelationValueToColourUtil.getRGBColor(rowMatrixColorValue);
|
||||||
final int columnIndex = j;
|
final int columnIndex = j;
|
||||||
final Button button = new Button(rowValue);
|
//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
|
//only the first column
|
||||||
if(j==0){
|
if(j==0){
|
||||||
|
@ -553,7 +565,9 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
}
|
}
|
||||||
//diagonal
|
//diagonal
|
||||||
else if(rowIndex==j){
|
else if(rowIndex==j){
|
||||||
HTML dg = new HTML("1");
|
//rowValue should be 1
|
||||||
|
//HTML dg = new HTML("1");
|
||||||
|
HTML dg = new HTML(rowValue);
|
||||||
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
dg.getElement().getStyle().setFontSize(18, Unit.PX);
|
||||||
flexTable.setWidget(rowIndex, j,dg);
|
flexTable.setWidget(rowIndex, j,dg);
|
||||||
continue;
|
continue;
|
||||||
|
@ -563,38 +577,38 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
//Here the first index is the KPI name
|
//Here the first index is the KPI name
|
||||||
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
KPI rowKPI = getKPIForName(row.getListValues().get(0));
|
||||||
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
fillKPIReferenceForIndex(rowIndex, columnIndex, Arrays.asList(columnKPI, rowKPI));
|
||||||
button.setText(" ");
|
//button.setText(" ");
|
||||||
button.setIcon(IconType.COMPASS);
|
//button.setIcon(IconType.COMPASS);
|
||||||
button.setSize(ButtonSize.LARGE);
|
//button.setSize(ButtonSize.LARGE);
|
||||||
|
|
||||||
button.addClickHandler(new ClickHandler() {
|
buttonHTML.addClickHandler(new ClickHandler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
|
|
||||||
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
//callScatterAndDeaChart(rowIndex, columnIndex, button);
|
||||||
callScatter(rowIndex, columnIndex, button);
|
callScatter(rowIndex, columnIndex, buttonHTML);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
button.setType(ButtonType.LINK);
|
//button.setType(ButtonType.LINK);
|
||||||
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
//APPLYING STYLE ONLY ON INTERNAL VALUES OF CSV
|
||||||
if(j>0)
|
if(j>0)
|
||||||
button.getElement().getStyle().setColor("#000");
|
buttonHTML.getElement().getStyle().setColor("#000");
|
||||||
|
|
||||||
button.addAttachHandler(new AttachEvent.Handler() {
|
buttonHTML.addAttachHandler(new AttachEvent.Handler() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttachOrDetach(AttachEvent event) {
|
public void onAttachOrDetach(AttachEvent event) {
|
||||||
if(theColor.startsWith("#")){
|
if(theColor.startsWith("#")){
|
||||||
GWT.log("Setting backgrounf color: "+theColor);
|
GWT.log("Setting backgrounf color: "+theColor);
|
||||||
button.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
buttonHTML.getElement().getParentElement().getStyle().setBackgroundColor(theColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
flexTable.setWidget(rowIndex, j,button);
|
flexTable.setWidget(rowIndex, j,buttonHTML);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -627,15 +641,7 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
flexLegend.getElement().getStyle().setMarginLeft(15, Unit.PX);
|
||||||
hp.add(flexLegend);
|
hp.add(flexLegend);
|
||||||
uib_vp_correlation_results_container.insert(hp,0);
|
uib_vp_correlation_results_container.insert(hp,0);
|
||||||
}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -691,36 +697,36 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* Call box plot and speedo meter.
|
// * Call box plot and speedo meter.
|
||||||
*
|
// *
|
||||||
* @param rowIndex the row index
|
// * @param rowIndex the row index
|
||||||
* @param columnIndex the column index
|
// * @param columnIndex the column index
|
||||||
* @param button the button
|
// * @param button the button
|
||||||
*/
|
// */
|
||||||
private void callBoxPlotAndSpeedoMeter(int rowIndex, int columnIndex, Button button){
|
// private void callBoxPlotAndSpeedoMeter(int rowIndex, int columnIndex, Button button){
|
||||||
|
//
|
||||||
String focusID = checkValidFocusID();
|
// String focusID = checkValidFocusID();
|
||||||
|
//
|
||||||
if(focusID==null)
|
// if(focusID==null)
|
||||||
return;
|
// return;
|
||||||
|
//
|
||||||
GWT.log("Called BoxPlotAndSpeedoMeter at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
// GWT.log("Called BoxPlotAndSpeedoMeter at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
||||||
HorizontalPanel hp = new HorizontalPanel();
|
// 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");
|
// hp.getElement().addClassName("ext-horizontal-panel");
|
||||||
field_unary_algorithm_container.add(hp);
|
// HorizontalPanel boxPlot = new HorizontalPanel();
|
||||||
//KPI selectKPI = getKPIForName(button.getText());
|
// HorizontalPanel speedometer = new HorizontalPanel();
|
||||||
List<KPI> selectedKPI = getKPIForIndexes(rowIndex, columnIndex);
|
// hp.add(boxPlot);
|
||||||
GWT.log("Selected KPI: "+selectedKPI);
|
// hp.add(speedometer);
|
||||||
field_unary_algorithm.setVisible(true);
|
// //hp.getElement().addClassName("ext-horizontal-panel");
|
||||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.BOXPLOT, focusID, boxPlot);
|
// field_unary_algorithm_container.add(hp);
|
||||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.SPEEDOMETER, focusID, speedometer);
|
// //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.
|
// * Call scatter and dea chart.
|
||||||
*
|
// *
|
||||||
* @param rowIndex the row index
|
// * @param rowIndex the row index
|
||||||
* @param columnIndex the column index
|
// * @param columnIndex the column index
|
||||||
* @param button the button
|
// * @param button the button
|
||||||
*/
|
// */
|
||||||
private void callScatterAndDeaChart(int rowIndex, int columnIndex, Button button){
|
// private void callScatterAndDeaChart(int rowIndex, int columnIndex, Button button){
|
||||||
|
//
|
||||||
String focusID = checkValidFocusID();
|
// String focusID = checkValidFocusID();
|
||||||
|
//
|
||||||
if(focusID==null)
|
// if(focusID==null)
|
||||||
return;
|
// return;
|
||||||
|
//
|
||||||
GWT.log("Called ScatterAndDeaChart at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
// GWT.log("Called ScatterAndDeaChart at rowIndex: "+rowIndex +", columnIndex: "+columnIndex);
|
||||||
HorizontalPanel hp = new HorizontalPanel();
|
// 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");
|
// hp.getElement().addClassName("ext-horizontal-panel");
|
||||||
field_binary_algorithm_container.add(hp);
|
// HorizontalPanel scatter = new HorizontalPanel();
|
||||||
List<KPI> selectedKPI = getKPIForIndexes(rowIndex, columnIndex);
|
// HorizontalPanel deaChart = new HorizontalPanel();
|
||||||
GWT.log("Selected KPI: "+selectedKPI);
|
// hp.add(scatter);
|
||||||
field_binary_algorithm.setVisible(true);
|
// hp.add(deaChart);
|
||||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.SCATTER, focusID, scatter);
|
// //hp.getElement().addClassName("ext-horizontal-panel");
|
||||||
callDataMinerServiceForChart(dataInputParameters, selectedKPI, null, DataMinerAlgorithms.DEA_CHART, focusID, deaChart);
|
// 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 columnIndex the column index
|
||||||
* @param button the button
|
* @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();
|
String focusID = checkValidFocusID();
|
||||||
|
|
||||||
|
@ -806,37 +812,37 @@ public class AnalyticsPanelResult extends Composite {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* Call dea analysis.
|
// * Call dea analysis.
|
||||||
*
|
// *
|
||||||
* @param inputKPINames the input kpi names
|
// * @param inputKPINames the input kpi names
|
||||||
* @param outputKPINames the output kpi names
|
// * @param outputKPINames the output kpi names
|
||||||
* @param button the button
|
// * @param button the button
|
||||||
*/
|
// */
|
||||||
private void callDeaAnalysis(List<String> inputKPINames, List<String> outputKPINames, Button button){
|
// private void callDeaAnalysis(List<String> inputKPINames, List<String> outputKPINames, Button button){
|
||||||
|
//
|
||||||
HorizontalPanel hp = new HorizontalPanel();
|
// HorizontalPanel hp = new HorizontalPanel();
|
||||||
hp.getElement().addClassName("ext-horizontal-panel");
|
|
||||||
HorizontalPanel deaAnalysis = new HorizontalPanel();
|
|
||||||
hp.add(deaAnalysis);
|
|
||||||
// hp.getElement().addClassName("ext-horizontal-panel");
|
// hp.getElement().addClassName("ext-horizontal-panel");
|
||||||
uib_vp_deanalanlysis_algorithm_container.add(hp);
|
// HorizontalPanel deaAnalysis = new HorizontalPanel();
|
||||||
|
// hp.add(deaAnalysis);
|
||||||
List<KPI> inputKPI = new ArrayList<KPI>();
|
// //hp.getElement().addClassName("ext-horizontal-panel");
|
||||||
for (String kpiName : inputKPINames) {
|
// uib_vp_deanalanlysis_algorithm_container.add(hp);
|
||||||
inputKPI.add(getKPIForName(kpiName));
|
//
|
||||||
}
|
// List<KPI> inputKPI = new ArrayList<KPI>();
|
||||||
|
// for (String kpiName : inputKPINames) {
|
||||||
List<KPI> outputKPI = new ArrayList<KPI>();
|
// inputKPI.add(getKPIForName(kpiName));
|
||||||
for (String kpiName : outputKPINames) {
|
// }
|
||||||
outputKPI.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);
|
//
|
||||||
}
|
// 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){
|
public void showCSVFile(CSVFile csvFile, String cssStyleName){
|
||||||
|
|
||||||
final FlexTable flexTable = new FlexTable();
|
final FlexTable flexTable = new FlexTable();
|
||||||
|
|
||||||
|
if(cssStyleName!=null && !cssStyleName.isEmpty())
|
||||||
flexTable.setStyleName(cssStyleName);
|
flexTable.setStyleName(cssStyleName);
|
||||||
|
|
||||||
flexTable.getElement().getStyle().setMarginLeft(30, Unit.PX);
|
flexTable.getElement().getStyle().setMarginLeft(30, Unit.PX);
|
||||||
flexTable.getElement().getStyle().setMarginRight(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) {
|
public List<OutputFile> manageOutputsForPerformFishAnalysis(List<OutputFile> output) {
|
||||||
|
|
||||||
OutputFile theOutputFile = null;
|
List<OutputFile> newOutputFiles = new ArrayList<OutputFile>();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Map<String, List<String>> theLegendMap = new HashMap<String, List<String>>();
|
Map<String, List<String>> theLegendMap = new HashMap<String, List<String>>();
|
||||||
|
|
||||||
|
//FINDING THE FILE WIHT THE LEGEND
|
||||||
for (OutputFile outputFile : output) {
|
for (OutputFile outputFile : output) {
|
||||||
log.trace("outputFile: {}", outputFile.getName());
|
log.trace("outputFile: {}", outputFile.getName());
|
||||||
if(outputFile.getName().toLowerCase().contains("legend") && outputFile.getDataType().equals(FileContentType.CSV)){
|
if(outputFile.getName().toLowerCase().contains("legend") && outputFile.getDataType().equals(FileContentType.CSV)){
|
||||||
|
@ -744,24 +745,39 @@ public class PerformFishAnalyticsServiceImpl extends RemoteServiceServlet
|
||||||
if(theLegendMap.size()>0){
|
if(theLegendMap.size()>0){
|
||||||
log.info("Legend created as {}", theLegendMap.toString());
|
log.info("Legend created as {}", theLegendMap.toString());
|
||||||
for (OutputFile outputFile : output) {
|
for (OutputFile outputFile : output) {
|
||||||
//THE FILE MUST NOT CONTAINT *_legend_* IN THE NAME
|
OutputFile theOutputFile = outputFile;
|
||||||
if(!outputFile.getName().toLowerCase().contains("legend") && outputFile.getDataType().equals(FileContentType.CSV)){
|
String toNameLower = outputFile.getName().toLowerCase();
|
||||||
CSVFile theCorrelationFile = getCSVFile(outputFile, true);
|
|
||||||
|
//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{
|
try{
|
||||||
theOutputFile = createCSVWithLegendValues(theCorrelationFile, theLegendMap);
|
theOutputFile = createCSVWithLegendValues(theCorrelationMatrixIndexCSVFile, theLegendMap);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
log.warn("Error thrown creating the CSV File with legend returning the original output file {}", outputFile);
|
log.warn("Error thrown creating the CSV File with legend returning the original output file {}", outputFile);
|
||||||
theOutputFile = outputFile;
|
theOutputFile = outputFile;
|
||||||
}
|
}
|
||||||
break;
|
//break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//RETURNING ALSO THE file correlation_matrix.csv for applying the COLORS
|
||||||
|
newOutputFiles.add(theOutputFile);
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
log.warn("The Legend file not found returning the original output files {}", output);
|
log.warn("The Legend file not found returning the original output files {}", output);
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Arrays.asList(theOutputFile);
|
return newOutputFiles;
|
||||||
|
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
log.warn("Error occured managing the CSV File returing the original files extracted form .zip {}", output);
|
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;
|
//delete the file;
|
||||||
if(theFile!=null && deleteAfter){
|
if(theFile!=null && deleteAfter){
|
||||||
try{
|
try{
|
||||||
Files.deleteIfExists(theFile.toPath());
|
//Files.deleteIfExists(theFile.toPath());
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
//silent
|
//silent
|
||||||
}
|
}
|
||||||
|
|
|
@ -293,3 +293,14 @@ table.synoptictable-farm td:first-child {
|
||||||
table.synoptictable-farm td:last-child {
|
table.synoptictable-farm td:last-child {
|
||||||
border-right: none;
|
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