sunspot_solr 2.2.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (515) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +1 -1
  4. data/Rakefile +9 -0
  5. data/bin/sunspot-solr +2 -10
  6. data/lib/sunspot/solr/installer.rb +66 -8
  7. data/lib/sunspot/solr/java.rb +17 -4
  8. data/lib/sunspot/solr/server.rb +25 -37
  9. data/solr/.gitignore +2 -0
  10. data/solr/README.txt +181 -42
  11. data/solr/bin/init.d/solr +78 -0
  12. data/solr/bin/install_solr_service.sh +270 -0
  13. data/solr/bin/oom_solr.sh +30 -0
  14. data/solr/bin/post +228 -0
  15. data/solr/bin/solr +1350 -0
  16. data/solr/bin/solr.cmd +1230 -0
  17. data/solr/bin/solr.in.cmd +99 -0
  18. data/solr/bin/solr.in.sh +119 -0
  19. data/solr/server/README.txt +110 -0
  20. data/solr/server/contexts/solr-jetty-context.xml +8 -0
  21. data/solr/server/etc/jetty-http.xml +47 -0
  22. data/solr/{etc/jetty.xml → server/etc/jetty-https-ssl.xml} +175 -167
  23. data/solr/server/etc/jetty-https.xml +53 -0
  24. data/solr/server/etc/jetty-ssl.xml +46 -0
  25. data/solr/server/etc/jetty.xml +189 -0
  26. data/solr/{etc → server/etc}/webdefault.xml +527 -527
  27. data/solr/server/lib/ext/jcl-over-slf4j-1.7.7.jar +0 -0
  28. data/solr/server/lib/ext/jul-to-slf4j-1.7.7.jar +0 -0
  29. data/solr/server/lib/ext/log4j-1.2.17.jar +0 -0
  30. data/solr/server/lib/ext/slf4j-api-1.7.7.jar +0 -0
  31. data/solr/server/lib/ext/slf4j-log4j12-1.7.7.jar +0 -0
  32. data/solr/server/lib/javax.servlet-api-3.1.0.jar +0 -0
  33. data/solr/server/lib/jetty-continuation-9.2.11.v20150529.jar +0 -0
  34. data/solr/server/lib/jetty-deploy-9.2.11.v20150529.jar +0 -0
  35. data/solr/server/lib/jetty-http-9.2.11.v20150529.jar +0 -0
  36. data/solr/server/lib/jetty-io-9.2.11.v20150529.jar +0 -0
  37. data/solr/server/lib/jetty-jmx-9.2.11.v20150529.jar +0 -0
  38. data/solr/server/lib/jetty-rewrite-9.2.11.v20150529.jar +0 -0
  39. data/solr/server/lib/jetty-security-9.2.11.v20150529.jar +0 -0
  40. data/solr/server/lib/jetty-server-9.2.11.v20150529.jar +0 -0
  41. data/solr/server/lib/jetty-servlet-9.2.11.v20150529.jar +0 -0
  42. data/solr/server/lib/jetty-servlets-9.2.11.v20150529.jar +0 -0
  43. data/solr/server/lib/jetty-util-9.2.11.v20150529.jar +0 -0
  44. data/solr/server/lib/jetty-webapp-9.2.11.v20150529.jar +0 -0
  45. data/solr/server/lib/jetty-xml-9.2.11.v20150529.jar +0 -0
  46. data/solr/server/modules/http.mod +9 -0
  47. data/solr/server/modules/https.mod +9 -0
  48. data/solr/server/modules/server.mod +11 -0
  49. data/solr/server/modules/ssl.mod +9 -0
  50. data/solr/server/resources/jetty-logging.properties +1 -0
  51. data/solr/server/resources/log4j.properties +24 -0
  52. data/solr/server/solr-webapp/webapp/WEB-INF/lib/antlr-runtime-3.5.jar +0 -0
  53. data/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-4.1.jar +0 -0
  54. data/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-commons-4.1.jar +0 -0
  55. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-cli-1.2.jar +0 -0
  56. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-codec-1.10.jar +0 -0
  57. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-collections-3.2.1.jar +0 -0
  58. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-configuration-1.6.jar +0 -0
  59. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-exec-1.3.jar +0 -0
  60. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-fileupload-1.2.1.jar +0 -0
  61. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-io-2.4.jar +0 -0
  62. data/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-lang-2.6.jar +0 -0
  63. data/solr/server/solr-webapp/webapp/WEB-INF/lib/concurrentlinkedhashmap-lru-1.2.jar +0 -0
  64. data/solr/server/solr-webapp/webapp/WEB-INF/lib/dom4j-1.6.1.jar +0 -0
  65. data/solr/server/solr-webapp/webapp/WEB-INF/lib/guava-14.0.1.jar +0 -0
  66. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-annotations-2.6.0.jar +0 -0
  67. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-auth-2.6.0.jar +0 -0
  68. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-common-2.6.0.jar +0 -0
  69. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-hdfs-2.6.0.jar +0 -0
  70. data/solr/server/solr-webapp/webapp/WEB-INF/lib/hppc-0.5.2.jar +0 -0
  71. data/solr/server/solr-webapp/webapp/WEB-INF/lib/htrace-core-3.0.4.jar +0 -0
  72. data/solr/server/solr-webapp/webapp/WEB-INF/lib/httpclient-4.4.1.jar +0 -0
  73. data/solr/server/solr-webapp/webapp/WEB-INF/lib/httpcore-4.4.1.jar +0 -0
  74. data/solr/server/solr-webapp/webapp/WEB-INF/lib/httpmime-4.4.1.jar +0 -0
  75. data/solr/server/solr-webapp/webapp/WEB-INF/lib/jackson-core-2.5.4.jar +0 -0
  76. data/solr/server/solr-webapp/webapp/WEB-INF/lib/jackson-dataformat-smile-2.5.4.jar +0 -0
  77. data/solr/server/solr-webapp/webapp/WEB-INF/lib/joda-time-2.2.jar +0 -0
  78. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-analyzers-common-5.3.1.jar +0 -0
  79. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-analyzers-kuromoji-5.3.1.jar +0 -0
  80. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-analyzers-phonetic-5.3.1.jar +0 -0
  81. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-backward-codecs-5.3.1.jar +0 -0
  82. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-codecs-5.3.1.jar +0 -0
  83. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-core-5.3.1.jar +0 -0
  84. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-expressions-5.3.1.jar +0 -0
  85. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-grouping-5.3.1.jar +0 -0
  86. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-highlighter-5.3.1.jar +0 -0
  87. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-join-5.3.1.jar +0 -0
  88. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-memory-5.3.1.jar +0 -0
  89. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-misc-5.3.1.jar +0 -0
  90. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-queries-5.3.1.jar +0 -0
  91. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-queryparser-5.3.1.jar +0 -0
  92. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-sandbox-5.3.1.jar +0 -0
  93. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-spatial-5.3.1.jar +0 -0
  94. data/solr/server/solr-webapp/webapp/WEB-INF/lib/lucene-suggest-5.3.1.jar +0 -0
  95. data/solr/server/solr-webapp/webapp/WEB-INF/lib/noggit-0.6.jar +0 -0
  96. data/solr/server/solr-webapp/webapp/WEB-INF/lib/org.restlet-2.3.0.jar +0 -0
  97. data/solr/server/solr-webapp/webapp/WEB-INF/lib/org.restlet.ext.servlet-2.3.0.jar +0 -0
  98. data/solr/server/solr-webapp/webapp/WEB-INF/lib/protobuf-java-2.5.0.jar +0 -0
  99. data/solr/server/solr-webapp/webapp/WEB-INF/lib/solr-core-5.3.1.jar +0 -0
  100. data/solr/server/solr-webapp/webapp/WEB-INF/lib/solr-solrj-5.3.1.jar +0 -0
  101. data/solr/server/solr-webapp/webapp/WEB-INF/lib/spatial4j-0.4.1.jar +0 -0
  102. data/solr/server/solr-webapp/webapp/WEB-INF/lib/stax2-api-3.1.4.jar +0 -0
  103. data/solr/server/solr-webapp/webapp/WEB-INF/lib/t-digest-3.1.jar +0 -0
  104. data/solr/server/solr-webapp/webapp/WEB-INF/lib/woodstox-core-asl-4.4.1.jar +0 -0
  105. data/solr/server/solr-webapp/webapp/WEB-INF/lib/zookeeper-3.4.6.jar +0 -0
  106. data/solr/server/solr-webapp/webapp/WEB-INF/web.xml +169 -0
  107. data/solr/server/solr-webapp/webapp/WEB-INF/weblogic.xml +28 -0
  108. data/solr/server/solr-webapp/webapp/admin.html +164 -0
  109. data/solr/server/solr-webapp/webapp/css/angular/analysis.css +304 -0
  110. data/solr/server/solr-webapp/webapp/css/angular/chosen.css +465 -0
  111. data/solr/server/solr-webapp/webapp/css/angular/cloud.css +398 -0
  112. data/solr/server/solr-webapp/webapp/css/angular/common.css +724 -0
  113. data/solr/server/solr-webapp/webapp/css/angular/cores.css +233 -0
  114. data/solr/server/solr-webapp/webapp/css/angular/dataimport.css +370 -0
  115. data/solr/server/solr-webapp/webapp/css/angular/documents.css +179 -0
  116. data/solr/server/solr-webapp/webapp/css/angular/files.css +53 -0
  117. data/solr/server/solr-webapp/webapp/css/angular/index.css +206 -0
  118. data/solr/server/solr-webapp/webapp/css/angular/logging.css +376 -0
  119. data/solr/server/solr-webapp/webapp/css/angular/menu.css +321 -0
  120. data/solr/server/solr-webapp/webapp/css/angular/plugins.css +212 -0
  121. data/solr/server/solr-webapp/webapp/css/angular/query.css +162 -0
  122. data/solr/server/solr-webapp/webapp/css/angular/replication.css +500 -0
  123. data/solr/server/solr-webapp/webapp/css/angular/schema-browser.css +567 -0
  124. data/solr/server/solr-webapp/webapp/css/angular/segments.css +173 -0
  125. data/solr/server/solr-webapp/webapp/css/angular/threads.css +161 -0
  126. data/solr/server/solr-webapp/webapp/css/chosen.css +421 -0
  127. data/solr/server/solr-webapp/webapp/css/styles/analysis.css +311 -0
  128. data/solr/server/solr-webapp/webapp/css/styles/cloud.css +410 -0
  129. data/solr/server/solr-webapp/webapp/css/styles/common.css +701 -0
  130. data/solr/server/solr-webapp/webapp/css/styles/cores.css +244 -0
  131. data/solr/server/solr-webapp/webapp/css/styles/dashboard.css +155 -0
  132. data/solr/server/solr-webapp/webapp/css/styles/dataimport.css +403 -0
  133. data/solr/server/solr-webapp/webapp/css/styles/documents.css +197 -0
  134. data/solr/server/solr-webapp/webapp/css/styles/files.css +54 -0
  135. data/solr/server/solr-webapp/webapp/css/styles/index.css +207 -0
  136. data/solr/server/solr-webapp/webapp/css/styles/java-properties.css +52 -0
  137. data/solr/server/solr-webapp/webapp/css/styles/logging.css +391 -0
  138. data/solr/server/solr-webapp/webapp/css/styles/menu.css +329 -0
  139. data/solr/server/solr-webapp/webapp/css/styles/plugins.css +195 -0
  140. data/solr/server/solr-webapp/webapp/css/styles/query.css +173 -0
  141. data/solr/server/solr-webapp/webapp/css/styles/replication.css +515 -0
  142. data/solr/server/solr-webapp/webapp/css/styles/schema-browser.css +578 -0
  143. data/solr/server/solr-webapp/webapp/css/styles/segments.css +145 -0
  144. data/solr/server/solr-webapp/webapp/css/styles/threads.css +172 -0
  145. data/solr/server/solr-webapp/webapp/favicon.ico +0 -0
  146. data/solr/server/solr-webapp/webapp/img/ZeroClipboard.swf +0 -0
  147. data/solr/server/solr-webapp/webapp/img/chosen-sprite-2x.png +0 -0
  148. data/solr/server/solr-webapp/webapp/img/chosen-sprite.png +0 -0
  149. data/solr/server/solr-webapp/webapp/img/div.gif +0 -0
  150. data/solr/server/solr-webapp/webapp/img/favicon.ico +0 -0
  151. data/solr/server/solr-webapp/webapp/img/filetypes/7z.png +0 -0
  152. data/solr/server/solr-webapp/webapp/img/filetypes/README +27 -0
  153. data/solr/server/solr-webapp/webapp/img/filetypes/ai.png +0 -0
  154. data/solr/server/solr-webapp/webapp/img/filetypes/aiff.png +0 -0
  155. data/solr/server/solr-webapp/webapp/img/filetypes/asc.png +0 -0
  156. data/solr/server/solr-webapp/webapp/img/filetypes/audio.png +0 -0
  157. data/solr/server/solr-webapp/webapp/img/filetypes/bin.png +0 -0
  158. data/solr/server/solr-webapp/webapp/img/filetypes/bz2.png +0 -0
  159. data/solr/server/solr-webapp/webapp/img/filetypes/c.png +0 -0
  160. data/solr/server/solr-webapp/webapp/img/filetypes/cfc.png +0 -0
  161. data/solr/server/solr-webapp/webapp/img/filetypes/cfm.png +0 -0
  162. data/solr/server/solr-webapp/webapp/img/filetypes/chm.png +0 -0
  163. data/solr/server/solr-webapp/webapp/img/filetypes/class.png +0 -0
  164. data/solr/server/solr-webapp/webapp/img/filetypes/conf.png +0 -0
  165. data/solr/server/solr-webapp/webapp/img/filetypes/cpp.png +0 -0
  166. data/solr/server/solr-webapp/webapp/img/filetypes/cs.png +0 -0
  167. data/solr/server/solr-webapp/webapp/img/filetypes/css.png +0 -0
  168. data/solr/server/solr-webapp/webapp/img/filetypes/csv.png +0 -0
  169. data/solr/server/solr-webapp/webapp/img/filetypes/deb.png +0 -0
  170. data/solr/server/solr-webapp/webapp/img/filetypes/divx.png +0 -0
  171. data/solr/server/solr-webapp/webapp/img/filetypes/doc.png +0 -0
  172. data/solr/server/solr-webapp/webapp/img/filetypes/dot.png +0 -0
  173. data/solr/server/solr-webapp/webapp/img/filetypes/eml.png +0 -0
  174. data/solr/server/solr-webapp/webapp/img/filetypes/enc.png +0 -0
  175. data/solr/server/solr-webapp/webapp/img/filetypes/file.png +0 -0
  176. data/solr/server/solr-webapp/webapp/img/filetypes/gif.png +0 -0
  177. data/solr/server/solr-webapp/webapp/img/filetypes/gz.png +0 -0
  178. data/solr/server/solr-webapp/webapp/img/filetypes/hlp.png +0 -0
  179. data/solr/server/solr-webapp/webapp/img/filetypes/htm.png +0 -0
  180. data/solr/server/solr-webapp/webapp/img/filetypes/html.png +0 -0
  181. data/solr/server/solr-webapp/webapp/img/filetypes/image.png +0 -0
  182. data/solr/server/solr-webapp/webapp/img/filetypes/iso.png +0 -0
  183. data/solr/server/solr-webapp/webapp/img/filetypes/jar.png +0 -0
  184. data/solr/server/solr-webapp/webapp/img/filetypes/java.png +0 -0
  185. data/solr/server/solr-webapp/webapp/img/filetypes/jpeg.png +0 -0
  186. data/solr/server/solr-webapp/webapp/img/filetypes/jpg.png +0 -0
  187. data/solr/server/solr-webapp/webapp/img/filetypes/js.png +0 -0
  188. data/solr/server/solr-webapp/webapp/img/filetypes/lua.png +0 -0
  189. data/solr/server/solr-webapp/webapp/img/filetypes/m.png +0 -0
  190. data/solr/server/solr-webapp/webapp/img/filetypes/mm.png +0 -0
  191. data/solr/server/solr-webapp/webapp/img/filetypes/mov.png +0 -0
  192. data/solr/server/solr-webapp/webapp/img/filetypes/mp3.png +0 -0
  193. data/solr/server/solr-webapp/webapp/img/filetypes/mpg.png +0 -0
  194. data/solr/server/solr-webapp/webapp/img/filetypes/odc.png +0 -0
  195. data/solr/server/solr-webapp/webapp/img/filetypes/odf.png +0 -0
  196. data/solr/server/solr-webapp/webapp/img/filetypes/odg.png +0 -0
  197. data/solr/server/solr-webapp/webapp/img/filetypes/odi.png +0 -0
  198. data/solr/server/solr-webapp/webapp/img/filetypes/odp.png +0 -0
  199. data/solr/server/solr-webapp/webapp/img/filetypes/ods.png +0 -0
  200. data/solr/server/solr-webapp/webapp/img/filetypes/odt.png +0 -0
  201. data/solr/server/solr-webapp/webapp/img/filetypes/ogg.png +0 -0
  202. data/solr/server/solr-webapp/webapp/img/filetypes/pdf.png +0 -0
  203. data/solr/server/solr-webapp/webapp/img/filetypes/pgp.png +0 -0
  204. data/solr/server/solr-webapp/webapp/img/filetypes/php.png +0 -0
  205. data/solr/server/solr-webapp/webapp/img/filetypes/pl.png +0 -0
  206. data/solr/server/solr-webapp/webapp/img/filetypes/png.png +0 -0
  207. data/solr/server/solr-webapp/webapp/img/filetypes/ppt.png +0 -0
  208. data/solr/server/solr-webapp/webapp/img/filetypes/ps.png +0 -0
  209. data/solr/server/solr-webapp/webapp/img/filetypes/py.png +0 -0
  210. data/solr/server/solr-webapp/webapp/img/filetypes/ram.png +0 -0
  211. data/solr/server/solr-webapp/webapp/img/filetypes/rar.png +0 -0
  212. data/solr/server/solr-webapp/webapp/img/filetypes/rb.png +0 -0
  213. data/solr/server/solr-webapp/webapp/img/filetypes/rm.png +0 -0
  214. data/solr/server/solr-webapp/webapp/img/filetypes/rpm.png +0 -0
  215. data/solr/server/solr-webapp/webapp/img/filetypes/rtf.png +0 -0
  216. data/solr/server/solr-webapp/webapp/img/filetypes/sig.png +0 -0
  217. data/solr/server/solr-webapp/webapp/img/filetypes/sql.png +0 -0
  218. data/solr/server/solr-webapp/webapp/img/filetypes/swf.png +0 -0
  219. data/solr/server/solr-webapp/webapp/img/filetypes/sxc.png +0 -0
  220. data/solr/server/solr-webapp/webapp/img/filetypes/sxd.png +0 -0
  221. data/solr/server/solr-webapp/webapp/img/filetypes/sxi.png +0 -0
  222. data/solr/server/solr-webapp/webapp/img/filetypes/sxw.png +0 -0
  223. data/solr/server/solr-webapp/webapp/img/filetypes/tar.png +0 -0
  224. data/solr/server/solr-webapp/webapp/img/filetypes/tex.png +0 -0
  225. data/solr/server/solr-webapp/webapp/img/filetypes/tgz.png +0 -0
  226. data/solr/server/solr-webapp/webapp/img/filetypes/txt.png +0 -0
  227. data/solr/server/solr-webapp/webapp/img/filetypes/vcf.png +0 -0
  228. data/solr/server/solr-webapp/webapp/img/filetypes/video.png +0 -0
  229. data/solr/server/solr-webapp/webapp/img/filetypes/vsd.png +0 -0
  230. data/solr/server/solr-webapp/webapp/img/filetypes/wav.png +0 -0
  231. data/solr/server/solr-webapp/webapp/img/filetypes/wma.png +0 -0
  232. data/solr/server/solr-webapp/webapp/img/filetypes/wmv.png +0 -0
  233. data/solr/server/solr-webapp/webapp/img/filetypes/xls.png +0 -0
  234. data/solr/server/solr-webapp/webapp/img/filetypes/xml.png +0 -0
  235. data/solr/server/solr-webapp/webapp/img/filetypes/xpi.png +0 -0
  236. data/solr/server/solr-webapp/webapp/img/filetypes/xvid.png +0 -0
  237. data/solr/server/solr-webapp/webapp/img/filetypes/zip.png +0 -0
  238. data/solr/server/solr-webapp/webapp/img/ico/arrow-000-small.png +0 -0
  239. data/solr/server/solr-webapp/webapp/img/ico/arrow-circle.png +0 -0
  240. data/solr/server/solr-webapp/webapp/img/ico/arrow-switch.png +0 -0
  241. data/solr/server/solr-webapp/webapp/img/ico/asterisk.png +0 -0
  242. data/solr/server/solr-webapp/webapp/img/ico/battery.png +0 -0
  243. data/solr/server/solr-webapp/webapp/img/ico/block-small.png +0 -0
  244. data/solr/server/solr-webapp/webapp/img/ico/block.png +0 -0
  245. data/solr/server/solr-webapp/webapp/img/ico/book-open-text.png +0 -0
  246. data/solr/server/solr-webapp/webapp/img/ico/box.png +0 -0
  247. data/solr/server/solr-webapp/webapp/img/ico/bug.png +0 -0
  248. data/solr/server/solr-webapp/webapp/img/ico/chart.png +0 -0
  249. data/solr/server/solr-webapp/webapp/img/ico/chevron-small-expand.png +0 -0
  250. data/solr/server/solr-webapp/webapp/img/ico/chevron-small.png +0 -0
  251. data/solr/server/solr-webapp/webapp/img/ico/clipboard-list.png +0 -0
  252. data/solr/server/solr-webapp/webapp/img/ico/clipboard-paste-document-text.png +0 -0
  253. data/solr/server/solr-webapp/webapp/img/ico/clipboard-paste.png +0 -0
  254. data/solr/server/solr-webapp/webapp/img/ico/clock-select-remain.png +0 -0
  255. data/solr/server/solr-webapp/webapp/img/ico/clock-select.png +0 -0
  256. data/solr/server/solr-webapp/webapp/img/ico/construction.png +0 -0
  257. data/solr/server/solr-webapp/webapp/img/ico/cross-0.png +0 -0
  258. data/solr/server/solr-webapp/webapp/img/ico/cross-1.png +0 -0
  259. data/solr/server/solr-webapp/webapp/img/ico/cross-button.png +0 -0
  260. data/solr/server/solr-webapp/webapp/img/ico/cross.png +0 -0
  261. data/solr/server/solr-webapp/webapp/img/ico/dashboard.png +0 -0
  262. data/solr/server/solr-webapp/webapp/img/ico/database--plus.png +0 -0
  263. data/solr/server/solr-webapp/webapp/img/ico/database.png +0 -0
  264. data/solr/server/solr-webapp/webapp/img/ico/databases.png +0 -0
  265. data/solr/server/solr-webapp/webapp/img/ico/disk-black.png +0 -0
  266. data/solr/server/solr-webapp/webapp/img/ico/document-convert.png +0 -0
  267. data/solr/server/solr-webapp/webapp/img/ico/document-import.png +0 -0
  268. data/solr/server/solr-webapp/webapp/img/ico/document-list.png +0 -0
  269. data/solr/server/solr-webapp/webapp/img/ico/document-text.png +0 -0
  270. data/solr/server/solr-webapp/webapp/img/ico/documents-stack.png +0 -0
  271. data/solr/server/solr-webapp/webapp/img/ico/download-cloud.png +0 -0
  272. data/solr/server/solr-webapp/webapp/img/ico/drive-upload.png +0 -0
  273. data/solr/server/solr-webapp/webapp/img/ico/exclamation-button.png +0 -0
  274. data/solr/server/solr-webapp/webapp/img/ico/eye.png +0 -0
  275. data/solr/server/solr-webapp/webapp/img/ico/folder-export.png +0 -0
  276. data/solr/server/solr-webapp/webapp/img/ico/folder-tree.png +0 -0
  277. data/solr/server/solr-webapp/webapp/img/ico/folder.png +0 -0
  278. data/solr/server/solr-webapp/webapp/img/ico/funnel-small.png +0 -0
  279. data/solr/server/solr-webapp/webapp/img/ico/funnel.png +0 -0
  280. data/solr/server/solr-webapp/webapp/img/ico/gear.png +0 -0
  281. data/solr/server/solr-webapp/webapp/img/ico/globe-network.png +0 -0
  282. data/solr/server/solr-webapp/webapp/img/ico/globe.png +0 -0
  283. data/solr/server/solr-webapp/webapp/img/ico/hammer-screwdriver.png +0 -0
  284. data/solr/server/solr-webapp/webapp/img/ico/hammer.png +0 -0
  285. data/solr/server/solr-webapp/webapp/img/ico/hand.png +0 -0
  286. data/solr/server/solr-webapp/webapp/img/ico/highlighter-text.png +0 -0
  287. data/solr/server/solr-webapp/webapp/img/ico/home.png +0 -0
  288. data/solr/server/solr-webapp/webapp/img/ico/hourglass--exclamation.png +0 -0
  289. data/solr/server/solr-webapp/webapp/img/ico/hourglass.png +0 -0
  290. data/solr/server/solr-webapp/webapp/img/ico/inbox-document-text.png +0 -0
  291. data/solr/server/solr-webapp/webapp/img/ico/information-button.png +0 -0
  292. data/solr/server/solr-webapp/webapp/img/ico/information-small.png +0 -0
  293. data/solr/server/solr-webapp/webapp/img/ico/information-white.png +0 -0
  294. data/solr/server/solr-webapp/webapp/img/ico/information.png +0 -0
  295. data/solr/server/solr-webapp/webapp/img/ico/jar.png +0 -0
  296. data/solr/server/solr-webapp/webapp/img/ico/magnifier.png +0 -0
  297. data/solr/server/solr-webapp/webapp/img/ico/mail.png +0 -0
  298. data/solr/server/solr-webapp/webapp/img/ico/memory.png +0 -0
  299. data/solr/server/solr-webapp/webapp/img/ico/minus-button.png +0 -0
  300. data/solr/server/solr-webapp/webapp/img/ico/molecule.png +0 -0
  301. data/solr/server/solr-webapp/webapp/img/ico/network-cloud.png +0 -0
  302. data/solr/server/solr-webapp/webapp/img/ico/network-status-away.png +0 -0
  303. data/solr/server/solr-webapp/webapp/img/ico/network-status-busy.png +0 -0
  304. data/solr/server/solr-webapp/webapp/img/ico/network-status-offline.png +0 -0
  305. data/solr/server/solr-webapp/webapp/img/ico/network-status.png +0 -0
  306. data/solr/server/solr-webapp/webapp/img/ico/network.png +0 -0
  307. data/solr/server/solr-webapp/webapp/img/ico/node-design.png +0 -0
  308. data/solr/server/solr-webapp/webapp/img/ico/node-master.png +0 -0
  309. data/solr/server/solr-webapp/webapp/img/ico/node-select.png +0 -0
  310. data/solr/server/solr-webapp/webapp/img/ico/node-slave.png +0 -0
  311. data/solr/server/solr-webapp/webapp/img/ico/node.png +0 -0
  312. data/solr/server/solr-webapp/webapp/img/ico/pencil-small.png +0 -0
  313. data/solr/server/solr-webapp/webapp/img/ico/pencil.png +0 -0
  314. data/solr/server/solr-webapp/webapp/img/ico/plus-button.png +0 -0
  315. data/solr/server/solr-webapp/webapp/img/ico/processor.png +0 -0
  316. data/solr/server/solr-webapp/webapp/img/ico/prohibition.png +0 -0
  317. data/solr/server/solr-webapp/webapp/img/ico/property.png +0 -0
  318. data/solr/server/solr-webapp/webapp/img/ico/question-small-white.png +0 -0
  319. data/solr/server/solr-webapp/webapp/img/ico/question-white.png +0 -0
  320. data/solr/server/solr-webapp/webapp/img/ico/question.png +0 -0
  321. data/solr/server/solr-webapp/webapp/img/ico/receipt-invoice.png +0 -0
  322. data/solr/server/solr-webapp/webapp/img/ico/receipt.png +0 -0
  323. data/solr/server/solr-webapp/webapp/img/ico/script-code.png +0 -0
  324. data/solr/server/solr-webapp/webapp/img/ico/server-cast.png +0 -0
  325. data/solr/server/solr-webapp/webapp/img/ico/server.png +0 -0
  326. data/solr/server/solr-webapp/webapp/img/ico/sitemap.png +0 -0
  327. data/solr/server/solr-webapp/webapp/img/ico/slash.png +0 -0
  328. data/solr/server/solr-webapp/webapp/img/ico/status-away.png +0 -0
  329. data/solr/server/solr-webapp/webapp/img/ico/status-busy.png +0 -0
  330. data/solr/server/solr-webapp/webapp/img/ico/status-offline.png +0 -0
  331. data/solr/server/solr-webapp/webapp/img/ico/status.png +0 -0
  332. data/solr/server/solr-webapp/webapp/img/ico/system-monitor--exclamation.png +0 -0
  333. data/solr/server/solr-webapp/webapp/img/ico/system-monitor.png +0 -0
  334. data/solr/server/solr-webapp/webapp/img/ico/table.png +0 -0
  335. data/solr/server/solr-webapp/webapp/img/ico/terminal.png +0 -0
  336. data/solr/server/solr-webapp/webapp/img/ico/tick-circle.png +0 -0
  337. data/solr/server/solr-webapp/webapp/img/ico/tick-red.png +0 -0
  338. data/solr/server/solr-webapp/webapp/img/ico/tick.png +0 -0
  339. data/solr/server/solr-webapp/webapp/img/ico/toggle-small-expand.png +0 -0
  340. data/solr/server/solr-webapp/webapp/img/ico/toggle-small.png +0 -0
  341. data/solr/server/solr-webapp/webapp/img/ico/toolbox.png +0 -0
  342. data/solr/server/solr-webapp/webapp/img/ico/ui-accordion.png +0 -0
  343. data/solr/server/solr-webapp/webapp/img/ico/ui-address-bar.png +0 -0
  344. data/solr/server/solr-webapp/webapp/img/ico/ui-check-box-uncheck.png +0 -0
  345. data/solr/server/solr-webapp/webapp/img/ico/ui-check-box.png +0 -0
  346. data/solr/server/solr-webapp/webapp/img/ico/ui-radio-button-uncheck.png +0 -0
  347. data/solr/server/solr-webapp/webapp/img/ico/ui-radio-button.png +0 -0
  348. data/solr/server/solr-webapp/webapp/img/ico/ui-text-field-select.png +0 -0
  349. data/solr/server/solr-webapp/webapp/img/ico/users.png +0 -0
  350. data/solr/server/solr-webapp/webapp/img/ico/wooden-box.png +0 -0
  351. data/solr/server/solr-webapp/webapp/img/ico/zone.png +0 -0
  352. data/solr/server/solr-webapp/webapp/img/loader-light.gif +0 -0
  353. data/solr/server/solr-webapp/webapp/img/loader.gif +0 -0
  354. data/solr/server/solr-webapp/webapp/img/lucene-ico.png +0 -0
  355. data/solr/server/solr-webapp/webapp/img/solr-ico.png +0 -0
  356. data/solr/server/solr-webapp/webapp/img/solr.svg +39 -0
  357. data/solr/server/solr-webapp/webapp/img/tree.png +0 -0
  358. data/solr/server/solr-webapp/webapp/index.html +208 -0
  359. data/solr/server/solr-webapp/webapp/js/angular/app.js +713 -0
  360. data/solr/server/solr-webapp/webapp/js/angular/controllers/analysis.js +199 -0
  361. data/solr/server/solr-webapp/webapp/js/angular/controllers/cloud.js +528 -0
  362. data/solr/server/solr-webapp/webapp/js/angular/controllers/core-overview.js +225 -0
  363. data/solr/server/solr-webapp/webapp/js/angular/controllers/cores.js +465 -0
  364. data/solr/server/solr-webapp/webapp/js/angular/controllers/dataimport.js +284 -0
  365. data/solr/server/solr-webapp/webapp/js/angular/controllers/documents.js +139 -0
  366. data/solr/server/solr-webapp/webapp/js/angular/controllers/files.js +92 -0
  367. data/solr/server/solr-webapp/webapp/js/angular/controllers/index.js +95 -0
  368. data/solr/server/solr-webapp/webapp/js/angular/controllers/java-properties.js +45 -0
  369. data/solr/server/solr-webapp/webapp/js/angular/controllers/logging.js +146 -0
  370. data/solr/server/solr-webapp/webapp/js/angular/controllers/plugins.js +166 -0
  371. data/solr/server/solr-webapp/webapp/js/angular/controllers/query.js +99 -0
  372. data/solr/server/solr-webapp/webapp/js/angular/controllers/replication.js +227 -0
  373. data/solr/server/solr-webapp/webapp/js/angular/controllers/schema-browser.js +432 -0
  374. data/solr/server/solr-webapp/webapp/js/angular/controllers/segments.js +94 -0
  375. data/solr/server/solr-webapp/webapp/js/angular/controllers/threads.js +51 -0
  376. data/solr/server/solr-webapp/webapp/js/angular/services.js +214 -0
  377. data/solr/server/solr-webapp/webapp/js/lib/ZeroClipboard.js +342 -0
  378. data/solr/server/solr-webapp/webapp/js/lib/chosen.js +982 -0
  379. data/solr/server/solr-webapp/webapp/js/lib/console.js +29 -0
  380. data/solr/server/solr-webapp/webapp/js/lib/d3.js +9373 -0
  381. data/solr/server/solr-webapp/webapp/js/lib/highlight.js +31 -0
  382. data/solr/server/solr-webapp/webapp/js/lib/jquery-1.7.2.min.js +30 -0
  383. data/solr/server/solr-webapp/webapp/js/lib/jquery.ajaxfileupload.js +184 -0
  384. data/solr/server/solr-webapp/webapp/js/lib/jquery.blockUI.js +523 -0
  385. data/solr/server/solr-webapp/webapp/js/lib/jquery.cookie.js +71 -0
  386. data/solr/server/solr-webapp/webapp/js/lib/jquery.form.js +806 -0
  387. data/solr/server/solr-webapp/webapp/js/lib/jquery.jstree.js +3534 -0
  388. data/solr/server/solr-webapp/webapp/js/lib/jquery.sammy.js +1863 -0
  389. data/solr/server/solr-webapp/webapp/js/lib/jquery.timeago.js +189 -0
  390. data/solr/server/solr-webapp/webapp/js/lib/linker.js +48 -0
  391. data/solr/server/solr-webapp/webapp/js/lib/naturalSort.js +82 -0
  392. data/solr/server/solr-webapp/webapp/js/lib/order.js +216 -0
  393. data/solr/server/solr-webapp/webapp/js/main.js +60 -0
  394. data/solr/server/solr-webapp/webapp/js/require.js +11349 -0
  395. data/solr/server/solr-webapp/webapp/js/scripts/analysis.js +545 -0
  396. data/solr/server/solr-webapp/webapp/js/scripts/app.js +680 -0
  397. data/solr/server/solr-webapp/webapp/js/scripts/cloud.js +877 -0
  398. data/solr/server/solr-webapp/webapp/js/scripts/cores.js +719 -0
  399. data/solr/server/solr-webapp/webapp/js/scripts/dashboard.js +562 -0
  400. data/solr/server/solr-webapp/webapp/js/scripts/dataimport.js +812 -0
  401. data/solr/server/solr-webapp/webapp/js/scripts/documents.js +370 -0
  402. data/solr/server/solr-webapp/webapp/js/scripts/files.js +265 -0
  403. data/solr/server/solr-webapp/webapp/js/scripts/index.js +340 -0
  404. data/solr/server/solr-webapp/webapp/js/scripts/java-properties.js +106 -0
  405. data/solr/server/solr-webapp/webapp/js/scripts/logging.js +578 -0
  406. data/solr/server/solr-webapp/webapp/js/scripts/ping.js +72 -0
  407. data/solr/server/solr-webapp/webapp/js/scripts/plugins.js +462 -0
  408. data/solr/server/solr-webapp/webapp/js/scripts/query.js +229 -0
  409. data/solr/server/solr-webapp/webapp/js/scripts/replication.js +527 -0
  410. data/solr/server/solr-webapp/webapp/js/scripts/schema-browser.js +1229 -0
  411. data/solr/server/solr-webapp/webapp/js/scripts/segments.js +206 -0
  412. data/solr/server/solr-webapp/webapp/js/scripts/threads.js +158 -0
  413. data/solr/server/solr-webapp/webapp/libs/angular-chosen.js +139 -0
  414. data/solr/server/solr-webapp/webapp/libs/angular-cookies.js +229 -0
  415. data/solr/server/solr-webapp/webapp/libs/angular-cookies.min.js +31 -0
  416. data/solr/server/solr-webapp/webapp/libs/angular-resource.min.js +36 -0
  417. data/solr/server/solr-webapp/webapp/libs/angular-route.js +1018 -0
  418. data/solr/server/solr-webapp/webapp/libs/angular-route.min.js +38 -0
  419. data/solr/server/solr-webapp/webapp/libs/angular-sanitize.js +703 -0
  420. data/solr/server/solr-webapp/webapp/libs/angular-sanitize.min.js +39 -0
  421. data/solr/server/solr-webapp/webapp/libs/angular.js +26093 -0
  422. data/solr/server/solr-webapp/webapp/libs/angular.min.js +273 -0
  423. data/solr/server/solr-webapp/webapp/libs/chosen.jquery.js +1194 -0
  424. data/solr/server/solr-webapp/webapp/libs/chosen.jquery.min.js +30 -0
  425. data/solr/server/solr-webapp/webapp/libs/d3.js +9373 -0
  426. data/solr/server/solr-webapp/webapp/libs/highlight.js +31 -0
  427. data/solr/server/solr-webapp/webapp/libs/jquery-2.1.3.min.js +29 -0
  428. data/solr/server/solr-webapp/webapp/libs/jquery.jstree.js +3534 -0
  429. data/solr/server/solr-webapp/webapp/libs/ngtimeago.js +102 -0
  430. data/solr/server/solr-webapp/webapp/partials/analysis.html +128 -0
  431. data/solr/server/solr-webapp/webapp/partials/cloud.html +104 -0
  432. data/solr/server/solr-webapp/webapp/partials/core_overview.html +227 -0
  433. data/solr/server/solr-webapp/webapp/partials/cores.html +231 -0
  434. data/solr/server/solr-webapp/webapp/partials/dataimport.html +209 -0
  435. data/solr/server/solr-webapp/webapp/partials/documents.html +118 -0
  436. data/solr/server/solr-webapp/webapp/partials/files.html +47 -0
  437. data/solr/server/solr-webapp/webapp/partials/index.html +261 -0
  438. data/solr/server/solr-webapp/webapp/partials/java-properties.html +27 -0
  439. data/solr/server/solr-webapp/webapp/partials/logging-levels.html +56 -0
  440. data/solr/server/solr-webapp/webapp/partials/logging.html +56 -0
  441. data/solr/server/solr-webapp/webapp/partials/plugins.html +72 -0
  442. data/solr/server/solr-webapp/webapp/partials/query.html +356 -0
  443. data/solr/server/solr-webapp/webapp/partials/replication.html +239 -0
  444. data/solr/server/solr-webapp/webapp/partials/schema-browser.html +206 -0
  445. data/solr/server/solr-webapp/webapp/partials/segments.html +99 -0
  446. data/solr/server/solr-webapp/webapp/partials/threads.html +65 -0
  447. data/solr/server/solr-webapp/webapp/tpl/analysis.html +83 -0
  448. data/solr/server/solr-webapp/webapp/tpl/cloud.html +87 -0
  449. data/solr/server/solr-webapp/webapp/tpl/cores.html +226 -0
  450. data/solr/server/solr-webapp/webapp/tpl/dashboard.html +201 -0
  451. data/solr/server/solr-webapp/webapp/tpl/dataimport.html +183 -0
  452. data/solr/server/solr-webapp/webapp/tpl/documents.html +107 -0
  453. data/solr/server/solr-webapp/webapp/tpl/files.html +44 -0
  454. data/solr/server/solr-webapp/webapp/tpl/index.html +250 -0
  455. data/solr/server/solr-webapp/webapp/tpl/logging.html +23 -0
  456. data/solr/server/solr-webapp/webapp/tpl/plugins.html +39 -0
  457. data/solr/server/solr-webapp/webapp/tpl/query.html +361 -0
  458. data/solr/server/solr-webapp/webapp/tpl/replication.html +216 -0
  459. data/solr/server/solr-webapp/webapp/tpl/schema-browser.html +192 -0
  460. data/solr/server/solr-webapp/webapp/tpl/segments.html +49 -0
  461. data/solr/server/solr-webapp/webapp/tpl/threads.html +56 -0
  462. data/solr/server/solr/README.txt +77 -0
  463. data/solr/server/solr/solr.xml +51 -0
  464. data/solr/server/solr/zoo.cfg +17 -0
  465. data/solr/server/start.jar +0 -0
  466. data/solr/solr/README.txt +77 -0
  467. data/solr/solr/configsets/sunspot/conf/_rest_managed.json +1 -0
  468. data/solr/solr/{conf → configsets/sunspot/conf}/admin-extra.html +0 -0
  469. data/solr/solr/configsets/sunspot/conf/currency.xml +67 -0
  470. data/solr/solr/{conf → configsets/sunspot/conf}/elevate.xml +0 -0
  471. data/solr/solr/{conf/stopwords.txt → configsets/sunspot/conf/lang/stopwords_en.txt} +1 -5
  472. data/solr/solr/{conf → configsets/sunspot/conf}/mapping-ISOLatin1Accent.txt +0 -0
  473. data/solr/solr/{conf → configsets/sunspot/conf}/protwords.txt +0 -0
  474. data/solr/solr/{conf → configsets/sunspot/conf}/schema.xml +38 -35
  475. data/solr/solr/{conf → configsets/sunspot/conf}/scripts.conf +0 -0
  476. data/solr/solr/{conf → configsets/sunspot/conf}/solrconfig.xml +271 -320
  477. data/solr/solr/{conf → configsets/sunspot/conf}/spellings.txt +0 -0
  478. data/solr/solr/{conf → configsets/sunspot/conf}/synonyms.txt +3 -5
  479. data/solr/solr/default/core.properties +3 -0
  480. data/solr/solr/development/core.properties +3 -0
  481. data/solr/solr/solr.xml +49 -6
  482. data/solr/solr/test/core.properties +3 -0
  483. data/solr/solr/zoo.cfg +17 -0
  484. data/spec/installer_spec.rb +82 -0
  485. data/spec/java_spec.rb +58 -0
  486. data/spec/server_spec.rb +36 -79
  487. data/spec/spec_helper.rb +4 -16
  488. data/sunspot_solr.gemspec +3 -7
  489. metadata +496 -67
  490. data/lib/sunspot/solr/installer/config_installer.rb +0 -53
  491. data/lib/sunspot/solr/installer/task_helper.rb +0 -13
  492. data/solr/contexts/solr.xml +0 -7
  493. data/solr/lib/jetty-continuation-8.1.8.v20121106.jar +0 -0
  494. data/solr/lib/jetty-deploy-8.1.8.v20121106.jar +0 -0
  495. data/solr/lib/jetty-http-8.1.8.v20121106.jar +0 -0
  496. data/solr/lib/jetty-io-8.1.8.v20121106.jar +0 -0
  497. data/solr/lib/jetty-jmx-8.1.8.v20121106.jar +0 -0
  498. data/solr/lib/jetty-security-8.1.8.v20121106.jar +0 -0
  499. data/solr/lib/jetty-server-8.1.8.v20121106.jar +0 -0
  500. data/solr/lib/jetty-servlet-8.1.8.v20121106.jar +0 -0
  501. data/solr/lib/jetty-util-8.1.8.v20121106.jar +0 -0
  502. data/solr/lib/jetty-webapp-8.1.8.v20121106.jar +0 -0
  503. data/solr/lib/jetty-xml-8.1.8.v20121106.jar +0 -0
  504. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  505. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  506. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  507. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  508. data/solr/lib/servlet-api-3.0.jar +0 -0
  509. data/solr/solr/conf/xslt/example.xsl +0 -132
  510. data/solr/solr/conf/xslt/example_atom.xsl +0 -67
  511. data/solr/solr/conf/xslt/example_rss.xsl +0 -66
  512. data/solr/solr/conf/xslt/luke.xsl +0 -337
  513. data/solr/solr/default/README.txt +0 -54
  514. data/solr/start.jar +0 -0
  515. data/solr/webapps/solr.war +0 -0
@@ -0,0 +1,94 @@
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 MB_FACTOR = 1024*1024;
19
+
20
+ solrAdminApp.controller('SegmentsController', function($scope, $routeParams, $interval, Segments) {
21
+ $scope.resetMenu("segments");
22
+
23
+ $scope.refresh = function() {
24
+
25
+ Segments.get({core: $routeParams.core}, function(data) {
26
+ var segments = data.segments;
27
+
28
+ var segmentSizeInBytesMax = getLargestSegmentSize(segments);
29
+ $scope.segmentMB = Math.floor(segmentSizeInBytesMax / MB_FACTOR);
30
+ $scope.xaxis = calculateXAxis(segmentSizeInBytesMax);
31
+
32
+ $scope.documentCount = 0;
33
+ $scope.deletionCount = 0;
34
+
35
+ $scope.segments = [];
36
+ for (var name in segments) {
37
+ var segment = segments[name];
38
+
39
+ var segmentSizeInBytesLog = Math.log(segment.sizeInBytes);
40
+ var segmentSizeInBytesMaxLog = Math.log(segmentSizeInBytesMax);
41
+
42
+ segment.totalSize = Math.floor((segmentSizeInBytesLog / segmentSizeInBytesMaxLog ) * 100);
43
+
44
+ segment.deletedDocSize = Math.floor((segment.delCount / (segment.delCount + segment.totalSize)) * segment.totalSize);
45
+ if (segment.delDocSize <= 0.001) delete segment.deletedDocSize;
46
+
47
+ segment.aliveDocSize = segment.totalSize - segment.deletedDocSize;
48
+
49
+ $scope.segments.push(segment);
50
+
51
+ $scope.documentCount += segment.size;
52
+ $scope.deletionCount += segment.delCount;
53
+ }
54
+ $scope.deletionsPercentage = calculateDeletionsPercentage($scope.documentCount, $scope.deletionCount);
55
+ });
56
+ };
57
+
58
+ $scope.toggleAutoRefresh = function() {
59
+ $scope.autorefresh = !$scope.autorefresh;
60
+ if ($scope.autorefresh) {
61
+ $scope.interval = $interval($scope.refresh, 1000);
62
+ } else if ($scope.interval) {
63
+ $interval.cancel($scope.interval);
64
+ }
65
+ };
66
+ $scope.refresh();
67
+ });
68
+
69
+ var calculateXAxis = function(segmentInBytesMax) {
70
+ var steps = [];
71
+ var log = Math.log(segmentInBytesMax);
72
+
73
+ for (var j=0, step=log/4; j<3; j++, step+=log/4) {
74
+ steps.push({pos:j, value:Math.floor((Math.pow(Math.E, step))/MB_FACTOR)})
75
+ }
76
+ return steps;
77
+ };
78
+
79
+ var getLargestSegmentSize = function(segments) {
80
+ var max = 0;
81
+ for (var name in segments) {
82
+ max = Math.max(max, segments[name].sizeInBytes);
83
+ }
84
+ return max;
85
+ };
86
+
87
+ var calculateDeletionsPercentage = function(docCount, delCount) {
88
+ if (docCount == 0) {
89
+ return 0;
90
+ } else {
91
+ var percent = delCount / docCount * 100;
92
+ return Math.round(percent * 100) / 100;
93
+ }
94
+ };
@@ -0,0 +1,51 @@
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
+ solrAdminApp.controller('ThreadsController',
19
+ ["$scope", "Threads",
20
+ function($scope, Threads){
21
+ $scope.resetMenu("threads", true);
22
+ $scope.refresh = function() {
23
+ Threads.get(function(data) {
24
+ var threadDump = data.system.threadDump;
25
+ var threads = [];
26
+ for (var i=1; i<threadDump.length; i+=2) {
27
+ var thread = threadDump[i];
28
+ if (!!thread.stackTrace) {
29
+ var stackTrace = [];
30
+ for (var j=0; j<thread.stackTrace.length; j++) {
31
+ var trace = thread.stackTrace[j].replace("(", "\u200B("); // allow wrapping to happen, \u200B is a zero-width space
32
+ stackTrace.push({id:thread.id + ":" + j, trace: trace});
33
+ }
34
+ thread.stackTrace = stackTrace;
35
+ }
36
+ threads.push(thread);
37
+ }
38
+ $scope.threads = threads;
39
+ });
40
+ };
41
+ $scope.toggleStacktrace = function(thread) {
42
+ thread.showStackTrace = !thread.showStackTrace;
43
+ };
44
+ $scope.toggleStacktraces = function() {
45
+ $scope.showAllStacktraces = !$scope.showAllStacktraces;
46
+ for (var i=0; i<$scope.threads.length; i++) {
47
+ $scope.threads[i].showStackTrace = $scope.showAllStacktraces;
48
+ }
49
+ };
50
+ $scope.refresh();
51
+ }]);
@@ -0,0 +1,214 @@
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 solrAdminServices = angular.module('solrAdminServices', ['ngResource']);
19
+
20
+ solrAdminServices.factory('System',
21
+ ['$resource', function($resource) {
22
+ return $resource('/solr/admin/info/system', {"wt":"json", "_":Date.now()});
23
+ }])
24
+ .factory('Cores',
25
+ ['$resource', function($resource) {
26
+ return $resource('/solr/admin/cores',
27
+ {'wt':'json', '_':Date.now()}, {
28
+ "query": {},
29
+ "list": {params:{indexInfo: false}},
30
+ "add": {params:{action: "CREATE"}},
31
+ "unload": {params:{action: "UNLOAD", core: "@core"}},
32
+ "rename": {params:{action: "RENAME"}},
33
+ "swap": {params:{}},
34
+ "reload": {method: "GET", params:{action:"RELOAD", core: "@core"}},
35
+ "optimize": {params:{}}
36
+ });
37
+ }])
38
+ .factory('Logging',
39
+ ['$resource', function($resource) {
40
+ return $resource('/solr/admin/info/logging', {'wt':'json', '_':Date.now()}, {
41
+ "events": {params: {since:'0'}},
42
+ "levels": {},
43
+ "setLevel": {}
44
+ });
45
+ }])
46
+ .factory('Zookeeper',
47
+ ['$resource', function($resource) {
48
+ return $resource('/solr/zookeeper', {wt:'json', _:Date.now()}, {
49
+ "simple": {},
50
+ "dump": {params: {dump: "true"}},
51
+ "liveNodes": {params: {path: '/live_nodes'}},
52
+ "clusterState": {params: {detail: "true", path: "/clusterstate.json"}},
53
+ "detail": {params: {detail: "true", path: "@path"}}
54
+ });
55
+ }])
56
+ .factory('Properties',
57
+ ['$resource', function($resource) {
58
+ return $resource('/solr/admin/info/properties', {'wt':'json', '_':Date.now()});
59
+ }])
60
+ .factory('Threads',
61
+ ['$resource', function($resource) {
62
+ return $resource('/solr/admin/info/threads', {'wt':'json', '_':Date.now()});
63
+ }])
64
+ .factory('Properties',
65
+ ['$resource', function($resource) {
66
+ return $resource('/solr/admin/info/properties', {'wt':'json', '_':Date.now()});
67
+ }])
68
+ .factory('Replication',
69
+ ['$resource', function($resource) {
70
+ return $resource('/solr/:core/replication', {'wt':'json', core: "@core", '_':Date.now()}, {
71
+ "details": {params: {command: "details"}},
72
+ "command": {params: {}}
73
+ });
74
+ }])
75
+ .factory('CoreSystem',
76
+ ['$resource', function($resource) {
77
+ return $resource('/solr/:core/admin/system', {wt:'json', core: "@core", _:Date.now()});
78
+ }])
79
+ .factory('Update',
80
+ ['$resource', function($resource) {
81
+ return $resource('/solr/:core/:handler', {core: '@core', wt:'json', _:Date.now(), handler:'update'}, {
82
+ "optimize": {params: { optimize: "true"}},
83
+ "commit": {params: {commit: "true"}},
84
+ "post": {headers: {'Content-type': 'application/json'}, method: "POST", params: {handler: '@handler'}},
85
+ "postJson": {headers: {'Content-type': 'application/json'}, method: "POST", params: {handler: '@handler'}},
86
+ "postXml": {headers: {'Content-type': 'text/xml'}, method: "POST", params: {handler: '@handler'}},
87
+ "postCsv": {headers: {'Content-type': 'application/csv'}, method: "POST", params: {handler: '@handler'}}
88
+ });
89
+ }])
90
+ .service('FileUpload', function ($http) {
91
+ this.upload = function(params, file, success, error){
92
+ var url = "/solr/" + params.core + "/" + params.handler + "?";
93
+ raw = params.raw;
94
+ delete params.core;
95
+ delete params.handler;
96
+ delete params.raw;
97
+ url += $.param(params);
98
+ if (raw && raw.length>0) {
99
+ if (raw[0] != "&") raw = "&" + raw;
100
+ url += raw;
101
+ }
102
+ var fd = new FormData();
103
+ fd.append('file', file);
104
+ $http.post(url, fd, {
105
+ transformRequest: angular.identity,
106
+ headers: {'Content-Type': undefined}
107
+ }).success(success).error(error);
108
+ }
109
+ })
110
+ .factory('Luke',
111
+ ['$resource', function($resource) {
112
+ return $resource('/solr/:core/admin/luke', {core: '@core', wt:'json', _:Date.now()}, {
113
+ "index": {params: {numTerms: 0}},
114
+ "schema": {params: {show:'schema'}},
115
+ "field": {},
116
+ "fields": {params: {show:'schema'}, interceptor: {
117
+ response: function(response) {
118
+ var fieldsAndTypes = [];
119
+ for (var field in response.data.schema.fields) {
120
+ fieldsAndTypes.push({group: "Fields", label: field, value: "fieldname=" + field});
121
+ }
122
+ for (var type in response.data.schema.types) {
123
+ fieldsAndTypes.push({group: "Types", label: type, value: "fieldtype=" + type});
124
+ }
125
+ return fieldsAndTypes;
126
+ }
127
+ }}
128
+ });
129
+ }])
130
+ .factory('Analysis',
131
+ ['$resource', function($resource) {
132
+ return $resource('/solr/:core/analysis/field', {core: '@core', wt:'json', _:Date.now()}, {
133
+ "field": {params: {"analysis.showmatch": true}}
134
+ });
135
+ }])
136
+ .factory('DataImport',
137
+ ['$resource', function($resource) {
138
+ return $resource('/solr/:core/dataimport', {core: '@core', indent:'on', wt:'json', _:Date.now()}, {
139
+ "config": {params: {command: "show-config", doNotIntercept: "true"},
140
+ transformResponse: function(data) {
141
+ return {config: data};
142
+ }
143
+ },
144
+ "status": {params: {command: "status", doNotIntercept: "true"}},
145
+ "reload": {params: {command: "reload-config"}},
146
+ "post": {method: "POST",
147
+ headers: {'Content-type': 'application/x-www-form-urlencoded'},
148
+ transformRequest: function(data) { return $.param(data) }}
149
+ });
150
+ }])
151
+ .factory('Ping',
152
+ ['$resource', function($resource) {
153
+ return $resource('/solr/:core/admin/ping', {wt:'json', core: '@core', ts:Date.now(), _:Date.now()}, {
154
+ "ping": {},
155
+ "status": {params:{action:"status"}}
156
+ });
157
+ }])
158
+ .factory('Mbeans',
159
+ ['$resource', function($resource) {
160
+ return $resource('/solr/:core/admin/mbeans', {'wt':'json', core: '@core', '_':Date.now()}, {
161
+ stats: {params: {stats: true}},
162
+ info: {},
163
+ reference: {
164
+ params: {wt: "xml", stats: true}, transformResponse: function (data) {
165
+ return {reference: data}
166
+ }
167
+ },
168
+ delta: {method: "POST",
169
+ params: {stats: true, diff:true},
170
+ headers: {'Content-type': 'application/x-www-form-urlencoded'},
171
+ transformRequest: function(data) {
172
+ return "stream.body=" + encodeURIComponent(data);
173
+ }
174
+ }
175
+ });
176
+ }])
177
+ .factory('Files',
178
+ ['$resource', function($resource) {
179
+ return $resource('/solr/:core/admin/file', {'wt':'json', core: '@core', '_':Date.now()}, {
180
+ "list": {},
181
+ "get": {method: "GET", interceptor: {
182
+ response: function(config) {return config;}
183
+ }}
184
+ });
185
+ }])
186
+ .factory('Query',
187
+ ['$resource', function($resource) {
188
+ var resource = $resource('/solr/:core:handler', {core: '@core', handler: '@handler'}, {
189
+ "query": {
190
+ method: "GET", transformResponse: function (data) {
191
+ return {data: data}
192
+ }
193
+ }
194
+ });
195
+ resource.url = function(params) {
196
+ var qs = [];
197
+ for (key in params) {
198
+ if (key != "core" && key != "handler" && key != "doNotIntercept") {
199
+ for (var i in params[key]) {
200
+ qs.push(key + "=" + params[key][i]);
201
+ }
202
+ }
203
+ }
204
+ return "/solr/" + params.core + params.handler + "?" + qs.join("&");
205
+ }
206
+ return resource;
207
+ }])
208
+ .factory('Segments',
209
+ ['$resource', function($resource) {
210
+ return $resource('/solr/:core/admin/segments', {'wt':'json', core: '@core', _:Date.now()}, {
211
+ get: {}
212
+ });
213
+ }
214
+ ]);
@@ -0,0 +1,342 @@
1
+ /*
2
+
3
+ The MIT License (MIT)
4
+ Copyright (c) 2012 Jon Rohan, James M. Greene,
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
23
+
24
+ */
25
+
26
+ // Simple Set Clipboard System
27
+ // Author: Joseph Huckaby
28
+
29
+ var ZeroClipboard = {
30
+
31
+ version: "1.0.7",
32
+ clients: {}, // registered upload clients on page, indexed by id
33
+ moviePath: 'ZeroClipboard.swf', // URL to movie
34
+ nextId: 1, // ID of next movie
35
+
36
+ $: function(thingy) {
37
+ // simple DOM lookup utility function
38
+ if (typeof(thingy) == 'string') thingy = document.getElementById(thingy);
39
+ if (!thingy.addClass) {
40
+ // extend element with a few useful methods
41
+ thingy.hide = function() { this.style.display = 'none'; };
42
+ thingy.show = function() { this.style.display = ''; };
43
+ thingy.addClass = function(name) { this.removeClass(name); this.className += ' ' + name; };
44
+ thingy.removeClass = function(name) {
45
+ var classes = this.className.split(/\s+/);
46
+ var idx = -1;
47
+ for (var k = 0; k < classes.length; k++) {
48
+ if (classes[k] == name) { idx = k; k = classes.length; }
49
+ }
50
+ if (idx > -1) {
51
+ classes.splice( idx, 1 );
52
+ this.className = classes.join(' ');
53
+ }
54
+ return this;
55
+ };
56
+ thingy.hasClass = function(name) {
57
+ return !!this.className.match( new RegExp("\\s*" + name + "\\s*") );
58
+ };
59
+ }
60
+ return thingy;
61
+ },
62
+
63
+ setMoviePath: function(path) {
64
+ // set path to ZeroClipboard.swf
65
+ this.moviePath = path;
66
+ },
67
+
68
+ dispatch: function(id, eventName, args) {
69
+ // receive event from flash movie, send to client
70
+ var client = this.clients[id];
71
+ if (client) {
72
+ client.receiveEvent(eventName, args);
73
+ }
74
+ },
75
+
76
+ register: function(id, client) {
77
+ // register new client to receive events
78
+ this.clients[id] = client;
79
+ },
80
+
81
+ getDOMObjectPosition: function(obj, stopObj) {
82
+ // get absolute coordinates for dom element
83
+ var info = {
84
+ left: 0,
85
+ top: 0,
86
+ width: obj.width ? obj.width : obj.offsetWidth,
87
+ height: obj.height ? obj.height : obj.offsetHeight
88
+ };
89
+
90
+ while (obj && (obj != stopObj)) {
91
+ info.left += obj.offsetLeft;
92
+ info.top += obj.offsetTop;
93
+ obj = obj.offsetParent;
94
+ }
95
+
96
+ return info;
97
+ },
98
+
99
+ Client: function(elem) {
100
+ // constructor for new simple upload client
101
+ this.handlers = {};
102
+
103
+ // unique ID
104
+ this.id = ZeroClipboard.nextId++;
105
+ this.movieId = 'ZeroClipboardMovie_' + this.id;
106
+
107
+ // register client with singleton to receive flash events
108
+ ZeroClipboard.register(this.id, this);
109
+
110
+ // create movie
111
+ if (elem) this.glue(elem);
112
+ }
113
+ };
114
+
115
+ ZeroClipboard.Client.prototype = {
116
+
117
+ id: 0, // unique ID for us
118
+ ready: false, // whether movie is ready to receive events or not
119
+ movie: null, // reference to movie object
120
+ clipText: '', // text to copy to clipboard
121
+ handCursorEnabled: true, // whether to show hand cursor, or default pointer cursor
122
+ cssEffects: true, // enable CSS mouse effects on dom container
123
+ handlers: null, // user event handlers
124
+
125
+ glue: function(elem, appendElem, stylesToAdd) {
126
+ // glue to DOM element
127
+ // elem can be ID or actual DOM element object
128
+ this.domElement = ZeroClipboard.$(elem);
129
+
130
+ // float just above object, or zIndex 99 if dom element isn't set
131
+ var zIndex = 99;
132
+ if (this.domElement.style.zIndex) {
133
+ zIndex = parseInt(this.domElement.style.zIndex, 10) + 1;
134
+ }
135
+
136
+ if (typeof(appendElem) == 'string') {
137
+ appendElem = ZeroClipboard.$(appendElem);
138
+ }
139
+ else if (typeof(appendElem) == 'undefined') {
140
+ appendElem = document.getElementsByTagName('body')[0];
141
+ }
142
+
143
+ // find X/Y position of domElement
144
+ var box = ZeroClipboard.getDOMObjectPosition(this.domElement, appendElem);
145
+
146
+ // create floating DIV above element
147
+ this.div = document.createElement('div');
148
+ var style = this.div.style;
149
+ style.position = 'absolute';
150
+ style.left = '' + box.left + 'px';
151
+ style.top = '' + box.top + 'px';
152
+ style.width = '' + box.width + 'px';
153
+ style.height = '' + box.height + 'px';
154
+ style.zIndex = zIndex;
155
+
156
+ style.left = '0px';
157
+ style.top = '0px';
158
+
159
+ if (typeof(stylesToAdd) == 'object') {
160
+ for (addedStyle in stylesToAdd) {
161
+ style[addedStyle] = stylesToAdd[addedStyle];
162
+ }
163
+ }
164
+
165
+ // style.backgroundColor = '#f00'; // debug
166
+
167
+ appendElem.appendChild(this.div);
168
+
169
+ this.div.innerHTML = this.getHTML( box.width, box.height );
170
+ },
171
+
172
+ getHTML: function(width, height) {
173
+ // return HTML for movie
174
+ var html = '';
175
+ var flashvars = 'id=' + this.id +
176
+ '&width=' + width +
177
+ '&height=' + height;
178
+
179
+ if (navigator.userAgent.match(/MSIE/)) {
180
+ // IE gets an OBJECT tag
181
+ var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
182
+ html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+protocol+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+width+'" height="'+height+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/><param name="wmode" value="transparent"/></object>';
183
+ }
184
+ else {
185
+ // all other browsers get an EMBED tag
186
+ html += '<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" wmode="transparent" />';
187
+ }
188
+ return html;
189
+ },
190
+
191
+ hide: function() {
192
+ // temporarily hide floater offscreen
193
+ if (this.div) {
194
+ this.div.style.left = '-2000px';
195
+ }
196
+ },
197
+
198
+ show: function() {
199
+ // show ourselves after a call to hide()
200
+ this.reposition();
201
+ },
202
+
203
+ destroy: function() {
204
+ // destroy control and floater
205
+ if (this.domElement && this.div) {
206
+ this.hide();
207
+ this.div.innerHTML = '';
208
+
209
+ var body = document.getElementsByTagName('body')[0];
210
+ try { body.removeChild( this.div ); } catch(e) {;}
211
+
212
+ this.domElement = null;
213
+ this.div = null;
214
+ }
215
+ },
216
+
217
+ reposition: function(elem) {
218
+ // reposition our floating div, optionally to new container
219
+ // warning: container CANNOT change size, only position
220
+ if (elem) {
221
+ this.domElement = ZeroClipboard.$(elem);
222
+ if (!this.domElement) this.hide();
223
+ }
224
+
225
+ console.debug( this.domElement, this.div );
226
+
227
+ if (this.domElement && this.div) {
228
+ var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
229
+ console.debug( box );
230
+ var style = this.div.style;
231
+ style.left = '' + box.left + 'px';
232
+ style.top = '' + box.top + 'px';
233
+ }
234
+ },
235
+
236
+ setText: function(newText) {
237
+ // set text to be copied to clipboard
238
+ this.clipText = newText;
239
+ if (this.ready) this.movie.setText(newText);
240
+ },
241
+
242
+ addEventListener: function(eventName, func) {
243
+ // add user event listener for event
244
+ // event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel
245
+ eventName = eventName.toString().toLowerCase().replace(/^on/, '');
246
+ if (!this.handlers[eventName]) this.handlers[eventName] = [];
247
+ this.handlers[eventName].push(func);
248
+ },
249
+
250
+ setHandCursor: function(enabled) {
251
+ // enable hand cursor (true), or default arrow cursor (false)
252
+ this.handCursorEnabled = enabled;
253
+ if (this.ready) this.movie.setHandCursor(enabled);
254
+ },
255
+
256
+ setCSSEffects: function(enabled) {
257
+ // enable or disable CSS effects on DOM container
258
+ this.cssEffects = !!enabled;
259
+ },
260
+
261
+ receiveEvent: function(eventName, args) {
262
+ // receive event from flash
263
+ eventName = eventName.toString().toLowerCase().replace(/^on/, '');
264
+
265
+ // special behavior for certain events
266
+ switch (eventName) {
267
+ case 'load':
268
+ // movie claims it is ready, but in IE this isn't always the case...
269
+ // bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function
270
+ this.movie = document.getElementById(this.movieId);
271
+ if (!this.movie) {
272
+ var self = this;
273
+ setTimeout( function() { self.receiveEvent('load', null); }, 1 );
274
+ return;
275
+ }
276
+
277
+ // firefox on pc needs a "kick" in order to set these in certain cases
278
+ if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
279
+ var self = this;
280
+ setTimeout( function() { self.receiveEvent('load', null); }, 100 );
281
+ this.ready = true;
282
+ return;
283
+ }
284
+
285
+ this.ready = true;
286
+ this.movie.setText( this.clipText );
287
+ this.movie.setHandCursor( this.handCursorEnabled );
288
+ break;
289
+
290
+ case 'mouseover':
291
+ if (this.domElement && this.cssEffects) {
292
+ this.domElement.addClass('hover');
293
+ if (this.recoverActive) this.domElement.addClass('active');
294
+ }
295
+ break;
296
+
297
+ case 'mouseout':
298
+ if (this.domElement && this.cssEffects) {
299
+ this.recoverActive = false;
300
+ if (this.domElement.hasClass('active')) {
301
+ this.domElement.removeClass('active');
302
+ this.recoverActive = true;
303
+ }
304
+ this.domElement.removeClass('hover');
305
+ }
306
+ break;
307
+
308
+ case 'mousedown':
309
+ if (this.domElement && this.cssEffects) {
310
+ this.domElement.addClass('active');
311
+ }
312
+ break;
313
+
314
+ case 'mouseup':
315
+ if (this.domElement && this.cssEffects) {
316
+ this.domElement.removeClass('active');
317
+ this.recoverActive = false;
318
+ }
319
+ break;
320
+ } // switch eventName
321
+
322
+ if (this.handlers[eventName]) {
323
+ for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) {
324
+ var func = this.handlers[eventName][idx];
325
+
326
+ if (typeof(func) == 'function') {
327
+ // actual function reference
328
+ func(this, args);
329
+ }
330
+ else if ((typeof(func) == 'object') && (func.length == 2)) {
331
+ // PHP style object + method, i.e. [myObject, 'myMethod']
332
+ func[0][ func[1] ](this, args);
333
+ }
334
+ else if (typeof(func) == 'string') {
335
+ // name of function
336
+ window[func](this, args);
337
+ }
338
+ } // foreach event handler defined
339
+ } // user defined handler for event
340
+ }
341
+
342
+ };