rjack-solr 3.6.2.0-java → 4.0.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (315) hide show
  1. data/History.rdoc +5 -0
  2. data/Manifest.txt +268 -33
  3. data/NOTICE.txt +1 -1
  4. data/README.rdoc +6 -6
  5. data/assembly.xml +2 -2
  6. data/bin/rjack-solr-fg +1 -1
  7. data/init/rjack-solr +2 -2
  8. data/lib/rjack-solr.rb +7 -2
  9. data/lib/rjack-solr/base.rb +2 -2
  10. data/lib/rjack-solr/commons-cli-1.2.jar +0 -0
  11. data/lib/rjack-solr/config.rb +1 -1
  12. data/lib/rjack-solr/server.rb +1 -1
  13. data/lib/rjack-solr/solr-core-4.0.0.jar +0 -0
  14. data/lib/rjack-solr/solr-solrj-4.0.0.jar +0 -0
  15. data/pom.xml +19 -6
  16. data/test/test_solr.rb +7 -5
  17. data/webapp/META-INF/LICENSE.txt +0 -940
  18. data/webapp/META-INF/MANIFEST.MF +5 -5
  19. data/webapp/META-INF/NOTICE.txt +160 -93
  20. data/webapp/WEB-INF/web.xml +57 -43
  21. data/webapp/admin.html +140 -0
  22. data/webapp/css/chosen.css +392 -0
  23. data/webapp/css/styles/analysis.css +293 -0
  24. data/webapp/css/styles/cloud.css +331 -0
  25. data/webapp/css/styles/common.css +593 -0
  26. data/webapp/css/styles/cores.css +203 -0
  27. data/webapp/css/styles/dashboard.css +127 -0
  28. data/webapp/css/styles/dataimport.css +222 -0
  29. data/webapp/css/styles/index.css +195 -0
  30. data/webapp/css/styles/java-properties.css +33 -0
  31. data/webapp/css/styles/logging.css +323 -0
  32. data/webapp/css/styles/menu.css +272 -0
  33. data/webapp/css/styles/plugins.css +175 -0
  34. data/webapp/css/styles/query.css +137 -0
  35. data/webapp/css/styles/replication.css +494 -0
  36. data/webapp/css/styles/schema-browser.css +476 -0
  37. data/webapp/css/styles/threads.css +153 -0
  38. data/webapp/img/ZeroClipboard.swf +0 -0
  39. data/webapp/img/chosen-sprite.png +0 -0
  40. data/webapp/img/div.gif +0 -0
  41. data/webapp/{admin → img}/favicon.ico +0 -0
  42. data/webapp/img/filetypes/7z.png +0 -0
  43. data/webapp/img/filetypes/README +27 -0
  44. data/webapp/img/filetypes/ai.png +0 -0
  45. data/webapp/img/filetypes/aiff.png +0 -0
  46. data/webapp/img/filetypes/asc.png +0 -0
  47. data/webapp/img/filetypes/audio.png +0 -0
  48. data/webapp/img/filetypes/bin.png +0 -0
  49. data/webapp/img/filetypes/bz2.png +0 -0
  50. data/webapp/img/filetypes/c.png +0 -0
  51. data/webapp/img/filetypes/cfc.png +0 -0
  52. data/webapp/img/filetypes/cfm.png +0 -0
  53. data/webapp/img/filetypes/chm.png +0 -0
  54. data/webapp/img/filetypes/class.png +0 -0
  55. data/webapp/img/filetypes/conf.png +0 -0
  56. data/webapp/img/filetypes/cpp.png +0 -0
  57. data/webapp/img/filetypes/cs.png +0 -0
  58. data/webapp/img/filetypes/css.png +0 -0
  59. data/webapp/img/filetypes/csv.png +0 -0
  60. data/webapp/img/filetypes/deb.png +0 -0
  61. data/webapp/img/filetypes/divx.png +0 -0
  62. data/webapp/img/filetypes/doc.png +0 -0
  63. data/webapp/img/filetypes/dot.png +0 -0
  64. data/webapp/img/filetypes/eml.png +0 -0
  65. data/webapp/img/filetypes/enc.png +0 -0
  66. data/webapp/img/filetypes/file.png +0 -0
  67. data/webapp/img/filetypes/gif.png +0 -0
  68. data/webapp/img/filetypes/gz.png +0 -0
  69. data/webapp/img/filetypes/hlp.png +0 -0
  70. data/webapp/img/filetypes/htm.png +0 -0
  71. data/webapp/img/filetypes/html.png +0 -0
  72. data/webapp/img/filetypes/image.png +0 -0
  73. data/webapp/img/filetypes/iso.png +0 -0
  74. data/webapp/img/filetypes/jar.png +0 -0
  75. data/webapp/img/filetypes/java.png +0 -0
  76. data/webapp/img/filetypes/jpeg.png +0 -0
  77. data/webapp/img/filetypes/jpg.png +0 -0
  78. data/webapp/img/filetypes/js.png +0 -0
  79. data/webapp/img/filetypes/lua.png +0 -0
  80. data/webapp/img/filetypes/m.png +0 -0
  81. data/webapp/img/filetypes/mm.png +0 -0
  82. data/webapp/img/filetypes/mov.png +0 -0
  83. data/webapp/img/filetypes/mp3.png +0 -0
  84. data/webapp/img/filetypes/mpg.png +0 -0
  85. data/webapp/img/filetypes/odc.png +0 -0
  86. data/webapp/img/filetypes/odf.png +0 -0
  87. data/webapp/img/filetypes/odg.png +0 -0
  88. data/webapp/img/filetypes/odi.png +0 -0
  89. data/webapp/img/filetypes/odp.png +0 -0
  90. data/webapp/img/filetypes/ods.png +0 -0
  91. data/webapp/img/filetypes/odt.png +0 -0
  92. data/webapp/img/filetypes/ogg.png +0 -0
  93. data/webapp/img/filetypes/pdf.png +0 -0
  94. data/webapp/img/filetypes/pgp.png +0 -0
  95. data/webapp/img/filetypes/php.png +0 -0
  96. data/webapp/img/filetypes/pl.png +0 -0
  97. data/webapp/img/filetypes/png.png +0 -0
  98. data/webapp/img/filetypes/ppt.png +0 -0
  99. data/webapp/img/filetypes/ps.png +0 -0
  100. data/webapp/img/filetypes/py.png +0 -0
  101. data/webapp/img/filetypes/ram.png +0 -0
  102. data/webapp/img/filetypes/rar.png +0 -0
  103. data/webapp/img/filetypes/rb.png +0 -0
  104. data/webapp/img/filetypes/rm.png +0 -0
  105. data/webapp/img/filetypes/rpm.png +0 -0
  106. data/webapp/img/filetypes/rtf.png +0 -0
  107. data/webapp/img/filetypes/sig.png +0 -0
  108. data/webapp/img/filetypes/sql.png +0 -0
  109. data/webapp/img/filetypes/swf.png +0 -0
  110. data/webapp/img/filetypes/sxc.png +0 -0
  111. data/webapp/img/filetypes/sxd.png +0 -0
  112. data/webapp/img/filetypes/sxi.png +0 -0
  113. data/webapp/img/filetypes/sxw.png +0 -0
  114. data/webapp/img/filetypes/tar.png +0 -0
  115. data/webapp/img/filetypes/tex.png +0 -0
  116. data/webapp/img/filetypes/tgz.png +0 -0
  117. data/webapp/img/filetypes/txt.png +0 -0
  118. data/webapp/img/filetypes/vcf.png +0 -0
  119. data/webapp/img/filetypes/video.png +0 -0
  120. data/webapp/img/filetypes/vsd.png +0 -0
  121. data/webapp/img/filetypes/wav.png +0 -0
  122. data/webapp/img/filetypes/wma.png +0 -0
  123. data/webapp/img/filetypes/wmv.png +0 -0
  124. data/webapp/img/filetypes/xls.png +0 -0
  125. data/webapp/img/filetypes/xml.png +0 -0
  126. data/webapp/img/filetypes/xpi.png +0 -0
  127. data/webapp/img/filetypes/xvid.png +0 -0
  128. data/webapp/img/filetypes/zip.png +0 -0
  129. data/webapp/img/ico/arrow-000-small.png +0 -0
  130. data/webapp/img/ico/arrow-circle.png +0 -0
  131. data/webapp/img/ico/arrow-switch.png +0 -0
  132. data/webapp/img/ico/asterisk.png +0 -0
  133. data/webapp/img/ico/battery.png +0 -0
  134. data/webapp/img/ico/block-small.png +0 -0
  135. data/webapp/img/ico/block.png +0 -0
  136. data/webapp/img/ico/book-open-text.png +0 -0
  137. data/webapp/img/ico/box.png +0 -0
  138. data/webapp/img/ico/bug.png +0 -0
  139. data/webapp/img/ico/chart.png +0 -0
  140. data/webapp/img/ico/chevron-small-expand.png +0 -0
  141. data/webapp/img/ico/chevron-small.png +0 -0
  142. data/webapp/img/ico/clipboard-list.png +0 -0
  143. data/webapp/img/ico/clipboard-paste-document-text.png +0 -0
  144. data/webapp/img/ico/clipboard-paste.png +0 -0
  145. data/webapp/img/ico/clock-select-remain.png +0 -0
  146. data/webapp/img/ico/clock-select.png +0 -0
  147. data/webapp/img/ico/construction.png +0 -0
  148. data/webapp/img/ico/cross-0.png +0 -0
  149. data/webapp/img/ico/cross-1.png +0 -0
  150. data/webapp/img/ico/cross.png +0 -0
  151. data/webapp/img/ico/dashboard.png +0 -0
  152. data/webapp/img/ico/database.png +0 -0
  153. data/webapp/img/ico/databases.png +0 -0
  154. data/webapp/img/ico/disk-black.png +0 -0
  155. data/webapp/img/ico/document-convert.png +0 -0
  156. data/webapp/img/ico/document-import.png +0 -0
  157. data/webapp/img/ico/document-list.png +0 -0
  158. data/webapp/img/ico/document-text.png +0 -0
  159. data/webapp/img/ico/download-cloud.png +0 -0
  160. data/webapp/img/ico/exclamation-button.png +0 -0
  161. data/webapp/img/ico/eye.png +0 -0
  162. data/webapp/img/ico/folder-export.png +0 -0
  163. data/webapp/img/ico/folder-tree.png +0 -0
  164. data/webapp/img/ico/folder.png +0 -0
  165. data/webapp/img/ico/funnel-small.png +0 -0
  166. data/webapp/img/ico/funnel.png +0 -0
  167. data/webapp/img/ico/gear.png +0 -0
  168. data/webapp/img/ico/globe-network.png +0 -0
  169. data/webapp/img/ico/globe.png +0 -0
  170. data/webapp/img/ico/hammer-screwdriver.png +0 -0
  171. data/webapp/img/ico/hand.png +0 -0
  172. data/webapp/img/ico/highlighter-text.png +0 -0
  173. data/webapp/img/ico/hourglass--exclamation.png +0 -0
  174. data/webapp/img/ico/hourglass.png +0 -0
  175. data/webapp/img/ico/inbox-document-text.png +0 -0
  176. data/webapp/img/ico/information-button.png +0 -0
  177. data/webapp/img/ico/information-small.png +0 -0
  178. data/webapp/img/ico/information-white.png +0 -0
  179. data/webapp/img/ico/information.png +0 -0
  180. data/webapp/img/ico/jar.png +0 -0
  181. data/webapp/img/ico/magnifier.png +0 -0
  182. data/webapp/img/ico/mail.png +0 -0
  183. data/webapp/img/ico/memory.png +0 -0
  184. data/webapp/img/ico/molecule.png +0 -0
  185. data/webapp/img/ico/network-cloud.png +0 -0
  186. data/webapp/img/ico/network-status-away.png +0 -0
  187. data/webapp/img/ico/network-status-busy.png +0 -0
  188. data/webapp/img/ico/network-status-offline.png +0 -0
  189. data/webapp/img/ico/network-status.png +0 -0
  190. data/webapp/img/ico/network.png +0 -0
  191. data/webapp/img/ico/node-design.png +0 -0
  192. data/webapp/img/ico/node-master.png +0 -0
  193. data/webapp/img/ico/node-select.png +0 -0
  194. data/webapp/img/ico/node-slave.png +0 -0
  195. data/webapp/img/ico/node.png +0 -0
  196. data/webapp/img/ico/pencil-small.png +0 -0
  197. data/webapp/img/ico/plus-button.png +0 -0
  198. data/webapp/img/ico/processor.png +0 -0
  199. data/webapp/img/ico/prohibition.png +0 -0
  200. data/webapp/img/ico/property.png +0 -0
  201. data/webapp/img/ico/question-small-white.png +0 -0
  202. data/webapp/img/ico/question-white.png +0 -0
  203. data/webapp/img/ico/question.png +0 -0
  204. data/webapp/img/ico/receipt-invoice.png +0 -0
  205. data/webapp/img/ico/receipt.png +0 -0
  206. data/webapp/img/ico/script-code.png +0 -0
  207. data/webapp/img/ico/server-cast.png +0 -0
  208. data/webapp/img/ico/server.png +0 -0
  209. data/webapp/img/ico/sitemap.png +0 -0
  210. data/webapp/img/ico/slash.png +0 -0
  211. data/webapp/img/ico/status-away.png +0 -0
  212. data/webapp/img/ico/status-busy.png +0 -0
  213. data/webapp/img/ico/status-offline.png +0 -0
  214. data/webapp/img/ico/status.png +0 -0
  215. data/webapp/img/ico/system-monitor--exclamation.png +0 -0
  216. data/webapp/img/ico/system-monitor.png +0 -0
  217. data/webapp/img/ico/table.png +0 -0
  218. data/webapp/img/ico/terminal.png +0 -0
  219. data/webapp/img/ico/tick-circle.png +0 -0
  220. data/webapp/img/ico/tick-red.png +0 -0
  221. data/webapp/img/ico/tick.png +0 -0
  222. data/webapp/img/ico/toggle-small-expand.png +0 -0
  223. data/webapp/img/ico/toggle-small.png +0 -0
  224. data/webapp/img/ico/toolbox.png +0 -0
  225. data/webapp/img/ico/ui-accordion.png +0 -0
  226. data/webapp/img/ico/ui-address-bar.png +0 -0
  227. data/webapp/img/ico/ui-check-box-uncheck.png +0 -0
  228. data/webapp/img/ico/ui-check-box.png +0 -0
  229. data/webapp/img/ico/ui-radio-button-uncheck.png +0 -0
  230. data/webapp/img/ico/ui-radio-button.png +0 -0
  231. data/webapp/img/ico/ui-text-field-select.png +0 -0
  232. data/webapp/img/ico/users.png +0 -0
  233. data/webapp/img/ico/wooden-box.png +0 -0
  234. data/webapp/img/ico/zone.png +0 -0
  235. data/webapp/img/loader-light.gif +0 -0
  236. data/webapp/img/loader.gif +0 -0
  237. data/webapp/img/lucene-ico.png +0 -0
  238. data/webapp/img/solr-ico.png +0 -0
  239. data/webapp/{admin/solr_small.png → img/solr.png} +0 -0
  240. data/webapp/img/tree.png +0 -0
  241. data/webapp/js/lib/ZeroClipboard.js +317 -0
  242. data/webapp/js/lib/chosen.js +953 -0
  243. data/webapp/{admin/get-properties.jsp → js/lib/console.js} +13 -10
  244. data/webapp/js/lib/d3.js +9342 -0
  245. data/webapp/js/lib/highlight.js +1 -0
  246. data/webapp/{admin/jquery-1.4.3.min.js → js/lib/jquery-1.7.2.min.js} +0 -0
  247. data/webapp/js/lib/jquery.blockUI.js +499 -0
  248. data/webapp/js/lib/jquery.cookie.js +47 -0
  249. data/webapp/js/lib/jquery.form.js +782 -0
  250. data/webapp/js/lib/jquery.jstree.js +3510 -0
  251. data/webapp/js/lib/jquery.sammy.js +1856 -0
  252. data/webapp/js/lib/jquery.sparkline.js +1271 -0
  253. data/webapp/js/lib/jquery.timeago.js +165 -0
  254. data/webapp/js/lib/linker.js +48 -0
  255. data/webapp/js/lib/order.js +189 -0
  256. data/webapp/js/main.js +57 -0
  257. data/webapp/js/require.js +11319 -0
  258. data/webapp/js/scripts/analysis.js +549 -0
  259. data/webapp/js/scripts/app.js +368 -0
  260. data/webapp/js/scripts/cloud.js +719 -0
  261. data/webapp/js/scripts/cores.js +540 -0
  262. data/webapp/js/scripts/dashboard.js +540 -0
  263. data/webapp/js/scripts/dataimport.js +567 -0
  264. data/webapp/js/scripts/file.js +56 -0
  265. data/webapp/js/scripts/index.js +344 -0
  266. data/webapp/js/scripts/java-properties.js +107 -0
  267. data/webapp/js/scripts/logging.js +519 -0
  268. data/webapp/js/scripts/ping.js +72 -0
  269. data/webapp/js/scripts/plugins.js +426 -0
  270. data/webapp/js/scripts/query.js +170 -0
  271. data/webapp/js/scripts/replication.js +557 -0
  272. data/webapp/js/scripts/schema-browser.js +1206 -0
  273. data/webapp/js/scripts/threads.js +159 -0
  274. data/webapp/tpl/analysis.html +83 -0
  275. data/webapp/tpl/cloud.html +54 -0
  276. data/webapp/tpl/cores.html +215 -0
  277. data/webapp/tpl/dashboard.html +164 -0
  278. data/webapp/tpl/dataimport.html +123 -0
  279. data/webapp/tpl/index.html +250 -0
  280. data/webapp/tpl/logging.html +23 -0
  281. data/webapp/tpl/plugins.html +39 -0
  282. data/webapp/tpl/query.html +318 -0
  283. data/webapp/tpl/replication.html +207 -0
  284. data/webapp/tpl/schema-browser.html +178 -0
  285. data/webapp/tpl/threads.html +56 -0
  286. metadata +307 -40
  287. data/lib/rjack-solr/solr-core-3.6.2.jar +0 -0
  288. data/lib/rjack-solr/solr-solrj-3.6.2.jar +0 -0
  289. data/webapp/admin/_info.jsp +0 -120
  290. data/webapp/admin/action.jsp +0 -94
  291. data/webapp/admin/analysis.jsp +0 -496
  292. data/webapp/admin/analysis.xsl +0 -179
  293. data/webapp/admin/dataimport.jsp +0 -53
  294. data/webapp/admin/debug.jsp +0 -103
  295. data/webapp/admin/distributiondump.jsp +0 -160
  296. data/webapp/admin/form.jsp +0 -152
  297. data/webapp/admin/get-file.jsp +0 -72
  298. data/webapp/admin/header.jsp +0 -44
  299. data/webapp/admin/index.jsp +0 -162
  300. data/webapp/admin/meta.xsl +0 -34
  301. data/webapp/admin/ping.jsp +0 -52
  302. data/webapp/admin/ping.xsl +0 -71
  303. data/webapp/admin/raw-schema.jsp +0 -38
  304. data/webapp/admin/registry.jsp +0 -107
  305. data/webapp/admin/registry.xsl +0 -321
  306. data/webapp/admin/replication/header.jsp +0 -89
  307. data/webapp/admin/replication/index.jsp +0 -378
  308. data/webapp/admin/schema.jsp +0 -690
  309. data/webapp/admin/solr-admin.css +0 -215
  310. data/webapp/admin/stats.jsp +0 -92
  311. data/webapp/admin/stats.xsl +0 -220
  312. data/webapp/admin/tabular.xsl +0 -141
  313. data/webapp/admin/threaddump.jsp +0 -110
  314. data/webapp/admin/threaddump.xsl +0 -103
  315. data/webapp/index.jsp +0 -49
@@ -0,0 +1,56 @@
1
+ /*
2
+ Licensed to the Apache Software Foundation (ASF) under one or more
3
+ contributor license agreements. See the NOTICE file distributed with
4
+ this work for additional information regarding copyright ownership.
5
+ The ASF licenses this file to You under the Apache License, Version 2.0
6
+ (the "License"); you may not use this file except in compliance with
7
+ the License. You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+
18
+ // #/:core/schema, #/:core/config
19
+ sammy.get
20
+ (
21
+ /^#\/([\w\d-]+)\/(schema|config)$/,
22
+ function( context )
23
+ {
24
+ var core_basepath = this.active_core.attr( 'data-basepath' );
25
+ var filetype = context.params.splat[1]; // either schema or config
26
+ var filename = this.active_core.attr( filetype );
27
+
28
+ $.ajax
29
+ (
30
+ {
31
+ url : core_basepath + "/admin/file?file=" + filename + "&contentType=text/xml;charset=utf-8",
32
+ dataType : 'xml',
33
+ context : $( '#content' ),
34
+ beforeSend : function( xhr, settings )
35
+ {
36
+ this
37
+ .html( '<div class="loader">Loading ...</div>' );
38
+ },
39
+ complete : function( xhr, text_status )
40
+ {
41
+ var code = $(
42
+ '<pre class="syntax language-xml"><code>' +
43
+ xhr.responseText.esc() +
44
+ '</code></pre>'
45
+ );
46
+ this.html( code );
47
+
48
+ if( 'success' === text_status )
49
+ {
50
+ hljs.highlightBlock( code.get(0) );
51
+ }
52
+ }
53
+ }
54
+ );
55
+ }
56
+ );
@@ -0,0 +1,344 @@
1
+ /*
2
+ Licensed to the Apache Software Foundation (ASF) under one or more
3
+ contributor license agreements. See the NOTICE file distributed with
4
+ this work for additional information regarding copyright ownership.
5
+ The ASF licenses this file to You under the Apache License, Version 2.0
6
+ (the "License"); you may not use this file except in compliance with
7
+ the License. You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+
18
+ var parse_memory_value = function( value )
19
+ {
20
+ if( value !== Number( value ) )
21
+ {
22
+ var units = 'BKMGTPEZY';
23
+ var match = value.match( /^(\d+([,\.]\d+)?) (\w)\w?$/ );
24
+ var value = parseFloat( match[1] ) * Math.pow( 1024, units.indexOf( match[3].toUpperCase() ) );
25
+ }
26
+
27
+ return value;
28
+ };
29
+
30
+ var generate_bar = function( bar_container, bar_data, convert_label_values )
31
+ {
32
+ bar_holder = $( '.bar-holder', bar_container );
33
+
34
+ var bar_level = 1;
35
+ var max_width = Math.round( $( '.bar-max', bar_holder ).width() );
36
+ $( '.bar-max.val', bar_holder ).text( bar_data['max'] );
37
+
38
+ bar_level++;
39
+ var total_width = Math.round( ( bar_data['total'] * max_width ) / bar_data['max'] );
40
+ $( '.bar-total.bar', bar_holder ).width( Math.max( total_width, 1 ) );
41
+ $( '.bar-total.val', bar_holder ).text( bar_data['total'] );
42
+
43
+ if( bar_data['used'] )
44
+ {
45
+ bar_level++;
46
+ var used_width = Math.round( ( bar_data['used'] * max_width ) / bar_data['max'] );
47
+ $( '.bar-used.bar', bar_holder ).width( Math.min( used_width, total_width - 1 ) );
48
+ $( '.bar-used.val', bar_holder ).text( bar_data['used'] );
49
+ }
50
+
51
+ bar_holder
52
+ .addClass( 'bar-lvl-' + bar_level );
53
+
54
+ var percentage = ( ( ( bar_data['used'] || bar_data['total'] ) / bar_data['max'] ) * 100 ).toFixed(1);
55
+
56
+ var hl = $( '[data-desc="' + bar_container.attr( 'id' ) + '"]' );
57
+
58
+ $( '.bar-desc', hl )
59
+ .remove();
60
+
61
+ hl
62
+ .append( ' <small class="bar-desc">' + percentage + '%</small>' );
63
+
64
+ if( !!convert_label_values )
65
+ {
66
+ $( '.val', bar_holder )
67
+ .each
68
+ (
69
+ function()
70
+ {
71
+ var self = $( this );
72
+
73
+ var unit = null;
74
+ var byte_value = parseInt( self.html() );
75
+
76
+ self
77
+ .attr( 'title', 'raw: ' + byte_value + ' B' );
78
+
79
+ byte_value /= 1024;
80
+ byte_value /= 1024;
81
+ unit = 'MB';
82
+
83
+ if( 1024 <= byte_value )
84
+ {
85
+ byte_value /= 1024;
86
+ unit = 'GB';
87
+ }
88
+
89
+ byte_value = byte_value.toFixed( 2 ) + ' ' + unit;
90
+
91
+ self
92
+ .text( byte_value );
93
+ }
94
+ );
95
+ }
96
+ };
97
+
98
+ var system_info = function( element, system_data )
99
+ {
100
+ // -- usage
101
+
102
+ var load_average = ( system_data['system']['uptime'] || '' ).match( /load average: (.+)/ );
103
+ if( load_average && load_average[1] )
104
+ {
105
+ var hl = $( '#system h2', element );
106
+
107
+ $( '.bar-desc', hl )
108
+ .remove();
109
+
110
+ hl
111
+ .append( ' <small class="bar-desc">' + load_average[1].split( ', ' ).join( ' ' ).esc() + '</small>' );
112
+ }
113
+
114
+ // -- physical-memory-bar
115
+
116
+ var bar_holder = $( '#physical-memory-bar', element );
117
+ if( !system_data['system']['totalPhysicalMemorySize'] )
118
+ {
119
+ bar_holder.hide();
120
+ }
121
+ else
122
+ {
123
+ bar_holder.show();
124
+
125
+ var bar_data = {
126
+ 'max' : parse_memory_value( system_data['system']['totalPhysicalMemorySize'] ),
127
+ 'total' : parse_memory_value( system_data['system']['totalPhysicalMemorySize'] - system_data['system']['freePhysicalMemorySize'] )
128
+ };
129
+
130
+ generate_bar( bar_holder, bar_data, true );
131
+ }
132
+
133
+ // -- swap-space-bar
134
+
135
+ var bar_holder = $( '#swap-space-bar', element );
136
+ if( !system_data['system']['totalSwapSpaceSize'] )
137
+ {
138
+ bar_holder.hide();
139
+ }
140
+ else
141
+ {
142
+ bar_holder.show();
143
+
144
+ var bar_data = {
145
+ 'max' : parse_memory_value( system_data['system']['totalSwapSpaceSize'] ),
146
+ 'total' : parse_memory_value( system_data['system']['totalSwapSpaceSize'] - system_data['system']['freeSwapSpaceSize'] )
147
+ };
148
+
149
+ generate_bar( bar_holder, bar_data, true );
150
+ }
151
+
152
+ // -- swap-space-bar
153
+
154
+ var bar_holder = $( '#file-descriptor-bar', element );
155
+ if( !system_data['system']['maxFileDescriptorCount'] )
156
+ {
157
+ bar_holder.hide();
158
+ }
159
+ else
160
+ {
161
+ bar_holder.show();
162
+
163
+ var bar_data = {
164
+ 'max' : parse_memory_value( system_data['system']['maxFileDescriptorCount'] ),
165
+ 'total' : parse_memory_value( system_data['system']['openFileDescriptorCount'] )
166
+ };
167
+
168
+ generate_bar( bar_holder, bar_data );
169
+ }
170
+
171
+ 0 === $( '#system div[id$="-bar"]:visible', element ).size()
172
+ ? $( '#system .no-info', element ).show()
173
+ : $( '#system .no-info', element ).hide();
174
+
175
+ // -- memory-bar
176
+
177
+ var jvm_memory = $.extend
178
+ (
179
+ {
180
+ 'free' : null,
181
+ 'total' : null,
182
+ 'max' : null,
183
+ 'used' : null,
184
+ 'raw' : {
185
+ 'free' : null,
186
+ 'total' : null,
187
+ 'max' : null,
188
+ 'used' : null,
189
+ 'used%' : null
190
+ }
191
+ },
192
+ system_data['jvm']['memory']
193
+ );
194
+
195
+ var bar_holder = $( '#jvm-memory-bar', element );
196
+ var bar_data = {
197
+ 'max' : parse_memory_value( jvm_memory['raw']['max'] || jvm_memory['max'] ),
198
+ 'total' : parse_memory_value( jvm_memory['raw']['total'] || jvm_memory['total'] ),
199
+ 'used' : parse_memory_value( jvm_memory['raw']['used'] || jvm_memory['used'] )
200
+ };
201
+
202
+ generate_bar( bar_holder, bar_data, true );
203
+ }
204
+
205
+ // #/
206
+ sammy.get
207
+ (
208
+ /^#\/$/,
209
+ function( context )
210
+ {
211
+ var content_element = $( '#content' );
212
+
213
+ $( '#menu-wrapper #index' )
214
+ .addClass( 'active' );
215
+
216
+ content_element
217
+ .html( '<div id="index"></div>' );
218
+
219
+ $.ajax
220
+ (
221
+ {
222
+ url : 'tpl/index.html',
223
+ context : $( '#index', content_element ),
224
+ beforeSend : function( arr, form, options )
225
+ {
226
+ },
227
+ success : function( template )
228
+ {
229
+ var self = this;
230
+
231
+ this
232
+ .html( template );
233
+
234
+ var data = {
235
+ 'start_time' : app.dashboard_values['jvm']['jmx']['startTime'],
236
+ 'host' : app.dashboard_values['core']['host'],
237
+ 'dir_instance' : app.dashboard_values['core']['directory']['instance'],
238
+ 'dir_data' : app.dashboard_values['core']['directory']['data'],
239
+ 'dir_index' : app.dashboard_values['core']['directory']['index'],
240
+ 'jvm_version' : app.dashboard_values['jvm']['name'] + ' (' + app.dashboard_values['jvm']['version'] + ')',
241
+ 'processors' : app.dashboard_values['jvm']['processors'],
242
+ 'solr_spec_version' : app.dashboard_values['lucene']['solr-spec-version'] || '-',
243
+ 'solr_impl_version' : app.dashboard_values['lucene']['solr-impl-version'] || '-',
244
+ 'lucene_spec_version' : app.dashboard_values['lucene']['lucene-spec-version'] || '-',
245
+ 'lucene_impl_version' : app.dashboard_values['lucene']['lucene-impl-version'] || '-'
246
+ };
247
+
248
+ if( app.dashboard_values['core']['directory']['cwd'] )
249
+ {
250
+ data['dir_cwd'] = app.dashboard_values['core']['directory']['cwd'];
251
+ }
252
+
253
+ for( var key in data )
254
+ {
255
+ var value_element = $( '.' + key + ' dd', this );
256
+
257
+ value_element
258
+ .text( data[key].esc() );
259
+
260
+ value_element.closest( 'li' )
261
+ .show();
262
+ }
263
+
264
+ var commandLineArgs = app.dashboard_values['jvm']['jmx']['commandLineArgs'];
265
+ if( 0 !== commandLineArgs.length )
266
+ {
267
+ var cmd_arg_element = $( '.command_line_args dt', this );
268
+ var cmd_arg_key_element = $( '.command_line_args dt', this );
269
+ var cmd_arg_element = $( '.command_line_args dd', this );
270
+
271
+ for( var key in commandLineArgs )
272
+ {
273
+ cmd_arg_element = cmd_arg_element.clone();
274
+ cmd_arg_element.text( commandLineArgs[key] );
275
+
276
+ cmd_arg_key_element
277
+ .after( cmd_arg_element );
278
+ }
279
+
280
+ cmd_arg_key_element.closest( 'li' )
281
+ .show();
282
+
283
+ $( '.command_line_args dd:last', this )
284
+ .remove();
285
+
286
+ $( '.command_line_args dd:odd', this )
287
+ .addClass( 'odd' );
288
+ }
289
+
290
+ $( '.timeago', this )
291
+ .timeago();
292
+
293
+ $( '.index-left .block li:visible:odd', this )
294
+ .addClass( 'odd' );
295
+
296
+ // -- system_info
297
+
298
+ system_info( this, app.dashboard_values );
299
+
300
+ $( '#system a.reload', this )
301
+ .die( 'click' )
302
+ .live
303
+ (
304
+ 'click',
305
+ function( event )
306
+ {
307
+ $.ajax
308
+ (
309
+ {
310
+ url : environment_basepath + '/admin/system?wt=json',
311
+ dataType : 'json',
312
+ context : this,
313
+ beforeSend : function( arr, form, options )
314
+ {
315
+ loader.show( this );
316
+ },
317
+ success : function( response )
318
+ {
319
+ system_info( self, response );
320
+ },
321
+ error : function()
322
+ {
323
+ },
324
+ complete : function()
325
+ {
326
+ loader.hide( this );
327
+ }
328
+ }
329
+ );
330
+
331
+ return false;
332
+ }
333
+ );
334
+ },
335
+ error : function( xhr, text_status, error_thrown )
336
+ {
337
+ },
338
+ complete : function( xhr, text_status )
339
+ {
340
+ }
341
+ }
342
+ );
343
+ }
344
+ );
@@ -0,0 +1,107 @@
1
+ /*
2
+ Licensed to the Apache Software Foundation (ASF) under one or more
3
+ contributor license agreements. See the NOTICE file distributed with
4
+ this work for additional information regarding copyright ownership.
5
+ The ASF licenses this file to You under the Apache License, Version 2.0
6
+ (the "License"); you may not use this file except in compliance with
7
+ the License. You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+
18
+ // #/~java-properties
19
+ sammy.get
20
+ (
21
+ /^#\/(~java-properties)$/,
22
+ function( context )
23
+ {
24
+ var core_basepath = $( 'li[data-basepath]', app.menu_element ).attr( 'data-basepath' );
25
+ var content_element = $( '#content' );
26
+
27
+ content_element
28
+ .html( '<div id="java-properties"></div>' );
29
+
30
+ $.ajax
31
+ (
32
+ {
33
+ url : core_basepath + '/admin/properties?wt=json',
34
+ dataType : 'json',
35
+ context : $( '#java-properties', content_element ),
36
+ beforeSend : function( xhr, settings )
37
+ {
38
+ this
39
+ .html( '<div class="loader">Loading ...</div>' );
40
+ },
41
+ success : function( response, text_status, xhr )
42
+ {
43
+ var system_properties = response['system.properties'];
44
+ var properties_data = {};
45
+ var properties_content = [];
46
+ var properties_order = [];
47
+
48
+ var workaround = xhr.responseText.match( /"(line\.separator)"\s*:\s*"(.+?)"/ );
49
+ if( workaround && workaround[2] )
50
+ {
51
+ system_properties[workaround[1]] = workaround[2];
52
+ }
53
+
54
+ for( var key in system_properties )
55
+ {
56
+ var displayed_key = key.replace( /\./g, '.&#8203;' );
57
+ var displayed_value = [ system_properties[key] ];
58
+ var item_class = 'clearfix';
59
+
60
+ if( -1 !== key.indexOf( '.path' ) || -1 !== key.indexOf( '.dirs' ) )
61
+ {
62
+ displayed_value = system_properties[key].split( system_properties['path.separator'] );
63
+ if( 1 < displayed_value.length )
64
+ {
65
+ item_class += ' multi';
66
+ }
67
+ }
68
+
69
+ var item_content = '<li><dl class="' + item_class + '">' + "\n"
70
+ + '<dt>' + displayed_key.esc() + '</dt>' + "\n";
71
+
72
+ for( var i in displayed_value )
73
+ {
74
+ item_content += '<dd>' + displayed_value[i].esc() + '</dd>' + "\n";
75
+ }
76
+
77
+ item_content += '</dl></li>';
78
+
79
+ properties_data[key] = item_content;
80
+ properties_order.push( key );
81
+ }
82
+
83
+ properties_order.sort();
84
+ for( var i in properties_order )
85
+ {
86
+ properties_content.push( properties_data[properties_order[i]] );
87
+ }
88
+
89
+ this
90
+ .html( '<ul>' + properties_content.join( "\n" ) + '</ul>' );
91
+
92
+ $( 'li:odd', this )
93
+ .addClass( 'odd' );
94
+
95
+ $( '.multi dd:odd', this )
96
+ .addClass( 'odd' );
97
+ },
98
+ error : function( xhr, text_status, error_thrown)
99
+ {
100
+ },
101
+ complete : function( xhr, text_status )
102
+ {
103
+ }
104
+ }
105
+ );
106
+ }
107
+ );