git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 17 Jul 2018 10:54:12 +0000 (10:54 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Tue, 17 Jul 2018 10:54:12 +0000 (10:54 +0000)
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/IndexModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java

index 169e81e9c3f61e75b368743a9e6b57bd4aba3568..a6b52dd66d3b16e29baca91489ee1ceaddba7918 100644 (file)
@@ -23,22 +23,7 @@ import user.jobengine.zk.util.SessionUtil;
 \r
 public class IndexModel extends BaseModel {\r
        private static final Logger logger = LogManager.getLogger();\r
-\r
-       //      static public BasicDBObject toParamObject(Map<String, String[]> parameters) {\r
-       //              BasicDBObject result = null;\r
-       //              if (parameters != null && parameters.size() > 0) {\r
-       //                      result = new BasicDBObject();\r
-       //                      for (String key : parameters.keySet()) {\r
-       //                              result.put(key, parameters.get(key)[0]);\r
-       //                              //logger.info("{}:{}", key, parameters.get(key)[0]);\r
-       //                      }\r
-       //              }\r
-       //              return result;\r
-       //      }\r
-       //\r
-\r
        private String page;\r
-\r
        private Map<String, Object> pathMap = ListUtils.asMap("/", "searchitems", "jobs", "joblist", "missingmaterials", "missingmaterials", "newshistory",\r
                        "newshistory", "statistics", "statistics");\r
 \r
@@ -46,7 +31,7 @@ public class IndexModel extends BaseModel {
        public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
                Selectors.wireComponents(view, this, false);\r
                Selectors.wireEventListeners(view, this);\r
-               route(Executions.getCurrent().getParameter("action"), SessionUtil.getQueryString(Arrays.asList("action")));\r
+               route(Executions.getCurrent().getParameter("action"), SessionUtil.getQueryString(Arrays.asList("action")), false);\r
                SessionUtil.setAttribute(IndexModel.class.getCanonicalName(), this);\r
        }\r
 \r
@@ -59,7 +44,8 @@ public class IndexModel extends BaseModel {
                BasicDBObject h = SessionUtil.popHistory();\r
                if (h == null)\r
                        return;\r
-               route(h.getString("action"), h.getString("query"));\r
+               logger.info("Popped to client: {}", h);\r
+               route(h.getString("action"), h.getString("query"), true);\r
        }\r
 \r
        public void pushClientHistory(String action, String query) {\r
@@ -69,12 +55,13 @@ public class IndexModel extends BaseModel {
                logger.info("Pushed to client: {}", realAction);\r
        }\r
 \r
-       public void route(String action, String query) {\r
+       public void route(String action, String query, boolean silently) {\r
                String queryString = query == null ? "" : query;\r
                String actionString = action == null ? "/" : action;\r
                String page = (String) pathMap.get(actionString);\r
                setPage(String.format("/pages/%s.zul%s", page, queryString));\r
-               pushClientHistory(actionString, queryString);\r
+               if (!silently)\r
+                       pushClientHistory(actionString, queryString);\r
                SessionUtil.pushHistory(actionString, queryString);\r
        }\r
 \r
index 16de942a05e1ec92e0c8a56b53c908ebc994e8ba..3070e6483116447ac75064e08c6dea02e300f99c 100644 (file)
@@ -66,9 +66,9 @@ public class MenuModel extends BaseModel {
        @Command\r
        public void navigate(@BindingParam("action") String action) {\r
                IndexModel indexModel = (IndexModel) SessionUtil.getAttribute(IndexModel.class.getCanonicalName());\r
-               if (indexModel != null) {\r
-                       indexModel.route(action, null);\r
-               }\r
+               if (indexModel != null)\r
+                       indexModel.route(action, null, false);\r
+\r
        }\r
 \r
        public void removeBasketItems(List<ArchivedMedia> items) {\r
index a8d51d2da38b88b99904931e4314e9ccb0458a85..7c8bacdf25932d49e2ce4824dc2e3c5623cc21b1 100644 (file)
@@ -18,19 +18,23 @@ import org.zkoss.zk.ui.Session;
 import org.zkoss.zk.ui.Sessions;\r
 \r
 import com.ibm.nosql.json.api.BasicDBObject;\r
+import com.ibm.nosql.json.api.QueryBuilder;\r
 \r
+import user.commons.nosql.NoSQLUtils;\r
 import user.jobengine.server.IJobChangedListener;\r
 import user.jobengine.server.JobEngine;\r
 import user.jobengine.zk.model.IndexModel;\r
 \r
 public class SessionUtil {\r
+       private static final String USER_NAME = "userName";\r
+       private static final String USER_SETTINGS = "userSettings";\r
        private static Logger logger = LogManager.getLogger();\r
        private static final String AUTH_ENABLED = "auth_enabled";\r
        private static final String USERPRINCIPAL = "userPrincipal";\r
        private static final String AUTH_LOCATION = "mediacube.auth.location";\r
        public static final String JOBLISTENER = "joblistener";\r
        public static final String MENUMODEL = "menuModel";\r
-       public static final String HISTORY = "hitory";\r
+       public static final String HISTORY = "history";\r
 \r
        public static boolean authenticate(String account, String password) {\r
                Properties cfg = getConfiguration();\r
@@ -129,6 +133,17 @@ public class SessionUtil {
                return (UserPrincipal) getAttribute(USERPRINCIPAL);\r
        }\r
 \r
+       static private BasicDBObject getUserSettings() {\r
+               BasicDBObject result = (BasicDBObject) getAttribute(USER_SETTINGS);\r
+               if (result == null) {\r
+                       UserPrincipal userPrincipal = getUserPrincipal();\r
+                       result = (BasicDBObject) NoSQLUtils.collection(USER_SETTINGS).findOne(QueryBuilder.start(USER_NAME).is(userPrincipal.getAccount()));\r
+                       if (result == null)\r
+                               result = new BasicDBObject(USER_NAME, userPrincipal.getAccount());\r
+               }\r
+               return result;\r
+       }\r
+\r
        static public boolean isAdmin() {\r
                UserPrincipal userPrincipal = getUserPrincipal();\r
                return userPrincipal != null && userPrincipal.isAdmin();\r
@@ -195,6 +210,13 @@ public class SessionUtil {
                history.add(new BasicDBObject("action", action).append("query", query));\r
        }\r
 \r
+       static private void putUserSettings() {\r
+               BasicDBObject userSettings = (BasicDBObject) getAttribute(USER_SETTINGS);\r
+               if (userSettings != null)\r
+                       NoSQLUtils.collection(USER_SETTINGS).save(userSettings);\r
+\r
+       }\r
+\r
        static public void redirect(String path) {\r
                Executions.sendRedirect(path + getQueryString());\r
        }\r