sunspot_solr 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (410) hide show
  1. checksums.yaml +7 -0
  2. data/bin/sunspot-solr +0 -4
  3. data/lib/sunspot/solr/installer.rb +1 -1
  4. data/lib/sunspot/solr/installer/config_installer.rb +55 -21
  5. data/lib/sunspot/solr/java.rb +1 -1
  6. data/lib/sunspot/solr/server.rb +21 -21
  7. data/solr/.gitignore +2 -0
  8. data/solr/README.txt +157 -18
  9. data/solr/bin/init.d/solr +78 -0
  10. data/solr/bin/install_solr_service.sh +270 -0
  11. data/solr/bin/oom_solr.sh +30 -0
  12. data/solr/bin/post +218 -0
  13. data/solr/bin/solr +1531 -0
  14. data/solr/bin/solr.cmd +1384 -0
  15. data/solr/bin/solr.in.cmd +89 -0
  16. data/solr/bin/solr.in.sh +103 -0
  17. data/solr/server/README.txt +113 -0
  18. data/solr/{contexts/solr.xml → server/contexts/solr-jetty-context.xml} +1 -0
  19. data/solr/server/etc/jetty-https-ssl.xml +159 -0
  20. data/solr/{etc → server/etc}/jetty.xml +0 -0
  21. data/solr/{etc → server/etc}/webdefault.xml +1 -1
  22. data/solr/server/lib/ext/jcl-over-slf4j-1.7.7.jar +0 -0
  23. data/solr/server/lib/ext/jul-to-slf4j-1.7.7.jar +0 -0
  24. data/solr/server/lib/ext/log4j-1.2.17.jar +0 -0
  25. data/solr/server/lib/ext/slf4j-api-1.7.7.jar +0 -0
  26. data/solr/server/lib/ext/slf4j-log4j12-1.7.7.jar +0 -0
  27. data/solr/{lib/jetty-continuation-8.1.8.v20121106.jar → server/lib/jetty-continuation-8.1.10.v20130312.jar} +0 -0
  28. data/solr/{lib/jetty-deploy-8.1.8.v20121106.jar → server/lib/jetty-deploy-8.1.10.v20130312.jar} +0 -0
  29. data/solr/server/lib/jetty-http-8.1.10.v20130312.jar +0 -0
  30. data/solr/{lib/jetty-io-8.1.8.v20121106.jar → server/lib/jetty-io-8.1.10.v20130312.jar} +0 -0
  31. data/solr/{lib/jetty-jmx-8.1.8.v20121106.jar → server/lib/jetty-jmx-8.1.10.v20130312.jar} +0 -0
  32. data/solr/{lib/jetty-security-8.1.8.v20121106.jar → server/lib/jetty-security-8.1.10.v20130312.jar} +0 -0
  33. data/solr/server/lib/jetty-server-8.1.10.v20130312.jar +0 -0
  34. data/solr/server/lib/jetty-servlet-8.1.10.v20130312.jar +0 -0
  35. data/solr/{lib/jetty-util-8.1.8.v20121106.jar → server/lib/jetty-util-8.1.10.v20130312.jar} +0 -0
  36. data/solr/{lib/jetty-webapp-8.1.8.v20121106.jar → server/lib/jetty-webapp-8.1.10.v20130312.jar} +0 -0
  37. data/solr/server/lib/jetty-xml-8.1.10.v20130312.jar +0 -0
  38. data/solr/{lib → server/lib}/servlet-api-3.0.jar +0 -0
  39. data/solr/server/resources/log4j.properties +24 -0
  40. data/solr/server/solr-webapp/webapp/.gitignore +1 -0
  41. data/solr/server/solr-webapp/webapp/WEB-INF/lib/antlr-runtime-3.5.jar +0 -0
  42. data/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-4.1.jar +0 -0
  43. data/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-commons-4.1.jar +0 -0
  44. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-cli-1.2.jar +0 -0
  45. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-codec-1.10.jar +0 -0
  46. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-collections-3.2.1.jar +0 -0
  47. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-configuration-1.6.jar +0 -0
  48. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-fileupload-1.2.1.jar +0 -0
  49. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-io-2.4.jar +0 -0
  50. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-lang-2.6.jar +0 -0
  51. data/solr/server/solr-webapp/webapp/WEB-INF/lib/concurrentlinkedhashmap-lru-1.2.jar +0 -0
  52. data/solr/server/solr-webapp/webapp/WEB-INF/lib/dom4j-1.6.1.jar +0 -0
  53. data/solr/server/solr-webapp/webapp/WEB-INF/lib/guava-14.0.1.jar +0 -0
  54. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-annotations-2.3.0.jar +0 -0
  55. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-auth-2.3.0.jar +0 -0
  56. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-common-2.3.0.jar +0 -0
  57. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-hdfs-2.3.0.jar +0 -0
  58. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hppc-0.5.2.jar +0 -0
  59. data/solr/server/solr-webapp/webapp/WEB-INF/lib/httpclient-4.3.1.jar +0 -0
  60. data/solr/server/solr-webapp/webapp/WEB-INF/lib/httpcore-4.3.jar +0 -0
  61. data/solr/server/solr-webapp/webapp/WEB-INF/lib/httpmime-4.3.1.jar +0 -0
  62. data/solr/server/solr-webapp/webapp/WEB-INF/lib/joda-time-2.2.jar +0 -0
  63. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-analyzers-common-5.0.0.jar +0 -0
  64. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-analyzers-kuromoji-5.0.0.jar +0 -0
  65. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-analyzers-phonetic-5.0.0.jar +0 -0
  66. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-backward-codecs-5.0.0.jar +0 -0
  67. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-codecs-5.0.0.jar +0 -0
  68. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-core-5.0.0.jar +0 -0
  69. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-expressions-5.0.0.jar +0 -0
  70. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-grouping-5.0.0.jar +0 -0
  71. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-highlighter-5.0.0.jar +0 -0
  72. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-join-5.0.0.jar +0 -0
  73. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-memory-5.0.0.jar +0 -0
  74. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-misc-5.0.0.jar +0 -0
  75. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-queries-5.0.0.jar +0 -0
  76. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-queryparser-5.0.0.jar +0 -0
  77. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-spatial-5.0.0.jar +0 -0
  78. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-suggest-5.0.0.jar +0 -0
  79. data/solr/server/solr-webapp/webapp/WEB-INF/lib/noggit-0.6.jar +0 -0
  80. data/solr/server/solr-webapp/webapp/WEB-INF/lib/org.restlet-2.1.1.jar +0 -0
  81. data/solr/server/solr-webapp/webapp/WEB-INF/lib/org.restlet.ext.servlet-2.1.1.jar +0 -0
  82. data/solr/server/solr-webapp/webapp/WEB-INF/lib/protobuf-java-2.5.0.jar +0 -0
  83. data/solr/server/solr-webapp/webapp/WEB-INF/lib/solr-core-5.0.0.jar +0 -0
  84. data/solr/server/solr-webapp/webapp/WEB-INF/lib/solr-solrj-5.0.0.jar +0 -0
  85. data/solr/server/solr-webapp/webapp/WEB-INF/lib/spatial4j-0.4.1.jar +0 -0
  86. data/solr/server/solr-webapp/webapp/WEB-INF/lib/stax2-api-3.1.4.jar +0 -0
  87. data/solr/server/solr-webapp/webapp/WEB-INF/lib/woodstox-core-asl-4.4.1.jar +0 -0
  88. data/solr/server/solr-webapp/webapp/WEB-INF/lib/zookeeper-3.4.6.jar +0 -0
  89. data/solr/server/solr-webapp/webapp/WEB-INF/web.xml +181 -0
  90. data/solr/server/solr-webapp/webapp/WEB-INF/weblogic.xml +28 -0
  91. data/solr/server/solr-webapp/webapp/admin.html +163 -0
  92. data/solr/server/solr-webapp/webapp/css/chosen.css +421 -0
  93. data/solr/server/solr-webapp/webapp/css/styles/analysis.css +311 -0
  94. data/solr/server/solr-webapp/webapp/css/styles/cloud.css +410 -0
  95. data/solr/server/solr-webapp/webapp/css/styles/common.css +701 -0
  96. data/solr/server/solr-webapp/webapp/css/styles/cores.css +244 -0
  97. data/solr/server/solr-webapp/webapp/css/styles/dashboard.css +155 -0
  98. data/solr/server/solr-webapp/webapp/css/styles/dataimport.css +403 -0
  99. data/solr/server/solr-webapp/webapp/css/styles/documents.css +197 -0
  100. data/solr/server/solr-webapp/webapp/css/styles/files.css +54 -0
  101. data/solr/server/solr-webapp/webapp/css/styles/index.css +207 -0
  102. data/solr/server/solr-webapp/webapp/css/styles/java-properties.css +52 -0
  103. data/solr/server/solr-webapp/webapp/css/styles/logging.css +391 -0
  104. data/solr/server/solr-webapp/webapp/css/styles/menu.css +328 -0
  105. data/solr/server/solr-webapp/webapp/css/styles/plugins.css +195 -0
  106. data/solr/server/solr-webapp/webapp/css/styles/query.css +173 -0
  107. data/solr/server/solr-webapp/webapp/css/styles/replication.css +515 -0
  108. data/solr/server/solr-webapp/webapp/css/styles/schema-browser.css +578 -0
  109. data/solr/server/solr-webapp/webapp/css/styles/threads.css +172 -0
  110. data/solr/server/solr-webapp/webapp/favicon.ico +0 -0
  111. data/solr/server/solr-webapp/webapp/img/ZeroClipboard.swf +0 -0
  112. data/solr/server/solr-webapp/webapp/img/chosen-sprite.png +0 -0
  113. data/solr/server/solr-webapp/webapp/img/div.gif +0 -0
  114. data/solr/server/solr-webapp/webapp/img/favicon.ico +0 -0
  115. data/solr/server/solr-webapp/webapp/img/filetypes/7z.png +0 -0
  116. data/solr/server/solr-webapp/webapp/img/filetypes/README +27 -0
  117. data/solr/server/solr-webapp/webapp/img/filetypes/ai.png +0 -0
  118. data/solr/server/solr-webapp/webapp/img/filetypes/aiff.png +0 -0
  119. data/solr/server/solr-webapp/webapp/img/filetypes/asc.png +0 -0
  120. data/solr/server/solr-webapp/webapp/img/filetypes/audio.png +0 -0
  121. data/solr/server/solr-webapp/webapp/img/filetypes/bin.png +0 -0
  122. data/solr/server/solr-webapp/webapp/img/filetypes/bz2.png +0 -0
  123. data/solr/server/solr-webapp/webapp/img/filetypes/c.png +0 -0
  124. data/solr/server/solr-webapp/webapp/img/filetypes/cfc.png +0 -0
  125. data/solr/server/solr-webapp/webapp/img/filetypes/cfm.png +0 -0
  126. data/solr/server/solr-webapp/webapp/img/filetypes/chm.png +0 -0
  127. data/solr/server/solr-webapp/webapp/img/filetypes/class.png +0 -0
  128. data/solr/server/solr-webapp/webapp/img/filetypes/conf.png +0 -0
  129. data/solr/server/solr-webapp/webapp/img/filetypes/cpp.png +0 -0
  130. data/solr/server/solr-webapp/webapp/img/filetypes/cs.png +0 -0
  131. data/solr/server/solr-webapp/webapp/img/filetypes/css.png +0 -0
  132. data/solr/server/solr-webapp/webapp/img/filetypes/csv.png +0 -0
  133. data/solr/server/solr-webapp/webapp/img/filetypes/deb.png +0 -0
  134. data/solr/server/solr-webapp/webapp/img/filetypes/divx.png +0 -0
  135. data/solr/server/solr-webapp/webapp/img/filetypes/doc.png +0 -0
  136. data/solr/server/solr-webapp/webapp/img/filetypes/dot.png +0 -0
  137. data/solr/server/solr-webapp/webapp/img/filetypes/eml.png +0 -0
  138. data/solr/server/solr-webapp/webapp/img/filetypes/enc.png +0 -0
  139. data/solr/server/solr-webapp/webapp/img/filetypes/file.png +0 -0
  140. data/solr/server/solr-webapp/webapp/img/filetypes/gif.png +0 -0
  141. data/solr/server/solr-webapp/webapp/img/filetypes/gz.png +0 -0
  142. data/solr/server/solr-webapp/webapp/img/filetypes/hlp.png +0 -0
  143. data/solr/server/solr-webapp/webapp/img/filetypes/htm.png +0 -0
  144. data/solr/server/solr-webapp/webapp/img/filetypes/html.png +0 -0
  145. data/solr/server/solr-webapp/webapp/img/filetypes/image.png +0 -0
  146. data/solr/server/solr-webapp/webapp/img/filetypes/iso.png +0 -0
  147. data/solr/server/solr-webapp/webapp/img/filetypes/jar.png +0 -0
  148. data/solr/server/solr-webapp/webapp/img/filetypes/java.png +0 -0
  149. data/solr/server/solr-webapp/webapp/img/filetypes/jpeg.png +0 -0
  150. data/solr/server/solr-webapp/webapp/img/filetypes/jpg.png +0 -0
  151. data/solr/server/solr-webapp/webapp/img/filetypes/js.png +0 -0
  152. data/solr/server/solr-webapp/webapp/img/filetypes/lua.png +0 -0
  153. data/solr/server/solr-webapp/webapp/img/filetypes/m.png +0 -0
  154. data/solr/server/solr-webapp/webapp/img/filetypes/mm.png +0 -0
  155. data/solr/server/solr-webapp/webapp/img/filetypes/mov.png +0 -0
  156. data/solr/server/solr-webapp/webapp/img/filetypes/mp3.png +0 -0
  157. data/solr/server/solr-webapp/webapp/img/filetypes/mpg.png +0 -0
  158. data/solr/server/solr-webapp/webapp/img/filetypes/odc.png +0 -0
  159. data/solr/server/solr-webapp/webapp/img/filetypes/odf.png +0 -0
  160. data/solr/server/solr-webapp/webapp/img/filetypes/odg.png +0 -0
  161. data/solr/server/solr-webapp/webapp/img/filetypes/odi.png +0 -0
  162. data/solr/server/solr-webapp/webapp/img/filetypes/odp.png +0 -0
  163. data/solr/server/solr-webapp/webapp/img/filetypes/ods.png +0 -0
  164. data/solr/server/solr-webapp/webapp/img/filetypes/odt.png +0 -0
  165. data/solr/server/solr-webapp/webapp/img/filetypes/ogg.png +0 -0
  166. data/solr/server/solr-webapp/webapp/img/filetypes/pdf.png +0 -0
  167. data/solr/server/solr-webapp/webapp/img/filetypes/pgp.png +0 -0
  168. data/solr/server/solr-webapp/webapp/img/filetypes/php.png +0 -0
  169. data/solr/server/solr-webapp/webapp/img/filetypes/pl.png +0 -0
  170. data/solr/server/solr-webapp/webapp/img/filetypes/png.png +0 -0
  171. data/solr/server/solr-webapp/webapp/img/filetypes/ppt.png +0 -0
  172. data/solr/server/solr-webapp/webapp/img/filetypes/ps.png +0 -0
  173. data/solr/server/solr-webapp/webapp/img/filetypes/py.png +0 -0
  174. data/solr/server/solr-webapp/webapp/img/filetypes/ram.png +0 -0
  175. data/solr/server/solr-webapp/webapp/img/filetypes/rar.png +0 -0
  176. data/solr/server/solr-webapp/webapp/img/filetypes/rb.png +0 -0
  177. data/solr/server/solr-webapp/webapp/img/filetypes/rm.png +0 -0
  178. data/solr/server/solr-webapp/webapp/img/filetypes/rpm.png +0 -0
  179. data/solr/server/solr-webapp/webapp/img/filetypes/rtf.png +0 -0
  180. data/solr/server/solr-webapp/webapp/img/filetypes/sig.png +0 -0
  181. data/solr/server/solr-webapp/webapp/img/filetypes/sql.png +0 -0
  182. data/solr/server/solr-webapp/webapp/img/filetypes/swf.png +0 -0
  183. data/solr/server/solr-webapp/webapp/img/filetypes/sxc.png +0 -0
  184. data/solr/server/solr-webapp/webapp/img/filetypes/sxd.png +0 -0
  185. data/solr/server/solr-webapp/webapp/img/filetypes/sxi.png +0 -0
  186. data/solr/server/solr-webapp/webapp/img/filetypes/sxw.png +0 -0
  187. data/solr/server/solr-webapp/webapp/img/filetypes/tar.png +0 -0
  188. data/solr/server/solr-webapp/webapp/img/filetypes/tex.png +0 -0
  189. data/solr/server/solr-webapp/webapp/img/filetypes/tgz.png +0 -0
  190. data/solr/server/solr-webapp/webapp/img/filetypes/txt.png +0 -0
  191. data/solr/server/solr-webapp/webapp/img/filetypes/vcf.png +0 -0
  192. data/solr/server/solr-webapp/webapp/img/filetypes/video.png +0 -0
  193. data/solr/server/solr-webapp/webapp/img/filetypes/vsd.png +0 -0
  194. data/solr/server/solr-webapp/webapp/img/filetypes/wav.png +0 -0
  195. data/solr/server/solr-webapp/webapp/img/filetypes/wma.png +0 -0
  196. data/solr/server/solr-webapp/webapp/img/filetypes/wmv.png +0 -0
  197. data/solr/server/solr-webapp/webapp/img/filetypes/xls.png +0 -0
  198. data/solr/server/solr-webapp/webapp/img/filetypes/xml.png +0 -0
  199. data/solr/server/solr-webapp/webapp/img/filetypes/xpi.png +0 -0
  200. data/solr/server/solr-webapp/webapp/img/filetypes/xvid.png +0 -0
  201. data/solr/server/solr-webapp/webapp/img/filetypes/zip.png +0 -0
  202. data/solr/server/solr-webapp/webapp/img/ico/arrow-000-small.png +0 -0
  203. data/solr/server/solr-webapp/webapp/img/ico/arrow-circle.png +0 -0
  204. data/solr/server/solr-webapp/webapp/img/ico/arrow-switch.png +0 -0
  205. data/solr/server/solr-webapp/webapp/img/ico/asterisk.png +0 -0
  206. data/solr/server/solr-webapp/webapp/img/ico/battery.png +0 -0
  207. data/solr/server/solr-webapp/webapp/img/ico/block-small.png +0 -0
  208. data/solr/server/solr-webapp/webapp/img/ico/block.png +0 -0
  209. data/solr/server/solr-webapp/webapp/img/ico/book-open-text.png +0 -0
  210. data/solr/server/solr-webapp/webapp/img/ico/box.png +0 -0
  211. data/solr/server/solr-webapp/webapp/img/ico/bug.png +0 -0
  212. data/solr/server/solr-webapp/webapp/img/ico/chart.png +0 -0
  213. data/solr/server/solr-webapp/webapp/img/ico/chevron-small-expand.png +0 -0
  214. data/solr/server/solr-webapp/webapp/img/ico/chevron-small.png +0 -0
  215. data/solr/server/solr-webapp/webapp/img/ico/clipboard-list.png +0 -0
  216. data/solr/server/solr-webapp/webapp/img/ico/clipboard-paste-document-text.png +0 -0
  217. data/solr/server/solr-webapp/webapp/img/ico/clipboard-paste.png +0 -0
  218. data/solr/server/solr-webapp/webapp/img/ico/clock-select-remain.png +0 -0
  219. data/solr/server/solr-webapp/webapp/img/ico/clock-select.png +0 -0
  220. data/solr/server/solr-webapp/webapp/img/ico/construction.png +0 -0
  221. data/solr/server/solr-webapp/webapp/img/ico/cross-0.png +0 -0
  222. data/solr/server/solr-webapp/webapp/img/ico/cross-1.png +0 -0
  223. data/solr/server/solr-webapp/webapp/img/ico/cross-button.png +0 -0
  224. data/solr/server/solr-webapp/webapp/img/ico/cross.png +0 -0
  225. data/solr/server/solr-webapp/webapp/img/ico/dashboard.png +0 -0
  226. data/solr/server/solr-webapp/webapp/img/ico/database--plus.png +0 -0
  227. data/solr/server/solr-webapp/webapp/img/ico/database.png +0 -0
  228. data/solr/server/solr-webapp/webapp/img/ico/databases.png +0 -0
  229. data/solr/server/solr-webapp/webapp/img/ico/disk-black.png +0 -0
  230. data/solr/server/solr-webapp/webapp/img/ico/document-convert.png +0 -0
  231. data/solr/server/solr-webapp/webapp/img/ico/document-import.png +0 -0
  232. data/solr/server/solr-webapp/webapp/img/ico/document-list.png +0 -0
  233. data/solr/server/solr-webapp/webapp/img/ico/document-text.png +0 -0
  234. data/solr/server/solr-webapp/webapp/img/ico/documents-stack.png +0 -0
  235. data/solr/server/solr-webapp/webapp/img/ico/download-cloud.png +0 -0
  236. data/solr/server/solr-webapp/webapp/img/ico/drive-upload.png +0 -0
  237. data/solr/server/solr-webapp/webapp/img/ico/exclamation-button.png +0 -0
  238. data/solr/server/solr-webapp/webapp/img/ico/eye.png +0 -0
  239. data/solr/server/solr-webapp/webapp/img/ico/folder-export.png +0 -0
  240. data/solr/server/solr-webapp/webapp/img/ico/folder-tree.png +0 -0
  241. data/solr/server/solr-webapp/webapp/img/ico/folder.png +0 -0
  242. data/solr/server/solr-webapp/webapp/img/ico/funnel-small.png +0 -0
  243. data/solr/server/solr-webapp/webapp/img/ico/funnel.png +0 -0
  244. data/solr/server/solr-webapp/webapp/img/ico/gear.png +0 -0
  245. data/solr/server/solr-webapp/webapp/img/ico/globe-network.png +0 -0
  246. data/solr/server/solr-webapp/webapp/img/ico/globe.png +0 -0
  247. data/solr/server/solr-webapp/webapp/img/ico/hammer-screwdriver.png +0 -0
  248. data/solr/server/solr-webapp/webapp/img/ico/hammer.png +0 -0
  249. data/solr/server/solr-webapp/webapp/img/ico/hand.png +0 -0
  250. data/solr/server/solr-webapp/webapp/img/ico/highlighter-text.png +0 -0
  251. data/solr/server/solr-webapp/webapp/img/ico/home.png +0 -0
  252. data/solr/server/solr-webapp/webapp/img/ico/hourglass--exclamation.png +0 -0
  253. data/solr/server/solr-webapp/webapp/img/ico/hourglass.png +0 -0
  254. data/solr/server/solr-webapp/webapp/img/ico/inbox-document-text.png +0 -0
  255. data/solr/server/solr-webapp/webapp/img/ico/information-button.png +0 -0
  256. data/solr/server/solr-webapp/webapp/img/ico/information-small.png +0 -0
  257. data/solr/server/solr-webapp/webapp/img/ico/information-white.png +0 -0
  258. data/solr/server/solr-webapp/webapp/img/ico/information.png +0 -0
  259. data/solr/server/solr-webapp/webapp/img/ico/jar.png +0 -0
  260. data/solr/server/solr-webapp/webapp/img/ico/magnifier.png +0 -0
  261. data/solr/server/solr-webapp/webapp/img/ico/mail.png +0 -0
  262. data/solr/server/solr-webapp/webapp/img/ico/memory.png +0 -0
  263. data/solr/server/solr-webapp/webapp/img/ico/minus-button.png +0 -0
  264. data/solr/server/solr-webapp/webapp/img/ico/molecule.png +0 -0
  265. data/solr/server/solr-webapp/webapp/img/ico/network-cloud.png +0 -0
  266. data/solr/server/solr-webapp/webapp/img/ico/network-status-away.png +0 -0
  267. data/solr/server/solr-webapp/webapp/img/ico/network-status-busy.png +0 -0
  268. data/solr/server/solr-webapp/webapp/img/ico/network-status-offline.png +0 -0
  269. data/solr/server/solr-webapp/webapp/img/ico/network-status.png +0 -0
  270. data/solr/server/solr-webapp/webapp/img/ico/network.png +0 -0
  271. data/solr/server/solr-webapp/webapp/img/ico/node-design.png +0 -0
  272. data/solr/server/solr-webapp/webapp/img/ico/node-master.png +0 -0
  273. data/solr/server/solr-webapp/webapp/img/ico/node-select.png +0 -0
  274. data/solr/server/solr-webapp/webapp/img/ico/node-slave.png +0 -0
  275. data/solr/server/solr-webapp/webapp/img/ico/node.png +0 -0
  276. data/solr/server/solr-webapp/webapp/img/ico/pencil-small.png +0 -0
  277. data/solr/server/solr-webapp/webapp/img/ico/pencil.png +0 -0
  278. data/solr/server/solr-webapp/webapp/img/ico/plus-button.png +0 -0
  279. data/solr/server/solr-webapp/webapp/img/ico/processor.png +0 -0
  280. data/solr/server/solr-webapp/webapp/img/ico/prohibition.png +0 -0
  281. data/solr/server/solr-webapp/webapp/img/ico/property.png +0 -0
  282. data/solr/server/solr-webapp/webapp/img/ico/question-small-white.png +0 -0
  283. data/solr/server/solr-webapp/webapp/img/ico/question-white.png +0 -0
  284. data/solr/server/solr-webapp/webapp/img/ico/question.png +0 -0
  285. data/solr/server/solr-webapp/webapp/img/ico/receipt-invoice.png +0 -0
  286. data/solr/server/solr-webapp/webapp/img/ico/receipt.png +0 -0
  287. data/solr/server/solr-webapp/webapp/img/ico/script-code.png +0 -0
  288. data/solr/server/solr-webapp/webapp/img/ico/server-cast.png +0 -0
  289. data/solr/server/solr-webapp/webapp/img/ico/server.png +0 -0
  290. data/solr/server/solr-webapp/webapp/img/ico/sitemap.png +0 -0
  291. data/solr/server/solr-webapp/webapp/img/ico/slash.png +0 -0
  292. data/solr/server/solr-webapp/webapp/img/ico/status-away.png +0 -0
  293. data/solr/server/solr-webapp/webapp/img/ico/status-busy.png +0 -0
  294. data/solr/server/solr-webapp/webapp/img/ico/status-offline.png +0 -0
  295. data/solr/server/solr-webapp/webapp/img/ico/status.png +0 -0
  296. data/solr/server/solr-webapp/webapp/img/ico/system-monitor--exclamation.png +0 -0
  297. data/solr/server/solr-webapp/webapp/img/ico/system-monitor.png +0 -0
  298. data/solr/server/solr-webapp/webapp/img/ico/table.png +0 -0
  299. data/solr/server/solr-webapp/webapp/img/ico/terminal.png +0 -0
  300. data/solr/server/solr-webapp/webapp/img/ico/tick-circle.png +0 -0
  301. data/solr/server/solr-webapp/webapp/img/ico/tick-red.png +0 -0
  302. data/solr/server/solr-webapp/webapp/img/ico/tick.png +0 -0
  303. data/solr/server/solr-webapp/webapp/img/ico/toggle-small-expand.png +0 -0
  304. data/solr/server/solr-webapp/webapp/img/ico/toggle-small.png +0 -0
  305. data/solr/server/solr-webapp/webapp/img/ico/toolbox.png +0 -0
  306. data/solr/server/solr-webapp/webapp/img/ico/ui-accordion.png +0 -0
  307. data/solr/server/solr-webapp/webapp/img/ico/ui-address-bar.png +0 -0
  308. data/solr/server/solr-webapp/webapp/img/ico/ui-check-box-uncheck.png +0 -0
  309. data/solr/server/solr-webapp/webapp/img/ico/ui-check-box.png +0 -0
  310. data/solr/server/solr-webapp/webapp/img/ico/ui-radio-button-uncheck.png +0 -0
  311. data/solr/server/solr-webapp/webapp/img/ico/ui-radio-button.png +0 -0
  312. data/solr/server/solr-webapp/webapp/img/ico/ui-text-field-select.png +0 -0
  313. data/solr/server/solr-webapp/webapp/img/ico/users.png +0 -0
  314. data/solr/server/solr-webapp/webapp/img/ico/wooden-box.png +0 -0
  315. data/solr/server/solr-webapp/webapp/img/ico/zone.png +0 -0
  316. data/solr/server/solr-webapp/webapp/img/loader-light.gif +0 -0
  317. data/solr/server/solr-webapp/webapp/img/loader.gif +0 -0
  318. data/solr/server/solr-webapp/webapp/img/lucene-ico.png +0 -0
  319. data/solr/server/solr-webapp/webapp/img/solr-ico.png +0 -0
  320. data/solr/server/solr-webapp/webapp/img/solr.svg +39 -0
  321. data/solr/server/solr-webapp/webapp/img/tree.png +0 -0
  322. data/solr/server/solr-webapp/webapp/js/lib/ZeroClipboard.js +342 -0
  323. data/solr/server/solr-webapp/webapp/js/lib/chosen.js +982 -0
  324. data/solr/server/solr-webapp/webapp/js/lib/console.js +29 -0
  325. data/solr/server/solr-webapp/webapp/js/lib/d3.js +9373 -0
  326. data/solr/server/solr-webapp/webapp/js/lib/highlight.js +31 -0
  327. data/solr/server/solr-webapp/webapp/js/lib/jquery-1.7.2.min.js +30 -0
  328. data/solr/server/solr-webapp/webapp/js/lib/jquery.ajaxfileupload.js +184 -0
  329. data/solr/server/solr-webapp/webapp/js/lib/jquery.blockUI.js +523 -0
  330. data/solr/server/solr-webapp/webapp/js/lib/jquery.cookie.js +71 -0
  331. data/solr/server/solr-webapp/webapp/js/lib/jquery.form.js +806 -0
  332. data/solr/server/solr-webapp/webapp/js/lib/jquery.jstree.js +3534 -0
  333. data/solr/server/solr-webapp/webapp/js/lib/jquery.sammy.js +1863 -0
  334. data/solr/server/solr-webapp/webapp/js/lib/jquery.timeago.js +189 -0
  335. data/solr/server/solr-webapp/webapp/js/lib/linker.js +48 -0
  336. data/solr/server/solr-webapp/webapp/js/lib/order.js +216 -0
  337. data/solr/server/solr-webapp/webapp/js/main.js +58 -0
  338. data/solr/server/solr-webapp/webapp/js/require.js +11349 -0
  339. data/solr/server/solr-webapp/webapp/js/scripts/analysis.js +545 -0
  340. data/solr/server/solr-webapp/webapp/js/scripts/app.js +679 -0
  341. data/solr/server/solr-webapp/webapp/js/scripts/cloud.js +877 -0
  342. data/solr/server/solr-webapp/webapp/js/scripts/cores.js +719 -0
  343. data/solr/server/solr-webapp/webapp/js/scripts/dashboard.js +562 -0
  344. data/solr/server/solr-webapp/webapp/js/scripts/dataimport.js +812 -0
  345. data/solr/server/solr-webapp/webapp/js/scripts/documents.js +370 -0
  346. data/solr/server/solr-webapp/webapp/js/scripts/files.js +265 -0
  347. data/solr/server/solr-webapp/webapp/js/scripts/index.js +340 -0
  348. data/solr/server/solr-webapp/webapp/js/scripts/java-properties.js +106 -0
  349. data/solr/server/solr-webapp/webapp/js/scripts/logging.js +576 -0
  350. data/solr/server/solr-webapp/webapp/js/scripts/ping.js +72 -0
  351. data/solr/server/solr-webapp/webapp/js/scripts/plugins.js +462 -0
  352. data/solr/server/solr-webapp/webapp/js/scripts/query.js +229 -0
  353. data/solr/server/solr-webapp/webapp/js/scripts/replication.js +527 -0
  354. data/solr/server/solr-webapp/webapp/js/scripts/schema-browser.js +1229 -0
  355. data/solr/server/solr-webapp/webapp/js/scripts/threads.js +158 -0
  356. data/solr/server/solr-webapp/webapp/tpl/analysis.html +83 -0
  357. data/solr/server/solr-webapp/webapp/tpl/cloud.html +87 -0
  358. data/solr/server/solr-webapp/webapp/tpl/cores.html +226 -0
  359. data/solr/server/solr-webapp/webapp/tpl/dashboard.html +201 -0
  360. data/solr/server/solr-webapp/webapp/tpl/dataimport.html +183 -0
  361. data/solr/server/solr-webapp/webapp/tpl/documents.html +107 -0
  362. data/solr/server/solr-webapp/webapp/tpl/files.html +44 -0
  363. data/solr/server/solr-webapp/webapp/tpl/index.html +250 -0
  364. data/solr/server/solr-webapp/webapp/tpl/logging.html +23 -0
  365. data/solr/server/solr-webapp/webapp/tpl/plugins.html +39 -0
  366. data/solr/server/solr-webapp/webapp/tpl/query.html +361 -0
  367. data/solr/server/solr-webapp/webapp/tpl/replication.html +216 -0
  368. data/solr/server/solr-webapp/webapp/tpl/schema-browser.html +192 -0
  369. data/solr/server/solr-webapp/webapp/tpl/threads.html +56 -0
  370. data/solr/server/solr/README.txt +77 -0
  371. data/solr/server/solr/solr.xml +51 -0
  372. data/solr/server/solr/zoo.cfg +17 -0
  373. data/solr/server/start.jar +0 -0
  374. data/solr/server/webapps/solr.war +0 -0
  375. data/solr/solr/README.txt +77 -0
  376. data/solr/solr/configsets/sunspot/conf/_rest_managed.json +1 -0
  377. data/solr/solr/{conf → configsets/sunspot/conf}/admin-extra.html +0 -0
  378. data/solr/solr/configsets/sunspot/conf/currency.xml +67 -0
  379. data/solr/solr/{conf → configsets/sunspot/conf}/elevate.xml +0 -0
  380. data/solr/solr/{conf/stopwords.txt → configsets/sunspot/conf/lang/stopwords_en.txt} +1 -5
  381. data/solr/solr/{conf → configsets/sunspot/conf}/mapping-ISOLatin1Accent.txt +0 -0
  382. data/solr/solr/{conf → configsets/sunspot/conf}/protwords.txt +0 -0
  383. data/solr/solr/{conf → configsets/sunspot/conf}/schema.xml +36 -33
  384. data/solr/solr/{conf → configsets/sunspot/conf}/scripts.conf +0 -0
  385. data/solr/solr/{conf → configsets/sunspot/conf}/solrconfig.xml +269 -318
  386. data/solr/solr/{conf → configsets/sunspot/conf}/spellings.txt +0 -0
  387. data/solr/solr/{conf → configsets/sunspot/conf}/synonyms.txt +3 -5
  388. data/solr/solr/default/core.properties +3 -0
  389. data/solr/solr/development/core.properties +3 -0
  390. data/solr/solr/solr.xml +49 -6
  391. data/solr/solr/test/core.properties +3 -0
  392. data/solr/solr/zoo.cfg +17 -0
  393. data/spec/server_spec.rb +0 -6
  394. data/sunspot_solr.gemspec +1 -1
  395. metadata +390 -48
  396. data/solr/lib/jetty-http-8.1.8.v20121106.jar +0 -0
  397. data/solr/lib/jetty-server-8.1.8.v20121106.jar +0 -0
  398. data/solr/lib/jetty-servlet-8.1.8.v20121106.jar +0 -0
  399. data/solr/lib/jetty-xml-8.1.8.v20121106.jar +0 -0
  400. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  401. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  402. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  403. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  404. data/solr/solr/conf/xslt/example.xsl +0 -132
  405. data/solr/solr/conf/xslt/example_atom.xsl +0 -67
  406. data/solr/solr/conf/xslt/example_rss.xsl +0 -66
  407. data/solr/solr/conf/xslt/luke.xsl +0 -337
  408. data/solr/solr/default/README.txt +0 -54
  409. data/solr/start.jar +0 -0
  410. data/solr/webapps/solr.war +0 -0
@@ -0,0 +1,229 @@
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/query
19
+ sammy.get
20
+ (
21
+ new RegExp( app.core_regex_base + '\\/(query)$' ),
22
+ function( context )
23
+ {
24
+ var core_basepath = this.active_core.attr( 'data-basepath' );
25
+ var content_element = $( '#content' );
26
+
27
+ $.get
28
+ (
29
+ 'tpl/query.html',
30
+ function( template )
31
+ {
32
+ content_element
33
+ .html( template );
34
+
35
+ var query_element = $( '#query', content_element );
36
+ var query_form = $( '#form form', query_element );
37
+ var url_element = $( '#url', query_element );
38
+ var result_element = $( '#result', query_element );
39
+ var response_element = $( '#response', result_element );
40
+
41
+ url_element
42
+ .die( 'change' )
43
+ .live
44
+ (
45
+ 'change',
46
+ function( event )
47
+ {
48
+ var wt = $( '[name="wt"]', query_form ).val();
49
+
50
+ var content_generator = {
51
+
52
+ _default : function( xhr )
53
+ {
54
+ return xhr.responseText.esc();
55
+ },
56
+
57
+ json : function( xhr )
58
+ {
59
+ return app.format_json( xhr.responseText );
60
+ }
61
+
62
+ };
63
+
64
+ $.ajax
65
+ (
66
+ {
67
+ url : this.href,
68
+ dataType : wt,
69
+ context : response_element,
70
+ beforeSend : function( xhr, settings )
71
+ {
72
+ this
73
+ .html( '<div class="loader">Loading ...</div>' );
74
+ },
75
+ complete : function( xhr, text_status )
76
+ {
77
+ var code = $(
78
+ '<pre class="syntax language-' + wt + '"><code>' +
79
+ ( content_generator[wt] || content_generator['_default'] )( xhr ) +
80
+ '</code></pre>'
81
+ );
82
+ this.html( code );
83
+
84
+ if( 'success' === text_status )
85
+ {
86
+ hljs.highlightBlock( code.get(0) );
87
+ }
88
+ }
89
+ }
90
+ );
91
+ }
92
+ )
93
+
94
+ $( '.optional legend input[type=checkbox]', query_form )
95
+ .die( 'change' )
96
+ .live
97
+ (
98
+ 'change',
99
+ function( event )
100
+ {
101
+ var fieldset = $( this ).parents( 'fieldset' );
102
+
103
+ this.checked
104
+ ? fieldset.addClass( 'expanded' )
105
+ : fieldset.removeClass( 'expanded' );
106
+ }
107
+ );
108
+
109
+ $( '.multiple a', query_form )
110
+ .die( 'click' )
111
+ .live
112
+ (
113
+ 'click',
114
+ function( event )
115
+ {
116
+ var self = $( this );
117
+ var row = self.closest( '.row' );
118
+ var container = self.closest( '.multiple' );
119
+
120
+ var add = parseInt( self.data( 'action' ), 10 );
121
+ if( add )
122
+ {
123
+ var new_row = row.clone();
124
+ new_row.find( 'input' ).val( '' );
125
+ row.after( new_row );
126
+ row.next().find( 'input' ).focus();
127
+ }
128
+ else if( 1 === $( '.row', container ).size() )
129
+ {
130
+ row.find( 'input' ).val( '' ).focus();
131
+ }
132
+ else
133
+ {
134
+ row.remove();
135
+ container.find( 'input:last' ).focus();
136
+ }
137
+
138
+ return false;
139
+ }
140
+ )
141
+
142
+ query_form
143
+ .die( 'submit' )
144
+ .live
145
+ (
146
+ 'submit',
147
+ function( event )
148
+ {
149
+ var form_values = [];
150
+
151
+ var add_to_form_values = function add_to_form_values( fields )
152
+ {
153
+ for( var i in fields )
154
+ {
155
+ if( !fields[i].value || 0 === fields[i].value.length )
156
+ {
157
+ continue;
158
+ }
159
+
160
+ form_values.push( fields[i] );
161
+ }
162
+ };
163
+
164
+ var fieldsets = $( '> fieldset', query_form );
165
+
166
+ var fields = fieldsets.first().formToArray( true );
167
+ add_to_form_values( fields );
168
+
169
+ fieldsets.not( '.common' )
170
+ .each
171
+ (
172
+ function( i, set )
173
+ {
174
+ if( $( 'legend input', set ).is( ':checked' ) )
175
+ {
176
+ var fields = $( set ).formToArray( true );
177
+ add_to_form_values( fields );
178
+ }
179
+ }
180
+ );
181
+
182
+ var handler_path = $( '#qt', query_form ).val();
183
+ if( '/' !== handler_path[0] )
184
+ {
185
+ form_values.push( { name : 'qt', value : handler_path.esc() } );
186
+ handler_path = '/select';
187
+ }
188
+
189
+ var query_url = window.location.protocol + '//' + window.location.host
190
+ + core_basepath + handler_path + '?' + $.param( form_values );
191
+
192
+ var custom_parameters = $( '#custom_parameters', query_form ).val();
193
+ if( custom_parameters && 0 !== custom_parameters.length )
194
+ {
195
+ query_url += '&' + custom_parameters.replace( /^&/, '' );
196
+ }
197
+
198
+ url_element
199
+ .attr( 'href', query_url )
200
+ .text( query_url )
201
+ .trigger( 'change' );
202
+
203
+ result_element
204
+ .show();
205
+
206
+ return false;
207
+ }
208
+ );
209
+
210
+ var fields = 0;
211
+ for( var key in context.params )
212
+ {
213
+ if( 'string' === typeof context.params[key] )
214
+ {
215
+ fields++;
216
+ $( '[name="' + key + '"]', query_form )
217
+ .val( context.params[key] );
218
+ }
219
+ }
220
+
221
+ if( 0 !== fields )
222
+ {
223
+ query_form
224
+ .trigger( 'submit' );
225
+ }
226
+ }
227
+ );
228
+ }
229
+ );
@@ -0,0 +1,527 @@
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 timer_element = null;
19
+ var timer_timeout = null;
20
+
21
+ var core_basepath = null;
22
+ var navigation_element = null;
23
+ var replication_element = null;
24
+
25
+ var init_timer = function( next_tick )
26
+ {
27
+ if( timer_timeout )
28
+ {
29
+ window.clearTimeout( timer_timeout );
30
+ }
31
+ update_timer( next_tick );
32
+ }
33
+
34
+ var update_timer = function( next_tick )
35
+ {
36
+ if( 0 === next_tick )
37
+ {
38
+ replication_fetch_status();
39
+ return false;
40
+ }
41
+
42
+ $( 'p .tick', timer_element )
43
+ .text( app.convert_seconds_to_readable_time( next_tick ) );
44
+
45
+ timer_timeout = window.setTimeout
46
+ (
47
+ 'update_timer( ' + --next_tick + ' )',
48
+ 1000
49
+ );
50
+ }
51
+
52
+ var clear_timer = function()
53
+ {
54
+ if( timer_timeout )
55
+ {
56
+ window.clearTimeout( timer_timeout );
57
+ timer_element.hide();
58
+ }
59
+ }
60
+
61
+ var replication_fetch_status = function()
62
+ {
63
+ $.ajax
64
+ (
65
+ {
66
+ url : core_basepath + '/replication?command=details&wt=json',
67
+ dataType : 'json',
68
+ beforeSend : function( xhr, settings )
69
+ {
70
+ $( '.refresh-status span', navigation_element )
71
+ .addClass( 'loader' );
72
+
73
+ clear_timer();
74
+ },
75
+ success : function( response, text_status, xhr )
76
+ {
77
+ $( '.refresh-status span', navigation_element )
78
+ .removeClass( 'loader' );
79
+
80
+ var data = response.details;
81
+ var is_slave = 'true' === data.isSlave;
82
+
83
+ replication_element
84
+ .addClass( is_slave ? 'slave' : 'master' );
85
+
86
+ if( is_slave )
87
+ {
88
+ var error_element = $( '#error', replication_element );
89
+
90
+ if( data.slave.ERROR )
91
+ {
92
+ error_element
93
+ .html( data.slave.ERROR )
94
+ .show();
95
+ }
96
+ else
97
+ {
98
+ error_element
99
+ .hide()
100
+ .empty();
101
+ }
102
+
103
+ var progress_element = $( '#progress', replication_element );
104
+
105
+ var start_element = $( '#start', progress_element );
106
+ $( 'span', start_element )
107
+ .text( data.slave.replicationStartTime );
108
+
109
+ var eta_element = $( '#eta', progress_element );
110
+ $( 'span', eta_element )
111
+ .text( app.convert_seconds_to_readable_time( data.slave.timeRemaining ) );
112
+
113
+ var bar_element = $( '#bar', progress_element );
114
+ $( '.files span', bar_element )
115
+ .text( data.slave.numFilesToDownload );
116
+ $( '.size span', bar_element )
117
+ .text( data.slave.bytesToDownload );
118
+
119
+ var speed_element = $( '#speed', progress_element );
120
+ $( 'span', speed_element )
121
+ .text( data.slave.downloadSpeed );
122
+
123
+ var done_element = $( '#done', progress_element );
124
+ $( '.files span', done_element )
125
+ .text( data.slave.numFilesDownloaded );
126
+ $( '.size span', done_element )
127
+ .text( data.slave.bytesDownloaded );
128
+ $( '.percent span', done_element )
129
+ .text( parseInt(data.slave.totalPercent ) );
130
+
131
+ var percent = parseInt( data.slave.totalPercent );
132
+ if( 0 === percent )
133
+ {
134
+ done_element
135
+ .css( 'width', '1px' );
136
+ }
137
+ else
138
+ {
139
+ done_element
140
+ .css( 'width', percent + '%' );
141
+ }
142
+
143
+ var current_file_element = $( '#current-file', replication_element );
144
+ $( '.file', current_file_element )
145
+ .text( data.slave.currentFile );
146
+ $( '.done', current_file_element )
147
+ .text( data.slave.currentFileSizeDownloaded );
148
+ $( '.total', current_file_element )
149
+ .text( data.slave.currentFileSize );
150
+ $( '.percent', current_file_element )
151
+ .text( parseInt( data.slave.currentFileSizePercent ) );
152
+
153
+ if( !data.slave.indexReplicatedAtList )
154
+ {
155
+ data.slave.indexReplicatedAtList = [];
156
+ }
157
+
158
+ if( !data.slave.replicationFailedAtList )
159
+ {
160
+ data.slave.replicationFailedAtList = [];
161
+ }
162
+
163
+ var iterations_element = $( '#iterations', replication_element );
164
+ var iterations_list = $( '.iterations ul', iterations_element );
165
+
166
+ var iterations_data = [];
167
+ var iterations_obj = {};
168
+
169
+ for( var i in data.slave.indexReplicatedAtList )
170
+ {
171
+ var date = data.slave.indexReplicatedAtList[i];
172
+ if( !iterations_obj[date] )
173
+ {
174
+ iterations_obj[date] = true;
175
+ iterations_data.push( date );
176
+ }
177
+ }
178
+
179
+ for( var i in data.slave.replicationFailedAtList )
180
+ {
181
+ var date = data.slave.replicationFailedAtList[i];
182
+ if( !iterations_obj[date] )
183
+ {
184
+ iterations_obj[date] = true;
185
+ iterations_data.push( date );
186
+ }
187
+ }
188
+
189
+ iterations_data.sort().reverse();
190
+
191
+ if( 0 !== iterations_data.length )
192
+ {
193
+ var iterations = [];
194
+ for( var i = 0; i < iterations_data.length; i++ )
195
+ {
196
+ iterations.push( '<li data-date="' + iterations_data[i] + '">' + iterations_data[i] + '</li>' );
197
+ }
198
+
199
+ iterations_list
200
+ .html( iterations.join( "\n" ) )
201
+ .show();
202
+
203
+ $( data.slave.indexReplicatedAtList )
204
+ .each
205
+ (
206
+ function( key, value )
207
+ {
208
+ $( 'li[data-date="' + value + '"]', iterations_list )
209
+ .addClass( 'replicated' );
210
+ }
211
+ );
212
+
213
+ if( data.slave.indexReplicatedAt )
214
+ {
215
+ $( 'li[data-date="' + data.slave.indexReplicatedAt + '"]', iterations_list )
216
+ .addClass( 'latest' );
217
+ }
218
+
219
+ $( data.slave.replicationFailedAtList )
220
+ .each
221
+ (
222
+ function( key, value )
223
+ {
224
+ $( 'li[data-date="' + value + '"]', iterations_list )
225
+ .addClass( 'failed' );
226
+ }
227
+ );
228
+
229
+ if( data.slave.replicationFailedAt )
230
+ {
231
+ $( 'li[data-date="' + data.slave.replicationFailedAt + '"]', iterations_list )
232
+ .addClass( 'latest' );
233
+ }
234
+
235
+ if( 0 !== $( 'li:hidden', iterations_list ).size() )
236
+ {
237
+ $( 'a', iterations_element )
238
+ .show();
239
+ }
240
+ else
241
+ {
242
+ $( 'a', iterations_element )
243
+ .hide();
244
+ }
245
+ }
246
+ }
247
+
248
+ var details_element = $( '#details', replication_element );
249
+ var current_type_element = $( ( is_slave ? '.slave' : '.masterSearch' ), details_element );
250
+ var master_data = is_slave ? data.slave.masterDetails : data;
251
+
252
+ // the currently searchable commit regardless of type
253
+ $( '.version div', current_type_element )
254
+ .html( data.indexVersion );
255
+ $( '.generation div', current_type_element )
256
+ .html( data.generation );
257
+ $( '.size div', current_type_element )
258
+ .html( data.indexSize );
259
+
260
+ // what's replicable on the master
261
+ var master_element = $( '.master', details_element );
262
+ $( '.version div', master_element )
263
+ .html( master_data.master.replicableVersion || '-' );
264
+ $( '.generation div', master_element )
265
+ .html( master_data.master.replicableGeneration || '-' );
266
+ $( '.size div', master_element )
267
+ .html( "-" );
268
+
269
+ if( is_slave )
270
+ {
271
+ // what's searchable on the master
272
+ var master_searchable = $( '.masterSearch', details_element );
273
+ $( '.version div', master_searchable )
274
+ .html( master_data.indexVersion );
275
+ $( '.generation div', master_searchable )
276
+ .html( master_data.generation );
277
+ $( '.size div', master_searchable )
278
+ .html( master_data.indexSize );
279
+
280
+ // warnings if slave version|gen doesn't match what's replicable
281
+ if( data.indexVersion !== master_data.master.replicableVersion )
282
+ {
283
+ $( '.version', details_element )
284
+ .addClass( 'diff' );
285
+ }
286
+ else
287
+ {
288
+ $( '.version', details_element )
289
+ .removeClass( 'diff' );
290
+ }
291
+
292
+ if( data.generation !== master_data.master.replicableGeneration )
293
+ {
294
+ $( '.generation', details_element )
295
+ .addClass( 'diff' );
296
+ }
297
+ else
298
+ {
299
+ $( '.generation', details_element )
300
+ .removeClass( 'diff' );
301
+ }
302
+ }
303
+
304
+ if( is_slave )
305
+ {
306
+ var settings_element = $( '#settings', replication_element );
307
+
308
+ if( data.slave.masterUrl )
309
+ {
310
+ $( '.masterUrl dd', settings_element )
311
+ .html( response.details.slave.masterUrl )
312
+ .parents( 'li' ).show();
313
+ }
314
+
315
+ var polling_content = '&nbsp;';
316
+ var polling_ico = 'ico-1';
317
+
318
+ if( 'true' === data.slave.isPollingDisabled )
319
+ {
320
+ polling_ico = 'ico-0';
321
+
322
+ $( '.disable-polling', navigation_element ).hide();
323
+ $( '.enable-polling', navigation_element ).show();
324
+ }
325
+ else
326
+ {
327
+ $( '.disable-polling', navigation_element ).show();
328
+ $( '.enable-polling', navigation_element ).hide();
329
+
330
+ if( data.slave.pollInterval )
331
+ {
332
+ polling_content = '(interval: ' + data.slave.pollInterval + ')';
333
+ }
334
+ }
335
+
336
+ $( '.isPollingDisabled dd', settings_element )
337
+ .removeClass( 'ico-0' )
338
+ .removeClass( 'ico-1' )
339
+ .addClass( polling_ico )
340
+ .html( polling_content )
341
+ .parents( 'li' ).show();
342
+
343
+ if( 'true' === data.slave.isReplicating )
344
+ {
345
+ replication_element
346
+ .addClass( 'replicating' );
347
+
348
+ $( '.replicate-now', navigation_element ).hide();
349
+ $( '.abort-replication', navigation_element ).show();
350
+
351
+ window.setTimeout( replication_fetch_status, 1000 );
352
+ }
353
+ else
354
+ {
355
+ replication_element
356
+ .removeClass( 'replicating' );
357
+
358
+ $( '.replicate-now', navigation_element ).show();
359
+ $( '.abort-replication', navigation_element ).hide();
360
+
361
+
362
+ if( 'false' === data.slave.isPollingDisabled && data.slave.pollInterval )
363
+ {
364
+ timer_element = $( '.timer', navigation_element );
365
+ approx_element = $( '.approx', timer_element );
366
+
367
+ var next_tick = app.convert_duration_to_seconds( data.slave.pollInterval );
368
+ approx_element.show();
369
+
370
+ if( data.slave.nextExecutionAt )
371
+ {
372
+ var nextExecutionAt = new SolrDate( data.slave.nextExecutionAt );
373
+ var currentDate = new SolrDate( data.slave.currentDate );
374
+
375
+ if( nextExecutionAt.getTime() > currentDate.getTime() )
376
+ {
377
+ next_tick = ( nextExecutionAt.getTime() - currentDate.getTime() ) / 1000;
378
+ approx_element.hide();
379
+
380
+ $( 'small', timer_element )
381
+ .text( data.slave.nextExecutionAt )
382
+ .show();
383
+ }
384
+ }
385
+
386
+ init_timer( next_tick );
387
+
388
+ timer_element
389
+ .show();
390
+ }
391
+ }
392
+ }
393
+
394
+ var master_settings_element = $( '#master-settings', replication_element );
395
+ var master_data = is_slave ? data.slave.masterDetails.master : data.master;
396
+
397
+ var replication_icon = 'ico-0';
398
+ if( 'true' === master_data.replicationEnabled )
399
+ {
400
+ replication_icon = 'ico-1';
401
+
402
+ $( '.disable-replication', navigation_element ).show();
403
+ $( '.enable-replication', navigation_element ).hide();
404
+ }
405
+ else
406
+ {
407
+ $( '.disable-replication', navigation_element ).hide();
408
+ $( '.enable-replication', navigation_element ).show();
409
+ }
410
+
411
+ $( '.replicationEnabled dd', master_settings_element )
412
+ .removeClass( 'ico-0' )
413
+ .removeClass( 'ico-1' )
414
+ .addClass( replication_icon )
415
+ .parents( 'li' ).show();
416
+
417
+ $( '.replicateAfter dd', master_settings_element )
418
+ .html( master_data.replicateAfter.join( ', ' ) )
419
+ .parents( 'li' ).show();
420
+
421
+ if( master_data.confFiles )
422
+ {
423
+ var conf_files = [];
424
+ var conf_data = master_data.confFiles.split( ',' );
425
+
426
+ for( var i = 0; i < conf_data.length; i++ )
427
+ {
428
+ var item = conf_data[i];
429
+
430
+ if( - 1 !== item.indexOf( ':' ) )
431
+ {
432
+ info = item.split( ':' );
433
+ item = '<abbr title="' + info[0] + ' » ' + info[1] + '">' + ( is_slave ? info[1] : info[0] ) + '</abbr>';
434
+ }
435
+
436
+ conf_files.push( item );
437
+ }
438
+
439
+ $( '.confFiles dd', master_settings_element )
440
+ .html( conf_files.join( ', ' ) )
441
+ .parents( 'li' ).show();
442
+ }
443
+
444
+
445
+ $( '.block', replication_element ).last()
446
+ .addClass( 'last' );
447
+ },
448
+ error : function( xhr, text_status, error_thrown )
449
+ {
450
+ $( '#content' )
451
+ .html( 'sorry, no replication-handler defined!' );
452
+ },
453
+ complete : function( xhr, text_status )
454
+ {
455
+ }
456
+ }
457
+ );
458
+ }
459
+
460
+ // #/:core/replication
461
+ sammy.get
462
+ (
463
+ new RegExp( app.core_regex_base + '\\/(replication)$' ),
464
+ function( context )
465
+ {
466
+ core_basepath = this.active_core.attr( 'data-basepath' );
467
+ var content_element = $( '#content' );
468
+
469
+ $.get
470
+ (
471
+ 'tpl/replication.html',
472
+ function( template )
473
+ {
474
+ content_element
475
+ .html( template );
476
+
477
+ replication_element = $( '#replication', content_element );
478
+ navigation_element = $( '#navigation', replication_element );
479
+
480
+ replication_fetch_status();
481
+
482
+ $( '#iterations a', content_element )
483
+ .die( 'click' )
484
+ .live
485
+ (
486
+ 'click',
487
+ function( event )
488
+ {
489
+ $( this ).parents( '.iterations' )
490
+ .toggleClass( 'expanded' );
491
+
492
+ return false;
493
+ }
494
+ );
495
+
496
+ $( 'button', navigation_element )
497
+ .die( 'click' )
498
+ .live
499
+ (
500
+ 'click',
501
+ function( event )
502
+ {
503
+ var button = $( this );
504
+ var command = button.data( 'command' );
505
+
506
+ if( button.hasClass( 'refresh-status' ) && !button.hasClass( 'loader' ) )
507
+ {
508
+ replication_fetch_status();
509
+ }
510
+ else if( command )
511
+ {
512
+ $.get
513
+ (
514
+ core_basepath + '/replication?command=' + command + '&wt=json',
515
+ function()
516
+ {
517
+ replication_fetch_status();
518
+ }
519
+ );
520
+ }
521
+ return false;
522
+ }
523
+ );
524
+ }
525
+ );
526
+ }
527
+ );