diff --git a/.classpath b/.classpath
index 9501185..06579f5 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,12 @@
-
+
-
+
@@ -33,5 +33,5 @@
-
+
diff --git a/distro/changelog.xml b/distro/changelog.xml
index 95fafc6..dead6a2 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,4 +1,7 @@
+
+ Added DataMiner [issue #6548]
+
Updatetd to new PortalContext [issue #6548]
diff --git a/pom.xml b/pom.xml
index c9c11a6..da4e6aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
4.0.0
org.gcube.portlets.user
tabular-data-gwt-service
- 2.15.0-SNAPSHOT
+ 2.16.0-SNAPSHOT
tabular-data-gwt-service
tabular-data-gwt-service allows communication between the GUI and services
@@ -68,17 +68,9 @@
1.0.1
runtime
-
+
@@ -95,9 +87,9 @@
gwt-user
${gwtVersion}
-
-
-
+
+
+
org.gcube.core
@@ -123,8 +115,8 @@
[1.0.0-SNAPSHOT,)
compile
-
-
+
+
org.gcube.common
@@ -138,14 +130,10 @@
provided
-
-
-
+
+
+
org.json
@@ -157,10 +145,10 @@
org.gcube.data.publishing
sdmx-registry-client-gcube
[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)
-
-
-
-
+
+
+
+
@@ -174,7 +162,7 @@
aslsocial
provided
-
+
@@ -231,7 +219,7 @@
home-library-model
provided
-
+
org.gcube.data.analysis.tabulardata
@@ -239,7 +227,7 @@
[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)
provided
-
+
@@ -255,6 +243,13 @@
[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)
+
+
+ org.gcube.data.analysis
+ data-miner-manager-cl
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+
+
org.gcube.portlets.user
@@ -262,7 +257,7 @@
[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
provided
-
+
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java
index 84721a0..30c2497 100644
--- a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTService.java
@@ -35,7 +35,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.share.ShareRule;
import org.gcube.portlets.user.td.gwtservice.shared.share.ShareTabResource;
import org.gcube.portlets.user.td.gwtservice.shared.share.ShareTemplate;
import org.gcube.portlets.user.td.gwtservice.shared.source.SDMXRegistrySource;
-import org.gcube.portlets.user.td.gwtservice.shared.statistical.StatisticalOperationSession;
+import org.gcube.portlets.user.td.gwtservice.shared.statistical.DataMinerOperationSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResubmitSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResumeSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.ValidationsTasksMetadata;
@@ -115,7 +115,6 @@ public interface TDGWTService extends RemoteService {
*/
public UserInfo hello() throws TDGWTServiceException;
-
/**
* Set locale on server
*
@@ -123,7 +122,7 @@ public interface TDGWTService extends RemoteService {
* @throws TDGWTServiceException
*/
public void setLocale(InfoLocale infoLocale) throws TDGWTServiceException;
-
+
/**
* Retrieve pending Tasks and set them as background tasks
*
@@ -148,8 +147,7 @@ public interface TDGWTService extends RemoteService {
*/
public String getUriFromResolver(UriResolverSession uriResolverSession)
throws TDGWTServiceException;
-
-
+
/**
* Get VRE Folder Id
*
@@ -157,8 +155,7 @@ public interface TDGWTService extends RemoteService {
* @throws TDGWTServiceException
*/
public String getVREFolderIdByScope() throws TDGWTServiceException;
-
-
+
// PeriodDataType
/**
* Get list of PeriodDataType
@@ -769,8 +766,6 @@ public interface TDGWTService extends RemoteService {
public AvailableCharsetList getAvailableCharsetForExport()
throws TDGWTServiceException;
-
-
/**
* Start CSV Export and invokes the client library
*
@@ -1233,15 +1228,15 @@ public interface TDGWTService extends RemoteService {
public String startMapCreation(MapCreationSession mapCreationSession)
throws TDGWTServiceException;
- // Statistical
+ // DataMiner
/**
*
- * @param statisticalOperationSession
+ * @param dataMinerOperationSession
* @return
* @throws TDGWTServiceException
*/
- public String startStatisticalOperation(
- StatisticalOperationSession statisticalOperationSession)
+ public String startDataMinerOperation(
+ DataMinerOperationSession dataMinerOperationSession)
throws TDGWTServiceException;
// Chart
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java
index 93a457a..3c4bc76 100644
--- a/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/client/rpc/TDGWTServiceAsync.java
@@ -34,7 +34,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.share.ShareRule;
import org.gcube.portlets.user.td.gwtservice.shared.share.ShareTabResource;
import org.gcube.portlets.user.td.gwtservice.shared.share.ShareTemplate;
import org.gcube.portlets.user.td.gwtservice.shared.source.SDMXRegistrySource;
-import org.gcube.portlets.user.td.gwtservice.shared.statistical.StatisticalOperationSession;
+import org.gcube.portlets.user.td.gwtservice.shared.statistical.DataMinerOperationSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResubmitSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResumeSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.ValidationsTasksMetadata;
@@ -99,8 +99,8 @@ public interface TDGWTServiceAsync {
.create(TDGWTService.class);
void hello(AsyncCallback callback);
-
- void setLocale(InfoLocale infoLocale,AsyncCallback callback);
+
+ void setLocale(InfoLocale infoLocale, AsyncCallback callback);
void pendingTasksRetrieve(AsyncCallback callback);
@@ -108,9 +108,9 @@ public interface TDGWTServiceAsync {
void getUriFromResolver(UriResolverSession uriResolverSession,
AsyncCallback callback);
-
+
void getVREFolderIdByScope(AsyncCallback callback);
-
+
// PeriodDataType
void getPeriodDataTypes(AsyncCallback> callback);
@@ -174,10 +174,10 @@ public interface TDGWTServiceAsync {
void getColumnWithViewColumnIncluded(TRId trId,
AsyncCallback> callback);
-
+
void getColumnWithOnlyViewColumnInRel(TRId trId,
AsyncCallback> callback);
-
+
void getColumnsForStatistical(TRId trId,
AsyncCallback> callback);
@@ -217,12 +217,12 @@ public interface TDGWTServiceAsync {
void getValidationColumns(TRId trId, String columnName,
AsyncCallback> callback);
-
+
void getValidationColumns(String columnLocalId, TRId trId,
AsyncCallback> callback);
void startValidationsDelete(TRId trId, AsyncCallback callback);
-
+
// RollBack
void startRollBack(RollBackSession rollBackSession,
AsyncCallback callback);
@@ -234,9 +234,8 @@ public interface TDGWTServiceAsync {
void setShareTemplate(ShareTemplate shareTemplate,
AsyncCallback callback);
-
- void setShareRule(ShareRule shareRule,
- AsyncCallback callback);
+
+ void setShareRule(ShareRule shareRule, AsyncCallback callback);
// CodelistPagingLoaded
void setCodelistsPagingLoader(AsyncCallback callback);
@@ -286,8 +285,9 @@ public interface TDGWTServiceAsync {
AsyncCallback callback);
// Export CSV
- void getAvailableCharsetForExport(AsyncCallback callback);
-
+ void getAvailableCharsetForExport(
+ AsyncCallback callback);
+
void startCSVExport(CSVExportSession csvExportSession,
AsyncCallback callback);
@@ -327,11 +327,11 @@ public interface TDGWTServiceAsync {
void startLabelColumn(LabelColumnSession labelColumnSession,
AsyncCallback callback);
-
- void startChangeColumnsPosition(ChangeColumnsPositionSession changeColumnsPositionSession,
+
+ void startChangeColumnsPosition(
+ ChangeColumnsPositionSession changeColumnsPositionSession,
AsyncCallback callback);
-
-
+
/*
* void startSplitColumn(SplitColumnSession
* splitColumnSession,AsyncCallback callback);
@@ -417,12 +417,11 @@ public interface TDGWTServiceAsync {
void getBackgroundOperationMonitor(
BackgroundOperationMonitorSession backgroundOperationMonitorSession,
AsyncCallback> callback);
-
+
void getBackgroundOperationMonitorForSpecificTask(
OperationMonitorSession operationMonitorSession,
AsyncCallback callback);
-
-
+
// File Upload Monitor
void getFileUploadMonitor(AsyncCallback callback);
@@ -443,9 +442,10 @@ public interface TDGWTServiceAsync {
void startMapCreation(MapCreationSession mapCreationSession,
AsyncCallback callback);
- // Statistical
- void startStatisticalOperation(
- StatisticalOperationSession statisticalOperationSession,
+
+ // DataMiner
+ void startDataMinerOperation(
+ DataMinerOperationSession dataMinerOperationSession,
AsyncCallback callback);
// Chart
@@ -460,7 +460,7 @@ public interface TDGWTServiceAsync {
void startGeospatialDownscaleCSquare(
GeospatialDownscaleCSquareSession geospatialDownscaleCSquareSession,
AsyncCallback callback);
-
+
// Geometry
void startGeometryCreatePoint(
GeometryCreatePointSession geometryCreatePointSession,
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionConstants.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionConstants.java
index 5efc2e1..8964e52 100644
--- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionConstants.java
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionConstants.java
@@ -74,7 +74,7 @@ public class SessionConstants {
public static final String REPLACE_BY_EXTERNAL_SESSION = "REPLACE_BY_EXTERNAL_SESSION";
- public static final String STATISTICAL_OPERATION_SESSION = "STATISTICAL_OPERATION_SESSION";
+ public static final String DATAMINER_OPERATION_SESSION = "DATAMINER_OPERATION_SESSION";
public static final String NORMALIZATION_SESSION = "NORMALIZATION_SESSION";
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionUtil.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionUtil.java
index 8851421..3be601d 100644
--- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionUtil.java
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/SessionUtil.java
@@ -42,7 +42,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.rule.DetachTableRulesSession
import org.gcube.portlets.user.td.gwtservice.shared.sdmx.SDMXExportSession;
import org.gcube.portlets.user.td.gwtservice.shared.sdmx.SDMXImportSession;
import org.gcube.portlets.user.td.gwtservice.shared.source.SDMXRegistrySource;
-import org.gcube.portlets.user.td.gwtservice.shared.statistical.StatisticalOperationSession;
+import org.gcube.portlets.user.td.gwtservice.shared.statistical.DataMinerOperationSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResubmitSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskResumeSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskWrapper;
@@ -1673,25 +1673,25 @@ public class SessionUtil {
}
//
- public static StatisticalOperationSession getStatisticalOperationSession(
+ public static DataMinerOperationSession getDataMinerOperationSession(
HttpServletRequest httpRequest,
ServiceCredentials serviceCredentials) throws TDGWTServiceException {
- SessionOp sessionOp = new SessionOp<>();
- StatisticalOperationSession statisticalOperationSession = sessionOp
+ SessionOp sessionOp = new SessionOp<>();
+ DataMinerOperationSession dataMinerOperationSession = sessionOp
.get(httpRequest, serviceCredentials,
- SessionConstants.STATISTICAL_OPERATION_SESSION,
- StatisticalOperationSession.class);
- return statisticalOperationSession;
+ SessionConstants.DATAMINER_OPERATION_SESSION,
+ DataMinerOperationSession.class);
+ return dataMinerOperationSession;
}
- public static void setStatisticalOperationSession(
+ public static void setDataMinerOperationSession(
HttpServletRequest httpRequest,
ServiceCredentials serviceCredentials,
- StatisticalOperationSession statisticalOperationSession) {
- SessionOp sessionOp = new SessionOp<>();
+ DataMinerOperationSession dataMinerOperationSession) {
+ SessionOp sessionOp = new SessionOp<>();
sessionOp.set(httpRequest, serviceCredentials,
- SessionConstants.STATISTICAL_OPERATION_SESSION,
- statisticalOperationSession);
+ SessionConstants.DATAMINER_OPERATION_SESSION,
+ dataMinerOperationSession);
}
//
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java
index 0622000..9a6a3df 100644
--- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java
@@ -117,6 +117,7 @@ import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4Chan
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4ChartTopRating;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4Clone;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4CodelistMapping;
+import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4DataMinerOperation;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4DeleteColumn;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4DeleteRows;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4Denormalization;
@@ -141,7 +142,6 @@ import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4SDMX
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4SDMXCodelistImport;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4SDMXDatasetExport;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4SplitColumn;
-import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4StatisticalOperation;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4TimeAggregation;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecution4Union;
import org.gcube.portlets.user.td.gwtservice.server.opexecution.OpExecutionDirector;
@@ -206,7 +206,7 @@ import org.gcube.portlets.user.td.gwtservice.shared.share.ShareTabResource;
import org.gcube.portlets.user.td.gwtservice.shared.share.ShareTemplate;
import org.gcube.portlets.user.td.gwtservice.shared.source.SDMXRegistrySource;
import org.gcube.portlets.user.td.gwtservice.shared.source.SourceType;
-import org.gcube.portlets.user.td.gwtservice.shared.statistical.StatisticalOperationSession;
+import org.gcube.portlets.user.td.gwtservice.shared.statistical.DataMinerOperationSession;
import org.gcube.portlets.user.td.gwtservice.shared.task.InvocationS;
import org.gcube.portlets.user.td.gwtservice.shared.task.JobS;
import org.gcube.portlets.user.td.gwtservice.shared.task.JobSClassifier;
@@ -9020,13 +9020,12 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
}
- /**
- *
- * {@inheritDoc}
- */
+
+
+
@Override
- public String startStatisticalOperation(
- StatisticalOperationSession statisticalOperationSession)
+ public String startDataMinerOperation(
+ DataMinerOperationSession dataMinerOperationSession)
throws TDGWTServiceException {
HttpServletRequest httpRequest = null;
try {
@@ -9034,16 +9033,16 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
ServiceCredentials serviceCredentials = SessionUtil
.getServiceCredentials(httpRequest);
- SessionUtil.setStatisticalOperationSession(httpRequest,
- serviceCredentials, statisticalOperationSession);
+ SessionUtil.setDataMinerOperationSession(httpRequest,
+ serviceCredentials, dataMinerOperationSession);
TabularDataService service = TabularDataServiceFactory.getService();
- checkTRId(statisticalOperationSession.getTrId(), httpRequest,
+ checkTRId(dataMinerOperationSession.getTrId(), httpRequest,
serviceCredentials);
TabularResourceId tabularResourceId = new TabularResourceId(
- Long.valueOf(statisticalOperationSession.getTrId().getId()));
+ Long.valueOf(dataMinerOperationSession.getTrId().getId()));
TabularResource tabularResource = service
.getTabularResource(tabularResourceId);
@@ -9052,8 +9051,8 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
checkTabularResourceLocked(tabularResource, httpRequest,
serviceCredentials);
- OpExecution4StatisticalOperation opEx = new OpExecution4StatisticalOperation(
- service, serviceCredentials, statisticalOperationSession);
+ OpExecution4DataMinerOperation opEx = new OpExecution4DataMinerOperation(
+ service, serviceCredentials, dataMinerOperationSession);
OpExecutionDirector director = new OpExecutionDirector();
director.setOperationExecutionBuilder(opEx);
director.constructOperationExecution();
@@ -9061,7 +9060,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
if (invocation == null) {
throw new TDGWTServiceException(
- "Error Statistical Operation invocation: Operation not supported");
+ "Error DataMiner Operation invocation: Operation not supported");
}
logger.debug("OperationInvocation: \n" + invocation.toString());
@@ -9069,7 +9068,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
logger.debug("Start Task on service: TaskId " + trTask.getId());
TaskWrapper taskWrapper = new TaskWrapper(trTask,
UIOperationsId.StatisticalOperation,
- statisticalOperationSession.getTrId());
+ dataMinerOperationSession.getTrId());
SessionUtil.setStartedTask(httpRequest, serviceCredentials,
taskWrapper);
return trTask.getId().getValue();
@@ -9083,11 +9082,12 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements
messages.getString(TDGWTServiceMessagesConstants.securityExceptionRights));
} catch (Throwable e) {
e.printStackTrace();
- throw new TDGWTServiceException("Error in statistical operation: "
+ throw new TDGWTServiceException("Error in DataMiner operation: "
+ e.getLocalizedMessage());
}
}
+
/**
*
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4DataMinerOperation.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4DataMinerOperation.java
new file mode 100644
index 0000000..4325226
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4DataMinerOperation.java
@@ -0,0 +1,64 @@
+package org.gcube.portlets.user.td.gwtservice.server.opexecution;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.gcube.data.analysis.tabulardata.commons.webservice.types.operations.OperationDefinition;
+import org.gcube.data.analysis.tabulardata.commons.webservice.types.operations.OperationExecution;
+import org.gcube.data.analysis.tabulardata.service.TabularDataService;
+import org.gcube.portlets.user.td.gwtservice.server.trservice.OperationDefinitionMap;
+import org.gcube.portlets.user.td.gwtservice.server.util.ServiceCredentials;
+import org.gcube.portlets.user.td.gwtservice.shared.Constants;
+import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTServiceException;
+import org.gcube.portlets.user.td.gwtservice.shared.statistical.DataMinerOperationSession;
+import org.gcube.portlets.user.td.widgetcommonevent.shared.operations.OperationsId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Operation DataMiner
+ *
+ * @author "Giancarlo Panichi" email: g.panichi@isti.cnr.it
+ *
+ */
+public class OpExecution4DataMinerOperation extends OpExecutionBuilder {
+ private static Logger logger = LoggerFactory
+ .getLogger(OpExecution4DataMinerOperation.class);
+
+ private TabularDataService service;
+ private ServiceCredentials serviceCredentials;
+ private DataMinerOperationSession dataMinerOperationSession;
+
+
+ public OpExecution4DataMinerOperation(
+ TabularDataService service,ServiceCredentials serviceCredentials,
+ DataMinerOperationSession dataMinerOperationSession) {
+ this.service = service;
+ this.serviceCredentials = serviceCredentials;
+ this.dataMinerOperationSession = dataMinerOperationSession;
+ }
+
+ @Override
+ public void buildOpEx() throws TDGWTServiceException {
+ OperationExecution invocation = null;
+
+ logger.debug(dataMinerOperationSession.toString());
+ OperationDefinition operationDefinition;
+ Map map = new HashMap();
+
+ operationDefinition = OperationDefinitionMap.map(
+ OperationsId.StatisticalOperation.toString(), service);
+
+ map.put(Constants.PARAMETER_DATAMINER_GCUBETOKEN, serviceCredentials.getToken());
+ map.put(Constants.PARAMETER_DATAMINER_OPERATOR, dataMinerOperationSession.getOperator());
+
+ invocation = new OperationExecution(
+ operationDefinition.getOperationId(), map);
+
+
+ operationExecutionSpec.setOp(invocation);
+
+ }
+
+}
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java
index a81d547..0a416c7 100644
--- a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java
@@ -72,6 +72,9 @@ public class Constants {
public static final String PARAMETER_STATISTICAL_OPERATION_PARAMETERS = "smEntries";
public static final String PARAMETER_STATISTICAL_OPERATION_DESCRIPTION = "description";
public static final String PARAMETER_STATISTICAL_OPERATION_TITLE = "title";
+
+ public static final String PARAMETER_DATAMINER_GCUBETOKEN = "gcubetoken";
+ public static final String PARAMETER_DATAMINER_OPERATOR = "operator";
public static final String PARAMETER_ADD_ROW_COMPOSITE_FIELD = "field";
public static final String PARAMETER_ADD_ROW_COMPOSITE_TOSETVALUE = "toSetValue";
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/statistical/DataMinerOperationSession.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/statistical/DataMinerOperationSession.java
new file mode 100644
index 0000000..209fe87
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/statistical/DataMinerOperationSession.java
@@ -0,0 +1,49 @@
+/**
+ *
+ */
+package org.gcube.portlets.user.td.gwtservice.shared.statistical;
+
+import java.io.Serializable;
+
+import org.gcube.data.analysis.dataminermanagercl.shared.process.Operator;
+import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
+
+/**
+ *
+ * @author giancarlo email: g.panichi@isti.cnr.it
+ *
+ */
+public class DataMinerOperationSession implements Serializable {
+
+ private static final long serialVersionUID = -8968614490778086448L;
+ private TRId trId;
+ private Operator operator;
+
+ public DataMinerOperationSession() {
+ super();
+ }
+
+ public DataMinerOperationSession(TRId trId, Operator operator) {
+ super();
+ this.trId = trId;
+ this.operator = operator;
+ }
+
+ public TRId getTrId() {
+ return trId;
+ }
+
+ public void setTrId(TRId trId) {
+ this.trId = trId;
+ }
+
+ public Operator getOperator() {
+ return operator;
+ }
+
+ public void setOperator(Operator operator) {
+ this.operator = operator;
+ }
+
+}