You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by ac...@apache.org on 2011/03/17 21:21:54 UTC

svn commit: r1082677 [25/38] - in /hadoop/mapreduce/branches/MR-279: ./ assembly/ ivy/ mr-client/ mr-client/hadoop-mapreduce-client-app/ mr-client/hadoop-mapreduce-client-app/src/ mr-client/hadoop-mapreduce-client-app/src/main/ mr-client/hadoop-mapredu...

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/InfoBlock.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/InfoBlock.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/InfoBlock.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/InfoBlock.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,59 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import org.apache.hadoop.yarn.webapp.ResponseInfo;
+import org.apache.hadoop.yarn.webapp.hamlet.Hamlet;
+import org.apache.hadoop.yarn.webapp.hamlet.Hamlet.*;
+
+import com.google.inject.Inject;
+
+import static org.apache.hadoop.yarn.webapp.view.JQueryUI.*;
+
+public class InfoBlock extends HtmlBlock {
+  final ResponseInfo info;
+
+  @Inject InfoBlock(ResponseInfo info) {
+    this.info = info;
+  }
+
+  @Override protected void render(Block html) {
+    TABLE<DIV<Hamlet>> table = html.
+      div(_INFO_WRAP).
+        table(_INFO).
+          tr().
+            th().$class(C_TH).$colspan(2)._(info.about())._()._();
+    int i = 0;
+    for (ResponseInfo.Item item : info) {
+      TR<TABLE<DIV<Hamlet>>> tr = table.
+        tr((++i % 2 != 0) ? _ODD : _EVEN).
+          th(item.key);
+      String value = String.valueOf(item.value);
+      if (item.url == null) {
+        tr.td(value);
+      } else {
+        tr.
+          td().
+            a(url(item.url), value)._();
+      }
+      tr._();
+    }
+    table._()._();
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/JQueryUI.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/JQueryUI.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/JQueryUI.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/JQueryUI.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,231 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
+
+import java.util.List;
+import java.util.Locale;
+import javax.servlet.http.Cookie;
+
+import static org.apache.commons.lang.StringEscapeUtils.*;
+import static org.apache.hadoop.yarn.util.StringHelper.*;
+
+import org.apache.hadoop.yarn.webapp.hamlet.HamletSpec.HTML;
+
+public class JQueryUI extends HtmlBlock {
+  // Render choices (mostly for dataTables)
+  public enum Render {
+    /** small (<~100 rows) table as html, most gracefully degradable */
+    HTML,
+    /** medium (<~2000 rows) table as js array */
+    JS_ARRAY,
+    /** large (<~10000 rows) table loading from server */
+    JS_LOAD,
+    /** huge (>~10000 rows) table processing from server */
+    JS_SERVER
+  };
+
+  // UI params
+  public static final String ACCORDION = "ui.accordion";
+  public static final String ACCORDION_ID = ACCORDION +".id";
+  public static final String DATATABLES = "ui.dataTables";
+  public static final String DATATABLES_ID = DATATABLES +".id";
+  public static final String DATATABLES_SELECTOR = DATATABLES +".selector";
+  public static final String DIALOG = "ui.dialog";
+  public static final String DIALOG_ID = DIALOG +".id";
+  public static final String DIALOG_SELECTOR = DIALOG +".selector";
+  public static final String PROGRESSBAR = "ui.progressbar";
+  public static final String PROGRESSBAR_ID = PROGRESSBAR +".id";
+  public static final String THEMESWITCHER = "ui.themeswitcher";
+  public static final String THEMESWITCHER_ID = THEMESWITCHER +".id";
+  public static final String THEME_KEY = "theme";
+  public static final String COOKIE_THEME = "jquery-ui-theme";
+  // common CSS classes
+  public static final String _PROGRESSBAR =
+      ".ui-progressbar.ui-widget.ui-widget-content.ui-corner-all";
+  public static final String C_PROGRESSBAR =
+      _PROGRESSBAR.replace('.', ' ').trim();
+  public static final String _PROGRESSBAR_VALUE =
+      ".ui-progressbar-value.ui-widget-header.ui-corner-left";
+  public static final String C_PROGRESSBAR_VALUE =
+      _PROGRESSBAR_VALUE.replace('.', ' ').trim();
+  public static final String _INFO_WRAP =
+      ".info-wrap.ui-widget-content.ui-corner-bottom";
+  public static final String _TH = ".ui-state-default";
+  public static final String C_TH = _TH.replace('.', ' ').trim();
+  public static final String C_TABLE = "table";
+  public static final String _INFO = ".info";
+  public static final String _ODD = ".odd";
+  public static final String _EVEN = ".even";
+
+  @Override
+  protected void render(Block html) {
+    html.
+      link(join("https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/",
+                getTheme(), "/jquery-ui.css")).
+      link("/static/dt-1.7.5/css/jui-dt.css").
+      script("https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js").
+      script("https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js").
+      script("/static/dt-1.7.5/js/jquery.dataTables.min.js").
+      script("/static/yarn.dt.plugins.js").
+      script("/static/themeswitcher.js").
+      style("#jsnotice { padding: 0.2em; text-align: center; }",
+            ".ui-progressbar { height: 1em; min-width: 5em }"); // required
+
+    List<String> list = Lists.newArrayList();
+    initAccordions(list);
+    initDataTables(list);
+    initDialogs(list);
+    initProgressBars(list);
+    initThemeSwitcher(list);
+
+    if (!list.isEmpty()) {
+      html.
+        script().$type("text/javascript").
+          _("$(function() {")._(list.toArray())._("});")._();
+    }
+  }
+
+  public static void jsnotice(HTML html) {
+    html.
+      div("#jsnotice.ui-state-error").
+          _("This page works best with javascript enabled.")._();
+    html.
+      script().$type("text/javascript").
+        _("$('#jsnotice').hide();")._();
+  }
+
+  protected void initAccordions(List<String> list) {
+    for (String id : split($(ACCORDION_ID))) {
+      if (Html.isValidId(id)) {
+        String init = $(initID(ACCORDION, id));
+        if (init.isEmpty()) {
+          init = "{autoHeight: false}";
+        }
+        list.add(join("  $('#", id, "').accordion(", init, ");"));
+      }
+    }
+  }
+
+  protected void initDataTables(List<String> list) {
+    String defaultInit = "{bJQueryUI: true, sPaginationType: 'full_numbers'}";
+    for (String id : split($(DATATABLES_ID))) {
+      if (Html.isValidId(id)) {
+        String init = $(initID(DATATABLES, id));
+        if (init.isEmpty()) {
+          init = defaultInit;
+        }
+        list.add(join("  $('#", id, "').dataTable(", init,
+                      ").fnSetFilteringDelay(188);"));
+      }
+    }
+    String selector = $(DATATABLES_SELECTOR);
+    if (!selector.isEmpty()) {
+      String init = $(initSelector(DATATABLES));
+      if (init.isEmpty()) {
+        init = defaultInit;
+      }
+      list.add(join("  $('", escapeJavaScript(selector), "').dataTable(", init,
+               ").fnSetFilteringDelay(288);"));
+    }
+  }
+
+  protected void initDialogs(List<String> list) {
+    String defaultInit = "{autoOpen: false, show: transfer, hide: explode}";
+    for (String id : split($(DIALOG_ID))) {
+      if (Html.isValidId(id)) {
+        String init = $(initID(DIALOG, id));
+        if (init.isEmpty()) {
+          init = defaultInit;
+        }
+        String opener = $(djoin(DIALOG, id, "opener"));
+        list.add(join("  $('#", id, "').dialog(", init, ");"));
+        if (!opener.isEmpty() && Html.isValidId(opener)) {
+          list.add(join("  $('#", opener, "').click(function() { ",
+                   "$('#", id, "').dialog('open'); return false; });"));
+        }
+      }
+    }
+    String selector = $(DIALOG_SELECTOR);
+    if (!selector.isEmpty()) {
+      String init = $(initSelector(DIALOG));
+      if (init.isEmpty()) {
+        init = defaultInit;
+      }
+      list.add(join("  $('", escapeJavaScript(selector),
+               "').click(function() { $(this).children('.dialog').dialog(",
+               init, "); return false; });"));
+    }
+  }
+
+  protected void initProgressBars(List<String> list) {
+    for (String id : split($(PROGRESSBAR_ID))) {
+      if (Html.isValidId(id)) {
+        String init = $(initID(PROGRESSBAR, id));
+        list.add(join("  $('#", id, "').progressbar(", init, ");"));
+      }
+    }
+  }
+
+  protected void initThemeSwitcher(List<String> list) {
+    for (String id : split($(THEMESWITCHER_ID))) {
+      if (Html.isValidId(id)) {
+        list.add(join("  $('#", id,
+                      "').themeswitcher({expires:888, path:'/'});"));
+        break; // one is enough
+      }
+    }
+  }
+
+  protected String getTheme() {
+    String theme = $(THEME_KEY);
+    if (!theme.isEmpty()) {
+      return theme;
+    }
+    Cookie c = cookies().get(COOKIE_THEME);
+    if (c != null) {
+      return c.getValue().toLowerCase(Locale.US).replace("%20", "-");
+    }
+    return "base";
+  }
+
+  public static String initID(String name, String id) {
+    return djoin(name, id, "init");
+  }
+
+  public static String initSelector(String name) {
+    return djoin(name, "selector.init");
+  }
+
+  public static StringBuilder tableInit() {
+    return new StringBuilder("{bJQueryUI:true, aaSorting:[], ").
+        append("sPaginationType: 'full_numbers', iDisplayLength:20, ").
+        append("aLengthMenu:[20, 40, 60, 80, 100]");
+  }
+
+  public static StringBuilder tableInitProgress(StringBuilder init,
+                                                long numCells) {
+    return init.append(", bProcessing:true, ").
+        append("oLanguage:{sProcessing:'Processing ").
+        append(numCells).append(" cells...").
+        append("<p><img src=\"/static/busy.gif\">'}");
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/Jsons.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/Jsons.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/Jsons.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/Jsons.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,56 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import java.io.PrintWriter;
+
+import static org.apache.hadoop.yarn.util.StringHelper.*;
+import static org.apache.hadoop.yarn.webapp.view.JQueryUI.*;
+
+/**
+ * JSON helpers
+ */
+public class Jsons {
+  public static final String _SEP = "\",\"";
+
+  public static PrintWriter appendProgressBar(PrintWriter out, String pct) {
+    return out.append("<br title='").append(pct).append("'>").
+        append("<div class='").append(C_PROGRESSBAR).
+        append("' title='").append(pct).append('%').
+        append("'><div class='").append(C_PROGRESSBAR_VALUE).
+        append("' style='width: ").append(pct).
+        append("%'>").append("<\\/div><\\/div>");
+  }
+
+  public static PrintWriter appendProgressBar(PrintWriter out,
+                                                  float progress) {
+    return appendProgressBar(out, String.format("%.1f", progress * 100));
+  }
+
+  public static PrintWriter appendSortable(PrintWriter out, Object value) {
+    return out.append("<br title='").append(String.valueOf(value)).append("'>");
+  }
+
+  public static PrintWriter appendLink(PrintWriter out, Object anchor,
+                                       String prefix, String... parts) {
+    String anchorText = String.valueOf(anchor);
+    return out.append("<a href='").append(anchor == null ? "#" :
+      ujoin(prefix, parts)).append("'>").append(anchorText).append("<\\/a>");
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/LipsumBlock.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/LipsumBlock.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/LipsumBlock.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/LipsumBlock.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,47 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+public class LipsumBlock extends HtmlBlock {
+
+  @Override
+  public void render(Block html) {
+    html.
+      p().
+        _("Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
+          "Vivamus eu dui in ipsum tincidunt egestas ac sed nibh.",
+          "Praesent quis nisl lorem, nec interdum urna.",
+          "Duis sagittis dignissim purus sed sollicitudin.",
+          "Morbi quis diam eu enim semper suscipit.",
+          "Nullam pretium faucibus sapien placerat tincidunt.",
+          "Donec eget lorem at quam fermentum vulputate a ac purus.",
+          "Cras ac dui felis, in pulvinar est.",
+          "Praesent tempor est sed neque pulvinar dictum.",
+          "Nullam magna augue, egestas luctus sollicitudin sed,",
+          "venenatis nec turpis.",
+          "Ut ante enim, congue sed laoreet et, accumsan id metus.",
+          "Mauris tincidunt imperdiet est, sed porta arcu vehicula et.",
+          "Etiam in nisi nunc.",
+          "Phasellus vehicula scelerisque quam, ac dignissim felis euismod a.",
+          "Proin eu ante nisl, vel porttitor eros.",
+          "Aliquam gravida luctus augue, at scelerisque enim consectetur vel.",
+          "Donec interdum tempor nisl, quis laoreet enim venenatis eu.",
+          "Quisque elit elit, vulputate eget porta vel, laoreet ac lacus.")._();
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/NavBlock.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/NavBlock.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/NavBlock.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/NavBlock.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,39 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+public class NavBlock extends HtmlBlock {
+
+  @Override protected void render(Block html) {
+    html.
+      div("#nav").
+        h3("Heading1").
+        ul().
+          li("Item 1").
+          li("Item 2").
+          li("...")._().
+        h3("Tools").
+        ul().
+          li().a("/conf", "Configuration")._().
+          li().a("/stacks", "Thread dump")._().
+          li().a("/logs", "Logs")._().
+          li().a("/metrics", "Metrics")._()._()._().
+      div("#themeswitcher")._();
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextPage.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextPage.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextPage.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextPage.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,32 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import org.apache.hadoop.yarn.webapp.MimeType;
+
+public abstract class TextPage extends TextView {
+
+  protected TextPage() {
+    super(null, MimeType.TEXT);
+  }
+
+  protected TextPage(ViewContext ctx) {
+    super(ctx, MimeType.TEXT);
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextView.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextView.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextView.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TextView.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,58 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import java.io.PrintWriter;
+
+import org.apache.hadoop.yarn.webapp.View;
+
+public abstract class TextView extends View {
+
+  private final String contentType;
+
+  protected TextView(ViewContext ctx, String contentType) {
+    super(ctx);
+    this.contentType = contentType;
+  }
+
+  @Override public PrintWriter writer() {
+    response().setContentType(contentType);
+    return super.writer();
+  }
+
+  /**
+   * Print strings as is (no newline, a la php echo).
+   * @param args the strings to print
+   */
+  public void echo(Object... args) {
+    PrintWriter out = writer();
+    for (Object s : args) {
+      out.print(s);
+    }
+  }
+
+  /**
+   * Print strings as a line (new line appended at the end, a la C/Tcl puts).
+   * @param args the strings to print
+   */
+  public void puts(Object... args) {
+    echo(args);
+    writer().println();
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnCssLayout.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnCssLayout.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnCssLayout.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnCssLayout.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,93 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import com.google.inject.Inject;
+
+import org.apache.hadoop.yarn.webapp.SubView;
+
+/**
+ * A reusable, pure-css, cross-browser, left nav, 2 column,
+ * supposedly liquid layout.
+ * Doesn't quite work with resizable themes, kept as an example of the
+ * sad state of css (v2/3 anyway) layout.
+ * @see TwoColumnLayout
+ */
+public class TwoColumnCssLayout extends HtmlPage {
+
+  @Override protected void render(Page.HTML<_> html) {
+    preHead(html);
+    html.
+      title($("title")).
+      link("/static/yarn.css").
+      style(".main { min-height: 100%; height: auto !important; height: 100%;",
+            "  margin: 0 auto -4em; border: 0; }",
+            ".footer, .push { height: 4em; clear: both; border: 0 }",
+            ".main.ui-widget-content, .footer.ui-widget-content { border: 0; }",
+            ".cmask { position: relative; clear: both; float: left;",
+            "  width: 100%; overflow: hidden; }",   
+            ".leftnav .c1right { float: left; width: 200%; position: relative;",
+            "  left: 13em; border: 0; /* background: #fff; */ }",
+            ".leftnav .c1wrap { float: right; width: 50%; position: relative;",
+            "  right: 13em; padding-bottom: 1em; }",
+            ".leftnav .content { margin: 0 1em 0 14em; position: relative;",
+            "  right: 100%; overflow: hidden; }",
+            ".leftnav .nav { float: left; width: 11em; position: relative;",
+            "  right: 12em; overflow: hidden; }").
+      _(JQueryUI.class);
+    postHead(html);
+    JQueryUI.jsnotice(html);
+    html.
+      div(".main.ui-widget-content").
+        _(header()).
+        div(".cmask.leftnav").
+          div(".c1right").
+            div(".c1wrap").
+              div(".content").
+                _(content())._()._().
+            div(".nav").
+              _(nav()).
+              div("#themeswitcher")._().
+              div(".push")._()._()._()._()._().
+      div(".footer.ui-widget-content").
+        _(footer())._()._();
+  }
+
+  protected void preHead(Page.HTML<_> html) {
+  }
+
+  protected void postHead(Page.HTML<_> html) {
+  }
+
+  protected Class<? extends SubView> header() {
+    return HeaderBlock.class;
+  }
+
+  protected Class<? extends SubView> content() {
+    return LipsumBlock.class;
+  }
+
+  protected Class<? extends SubView> nav() {
+    return NavBlock.class;
+  }
+
+  protected Class<? extends SubView> footer() {
+    return FooterBlock.class;
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnLayout.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnLayout.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnLayout.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/view/TwoColumnLayout.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,103 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn.webapp.view;
+
+import com.google.common.collect.Lists;
+import com.google.inject.Inject;
+import java.util.List;
+
+import static org.apache.hadoop.yarn.util.StringHelper.*;
+import static org.apache.hadoop.yarn.webapp.Params.*;
+
+import org.apache.hadoop.yarn.webapp.SubView;
+
+/**
+ * A simpler two column layout implementation. Works with resizable themes.
+ * @see TwoColumnCssLayout
+ */
+public class TwoColumnLayout extends HtmlPage {
+
+  @Override protected void render(Page.HTML<_> html) {
+    preHead(html);
+    html.
+      title($(TITLE)).
+      link("/static/yarn.css").
+      style("#layout { height: 100%; }",
+            "#layout thead td { height: 3em; }",
+            "#layout #navcell { width: 11em; padding: 0 1em; }",
+            "#layout td.content { padding-top: 0 }",
+            "#layout tbody { vertical-align: top; }",
+            "#layout tfoot td { height: 4em; }").
+      _(JQueryUI.class);
+    postHead(html);
+    JQueryUI.jsnotice(html);
+    html.
+      table("#layout.ui-widget-content").
+        thead().
+          tr().
+            td().$colspan(2).
+              _(header())._()._()._().
+        tfoot().
+          tr().
+            td().$colspan(2).
+              _(footer())._()._()._().
+        tbody().
+          tr().
+            td().$id("navcell").
+              _(nav())._().
+            td().$class("content").
+              _(content())._()._()._()._()._();
+  }
+
+  protected void preHead(Page.HTML<_> html) {
+  }
+
+  protected void postHead(Page.HTML<_> html) {
+  }
+
+  protected Class<? extends SubView> header() {
+    return HeaderBlock.class;
+  }
+
+  protected Class<? extends SubView> content() {
+    return LipsumBlock.class;
+  }
+
+  protected Class<? extends SubView> nav() {
+    return NavBlock.class;
+  }
+
+  protected Class<? extends SubView> footer() {
+    return FooterBlock.class;
+  }
+
+  protected void setTableStyles(Page.HTML<_> html, String tableId,
+                                String... innerStyles) {
+    List<String> styles = Lists.newArrayList();
+    styles.add(join('#', tableId, "_paginate span {font-weight:normal}"));
+    styles.add(join('#', tableId, " .id {width:14em}"));
+    styles.add(join('#', tableId, " .progress {width:8em}"));
+    styles.add(join('#', tableId, "_processing {top:-1.5em; font-size:1em;"));
+    styles.add("  color:#000; background:rgba(255, 255, 255, 0.8)}");
+    for (String style : innerStyles) {
+      styles.add(join('#', tableId, " ", style));
+    }
+    html.style(styles.toArray());
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/busy.gif
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/busy.gif?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/busy.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_page.css
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_page.css?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_page.css (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_page.css Thu Mar 17 20:21:13 2011
@@ -0,0 +1,93 @@
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * General page setup
+ */
+#dt_example {
+	font: 80%/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+	margin: 0;
+	padding: 0;
+	color: #333;
+	background-color: #fff;
+}
+
+
+#dt_example #container {
+	width: 800px;
+	margin: 30px auto;
+	padding: 0;
+}
+
+
+#dt_example #footer {
+	margin: 50px auto 0 auto;
+	padding: 0;
+}
+
+#dt_example #demo {
+	margin: 30px auto 0 auto;
+}
+
+#dt_example .demo_jui {
+	margin: 30px auto 0 auto;
+}
+
+#dt_example .big {
+	font-size: 1.3em;
+	font-weight: bold;
+	line-height: 1.6em;
+	color: #4E6CA3;
+}
+
+#dt_example .spacer {
+	height: 20px;
+	clear: both;
+}
+
+#dt_example .clear {
+	clear: both;
+}
+
+#dt_example pre {
+	padding: 15px;
+	background-color: #F5F5F5;
+	border: 1px solid #CCCCCC;
+}
+
+#dt_example h1 {
+	margin-top: 2em;
+	font-size: 1.3em;
+	font-weight: normal;
+	line-height: 1.6em;
+	color: #4E6CA3;
+	border-bottom: 1px solid #B0BED9;
+	clear: both;
+}
+
+#dt_example h2 {
+	font-size: 1.2em;
+	font-weight: normal;
+	line-height: 1.6em;
+	color: #4E6CA3;
+	clear: both;
+}
+
+#dt_example a {
+	color: #0063DC;
+	text-decoration: none;
+}
+
+#dt_example a:hover {
+	text-decoration: underline;
+}
+
+#dt_example ul {
+	color: #4E6CA3;
+}
+
+.css_right {
+	float: right;
+}
+
+.css_left {
+	float: left;
+}
\ No newline at end of file

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_table.css
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_table.css?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_table.css (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/demo_table.css Thu Mar 17 20:21:13 2011
@@ -0,0 +1,538 @@
+/*
+ *  File:         demo_table.css
+ *  CVS:          $Id$
+ *  Description:  CSS descriptions for DataTables demo pages
+ *  Author:       Allan Jardine
+ *  Created:      Tue May 12 06:47:22 BST 2009
+ *  Modified:     $Date$ by $Author$
+ *  Language:     CSS
+ *  Project:      DataTables
+ *
+ *  Copyright 2009 Allan Jardine. All Rights Reserved.
+ *
+ * ***************************************************************************
+ * DESCRIPTION
+ *
+ * The styles given here are suitable for the demos that are used with the standard DataTables
+ * distribution (see www.datatables.net). You will most likely wish to modify these styles to
+ * meet the layout requirements of your site.
+ *
+ * Common issues:
+ *   'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is
+ *     no conflict between the two pagination types. If you want to use full_numbers pagination
+ *     ensure that you either have "example_alt_pagination" as a body class name, or better yet,
+ *     modify that selector.
+ *   Note that the path used for Images is relative. All images are by default located in
+ *     ../images/ - relative to this CSS file.
+ */
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables features
+ */
+
+.dataTables_wrapper {
+	position: relative;
+	min-height: 302px;
+	clear: both;
+	_height: 302px;
+	zoom: 1; /* Feeling sorry for IE */
+}
+
+.dataTables_processing {
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	width: 250px;
+	height: 30px;
+	margin-left: -125px;
+	margin-top: -15px;
+	padding: 14px 0 2px 0;
+	border: 1px solid #ddd;
+	text-align: center;
+	color: #999;
+	font-size: 14px;
+	background-color: white;
+}
+
+.dataTables_length {
+	width: 40%;
+	float: left;
+}
+
+.dataTables_filter {
+	width: 50%;
+	float: right;
+	text-align: right;
+}
+
+.dataTables_info {
+	width: 60%;
+	float: left;
+}
+
+.dataTables_paginate {
+	width: 44px;
+	* width: 50px;
+	float: right;
+	text-align: right;
+}
+
+/* Pagination nested */
+.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
+	height: 19px;
+	width: 19px;
+	margin-left: 3px;
+	float: left;
+}
+
+.paginate_disabled_previous {
+	background-image: url('../images/back_disabled.jpg');
+}
+
+.paginate_enabled_previous {
+	background-image: url('../images/back_enabled.jpg');
+}
+
+.paginate_disabled_next {
+	background-image: url('../images/forward_disabled.jpg');
+}
+
+.paginate_enabled_next {
+	background-image: url('../images/forward_enabled.jpg');
+}
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables display
+ */
+table.display {
+	margin: 0 auto;
+	clear: both;
+	width: 100%;
+	
+	/* Note Firefox 3.5 and before have a bug with border-collapse
+	 * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) 
+	 * border-spacing: 0; is one possible option. Conditional-css.com is
+	 * useful for this kind of thing
+	 *
+	 * Further note IE 6/7 has problems when calculating widths with border width.
+	 * It subtracts one px relative to the other browsers from the first column, and
+	 * adds one to the end...
+	 *
+	 * If you want that effect I'd suggest setting a border-top/left on th/td's and 
+	 * then filling in the gaps with other borders.
+	 */
+}
+
+table.display thead th {
+	padding: 3px 18px 3px 10px;
+	border-bottom: 1px solid black;
+	font-weight: bold;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+table.display tfoot th {
+	padding: 3px 18px 3px 10px;
+	border-top: 1px solid black;
+	font-weight: bold;
+}
+
+table.display tr.heading2 td {
+	border-bottom: 1px solid #aaa;
+}
+
+table.display td {
+	padding: 3px 10px;
+}
+
+table.display td.center {
+	text-align: center;
+}
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables sorting
+ */
+
+.sorting_asc {
+	background: url('../images/sort_asc.png') no-repeat center right;
+}
+
+.sorting_desc {
+	background: url('../images/sort_desc.png') no-repeat center right;
+}
+
+.sorting {
+	background: url('../images/sort_both.png') no-repeat center right;
+}
+
+.sorting_asc_disabled {
+	background: url('../images/sort_asc_disabled.png') no-repeat center right;
+}
+
+.sorting_desc_disabled {
+	background: url('../images/sort_desc_disabled.png') no-repeat center right;
+}
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables row classes
+ */
+table.display tr.odd.gradeA {
+	background-color: #ddffdd;
+}
+
+table.display tr.even.gradeA {
+	background-color: #eeffee;
+}
+
+table.display tr.odd.gradeC {
+	background-color: #ddddff;
+}
+
+table.display tr.even.gradeC {
+	background-color: #eeeeff;
+}
+
+table.display tr.odd.gradeX {
+	background-color: #ffdddd;
+}
+
+table.display tr.even.gradeX {
+	background-color: #ffeeee;
+}
+
+table.display tr.odd.gradeU {
+	background-color: #ddd;
+}
+
+table.display tr.even.gradeU {
+	background-color: #eee;
+}
+
+
+tr.odd {
+	background-color: #E2E4FF;
+}
+
+tr.even {
+	background-color: white;
+}
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Misc
+ */
+.dataTables_scroll {
+	clear: both;
+}
+
+.dataTables_scrollBody {
+	*margin-top: -1px;
+}
+
+.top, .bottom {
+	padding: 15px;
+	background-color: #F5F5F5;
+	border: 1px solid #CCCCCC;
+}
+
+.top .dataTables_info {
+	float: none;
+}
+
+.clear {
+	clear: both;
+}
+
+.dataTables_empty {
+	text-align: center;
+}
+
+tfoot input {
+	margin: 0.5em 0;
+	width: 100%;
+	color: #444;
+}
+
+tfoot input.search_init {
+	color: #999;
+}
+
+td.group {
+	background-color: #d1cfd0;
+	border-bottom: 2px solid #A19B9E;
+	border-top: 2px solid #A19B9E;
+}
+
+td.details {
+	background-color: #d1cfd0;
+	border: 2px solid #A19B9E;
+}
+
+
+.example_alt_pagination div.dataTables_info {
+	width: 40%;
+}
+
+.paging_full_numbers {
+	width: 400px;
+	height: 22px;
+	line-height: 22px;
+}
+
+.paging_full_numbers span.paginate_button,
+ 	.paging_full_numbers span.paginate_active {
+	border: 1px solid #aaa;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	padding: 2px 5px;
+	margin: 0 3px;
+	cursor: pointer;
+	*cursor: hand;
+}
+
+.paging_full_numbers span.paginate_button {
+	background-color: #ddd;
+}
+
+.paging_full_numbers span.paginate_button:hover {
+	background-color: #ccc;
+}
+
+.paging_full_numbers span.paginate_active {
+	background-color: #99B3FF;
+}
+
+table.display tr.even.row_selected td {
+	background-color: #B0BED9;
+}
+
+table.display tr.odd.row_selected td {
+	background-color: #9FAFD1;
+}
+
+
+/*
+ * Sorting classes for columns
+ */
+/* For the standard odd/even */
+tr.odd td.sorting_1 {
+	background-color: #D3D6FF;
+}
+
+tr.odd td.sorting_2 {
+	background-color: #DADCFF;
+}
+
+tr.odd td.sorting_3 {
+	background-color: #E0E2FF;
+}
+
+tr.even td.sorting_1 {
+	background-color: #EAEBFF;
+}
+
+tr.even td.sorting_2 {
+	background-color: #F2F3FF;
+}
+
+tr.even td.sorting_3 {
+	background-color: #F9F9FF;
+}
+
+
+/* For the Conditional-CSS grading rows */
+/*
+ 	Colour calculations (based off the main row colours)
+  Level 1:
+		dd > c4
+		ee > d5
+	Level 2:
+	  dd > d1
+	  ee > e2
+ */
+tr.odd.gradeA td.sorting_1 {
+	background-color: #c4ffc4;
+}
+
+tr.odd.gradeA td.sorting_2 {
+	background-color: #d1ffd1;
+}
+
+tr.odd.gradeA td.sorting_3 {
+	background-color: #d1ffd1;
+}
+
+tr.even.gradeA td.sorting_1 {
+	background-color: #d5ffd5;
+}
+
+tr.even.gradeA td.sorting_2 {
+	background-color: #e2ffe2;
+}
+
+tr.even.gradeA td.sorting_3 {
+	background-color: #e2ffe2;
+}
+
+tr.odd.gradeC td.sorting_1 {
+	background-color: #c4c4ff;
+}
+
+tr.odd.gradeC td.sorting_2 {
+	background-color: #d1d1ff;
+}
+
+tr.odd.gradeC td.sorting_3 {
+	background-color: #d1d1ff;
+}
+
+tr.even.gradeC td.sorting_1 {
+	background-color: #d5d5ff;
+}
+
+tr.even.gradeC td.sorting_2 {
+	background-color: #e2e2ff;
+}
+
+tr.even.gradeC td.sorting_3 {
+	background-color: #e2e2ff;
+}
+
+tr.odd.gradeX td.sorting_1 {
+	background-color: #ffc4c4;
+}
+
+tr.odd.gradeX td.sorting_2 {
+	background-color: #ffd1d1;
+}
+
+tr.odd.gradeX td.sorting_3 {
+	background-color: #ffd1d1;
+}
+
+tr.even.gradeX td.sorting_1 {
+	background-color: #ffd5d5;
+}
+
+tr.even.gradeX td.sorting_2 {
+	background-color: #ffe2e2;
+}
+
+tr.even.gradeX td.sorting_3 {
+	background-color: #ffe2e2;
+}
+
+tr.odd.gradeU td.sorting_1 {
+	background-color: #c4c4c4;
+}
+
+tr.odd.gradeU td.sorting_2 {
+	background-color: #d1d1d1;
+}
+
+tr.odd.gradeU td.sorting_3 {
+	background-color: #d1d1d1;
+}
+
+tr.even.gradeU td.sorting_1 {
+	background-color: #d5d5d5;
+}
+
+tr.even.gradeU td.sorting_2 {
+	background-color: #e2e2e2;
+}
+
+tr.even.gradeU td.sorting_3 {
+	background-color: #e2e2e2;
+}
+
+
+/*
+ * Row highlighting example
+ */
+.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted {
+	background-color: #ECFFB3;
+}
+
+.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted {
+	background-color: #E6FF99;
+}
+
+.ex_highlight_row #example tr.even:hover {
+	background-color: #ECFFB3;
+}
+
+.ex_highlight_row #example tr.even:hover td.sorting_1 {
+	background-color: #DDFF75;
+}
+
+.ex_highlight_row #example tr.even:hover td.sorting_2 {
+	background-color: #E7FF9E;
+}
+
+.ex_highlight_row #example tr.even:hover td.sorting_3 {
+	background-color: #E2FF89;
+}
+
+.ex_highlight_row #example tr.odd:hover {
+	background-color: #E6FF99;
+}
+
+.ex_highlight_row #example tr.odd:hover td.sorting_1 {
+	background-color: #D6FF5C;
+}
+
+.ex_highlight_row #example tr.odd:hover td.sorting_2 {
+	background-color: #E0FF84;
+}
+
+.ex_highlight_row #example tr.odd:hover td.sorting_3 {
+	background-color: #DBFF70;
+}
+
+
+/*
+ * KeyTable
+ */
+table.KeyTable td {
+	border: 3px solid transparent;
+}
+
+table.KeyTable td.focus {
+	border: 3px solid #3366FF;
+}
+
+table.display tr.gradeA {
+	background-color: #eeffee;
+}
+
+table.display tr.gradeC {
+	background-color: #ddddff;
+}
+
+table.display tr.gradeX {
+	background-color: #ffdddd;
+}
+
+table.display tr.gradeU {
+	background-color: #ddd;
+}
+
+div.box {
+	height: 100px;
+	padding: 10px;
+	overflow: auto;
+	border: 1px solid #8080FF;
+	background-color: #E5E5FF;
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/jui-dt.css
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/jui-dt.css?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/jui-dt.css (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/css/jui-dt.css Thu Mar 17 20:21:13 2011
@@ -0,0 +1,322 @@
+/*
+ *  File:         demo_table_jui.css
+ *  CVS:          $Id$
+ *  Description:  CSS descriptions for DataTables demo pages
+ *  Author:       Allan Jardine
+ *  Created:      Tue May 12 06:47:22 BST 2009
+ *  Modified:     $Date$ by $Author$
+ *  Language:     CSS
+ *  Project:      DataTables
+ *
+ *  Copyright 2009 Allan Jardine. All Rights Reserved.
+ *
+ * ***************************************************************************
+ * DESCRIPTION
+ *
+ * The styles given here are suitable for the demos that are used with the standard DataTables
+ * distribution (see www.datatables.net). You will most likely wish to modify these styles to
+ * meet the layout requirements of your site.
+ *
+ * Common issues:
+ *   'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is
+ *     no conflict between the two pagination types. If you want to use full_numbers pagination
+ *     ensure that you either have "example_alt_pagination" as a body class name, or better yet,
+ *     modify that selector.
+ *   Note that the path used for Images is relative. All images are by default located in
+ *     ../images/ - relative to this CSS file.
+ */
+
+
+/*
+ * jQuery UI specific styling
+ */
+
+.paging_two_button .ui-button {
+	float: left;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+.paging_full_numbers .ui-button {
+	padding: 2px 6px;
+	margin: 0;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+.ui-buttonset .ui-button {
+	margin-right: -0.1em !important;
+}
+
+.paging_full_numbers {
+	width: 350px !important;
+}
+
+.ui-toolbar {
+	padding: 5px;
+}
+
+.dataTables_paginate {
+	width: auto;
+}
+
+.dataTables_info {
+	padding-top: 3px;
+}
+
+table.display thead th {
+	padding: 3px 0px 3px 10px;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+div.dataTables_wrapper .ui-widget-header {
+	font-weight: normal;
+}
+
+
+/*
+ * Sort arrow icon positioning
+ */
+table.display thead th div.DataTables_sort_wrapper {
+	position: relative;
+	padding-right: 20px;
+	padding-right: 20px;
+}
+
+table.display thead th div.DataTables_sort_wrapper span {
+	position: absolute;
+	top: 50%;
+	margin-top: -8px;
+	right: 0;
+}
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Everything below this line is the same as demo_table.css. This file is
+ * required for 'cleanliness' of the markup
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables features
+ */
+
+.dataTables_wrapper {
+	position: relative;
+	min-height: 302px;
+	_height: 302px;
+	clear: both;
+}
+
+.dataTables_processing {
+	position: absolute;
+	top: 0px;
+	left: 50%;
+	width: 250px;
+	margin-left: -125px;
+	border: 1px solid #ddd;
+	text-align: center;
+	color: #999;
+	font-size: 11px;
+	padding: 2px 0;
+}
+
+.dataTables_length {
+	width: 40%;
+	float: left;
+}
+
+.dataTables_filter {
+	width: 50%;
+	float: right;
+	text-align: right;
+}
+
+.dataTables_info {
+	width: 50%;
+	float: left;
+}
+
+.dataTables_paginate {
+	float: right;
+	text-align: right;
+}
+
+/* Pagination nested */
+.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
+	height: 19px;
+	width: 19px;
+	margin-left: 3px;
+	float: left;
+}
+
+.paginate_disabled_previous {
+	background-image: url('../images/back_disabled.jpg');
+}
+
+.paginate_enabled_previous {
+	background-image: url('../images/back_enabled.jpg');
+}
+
+.paginate_disabled_next {
+	background-image: url('../images/forward_disabled.jpg');
+}
+
+.paginate_enabled_next {
+	background-image: url('../images/forward_enabled.jpg');
+}
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables display
+ */
+table.display {
+	margin: 0 auto;
+	width: 100%;
+	clear: both;
+	border-collapse: collapse;
+}
+
+table.display tfoot th {
+	padding: 3px 0px 3px 10px;
+	font-weight: bold;
+	font-weight: normal;
+}
+
+table.display tr.heading2 td {
+	border-bottom: 1px solid #aaa;
+}
+
+table.display td {
+	padding: 3px 10px;
+}
+
+table.display td.center {
+	text-align: center;
+}
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables sorting
+ */
+
+.sorting_asc {
+	background: url('../images/sort_asc.jpg') no-repeat center right;
+}
+
+.sorting_desc {
+	background: url('../images/sort_desc.jpg') no-repeat center right;
+}
+
+.sorting {
+	background: url('../images/sort_both.jpg') no-repeat center right;
+}
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Misc
+ */
+.dataTables_scroll {
+	clear: both;
+}
+
+.top, .bottom {
+	padding: 15px;
+	background-color: #F5F5F5;
+	border: 1px solid #CCCCCC;
+}
+
+.top .dataTables_info {
+	float: none;
+}
+
+.clear {
+	clear: both;
+}
+
+.dataTables_empty {
+	text-align: center;
+}
+
+tfoot input {
+	margin: 0.5em 0;
+	width: 100%;
+	color: #444;
+}
+
+tfoot input.search_init {
+	color: #999;
+}
+
+td.group {
+	background-color: #d1cfd0;
+	border-bottom: 2px solid #A19B9E;
+	border-top: 2px solid #A19B9E;
+}
+
+td.details {
+	background-color: #d1cfd0;
+	border: 2px solid #A19B9E;
+}
+
+
+.example_alt_pagination div.dataTables_info {
+	width: 40%;
+}
+
+.paging_full_numbers span.paginate_button,
+ 	.paging_full_numbers span.paginate_active {
+	border: 1px solid #aaa;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+	padding: 2px 5px;
+	margin: 0 3px;
+	cursor: pointer;
+	*cursor: hand;
+}
+
+.paging_full_numbers span.paginate_button {
+	background-color: #ddd;
+}
+
+.paging_full_numbers span.paginate_button:hover {
+	background-color: #ccc;
+}
+
+.paging_full_numbers span.paginate_active {
+	background-color: #99B3FF;
+}
+
+table.display tr.even.row_selected td {
+	background-color: #B0BED9;
+}
+
+table.display tr.odd.row_selected td {
+	background-color: #9FAFD1;
+}
+
+/* Striping */
+tr.odd { background: rgba(0, 0, 0, 0.01); }
+tr.even { background: rgba(0, 0, 0, 0.05); }
+
+
+/*
+ * Sorting classes for columns
+ */
+tr.odd td.sorting_1 { background: rgba(0, 0, 0, 0.03); }
+tr.odd td.sorting_2 { background: rgba(0, 0, 0, 0.02); } 
+tr.odd td.sorting_3 { background: rgba(0, 0, 0, 0.02); }
+tr.even td.sorting_1 { background: rgba(0, 0, 0, 0.08); }
+tr.even td.sorting_2 { background: rgba(0, 0, 0, 0.06); }
+tr.even td.sorting_3 { background: rgba(0, 0, 0, 0.06); }
+
+.css_left { float: left; }
+.css_right { float: right; }

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/Sorting icons.psd
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/Sorting%20icons.psd?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/Sorting icons.psd
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/back_disabled.jpg
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/back_disabled.jpg?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/back_disabled.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/back_enabled.jpg
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/back_enabled.jpg?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/back_enabled.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/favicon.ico
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/favicon.ico?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/forward_disabled.jpg
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/forward_disabled.jpg?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/forward_disabled.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/forward_enabled.jpg
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/forward_enabled.jpg?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/forward_enabled.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_asc.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_asc.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_asc.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_asc_disabled.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_asc_disabled.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_asc_disabled.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_both.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_both.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_both.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_desc.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_desc.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_desc.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_desc_disabled.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_desc_disabled.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/images/sort_desc_disabled.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/js/jquery.dataTables.min.js.gz
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/js/jquery.dataTables.min.js.gz?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/dt-1.7.5/js/jquery.dataTables.min.js.gz
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/hadoop-st.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/hadoop-st.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/hadoop-st.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/jt/jquery.jstree.js.gz
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/jt/jquery.jstree.js.gz?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/jt/jquery.jstree.js.gz
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_black_matte.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_black_matte.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_black_matte.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_black_tie.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_black_tie.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_black_tie.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_blitzer.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_blitzer.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_blitzer.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_cupertino.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_cupertino.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_cupertino.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_dark_hive.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_dark_hive.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_dark_hive.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_dot_luv.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_dot_luv.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_dot_luv.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_eggplant.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_eggplant.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_eggplant.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_excite_bike.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_excite_bike.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_excite_bike.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_flick.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_flick.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_flick.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_hot_sneaks.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_hot_sneaks.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_hot_sneaks.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_humanity.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_humanity.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_humanity.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_le_frog.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_le_frog.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_le_frog.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_mint_choco.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_mint_choco.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_mint_choco.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_overcast.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_overcast.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_overcast.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_pepper_grinder.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_pepper_grinder.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_pepper_grinder.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_smoothness.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_smoothness.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_smoothness.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_south_street.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_south_street.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_south_street.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_start_menu.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_start_menu.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_start_menu.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_sunny.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_sunny.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_sunny.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_swanky_purse.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_swanky_purse.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_swanky_purse.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_trontastic.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_trontastic.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_trontastic.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_ui_dark.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_ui_dark.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_ui_dark.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_ui_light.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_ui_light.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_ui_light.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_windoze.png
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_windoze.png?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/theme/theme_90_windoze.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/themeswitcher.js.gz
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/themeswitcher.js.gz?rev=1082677&view=auto
==============================================================================
Binary file - no diff available.

Propchange: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/themeswitcher.js.gz
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.css
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.css?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.css (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.css Thu Mar 17 20:21:13 2011
@@ -0,0 +1,28 @@
+/* Styles for YARN */
+* { margin: 0; border: 0 }
+html, body { height: 100% }
+body { padding: 0; font: 90% sans-serif }
+a { text-decoration: none }
+a:hover { text-decoration: underline }
+.content { padding-right: 1em }
+.content h1, .content h2, .content h3 { margin: 0 0 0.3em; font-weight: normal }
+table { border-collapse: collapse; border-spacing: 0; width: 100% }
+table br { display: none }
+table.info th { text-align: right }
+.info-wrap { margin: 0 0 1em }
+th, td { padding: 0.2em 0.5em 0 }
+td.table { padding: 0 }
+.ui-dialog, .shadow {
+  -moz-box-shadow: 0 8px 38px #000;
+  -webkit-box-shadow: 0 8px 38px #000;
+  box-shadow: 0 8px 38px #000 }
+/* styles for common objects */
+#logo { float: left; position: relative; line-height: 0.5em; top: -1.3em }
+#user { float: right; position: relative; top: -1.5em; font-size: 0.77em }
+#header { padding: 1.5em 0.5em; text-align: center }
+#nav h3 { padding: 0 0 0 1.6em }
+#nav ul {
+  padding: 0.3em 1em 0.8em 2em; line-height: 0.5em; list-style: none;
+  line-height: 1.2em; font-size: 90% }
+#themeswitcher { margin: 1em 0.25em }
+#footer { padding: 1em; text-align: center }

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/main/resources/webapps/static/yarn.dt.plugins.js Thu Mar 17 20:21:13 2011
@@ -0,0 +1,52 @@
+if (!jQuery.fn.dataTableExt.fnVersionCheck("1.7.5")) {
+  alert("These plugins requires dataTables 1.7.5+");
+}
+
+// 'title-numeric' sort type
+jQuery.fn.dataTableExt.oSort['title-numeric-asc']  = function(a,b) {
+  var x = a.match(/title=["']?(-?\d+\.?\d*)/)[1];
+  var y = b.match(/title=["']?(-?\d+\.?\d*)/)[1];
+  x = parseFloat( x );
+  y = parseFloat( y );
+  return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+};
+
+jQuery.fn.dataTableExt.oSort['title-numeric-desc'] = function(a,b) {
+  var x = a.match(/title=["']?(-?\d+\.?\d*)/)[1];
+  var y = b.match(/title=["']?(-?\d+\.?\d*)/)[1];
+  x = parseFloat( x );
+  y = parseFloat( y );
+  return ((x < y) ?  1 : ((x > y) ? -1 : 0));
+};
+
+jQuery.fn.dataTableExt.oApi.fnSetFilteringDelay = function ( oSettings, iDelay ) {
+  var
+  _that = this,
+  iDelay = (typeof iDelay == 'undefined') ? 250 : iDelay;
+
+  this.each( function ( i ) {
+    $.fn.dataTableExt.iApiIndex = i;
+    var
+    $this = this,
+    oTimerId = null,
+    sPreviousSearch = null,
+    anControl = $( 'input', _that.fnSettings().aanFeatures.f );
+
+    anControl.unbind( 'keyup' ).bind( 'keyup', function() {
+      var $$this = $this;
+
+      if (sPreviousSearch === null || sPreviousSearch != anControl.val()) {
+        window.clearTimeout(oTimerId);
+        sPreviousSearch = anControl.val();
+        oSettings.oApi._fnProcessingDisplay(oSettings, true);
+        oTimerId = window.setTimeout(function() {
+          $.fn.dataTableExt.iApiIndex = i;
+          _that.fnFilter( anControl.val() );
+          oSettings.oApi._fnProcessingDisplay(oSettings, false);
+        }, iDelay);
+      }
+    });
+    return this;
+  } );
+  return this;
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/test/java/org/apache/hadoop/yarn/MockApps.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/test/java/org/apache/hadoop/yarn/MockApps.java?rev=1082677&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/test/java/org/apache/hadoop/yarn/MockApps.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-common/src/test/java/org/apache/hadoop/yarn/MockApps.java Thu Mar 17 20:21:13 2011
@@ -0,0 +1,117 @@
+/**
+* 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.
+*/
+
+package org.apache.hadoop.yarn;
+
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Utilities to generate fake test apps
+ */
+public class MockApps {
+  static final Iterator<String> NAMES = Iterators.cycle("SleepJob",
+      "RandomWriter", "TeraSort", "TeraGen", "PigLatin", "WordCount",
+      "I18nApp<☯>");
+  static final Iterator<String> USERS = Iterators.cycle("dorothy", "tinman",
+      "scarecrow", "glinda", "nikko", "toto", "winkie", "zeke", "gulch");
+  static final Iterator<ApplicationState> STATES = Iterators.cycle(
+      ApplicationState.values());
+  static final Iterator<String> QUEUES = Iterators.cycle("a.a1", "a.a2",
+      "b.b1", "b.b2", "b.b3", "c.c1.c11", "c.c1.c12", "c.c1.c13",
+      "c.c2", "c.c3", "c.c4");
+  static final long TS = System.currentTimeMillis();
+
+  public static String newAppName() {
+    synchronized(NAMES) {
+      return NAMES.next();
+    }
+  }
+
+  public static String newUserName() {
+    synchronized(USERS) {
+      return USERS.next();
+    }
+  }
+
+  public static String newQueue() {
+    synchronized(QUEUES) {
+      return QUEUES.next();
+    }
+  }
+
+  public static List<Application> genApps(int n) {
+    List<Application> list = Lists.newArrayList();
+    for (int i = 0; i < n; ++i) {
+      list.add(newApp(i));
+    }
+    return list;
+  }
+
+  public static Application newApp(int i) {
+    final ApplicationID id = newAppID(i);
+    final ApplicationStatus status = newAppStatus();
+    final ApplicationState state = newAppState();
+    final String user = newUserName();
+    final String name = newAppName();
+    final String queue = newQueue();
+    return new Application() {
+      @Override public ApplicationID id() { return id; }
+      @Override public CharSequence user() { return user; }
+      @Override public CharSequence name() { return name; }
+      @Override public ApplicationStatus status() { return status; }
+      @Override public ApplicationState state() { return state; }
+      @Override public CharSequence queue() { return queue; }
+      @Override public CharSequence master() {
+        return Math.random() > 0.8 ? null : "localhost";
+      }
+      @Override public int httpPort() { return 58888; }
+      @Override public boolean isFinished() {
+        switch (state) {
+          case COMPLETED:
+          case FAILED:
+          case KILLED: return true;
+        }
+        return false;
+      }
+    };
+  }
+
+  public static ApplicationID newAppID(int i) {
+    ApplicationID id = new ApplicationID();
+    id.clusterTimeStamp = TS;
+    id.id = i;
+    return id;
+  }
+
+  public static ApplicationStatus newAppStatus() {
+    ApplicationStatus status = new ApplicationStatus();
+    status.progress = (float) Math.random();
+    status.lastSeen = System.currentTimeMillis();
+    return status;
+  }
+
+  public static ApplicationState newAppState() {
+    synchronized(STATES) {
+      return STATES.next();
+    }
+  }
+}