Fixed a few broken command line switches

Change-Id: I54db710450972aab2d122e21cbea154366f07f9d
diff --git a/gerrit/bin/gerrit.sh b/gerrit/bin/gerrit.sh
index 4900ab1..3463960 100755
--- a/gerrit/bin/gerrit.sh
+++ b/gerrit/bin/gerrit.sh
@@ -27,10 +27,23 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
-source "${libdir}/filters/status.sh"
+source "${libdir}/filters/include.sh"
 source "${libdir}/usage/include.sh"
-# source "${libdir}/usage/main.sh"
 
+## --------------------------------------------------------------------
+## --------------------------------------------------------------------
+function error()
+{
+    cat <<ERROR
+
+** -----------------------------------------------------------------------
+**   IAM: ${FUNCNAME[1]}
+** ERROR: $@
+** -----------------------------------------------------------------------
+ERROR
+    echo 
+    exit 1
+}
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
@@ -86,7 +99,56 @@
     return
 }
 
+## -----------------------------------------------------------------------
+## Usage: $0 --status open --reviewer [u]
+## -----------------------------------------------------------------------
+function do_gerrit_review()
+{
+    local -n ref_urls=$1   ; shift
+    local -n ref_repos=$1   ; shift
+    local -n ref_status=$1 ; shift
 
+    ref_urls=()
+
+    # local stem='https://gerrit.opencord.org/q/project:voltha-go+status:open'
+    local stem='https://gerrit.opencord.org/q/'
+
+    local -a common=()
+    [[ -v me ]] && { common+=('reviewer:self') }
+
+    for reviewer in "${argv_reviewer[@]}"; do
+        common+=("reviewer:${reviewer}")
+    done
+
+    local repo
+    for repo in "${ref_repos[@]}";
+    do
+        local -a args=()
+        args+=("project:${repo}")
+        args+=("${common[@]}")
+
+        local url="$stem"
+        url+="$(join_by '+' "${args[@]}")"
+        ref_urls+=("$url")
+    done
+
+    ## If not repo specific then query all
+    if [[ ${#ref_urls[@]} -eq 0 ]]; then
+        local -a args=()
+        args=("${common[@]}")
+
+        local url="$stem"
+        url+="$(join_by '+' "${args[@]}")"
+        ref_urls+=("$url")
+    fi
+
+	# --debug)  declare -g -i debug=1 ;;
+    # --search) declare -g -i search=1 ;;
+    # --wip)    declare -g -i status_is_open=1 ;;
+
+    return
+}
+ 
 ## -----------------------------------------------------------------------
 ## Intent: Iterate over --admin values and generate repositories
 ## -----------------------------------------------------------------------
@@ -283,7 +345,7 @@
         --search) declare -g -i argv_search=1 ;;
 
         --me)
-            # declare -g -i argv_me=1
+            declare -g -i argv_me=1
             me+=("owner:${USER}@opennetworking.org")
             ;;
 
@@ -402,13 +464,20 @@
 
         --patch*)
             repo="$1"; shift
-            urls+=("https://gerrit.opencord.org/q/${repo}+stats:open")
+            urls+=("https://gerrit.opencord.org/q/${repo}+status:open")
             # https://gerrit.opencord.org/q/voltha-openolt-adapter-go
             ;;
-        --review)
-            urls+=('https://gerrit.opencord.org/c/aether-ci-management/+/34900')
+
+        --reviewer)
+            arg="$1"; shift
+            add_filter_reviewer "$arg"
+
+            declare -g -i argv_review=1
+            # Replace with: set -- '--review' "$@"
             ;;
 
+        --review) declare -g -i argv_review=1 ;;
+
         --ver*)
             [[ $# -eq 0 ]] && { error "Usage: $arg [str]"; }
             arg="$1"; shift
@@ -470,12 +539,18 @@
     esac
 done
 
-[[ -v argv_search ]] && { do_gerrit_search urls repos argv_status; }
-[[ -v admins ]] && { gen_admin_urls urls repos admins; }
+[[ -v argv_search ]]   && { do_gerrit_search urls repos argv_status; }
+[[ -v admins ]]      && { gen_admin_urls urls repos admins; }
+
+# -----------------------------------------------------------------------
+# Generalize:
+#   o --review function like a simple search filter.
+#   o piece missing is defining query URL stem= when needed.
+# -----------------------------------------------------------------------
+[[ -v argv_review ]] && { do_gerrit_review urls repos argv_status; }
 
 ## are --views working ?
 [[ "${#views[@]}" -gt 0 ]] && { gen_view_urls  urls repos views;  }
-# [[ ! -v views  ]] && { echo 'called'; gen_view_urls  urls repos views;  }
 
 if [[ ${#urls[@]} -eq 0 ]]; then
     declare -a show_all=() # show all for visiblity