<% /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ %> <%!private static final long serialVersionUID = 1L;%> <%@ page contentType="text/html; charset=UTF-8" import="org.apache.hadoop.mapred.*" import="org.apache.commons.lang.StringUtils" import="javax.servlet.*" import="javax.servlet.http.*" import="java.io.*" import="java.util.*" %> Job Queue Information page <% JobTracker tracker = (JobTracker) application.getAttribute("job.tracker"); QueueManager qmgr = tracker.getQueueManager(); JobQueueInfo[] rootQueues = qmgr.getRootQueues(); %> <%! public static String getTree(String parent, JobQueueInfo[] rootQueues) { List rootQueueList = new ArrayList(); for (JobQueueInfo queue : rootQueues) { rootQueueList.add(queue); } return getTree(parent, rootQueueList); } private static String getTree(String parent, List children) { StringBuilder str = new StringBuilder(); if (children == null) { return ""; } for (JobQueueInfo queueInfo : children) { String variableName = StringUtils.replaceChars(queueInfo.getQueueName(), ":-*+#.^", "_______"); String label = queueInfo.getQueueName().split(":")[queueInfo .getQueueName().split(":").length - 1]; str.append(String.format( "var %sTreeNode = new YAHOO.widget.MenuNode(\"%s\", %s, false);\n", variableName, label, parent)); str.append(String.format("%sTreeNode.data=\"%s\";\n", variableName, queueInfo.getSchedulingInfo().replaceAll("\n", "
"))); str.append(String.format("%sTreeNode.name=\"%s\";\n", variableName, queueInfo.getQueueName())); str.append(getTree(variableName + "TreeNode", queueInfo.getChildren())); } return str.toString(); } %>