diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionColumnsMapping.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionColumnsMapping.java
new file mode 100644
index 0000000..4543067
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionColumnsMapping.java
@@ -0,0 +1,53 @@
+package org.gcube.portlets.user.td.gwtservice.shared.tr.union;
+
+import java.io.Serializable;
+
+import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData;
+
+/**
+ *
+ * @author "Giancarlo Panichi"
+ * email: g.panichi@isti.cnr.it
+ *
+ */
+public class UnionColumnsMapping implements Serializable {
+
+ private static final long serialVersionUID = -8971216501310276805L;
+
+ protected ColumnData firstColumn;
+ protected ColumnData secondColumn;
+
+ public UnionColumnsMapping(){
+
+ }
+
+ public UnionColumnsMapping(ColumnData firstColumn,ColumnData secondColumn){
+ this.firstColumn=firstColumn;
+ this.secondColumn=secondColumn;
+ }
+
+ public ColumnData getFirstColumn() {
+ return firstColumn;
+ }
+
+ public void setFirstColumn(ColumnData firstColumn) {
+ this.firstColumn = firstColumn;
+ }
+
+ public ColumnData getSecondColumn() {
+ return secondColumn;
+ }
+
+ public void setSecondColumn(ColumnData secondColumn) {
+ this.secondColumn = secondColumn;
+ }
+
+ @Override
+ public String toString() {
+ return "UnionColumnsMapping [firstColumn=" + firstColumn
+ + ", secondColumn=" + secondColumn + "]";
+ }
+
+
+
+}
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionMonitor.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionMonitor.java
new file mode 100644
index 0000000..5365b5a
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionMonitor.java
@@ -0,0 +1,21 @@
+/**
+ *
+ */
+package org.gcube.portlets.user.td.gwtservice.shared.tr.union;
+
+import java.io.Serializable;
+
+import org.gcube.portlets.user.td.gwtservice.shared.OperationMonitor;
+
+/**
+ *
+ * @author "Giancarlo Panichi"
+ * g.panichi@isti.cnr.it
+ *
+ */
+public class UnionMonitor extends OperationMonitor implements Serializable {
+
+
+ private static final long serialVersionUID = -7694151843138161474L;
+
+}
diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionSession.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionSession.java
new file mode 100644
index 0000000..cd9d113
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/union/UnionSession.java
@@ -0,0 +1,66 @@
+package org.gcube.portlets.user.td.gwtservice.shared.tr.union;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource;
+import org.gcube.portlets.user.td.widgetcommonevent.shared.TRId;
+
+/**
+ *
+ * @author "Giancarlo Panichi" g.panichi@isti.cnr.it
+ *
+ */
+public class UnionSession implements Serializable {
+
+ private static final long serialVersionUID = -1896235499708614266L;
+
+ protected TRId trId;
+ protected TabResource unionTabularResource;
+ protected ArrayList columnsMatch;
+
+ public UnionSession() {
+
+ }
+
+ public UnionSession(TRId trId, TabResource unionTabularResource,
+ ArrayList columnsMatch) {
+ this.trId = trId;
+ this.unionTabularResource=unionTabularResource;
+ this.columnsMatch=columnsMatch;
+
+ }
+
+ public TRId getTrId() {
+ return trId;
+ }
+
+ public void setTrId(TRId trId) {
+ this.trId = trId;
+ }
+
+ public TabResource getUnionTabularResource() {
+ return unionTabularResource;
+ }
+
+ public void setUnionTabularResource(TabResource unionTabularResource) {
+ this.unionTabularResource = unionTabularResource;
+ }
+
+ public ArrayList getColumnsMatch() {
+ return columnsMatch;
+ }
+
+ public void setColumnsMatch(ArrayList columnsMatch) {
+ this.columnsMatch = columnsMatch;
+ }
+
+ @Override
+ public String toString() {
+ return "UnionSession [trId=" + trId + ", unionTabularResource="
+ + unionTabularResource + ", columnsMatch=" + columnsMatch + "]";
+ }
+
+
+}