Modify switch handling to centralize parse and validation for --{foo}-is-empty

Signed-off-by: Joey Armstrong <jarmstrong@linuxfoundation.org>
Change-Id: Ia8b955f5451b5b7938d48abdea681e5c8396b376
diff --git a/jira/jira-search/resolved.sh b/jira/jira-search/resolved.sh
index 9d2d563..88b6835 100644
--- a/jira/jira-search/resolved.sh
+++ b/jira/jira-search/resolved.sh
@@ -1,4 +1,25 @@
 #!/bin/bash
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+
+[[ ! -v JCL_resovled ]] && { declare -g -a JCL_resolved=(); }
+
+## --------------------------------------------------------------------
+## Intent: Retrieve a list of reason query strings
+## --------------------------------------------------------------------
+function get_jcl_resolved()
+{
+    local -n ref=$1; shift
+
+    local -a tmp=()
+    do_resolved tmp
+    ref+=("$tmp")
+    
+    local query="$(join_by 'OR' "${tmp[0]}")"
+    ref+=("($query)")
+    
+    return
+}
 
 ## --------------------------------------------------------------------
 ## Intent: Retrieve a list of reason query strings
@@ -22,7 +43,6 @@
 function do_resolved()
 {
     declare -n ans=$1; shift
-   # declare -g resolved
 
     [[ -v resolved_start ]] && { ans+=("(Resolved >= $resolved_start)"); }
     [[ -v resolved_end ]]   && { ans+=("(Resolved <= $resolved_end)"); }
@@ -38,7 +58,10 @@
         ans+=( "(resolution IN ($filter))" )
     fi
 
-    [[ -v resolved_not_empty ]] && { ans+=('(resolved IS NOT EMPTY)'); }
+    [[ -v resolved_not_empty ]] \
+        && { ans+=('(resolved IS NOT EMPTY)'); } \
+        || { true; }
+               
     [[ -v resolved_is_empty ]] \
         && { ans+=('(resolved IS EMPTY)'); } \
         || { true; }