ServletUtil.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:3k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *     http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing, software
  13.  * distributed under the License is distributed on an "AS IS" BASIS,
  14.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  * See the License for the specific language governing permissions and
  16.  * limitations under the License.
  17.  */
  18. package org.apache.hadoop.util;
  19. import java.io.*;
  20. import java.util.Calendar;
  21. import javax.servlet.*;
  22. public class ServletUtil {
  23.   /**
  24.    * Initial HTML header
  25.    */
  26.   public static PrintWriter initHTML(ServletResponse response, String title
  27.       ) throws IOException {
  28.     response.setContentType("text/html");
  29.     PrintWriter out = response.getWriter();
  30.     out.println("<html>n"
  31.         + "<link rel='stylesheet' type='text/css' href='/static/hadoop.css'>n"
  32.         + "<title>" + title + "</title>n"
  33.         + "<body>n"
  34.         + "<h1>" + title + "</h1>n");
  35.     return out;
  36.   }
  37.   /**
  38.    * Get a parameter from a ServletRequest.
  39.    * Return null if the parameter contains only white spaces.
  40.    */
  41.   public static String getParameter(ServletRequest request, String name) {
  42.     String s = request.getParameter(name);
  43.     if (s == null) {
  44.       return null;
  45.     }
  46.     s = s.trim();
  47.     return s.length() == 0? null: s;
  48.   }
  49.   public static final String HTML_TAIL = "<hr />n"
  50.     + "<a href='http://hadoop.apache.org/core'>Hadoop</a>, " 
  51.     + Calendar.getInstance().get(Calendar.YEAR) + ".n"
  52.     + "</body></html>";
  53.   
  54.   /**
  55.    * HTML footer to be added in the jsps.
  56.    * @return the HTML footer.
  57.    */
  58.   public static String htmlFooter() {
  59.     return HTML_TAIL;
  60.   }
  61.   
  62.   /**
  63.    * Generate the percentage graph and returns HTML representation string
  64.    * of the same.
  65.    * 
  66.    * @param perc The percentage value for which graph is to be generated
  67.    * @param width The width of the display table
  68.    * @return HTML String representation of the percentage graph
  69.    * @throws IOException
  70.    */
  71.   public static String percentageGraph(int perc, int width) throws IOException {
  72.     assert perc >= 0; assert perc <= 100;
  73.     StringBuilder builder = new StringBuilder();
  74.     builder.append("<table border="1px" width=""); builder.append(width);
  75.     builder.append("px"><tr>");
  76.     if(perc > 0) {
  77.       builder.append("<td cellspacing="0" class="perc_filled" width="");
  78.       builder.append(perc); builder.append("%"></td>");
  79.     }if(perc < 100) {
  80.       builder.append("<td cellspacing="0" class="perc_nonfilled" width="");
  81.       builder.append(100 - perc); builder.append("%"></td>");
  82.     }
  83.     builder.append("</tr></table>");
  84.     return builder.toString();
  85.   }
  86.   
  87.   /**
  88.    * Generate the percentage graph and returns HTML representation string
  89.    * of the same.
  90.    * @param perc The percentage value for which graph is to be generated
  91.    * @param width The width of the display table
  92.    * @return HTML String representation of the percentage graph
  93.    * @throws IOException
  94.    */
  95.   public static String percentageGraph(float perc, int width) throws IOException {
  96.     return percentageGraph((int)perc, width);
  97.   }
  98. }