125 // instead of a mostly empty table
126
127 // compute the keyword statistics
128
129 int ncols = 2; // keywords, total
130 for (int i = 0; i < statusTotals.length; i++)
131 if (statusTotals[i] > 0)
132 ncols++;
133
134 String[] head = new String[ncols];
135 {
136 int c = 0;
137 head[c++] = i18n.getString("stats.keyword");
138 for (int i = 0; i < statusTotals.length; i++)
139 if (statusTotals[i] > 0)
140 head[c++] = headings[i];
141 head[c] = i18n.getString("stats.total");
142 }
143
144 Vector<String[]> v = new Vector<>();
145 for (Iterator iter = keywordTable.entrySet().iterator(); iter.hasNext(); ) {
146 Map.Entry e = (Map.Entry) (iter.next());
147 String k = (String) (e.getKey());
148 int[] kv = (int[]) (e.getValue());
149 String[] newEntry = new String[ncols];
150 int c = 0, total = 0;
151 newEntry[c++] = k;
152 for (int i = 0; i < kv.length; i++) {
153 if (statusTotals[i] != 0)
154 newEntry[c++] = (kv[i] == 0 ? "" : Integer.toString(kv[i]));
155 total += kv[i];
156 }
157 newEntry[c] = Integer.toString(total);
158
159 sortedInsert:
160 {
161 for (int i = 0; i < v.size(); i++) {
162 String[] entry = v.elementAt(i);
163 if (k.compareTo(entry[0]) < 0) {
164 v.insertElementAt(newEntry, i);
165 break sortedInsert;
166 }
167 }
168 v.addElement(newEntry);
|
125 // instead of a mostly empty table
126
127 // compute the keyword statistics
128
129 int ncols = 2; // keywords, total
130 for (int i = 0; i < statusTotals.length; i++)
131 if (statusTotals[i] > 0)
132 ncols++;
133
134 String[] head = new String[ncols];
135 {
136 int c = 0;
137 head[c++] = i18n.getString("stats.keyword");
138 for (int i = 0; i < statusTotals.length; i++)
139 if (statusTotals[i] > 0)
140 head[c++] = headings[i];
141 head[c] = i18n.getString("stats.total");
142 }
143
144 Vector<String[]> v = new Vector<>();
145 for (Iterator<Map.Entry<String, int[]>> iter = keywordTable.entrySet().iterator(); iter.hasNext(); ) {
146 Map.Entry<String, int[]> e = (iter.next());
147 String k = (e.getKey());
148 int[] kv = (e.getValue());
149 String[] newEntry = new String[ncols];
150 int c = 0, total = 0;
151 newEntry[c++] = k;
152 for (int i = 0; i < kv.length; i++) {
153 if (statusTotals[i] != 0)
154 newEntry[c++] = (kv[i] == 0 ? "" : Integer.toString(kv[i]));
155 total += kv[i];
156 }
157 newEntry[c] = Integer.toString(total);
158
159 sortedInsert:
160 {
161 for (int i = 0; i < v.size(); i++) {
162 String[] entry = v.elementAt(i);
163 if (k.compareTo(entry[0]) < 0) {
164 v.insertElementAt(newEntry, i);
165 break sortedInsert;
166 }
167 }
168 v.addElement(newEntry);
|