1
2
3
4 package org.apache.hadoop.hbase.tmpl.master;
5
6
7 import org.apache.hadoop.hbase.HRegionInfo;
8
9 import org.apache.hadoop.hbase.master.AssignmentManager;
10
11 import org.apache.hadoop.hbase.master.AssignmentManager.RegionState;
12
13 import java.util.Iterator;
14
15 import java.util.Map;
16
17 public class AssignmentManagerStatusTmplImpl
18 extends org.jamon.AbstractTemplateImpl
19 implements org.apache.hadoop.hbase.tmpl.master.AssignmentManagerStatusTmpl.Intf
20
21 {
22 private final AssignmentManager assignmentManager;
23 private final int limit;
24 protected static org.apache.hadoop.hbase.tmpl.master.AssignmentManagerStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.AssignmentManagerStatusTmpl.ImplData p_implData)
25 {
26 if(! p_implData.getLimit__IsNotDefault())
27 {
28 p_implData.setLimit(100);
29 }
30 return p_implData;
31 }
32 public AssignmentManagerStatusTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.master.AssignmentManagerStatusTmpl.ImplData p_implData)
33 {
34 super(p_templateManager, __jamon_setOptionalArguments(p_implData));
35 assignmentManager = p_implData.getAssignmentManager();
36 limit = p_implData.getLimit();
37 }
38
39 public void renderNoFlush(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
40 throws java.io.IOException
41 {
42
43
44 Map<String, RegionState> rit = assignmentManager.getRegionsInTransition();
45
46 int toRemove = rit.size() - limit;
47 int removed = 0;
48 if (toRemove > 0) {
49
50 for (Iterator<Map.Entry<String, RegionState>> it = rit.entrySet().iterator();
51 it.hasNext() && toRemove > 0;
52 ) {
53 Map.Entry<String, RegionState> e = it.next();
54 if (HRegionInfo.FIRST_META_REGIONINFO.getEncodedName().equals(
55 e.getKey()) ||
56 HRegionInfo.ROOT_REGIONINFO.getEncodedName().equals(
57 e.getKey())) {
58
59 continue;
60 }
61 it.remove();
62 toRemove--;
63 removed++;
64 }
65 }
66
67
68
69 jamonWriter.write("<h2>Regions in Transition</h2>\n");
70
71 if (rit.isEmpty() )
72 {
73
74 jamonWriter.write("\nNo regions in transition.\n");
75 }
76
77 else
78 {
79
80 jamonWriter.write("\n\t<table>\n\t\t<tr><th>Region</th><th>State</th></tr>\n\t\t");
81
82 for (Map.Entry<String, RegionState> entry : rit.entrySet() )
83 {
84
85 jamonWriter.write("\n\t\t<tr><td>");
86
87 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getKey()), jamonWriter);
88
89 jamonWriter.write("</td><td>");
90
91 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().toDescriptiveString()), jamonWriter);
92
93 jamonWriter.write("</td>\n\t\t");
94 }
95
96 jamonWriter.write("\n\t</table>\n\t");
97
98 if (removed > 0 )
99 {
100
101 jamonWriter.write("\n\t(");
102
103 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(removed), jamonWriter);
104
105 jamonWriter.write(" more regions in transition not shown) \n\t");
106 }
107
108 jamonWriter.write("\n");
109 }
110 }
111
112
113 }