Fixed Algorithms to support DataMiner

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/databases-manager-portlet@133940 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Giancarlo Panichi 2016-11-07 17:45:12 +00:00
parent de3eca7c72
commit 8edb54d341
4 changed files with 68 additions and 105 deletions

View File

@ -16,17 +16,20 @@ public class Row extends BaseModelData implements Serializable {
public Row() { public Row() {
} }
public Row(List<String> attributes, List<String> values, int index) throws Exception{ public Row(List<String> attributes, List<String> values, int index)
throws Exception {
set("index", index); set("index", index);
for (int i = 0; i < attributes.size(); i++) { if (attributes != null && !attributes.isEmpty() && values != null
set(attributes.get(i), values.get(i)); && !values.isEmpty()){
// print check int limit;
// System.out.println("attribute: " + attributes.get(i) + " value: " if(attributes.size()>=values.size()){
// + values.get(i)); limit=values.size();
} else {
// print check limit=attributes.size();
// rootLogger.log(Level.INFO, "Row-> attribute: " }
// +attributes.get(i)+ "value: " + values.get(i)); for (int i = 0; i < limit; i++) {
set(attributes.get(i), values.get(i));
}
} }
} }

View File

@ -56,5 +56,14 @@ public class SubmitQueryResultWithFileFromServlet extends BaseModelData
public int getSubmitQueryTotalRows(){ public int getSubmitQueryTotalRows(){
return get("submitQueryTotalRows"); return get("submitQueryTotalRows");
} }
@Override
public String toString() {
return "SubmitQueryResultWithFileFromServlet [attributes=" + attributes
+ ", convertedQuery=" + convertedQuery + ", urlFile=" + urlFile
+ ", submitQueryTotalRows=" + submitQueryTotalRows + "]";
}
} }

View File

@ -83,7 +83,12 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
//class that represents the container of all components //class that represents the container of all components
public class GxtBorderLayoutPanel extends ContentPanel { public class GxtBorderLayoutPanel extends ContentPanel {
private static final String CREATE_TABLE_STATEMENT = "Create Table Statement";
private static final String NAME_OF_COLUMNS = "Name Of Columns";
private static final String ROWS_NUMBER = "Rows Number";
/* Create Root Logger */ /* Create Root Logger */
private static Logger rootLogger = Logger.getLogger("GxtBorderLayoutPanel"); private static Logger rootLogger = Logger.getLogger("GxtBorderLayoutPanel");
private ContentPanel north; private ContentPanel north;
@ -868,20 +873,6 @@ public class GxtBorderLayoutPanel extends ContentPanel {
return; return;
} }
// Listener<MessageBoxEvent> l = new
// Listener<MessageBoxEvent>() {
// public void handleEvent(MessageBoxEvent ce) {
// // Button btn = ce.getButtonClicked();
// // Info.display("MessageBox",
// // "The '{0}' button was pressed",
// // btn.getHtml());
// // Button btn = ce.getButtonClicked();
//
// if (form.getBody().isMasked())
// form.getBody().unmask();
// }
// };
if (!(caught.getMessage().equals("ServerException"))) { if (!(caught.getMessage().equals("ServerException"))) {
if (caught.getMessage().contains( if (caught.getMessage().contains(
"Result not available")) { "Result not available")) {
@ -893,12 +884,6 @@ public class GxtBorderLayoutPanel extends ContentPanel {
} }
} }
// if (!(caught instanceof
// javax.xml.ws.soap.SOAPFaultException)){
// MessageBox.alert("Error ",
// "<br/>Message:" + caught.getMessage(), l);
// }
if (form.getBody().isMasked()) if (form.getBody().isMasked())
form.getBody().unmask(); form.getBody().unmask();
@ -947,52 +932,14 @@ public class GxtBorderLayoutPanel extends ContentPanel {
} else { } else {
query = obj.getConvertedQuery(); query = obj.getConvertedQuery();
} }
// if ((listAttributes == null)
// || (listAttributes.size() == 0)) {
//
// // if (form.getBody().isMasked())
// // form.getBody().unmask();
//
// rootLogger.log(Level.SEVERE,
// "No results have been returned");
//
// MessageBox.alert("Error ", "<br/>Message:"
// + "Result not available", null);
// return;
// }
rootLogger.log(Level.SEVERE, rootLogger.log(Level.SEVERE,
"SUCCESS RPC submitQuery"); "SUCCESS RPC submitQuery");
rootLogger.log(Level.SEVERE, "output size: " rootLogger.log(Level.SEVERE, "output size: "
+ listAttributes.size()); + listAttributes.size());
// recover query
// Result query = result.remove(0);
// recover converted query
// Result convertedQuery;
// if (dataQuery.getSmartCorrection() == true) {
// result.remove(0);
// // convertedQuery = result.get(1);
// }
// get the attributes list for the result table
// List<String> listAttributes = new
// ArrayList<String>();
// listAttributes = getListAttributes(result.get(0)
// .getValue());
// // remove the header in order to parse only the
// result
// result.remove(0);
// parse the result in order to obtain a table
// boolean submitQueryEventManaged = true;
// parseResult(result, form, dialogID,
// submitQueryEventManaged);
// parseSubmitQueryResult(result, form, dialogID,
// listAttributes, dataQuery.getQuery());
// get path // get path
// String fileName = obj.getFileName(); // String fileName = obj.getFileName();
String urlFile = obj.getUrlFile(); String urlFile = obj.getUrlFile();
@ -2067,39 +2014,41 @@ public class GxtBorderLayoutPanel extends ContentPanel {
for (int i = 0; i < result.size(); i++) { for (int i = 0; i < result.size(); i++) {
if (array[i].toString().contains( if (array[i].toString().contains(
"CreateTable")) { CREATE_TABLE_STATEMENT)) {
// recover the // recover the
// showCreateTable // showCreateTable
// statement // statement
Result row = new Result( Result row = new Result(
"Create statement", result.get( CREATE_TABLE_STATEMENT, result.get(
array[i].toString()) array[i].toString())
.getName()); .getName());
TableDetails.add(row); TableDetails.add(row);
} }
if (array[i].toString().contains( if (array[i].toString().contains(
"Column Names")) { NAME_OF_COLUMNS)) {
// recover the // recover the
// column names // column names
Result row = new Result("Column names", Result row = new Result(NAME_OF_COLUMNS,
result.get(array[i].toString()) result.get(array[i].toString())
.getName()); .getName());
TableDetails.add(row); TableDetails.add(row);
} }
if (array[i].toString().contains( if (array[i].toString().contains(
"NumberRows")) { ROWS_NUMBER)) {
// recover the // recover the
// column names // column names
Result row = new Result( Result row = new Result(
"Number of rows", result.get( ROWS_NUMBER, result.get(
array[i].toString()) array[i].toString())
.getName()); .getName());
TableDetails.add(row); TableDetails.add(row);
} }
} }
rootLogger.log(Level.INFO, "Table Details: "+TableDetails);
Table.setTableDetails(TableDetails); Table.setTableDetails(TableDetails);
rootLogger.log(Level.INFO, "File Model: "+Table);
displayTableDetails(Table); displayTableDetails(Table);
Table.setTableDetailsDisplayed(true); Table.setTableDetailsDisplayed(true);
} }

View File

@ -632,7 +632,7 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
mapValues = outputData.getMapValues(); mapValues = outputData.getMapValues();
mapKeys = outputData.getmapKeys(); mapKeys = outputData.getmapKeys();
if (mapValues.size() != 0) { if (mapValues != null && !mapValues.isEmpty()) {
output = new ArrayList<Result>(); output = new ArrayList<Result>();
// logger.info("build the result - started"); // logger.info("build the result - started");
@ -643,10 +643,6 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
output.add(row); output.add(row);
} }
// System.out.println("output size submit: " +
// output.size());
// logger.info("build the result - finished");
// get the converted query // get the converted query
if (smartCorrectionQuery == true) { if (smartCorrectionQuery == true) {
convertedQuery = output.get(0).getValue(); convertedQuery = output.get(0).getValue();
@ -697,6 +693,8 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
} }
} }
logger.debug("SubmitQuery Result: " + result);
return result; return result;
} catch (Exception e) { } catch (Exception e) {
// e.printStackTrace(); // e.printStackTrace();
@ -1213,7 +1211,7 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
return outputParameters; return outputParameters;
} catch (Exception e) { } catch (Exception e) {
logger.error("dbmanager-> ", e); logger.error("dbmanager getTableDetails-> ", e);
if (!(e instanceof StatisticalManagerException)) { if (!(e instanceof StatisticalManagerException)) {
// GWT can't serialize all exceptions // GWT can't serialize all exceptions
throw new Exception( throw new Exception(
@ -1242,7 +1240,7 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
// get the key to retrieve the submitQuery result // get the key to retrieve the submitQuery result
String key = getKeySubmitQueryResult(UID); String key = getKeySubmitQueryResult(UID);
if ((key != null) && (!key.equals(""))) { if ((key != null) && (!key.isEmpty())) {
// load data // load data
// get data from cache // get data from cache
@ -1275,6 +1273,7 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
int totalNumber = data.size(); int totalNumber = data.size();
sublist = new ArrayList<Row>(data.subList(start, limit)); sublist = new ArrayList<Row>(data.subList(start, limit));
loadResult = new BasePagingLoadResult<Row>(sublist, loadResult = new BasePagingLoadResult<Row>(sublist,
config.getOffset(), totalNumber); config.getOffset(), totalNumber);
@ -1333,23 +1332,25 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
// parse a csv row in a list of values // parse a csv row in a list of values
@Override @Override
public List<Row> parseCVSString(List<Result> result, List<String> attrNames) public List<Row> parseCVSString(List<Result> results, List<String> attrNames)
throws Exception { throws Exception {
List<Row> rows = null; List<Row> rows = new ArrayList<Row>();
try { try {
if (result != null) { if (results != null && !results.isEmpty()) {
rows = new ArrayList<Row>(); for (int i = 0; i < results.size(); i++) {
for (int i = 0; i < result.size(); i++) { Result res = results.get(i);
List<String> attrValues = parse(result.get(i).getValue()); if (res != null && res.getValue() != null) {
Row element = new Row(attrNames, attrValues, i); List<String> attrValues = parse(res.getValue());
rows.add(element); Row element = new Row(attrNames, attrValues, i);
rows.add(element);
}
} }
} }
return rows; return rows;
} catch (Exception e) { } catch (Exception e) {
logger.error("dbmanager-> ", e); logger.error("dbmanager parse csv string-> ", e);
throw new Exception(e); throw new Exception(e);
} }
} }
@ -1407,7 +1408,7 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
// logger.info("server token: " + phrase); // logger.info("server token: " + phrase);
// logger.info("size: " + elements.size()); // logger.info("size: " + elements.size());
} catch (Exception e) { } catch (Exception e) {
logger.error("dbmanager-> ", e); logger.error("dbmanager parse string-> ", e);
throw e; throw e;
} }
return elements; return elements;
@ -1636,12 +1637,12 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
pars.add(par); pars.add(par);
} }
logger.debug("Parameters: "+pars); logger.debug("Parameters: " + pars);
operator.setOperatorParameters(pars); operator.setOperatorParameters(pars);
ComputationId computationId = sClient.startComputation(operator); ComputationId computationId = sClient.startComputation(operator);
//float percentage = 0; // float percentage = 0;
//String scope = scopeValue; // String scope = scopeValue;
// String username = getUsername(); // String username = getUsername();
updateJobStatus(jobID, "computation started"); updateJobStatus(jobID, "computation started");
@ -1736,18 +1737,19 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
logger.info("dbmanager-> Http link of the generated File: " logger.info("dbmanager-> Http link of the generated File: "
+ fileResource.getUrl()); + fileResource.getUrl());
} else { } else {
if (key.compareToIgnoreCase("Total Rows") == 0) { ObjectResource objectResource = (ObjectResource) value;
ObjectResource objectResource = (ObjectResource) value; if (objectResource.getName().compareToIgnoreCase(
"Total Rows") == 0) {
outputData.setSubmitQueryTotalRows(Integer outputData.setSubmitQueryTotalRows(Integer
.parseInt(objectResource.getValue())); .parseInt(objectResource.getValue()));
} else { } else {
ObjectResource objectResource = (ObjectResource) value; logger.debug("ObjectResource: " + value);
logger.debug("ObjectResource: "+value);
mapKeys.put(String.valueOf(i), value.getName()); mapKeys.put(String.valueOf(i), value.getName());
mapValues.put(String.valueOf(i), mapValues.put(String.valueOf(i),
objectResource.getValue()); objectResource.getValue());
i++; i++;
} }
} }
} }
} }
@ -2784,8 +2786,8 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
resource.setValue(resourceName); resource.setValue(resourceName);
List<Parameter> inputParameters = new ArrayList<Parameter>(); List<Parameter> inputParameters = new ArrayList<Parameter>();
inputParameters.add(resource); inputParameters.add(resource);
logger.debug("InputParameters: "+inputParameters); logger.debug("InputParameters: " + inputParameters);
ComputationOutput outputData = new ComputationOutput(); ComputationOutput outputData = new ComputationOutput();
// computation id // computation id
ComputationId computationId = startComputation(algorithmId, ComputationId computationId = startComputation(algorithmId,
@ -2827,8 +2829,8 @@ public class GWTdbManagerServiceImpl extends RemoteServiceServlet implements
// + key); // + key);
} }
} }
logger.debug("dbmanager outputParameters-> "+outputParameters); logger.debug("dbmanager outputParameters-> " + outputParameters);
return outputParameters; return outputParameters;
} catch (Exception e) { } catch (Exception e) {
// e.printStackTrace(); // e.printStackTrace();