001// Autogenerated Jamon implementation
002// /Users/petersomogyi/projects/hbase-upstream/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.jamon
003
004package org.apache.hadoop.hbase.tmpl.regionserver;
005
006// 28, 1
007import java.util.*;
008// 29, 1
009import org.apache.hadoop.conf.Configuration;
010// 30, 1
011import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.CachedBlocksByFile;
012// 31, 1
013import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;
014// 32, 1
015import org.apache.hadoop.hbase.io.hfile.CachedBlock;
016// 33, 1
017import org.apache.hadoop.hbase.io.hfile.CacheConfig;
018// 34, 1
019import org.apache.hadoop.hbase.io.hfile.BlockCache;
020// 35, 1
021import org.apache.hadoop.hbase.io.hfile.bucket.BucketCacheStats;
022// 36, 1
023import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;
024// 37, 1
025import org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator;
026// 38, 1
027import org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator.Bucket;
028// 39, 1
029import org.apache.hadoop.util.StringUtils;
030
031public class BlockCacheViewTmplImpl
032  extends org.jamon.AbstractTemplateImpl
033  implements org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheViewTmpl.Intf
034
035{
036  private final CacheConfig cacheConfig;
037  private final Configuration conf;
038  private final String bcn;
039  private final String bcv;
040  protected static org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheViewTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheViewTmpl.ImplData p_implData)
041  {
042    return p_implData;
043  }
044  public BlockCacheViewTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheViewTmpl.ImplData p_implData)
045  {
046    super(p_templateManager, __jamon_setOptionalArguments(p_implData));
047    cacheConfig = p_implData.getCacheConfig();
048    conf = p_implData.getConf();
049    bcn = p_implData.getBcn();
050    bcv = p_implData.getBcv();
051  }
052  
053  @Override public void renderNoFlush(final java.io.Writer jamonWriter)
054    throws java.io.IOException
055  {
056    // 41, 1
057    
058  BlockCache bc = cacheConfig == null ? null : cacheConfig.getBlockCache();
059  BlockCache [] bcs = bc == null ? null : bc.getBlockCaches();
060  if (bcn.equals("L1")) {
061    bc = bcs == null || bcs.length == 0? bc: bcs[0];
062  } else {
063    if (bcs == null || bcs.length < 2) {
064      System.out.println("There is no L2 block cache");
065      return;
066    }
067    bc = bcs[1];
068  }
069  if (bc == null) {
070    System.out.println("There is no block cache");
071    return;
072  }
073  CachedBlocksByFile cbsbf = BlockCacheUtil.getLoadedCachedBlocksByFile(conf, bc);
074
075    // 59, 1
076    if (bcv.equals("file") )
077    {
078      // 59, 27
079      {
080        // 59, 27
081        __jamon_innerUnit__bc_by_file(jamonWriter, cbsbf);
082      }
083    }
084    // 59, 59
085    else
086    {
087      // 59, 66
088      jamonWriter.write("[ ");
089      // 59, 68
090      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(BlockCacheUtil.toJSON(bc)), jamonWriter);
091      // 59, 99
092      jamonWriter.write(", ");
093      // 59, 101
094      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(BlockCacheUtil.toJSON(cbsbf)), jamonWriter);
095      // 59, 135
096      jamonWriter.write(" ]");
097    }
098    // 59, 143
099    jamonWriter.write("\n");
100    // 60, 1
101    
102cbsbf = null;
103
104  }
105  
106  
107  // 64, 1
108  private void __jamon_innerUnit__bc_by_file(final java.io.Writer jamonWriter, final CachedBlocksByFile cbsbf)
109    throws java.io.IOException
110  {
111    // 68, 1
112    jamonWriter.write("[");
113    // 68, 2
114    for (Map.Entry<String, NavigableSet<CachedBlock>> e: cbsbf.getCachedBlockStatsByFile().entrySet() )
115    {
116      // 68, 103
117      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(BlockCacheUtil.toJSON(e.getKey(), e.getValue())), jamonWriter);
118    }
119    // 68, 163
120    jamonWriter.write("]\n");
121  }
122  
123  
124}