From 4516418b5c9cd36d1096f1186d43e18746dcc4fe Mon Sep 17 00:00:00 2001
From: nixonrodrigues <nixon@apache.org>
Date: Thu, 28 Dec 2017 00:42:39 +0530
Subject: [PATCH] ATLAS-2272 :- Save the state of dragged columns using save search API.

---
 addons/models/0000-Area0/0010-base_model.json                                     |  8 ++++++++
 intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java       | 16 ++++++++++++++++
 repository/src/main/java/org/apache/atlas/repository/ogm/AtlasSavedSearchDTO.java |  5 +++++
 3 files changed, 29 insertions(+)

diff --git a/addons/models/0000-Area0/0010-base_model.json b/addons/models/0000-Area0/0010-base_model.json
index 8d4234f..09151f3 100644
--- a/addons/models/0000-Area0/0010-base_model.json
+++ b/addons/models/0000-Area0/0010-base_model.json
@@ -184,6 +184,14 @@
                     "isIndexable": false,
                     "isOptional": false,
                     "isUnique": false
+                },
+                {
+                    "name": "uiParameters",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional": true,
+                    "isUnique": false
                 }
             ]
         }
diff --git a/intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java b/intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java
index bd22121..36ab3b1 100644
--- a/intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java
+++ b/intg/src/main/java/org/apache/atlas/model/profile/AtlasUserSavedSearch.java
@@ -49,6 +49,7 @@ public class AtlasUserSavedSearch extends AtlasBaseModelObject implements Serial
     private String           name;
     private SavedSearchType  searchType;
     private SearchParameters searchParameters;
+    private String uiParameters;
 
 
     public AtlasUserSavedSearch() {
@@ -70,6 +71,11 @@ public class AtlasUserSavedSearch extends AtlasBaseModelObject implements Serial
         setSearchParameters(searchParameters);
     }
 
+    public AtlasUserSavedSearch(String ownerName, String name, SavedSearchType searchType, SearchParameters searchParameters, String uiParameters) {
+        this(ownerName, name, searchType, searchParameters);
+        setUiParameters(uiParameters);
+    }
+
 
     public String getOwnerName() {
         return this.ownerName;
@@ -103,6 +109,14 @@ public class AtlasUserSavedSearch extends AtlasBaseModelObject implements Serial
         this.searchParameters = searchParameters;
     }
 
+    public String getUiParameters() {
+        return uiParameters;
+    }
+
+    public void setUiParameters(String uiParameters) {
+        this.uiParameters = uiParameters;
+    }
+
     @Override
     public StringBuilder toString(StringBuilder sb) {
         sb.append(", ownerName=").append(ownerName);
@@ -115,6 +129,8 @@ public class AtlasUserSavedSearch extends AtlasBaseModelObject implements Serial
             searchParameters.toString(sb);
         }
 
+        sb.append(", uiParameters=").append(uiParameters);
+
         return sb;
     }
 }
diff --git a/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasSavedSearchDTO.java b/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasSavedSearchDTO.java
index 27575ce..a1a8f59 100644
--- a/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasSavedSearchDTO.java
+++ b/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasSavedSearchDTO.java
@@ -36,6 +36,7 @@ public class AtlasSavedSearchDTO extends AbstractDataTransferObject<AtlasUserSav
     private static final String PROPERTY_SEARCH_PARAMETERS = "searchParameters";
     private static final String PROPERTY_UNIQUE_NAME       = "uniqueName";
     private static final String PROPERTY_SEARCH_TYPE       = "searchType";
+    private static final String PROPERTY_UI_PARAMETERS       = "uiParameters";
 
     public AtlasSavedSearchDTO(AtlasTypeRegistry typeRegistry) {
         super(typeRegistry, AtlasUserSavedSearch.class);
@@ -56,6 +57,8 @@ public class AtlasSavedSearchDTO extends AbstractDataTransferObject<AtlasUserSav
             savedSearch.setSearchParameters(AtlasType.fromJson(jsonSearchParams, SearchParameters.class));
         }
 
+        savedSearch.setUiParameters((String) entity.getAttribute(PROPERTY_UI_PARAMETERS));
+
         return savedSearch;
     }
 
@@ -77,6 +80,8 @@ public class AtlasSavedSearchDTO extends AbstractDataTransferObject<AtlasUserSav
             entity.setAttribute(PROPERTY_SEARCH_PARAMETERS, AtlasType.toJson(obj.getSearchParameters()));
         }
 
+        entity.setAttribute(PROPERTY_UI_PARAMETERS, obj.getUiParameters());
+
         return entity;
     }
 
--
libgit2 0.27.1