Fixes npe when changing SP URL on the fly
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2Session.java
index ed4c088..66063c3 100644 (file)
@@ -107,7 +107,7 @@ public class Pz2Session implements Pz2Interface {
         logger.debug("Processing request for " + commands); \r
         List<CommandThread> threadList = new ArrayList<CommandThread>();\r
         StringTokenizer tokens = new StringTokenizer(commands,",");\r
-        while (tokens.hasMoreElements()) {\r
+        while (tokens.hasMoreElements()) {          \r
           threadList.add(new CommandThread(getCommand(tokens.nextToken()),searchClient));            \r
         }\r
         for (CommandThread thread : threadList) {\r
@@ -353,7 +353,7 @@ public class Pz2Session implements Pz2Interface {
   }\r
   \r
   protected boolean hasQuery() {\r
-    return !(getCommand("search").getParameter("query") == null);\r
+    return getCommand("search").getParameter("query") != null && getCommand("search").getParameter("query").getValueWithExpressions().length()>0;\r
   }\r
     \r
   public boolean hasRecords () {\r
@@ -379,7 +379,7 @@ public class Pz2Session implements Pz2Interface {
   }\r
   \r
   protected void handleQueryStateChanges (String commands) {\r
-    if (queryStates.hasPendingStateChange("search")) { \r
+    if (queryStates.hasPendingStateChange("search") && hasQuery()) { \r
       logger.debug("Found pending search change. Doing search before updating " + commands);      \r
       doSearch();\r
     } \r