#*
 * Copyright 2012 LinkedIn Corp.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
*#

<!DOCTYPE html>
<html lang="en">
  <head>

#parse ("azkaban/webapp/servlet/velocity/style.vm")
#parse ("azkaban/webapp/servlet/velocity/javascript.vm")

    <script type="text/javascript" src="${context}/js/azkaban/util/date.js"></script>
    <script type="text/javascript" src="${context}/js/azkaban/view/jmx.js"></script>
    <script type="text/javascript">
      var contextURL = "${context}";
      var currentTime = ${currentTime};
      var timezone = "${timezone}";
      var errorMessage = null;
      var successMessage = null;
    </script>
  </head>
  <body>

#set ($current_page="all")
#set ($counter = 0)
#parse ("azkaban/webapp/servlet/velocity/nav.vm")

#if ($errorMsg)
  #parse ("azkaban/webapp/servlet/velocity/errormsg.vm")
#else

    <div class="az-page-header">
      <div class="container-full">
        <h1>Admin JMX Http Page</h1>
      </div>
    </div>

    <div class="container-full">

  ## Web Client JMX

      <div class="row">
        <div class="col-xs-12">
          <div class="panel panel-default">
            <div class="panel-heading">Web Client JMX</div>
            <table id="all-jmx" class="table table-condensed table-bordered table-striped table-hover">
              <thead>
                <tr>
                  <th>Name</th>
                  <th>Domain</th>
                  <th>Canonical Name</th>
                  <th></th>
                </tr>
              </thead>
              <tbody>
  #foreach ($bean in $mbeans)
              <tr>
                <td>${bean.keyPropertyList.get("name")}</td>
                <td>${bean.domain}</td>
                <td>${bean.canonicalName}</td>
                <td><button type="button" class="btn btn-default btn-sm query-btn" id="expandBtn-$counter" domain="${bean.domain}" name="${bean.keyPropertyList.get("name")}">Query</button></td>
              </tr>

              <tr class="childrow" id="expandBtn-${counter}-child"  style="display: none;">
                <td class="expandedFlow" colspan="3">
                  <table class="table table-condensed table-bordered table-striped table-hover">
                    <thead>
                      <tr>
                        <th>Attribute Name</th>
                        <th>Value</th>
                      </tr>
                    </thead>
                    <tbody id="expandBtn-${counter}-tbody">
                    </tbody>
                  </table>
                </td>

                <td>
                  <button type="button" class="btn btn-default btn-sm collapse-btn">Collapse</button>
                </td>
              </tr>
    #set ($counter = $counter + 1)
  #end
              </tbody>
            </table>

          </div>
        </div>
      </div>

  #foreach ($executor in $executorRemoteMBeans.entrySet())
      <div class="row">
        <div class="col-xs-12">
          <div class="panel panel-default">
            <div class="panel-heading">Remote Executor JMX $executor.key</div>
            <table class="remoteJMX table table-striped table-condensed table-bordered table-hover">
              <thead>
                <tr>
                  <th>Name</th>
                  <th>Domain</th>
                  <th>Canonical Name</th>
                  <th></th>
                </tr>
              </thead>
              <tbody>
    #foreach ($bean in $executor.value)
                <tr>
                  <td>${bean.get("keyPropertyList").get("name")}</td>
                  <td>${bean.get("domain")}</td>
                  <td>${bean.get("canonicalName")}</td>
                  <td><button type="button" class="btn btn-default btn-sm query-btn" id="expandBtn-$counter" domain="${bean.get("domain")}" name="${bean.get("keyPropertyList").get("name")}" hostport="$executor.key">Query</button></td>
                </tr>
                <tr class="childrow" id="expandBtn-${counter}-child"  style="display: none;">
                  <td class="expandedFlow" colspan="3">
                    <table class="table table-striped table-condensed table-bordered table-hover">
                      <thead>
                        <tr>
                          <th>Attribute Name</th>
                          <th>Value</th>
                        </tr>
                      </thead>
                      <tbody id="expandBtn-${counter}-tbody">
                      </tbody>
                    </table>
                  </td>

                  <td>
                    <button type="button" class="btn btn-default btn-sm collapse-btn">Collapse</button>
                  </td>
              </tr>
      #set ($counter = $counter + 1)
    #end
              </tbody>
            </table>
          </div>
        </div>
      </div>
  #end

  #foreach ($triggerserver in $triggerserverRemoteMBeans.entrySet())
      <div class="row">
        <div class="col-xs-12">
          <div class="panel panel-default">
            <div class="panel-heading">Remote Trigger Server JMX $triggerserver.key</div>
            <table class="remoteJMX table table-condensed table-striped table-bordered table-hover">
              <thead>
                <tr>
                  <th>Name</th>
                  <th>Domain</th>
                  <th>Canonical Name</th>
                  <th></th>
                </tr>
              </thead>
              <tbody>
    #foreach ($bean in $triggerserver.value)
                <tr>
                  <td>${bean.get("keyPropertyList").get("name")}</td>
                  <td>${bean.get("domain")}</td>
                  <td>${bean.get("canonicalName")}</td>
                  <td><button type="button" class="btn btn-default btn-sm querybtn" id="expandBtn-$counter" domain="${bean.get("domain")}" name="${bean.get("keyPropertyList").get("name")}" hostport="$triggerserver.key">Query</button></td>
                </tr>
                <tr class="childrow" id="expandBtn-${counter}-child"  style="display: none;">
                  <td class="expandedFlow" colspan="3">
                    <table class="table table-striped table-condensed table-bordered table-hover">
                      <thead>
                        <tr>
                          <th>Attribute Name</th>
                          <th>Value</th>
                        </tr>
                      </thead>
                      <tbody id="expandBtn-${counter}-tbody">
                      </tbody>
                    </table>
                  </td>

                  <td>
                    <button type="button" class="btn btn-default btn-sm collapse-btn">Collapse</button>
                  </td>
              </tr>
      #set ($counter = $counter + 1)
    #end
              </tbody>
            </table>

          </div>
        </div>
      </div>
  #end
  </div>
#end
  </body>
</html>
