当前位置: 首页>>代码示例>>Java>>正文


Java JspHelper.printPathWithLinks方法代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.common.JspHelper.printPathWithLinks方法的典型用法代码示例。如果您正苦于以下问题:Java JspHelper.printPathWithLinks方法的具体用法?Java JspHelper.printPathWithLinks怎么用?Java JspHelper.printPathWithLinks使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hdfs.server.common.JspHelper的用法示例。


在下文中一共展示了JspHelper.printPathWithLinks方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: generateFileChunksForTail

import org.apache.hadoop.hdfs.server.common.JspHelper; //导入方法依赖的package包/类
static void generateFileChunksForTail(JspWriter out, HttpServletRequest req,
                                      Configuration conf
                                      ) throws IOException,
                                               InterruptedException {
  final String referrer = JspHelper.validateURL(req.getParameter("referrer"));
  boolean noLink = false;
  if (referrer == null) {
    noLink = true;
  }

  final String filename = JspHelper
      .validatePath(StringEscapeUtils.unescapeHtml(req.getParameter("filename")));
  if (filename == null) {
    out.print("Invalid input (file name absent)");
    return;
  }
  String tokenString = req.getParameter(JspHelper.DELEGATION_PARAMETER_NAME);
  UserGroupInformation ugi = JspHelper.getUGI(req, conf);

  String namenodeInfoPortStr = req.getParameter("namenodeInfoPort");
  int namenodeInfoPort = -1;
  if (namenodeInfoPortStr != null)
    namenodeInfoPort = Integer.parseInt(namenodeInfoPortStr);

  final int chunkSizeToView = JspHelper.string2ChunkSizeToView(req
      .getParameter("chunkSizeToView"), getDefaultChunkSize(conf));

  if (!noLink) {
    out.print("<h3>Tail of File: ");
    JspHelper.printPathWithLinks(filename, out, namenodeInfoPort, 
                                 tokenString);
    out.print("</h3><hr>");
    out.print("<a href=\"" + referrer + "\">Go Back to File View</a><hr>");
  } else {
    out.print("<h3>" + filename + "</h3>");
  }
  out.print("<b>Chunk size to view (in bytes, up to file's DFS block size): </b>");
  out.print("<input type=\"text\" name=\"chunkSizeToView\" value="
      + chunkSizeToView + " size=10 maxlength=10>");
  out.print("&nbsp;&nbsp;<input type=\"submit\" name=\"submit\" value=\"Refresh\"><hr>");
  out.print("<input type=\"hidden\" name=\"filename\" value=\"" + filename
      + "\">");
  out.print("<input type=\"hidden\" name=\"namenodeInfoPort\" value=\""
      + namenodeInfoPort + "\">");
  if (!noLink)
    out.print("<input type=\"hidden\" name=\"referrer\" value=\"" + referrer
        + "\">");

  // fetch the block from the datanode that has the last block for this file
  final DFSClient dfs = getDFSClient(ugi, datanode.getNameNodeAddrForClient(), conf);
  List<LocatedBlock> blocks = dfs.getNamenode().getBlockLocations(filename, 0,
      Long.MAX_VALUE).getLocatedBlocks();
  if (blocks == null || blocks.size() == 0) {
    out.print("No datanodes contain blocks of file " + filename);
    dfs.close();
    return;
  }
  LocatedBlock lastBlk = blocks.get(blocks.size() - 1);
  long blockSize = lastBlk.getBlock().getNumBytes();
  long blockId = lastBlk.getBlock().getBlockId();
  Token<BlockTokenIdentifier> accessToken = lastBlk.getBlockToken();
  long genStamp = lastBlk.getBlock().getGenerationStamp();
  DatanodeInfo chosenNode;
  try {
    chosenNode = JspHelper.bestNode(lastBlk);
  } catch (IOException e) {
    out.print(e.toString());
    dfs.close();
    return;
  }
  InetSocketAddress addr = NetUtils.createSocketAddr(chosenNode.getName());
  // view the last chunkSizeToView bytes while Tailing
  final long startOffset = blockSize >= chunkSizeToView ? blockSize
      - chunkSizeToView : 0;

  out.print("<textarea cols=\"100\" rows=\"25\" wrap=\"virtual\" style=\"width:100%\" READONLY>");
  JspHelper.streamBlockInAscii(addr, blockId, accessToken, genStamp,
      blockSize, startOffset, chunkSizeToView, out, conf);
  out.print("</textarea>");
  dfs.close();
}
 
开发者ID:cumulusyebl,项目名称:cumulus,代码行数:82,代码来源:DatanodeJspHelper.java


注:本文中的org.apache.hadoop.hdfs.server.common.JspHelper.printPathWithLinks方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。