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,1229 @@
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 current_core = null;
19
+ var cookie_schema_browser_autoload = 'schema-browser_autoload';
20
+
21
+ var luke_array_to_struct = function( array )
22
+ {
23
+ var struct = {
24
+ keys : [],
25
+ values : []
26
+ };
27
+ for( var i = 0; i < array.length; i += 2 )
28
+ {
29
+ struct.keys.push( array[i] );
30
+ struct.values.push( array[i+1] );
31
+ }
32
+ return struct;
33
+ }
34
+
35
+ var luke_array_to_hash = function( array )
36
+ {
37
+ var hash = {};
38
+ for( var i = 0; i < array.length; i += 2 )
39
+ {
40
+ hash[ array[i] ] = array[i+1];
41
+ }
42
+ return hash;
43
+ }
44
+
45
+ var load_terminfo = function( trigger_element, core_basepath, field, data_element, terminfo_element )
46
+ {
47
+ var luke_url = core_basepath + '/admin/luke?wt=json&fl=' + field;
48
+ var topterms_count_element = $( '.topterms-holder .head input', terminfo_element );
49
+
50
+ var term_load_count = parseInt( topterms_count_element.val(), 10 );
51
+ if( term_load_count )
52
+ {
53
+ luke_url += '&numTerms=' + term_load_count;
54
+ }
55
+
56
+ $.ajax
57
+ (
58
+ {
59
+ url : luke_url,
60
+ dataType : 'json',
61
+ context : terminfo_element,
62
+ beforeSend : function( xhr, settings )
63
+ {
64
+ $( 'span', trigger_element )
65
+ .addClass( 'loader' );
66
+ },
67
+ success : function( response, text_status, xhr )
68
+ {
69
+ var additional_styles = [];
70
+ var field_data = response.fields[field];
71
+
72
+ if( !field_data || !( field_data.topTerms && field_data.histogram ) )
73
+ {
74
+ terminfo_element
75
+ .addClass( 'disabled' );
76
+
77
+ return false;
78
+ }
79
+
80
+ var get_width = function get_width()
81
+ {
82
+ return $( this ).width();
83
+ }
84
+
85
+ var topterms_holder_element = $( '.topterms-holder', data_element );
86
+ var histogram_holder_element = $( '.histogram-holder', data_element );
87
+
88
+ if( !field_data.topTerms )
89
+ {
90
+ topterms_holder_element
91
+ .hide();
92
+ }
93
+ else
94
+ {
95
+ topterms_holder_element
96
+ .show();
97
+
98
+ var topterms_table_element = $( 'ul', topterms_holder_element );
99
+
100
+ var topterms = field_data.topTerms;
101
+ var topterms_count = topterms.length;
102
+
103
+ var topterms_content = '';
104
+ var topterms_frq_last = null;
105
+
106
+ for( var i = 0; i < topterms_count; i += 2 )
107
+ {
108
+ if( topterms_frq_last !== topterms[i+1] )
109
+ {
110
+ if( topterms_frq_last )
111
+ {
112
+ topterms_content += '</ul></li>' + "\n";
113
+ }
114
+
115
+ topterms_frq_last = topterms[i+1];
116
+ topterms_content += '<li class="clearfix">'
117
+ + '<p><span>' + app.format_number( topterms_frq_last ) + '</span></p>' + "\n"
118
+ + '<ul>' + "\n";
119
+ }
120
+
121
+ var target = '#/' + current_core + '/query?q=' + field.esc() + ':' + encodeURIComponent( '"' + topterms[i] + '"' );
122
+ topterms_content += '<li><a href="' + target + '">' + topterms[i].esc() + '</a></li>' + "\n";
123
+ }
124
+
125
+ topterms_content += '</li>';
126
+
127
+ topterms_count = topterms_count / 2;
128
+
129
+ $( 'input', trigger_element )
130
+ .val( topterms_count );
131
+
132
+ topterms_table_element
133
+ .html( topterms_content );
134
+
135
+ var max_width = 10 + Math.max.apply( Math, $( 'p', topterms_table_element ).map( get_width ).get() );
136
+ additional_styles.push
137
+ (
138
+ topterms_table_element.selector + ' p { width: ' + max_width + 'px !important; }' + "\n" +
139
+ topterms_table_element.selector + ' ul { margin-left: ' + ( max_width + 5 ) + 'px !important; }'
140
+ );
141
+
142
+ topterms_count_element
143
+ .val( topterms_count );
144
+
145
+ $( 'p.head .max', topterms_holder_element )
146
+ .html( field_data.distinct );
147
+
148
+ $( 'p.head #query_link', topterms_holder_element )
149
+ .attr( 'href', '#/' + current_core + '/query?q=' + field.esc() + ':[* TO *]' );
150
+
151
+ $( 'ul li:even', topterms_table_element )
152
+ .addClass( 'odd' );
153
+ }
154
+
155
+ if( !field_data.histogram )
156
+ {
157
+ histogram_holder_element
158
+ .hide();
159
+ }
160
+ else
161
+ {
162
+ histogram_holder_element
163
+ .show();
164
+
165
+ var histogram_values = luke_array_to_hash( field_data.histogram );
166
+ var histogram_entries = [];
167
+
168
+ var histogram_max = null;
169
+ for( var key in histogram_values )
170
+ {
171
+ histogram_max = Math.max( histogram_max, histogram_values[key] );
172
+ }
173
+
174
+ for( var key in histogram_values )
175
+ {
176
+ histogram_entries.push
177
+ (
178
+ '<li>' + "\n" +
179
+ ' <dl class="clearfix" style="width: ' + ( ( histogram_values[key] / histogram_max ) * 100 ) + '%;">' + "\n" +
180
+ ' <dt><span>' + app.format_number( key ) + '</span></dt>' + "\n" +
181
+ ' <dd><span>' + app.format_number( histogram_values[key] ) + '</span></dd>' + "\n" +
182
+ ' </dl>' + "\n" +
183
+ '</li>'
184
+ );
185
+ }
186
+
187
+ $( 'ul', histogram_holder_element )
188
+ .html( histogram_entries.join( "\n" ) );
189
+
190
+ $( 'ul li:even', histogram_holder_element )
191
+ .addClass( 'odd' );
192
+
193
+ var max_width = 10 + Math.max.apply( Math, $( 'dt', histogram_holder_element ).map( get_width ).get() );
194
+ additional_styles.push
195
+ (
196
+ histogram_holder_element.selector + ' ul { margin-left: ' + max_width + 'px !important; }' + "\n" +
197
+ histogram_holder_element.selector + ' li dt { left: ' + ( max_width * -1 ) + 'px !important; width: ' + max_width + 'px !important; }'
198
+ );
199
+ }
200
+
201
+ if( additional_styles )
202
+ {
203
+ terminfo_element
204
+ .prepend( '<style type="text/css">' + additional_styles.join( "\n" ) + '</style>' );
205
+ }
206
+ },
207
+ error : function( xhr, text_status, error_thrown)
208
+ {
209
+ terminfo_element
210
+ .addClass( 'disabled' );
211
+ },
212
+ complete : function( xhr, text_status )
213
+ {
214
+ $( 'span', trigger_element )
215
+ .removeClass( 'loader' );
216
+ }
217
+ }
218
+ );
219
+ }
220
+
221
+ sammy.bind
222
+ (
223
+ 'schema_browser_navi',
224
+ function( event, params )
225
+ {
226
+ var related_navigation_element = $( '#related dl#f-df-t', params.schema_browser_element );
227
+ var related_navigation_meta = $( '#related dl.ukf-dsf', params.schema_browser_element );
228
+ var related_select_element = $( '#related select', params.schema_browser_element )
229
+ var type = 'index';
230
+
231
+ var sammy_basepath = app.core_menu.find( '.active a' ).attr( 'href' );
232
+
233
+ if( !related_navigation_meta.hasClass( 'done' ) )
234
+ {
235
+ if( app.schema_browser_data.unique_key_field )
236
+ {
237
+ $( '.unique-key-field', related_navigation_meta )
238
+ .show()
239
+ .after
240
+ (
241
+ '<dd class="unique-key-field"><a href="' + sammy_basepath + '?field=' +
242
+ app.schema_browser_data.unique_key_field + '">' +
243
+ app.schema_browser_data.unique_key_field + '</a></dd>'
244
+ );
245
+ }
246
+
247
+ if( app.schema_browser_data.default_search_field )
248
+ {
249
+ $( '.default-search-field', related_navigation_meta )
250
+ .show()
251
+ .after
252
+ (
253
+ '<dd class="default-search-field"><a href="' + sammy_basepath + '?field=' +
254
+ app.schema_browser_data.default_search_field + '">' +
255
+ app.schema_browser_data.default_search_field + '</a></dd>'
256
+ );
257
+ }
258
+
259
+ related_navigation_meta
260
+ .addClass( 'done' );
261
+ }
262
+
263
+ if( params.route_params )
264
+ {
265
+ var type = params.route_params.type;
266
+ var value = params.route_params.value;
267
+
268
+ var navigation_data = {
269
+ 'fields' : [],
270
+ 'copyfield_source' : [],
271
+ 'copyfield_dest' : [],
272
+ 'dynamic_fields' : [],
273
+ 'types' : []
274
+ }
275
+
276
+ $( 'option[value="' + params.route_params.path.esc() + '"]', related_select_element )
277
+ .attr( 'selected', 'selected' );
278
+
279
+ related_select_element
280
+ .trigger( 'liszt:updated' );
281
+
282
+ if( 'field' === type )
283
+ {
284
+ navigation_data.fields.push( value );
285
+
286
+ if( app.schema_browser_data.relations.f_t[value] )
287
+ {
288
+ navigation_data.types.push( app.schema_browser_data.relations.f_t[value] );
289
+ }
290
+
291
+ if( app.schema_browser_data.relations.f_df[value] )
292
+ {
293
+ navigation_data.dynamic_fields.push( app.schema_browser_data.relations.f_df[value] );
294
+ }
295
+
296
+ if( app.schema_browser_data.fields[value].copySources && 0 !== app.schema_browser_data.fields[value].copySources.length )
297
+ {
298
+ navigation_data.copyfield_source = app.schema_browser_data.fields[value].copySources;
299
+ }
300
+
301
+ if( app.schema_browser_data.fields[value].copyDests && 0 !== app.schema_browser_data.fields[value].copyDests.length )
302
+ {
303
+ navigation_data.copyfield_dest = app.schema_browser_data.fields[value].copyDests;
304
+ }
305
+ }
306
+ else if( 'dynamic-field' === type )
307
+ {
308
+ navigation_data.dynamic_fields.push( value );
309
+ navigation_data.types.push( app.schema_browser_data.relations.df_t[value] );
310
+
311
+ if( app.schema_browser_data.relations.df_f[value] )
312
+ {
313
+ navigation_data.fields = app.schema_browser_data.relations.df_f[value];
314
+ }
315
+ }
316
+ else if( 'type' === type )
317
+ {
318
+ navigation_data.types.push( value );
319
+
320
+ if( app.schema_browser_data.relations.t_f[value] )
321
+ {
322
+ navigation_data.fields = app.schema_browser_data.relations.t_f[value];
323
+ }
324
+
325
+ if( app.schema_browser_data.relations.t_df[value] )
326
+ {
327
+ navigation_data.dynamic_fields = app.schema_browser_data.relations.t_df[value];
328
+ }
329
+ }
330
+
331
+ var navigation_content = '';
332
+
333
+ if( 0 !== navigation_data.fields.length )
334
+ {
335
+ navigation_data.fields.sort();
336
+ navigation_content += '<dt class="field">Field</dt>' + "\n";
337
+ for( var i in navigation_data.fields )
338
+ {
339
+ var href = sammy_basepath + '?field=' + navigation_data.fields[i];
340
+ navigation_content += '<dd class="field"><a href="' + href + '">' + navigation_data.fields[i] + '</a></dd>' + "\n";
341
+ }
342
+ }
343
+
344
+ if( 0 !== navigation_data.copyfield_source.length )
345
+ {
346
+ navigation_data.copyfield_source.sort();
347
+ navigation_content += '<dt class="copyfield">Copied from</dt>' + "\n";
348
+ for( var i in navigation_data.copyfield_source )
349
+ {
350
+ var href = sammy_basepath + '?field=' + navigation_data.copyfield_source[i];
351
+ navigation_content += '<dd class="copyfield"><a href="' + href + '">' + navigation_data.copyfield_source[i] + '</a></dd>' + "\n";
352
+ }
353
+ }
354
+
355
+ if( 0 !== navigation_data.copyfield_dest.length )
356
+ {
357
+ navigation_data.copyfield_dest.sort();
358
+ navigation_content += '<dt class="copyfield">Copied to</dt>' + "\n";
359
+ for( var i in navigation_data.copyfield_dest )
360
+ {
361
+ var href = sammy_basepath + '?field=' + navigation_data.copyfield_dest[i];
362
+ navigation_content += '<dd class="copyfield"><a href="' + href + '">' + navigation_data.copyfield_dest[i] + '</a></dd>' + "\n";
363
+ }
364
+ }
365
+
366
+ if( 0 !== navigation_data.dynamic_fields.length )
367
+ {
368
+ navigation_data.dynamic_fields.sort();
369
+ navigation_content += '<dt class="dynamic-field">Dynamic Field</dt>' + "\n";
370
+ for( var i in navigation_data.dynamic_fields )
371
+ {
372
+ var href = sammy_basepath + '?dynamic-field=' + navigation_data.dynamic_fields[i];
373
+ navigation_content += '<dd class="dynamic-field"><a href="' + href + '">' + navigation_data.dynamic_fields[i] + '</a></dd>' + "\n";
374
+ }
375
+ }
376
+
377
+ if( 0 !== navigation_data.types.length )
378
+ {
379
+ navigation_data.types.sort();
380
+ navigation_content += '<dt class="type">Type</dt>' + "\n";
381
+ for( var i in navigation_data.types )
382
+ {
383
+ var href = sammy_basepath + '?type=' + navigation_data.types[i];
384
+ navigation_content += '<dd class="type"><a href="' + href + '">' + navigation_data.types[i] + '</a></dd>' + "\n";
385
+ }
386
+ }
387
+
388
+ related_navigation_element
389
+ .show()
390
+ .attr( 'class', type )
391
+ .html( navigation_content );
392
+ }
393
+ else
394
+ {
395
+ related_navigation_element
396
+ .hide();
397
+
398
+ $( 'option:selected', related_select_element )
399
+ .removeAttr( 'selected' );
400
+ }
401
+
402
+ if( 'field' === type && value === app.schema_browser_data.unique_key_field )
403
+ {
404
+ $( '.unique-key-field', related_navigation_meta )
405
+ .addClass( 'active' );
406
+ }
407
+ else
408
+ {
409
+ $( '.unique-key-field', related_navigation_meta )
410
+ .removeClass( 'active' );
411
+ }
412
+
413
+ if( 'field' === type && value === app.schema_browser_data.default_search_field )
414
+ {
415
+ $( '.default-search-field', related_navigation_meta )
416
+ .addClass( 'active' );
417
+ }
418
+ else
419
+ {
420
+ $( '.default-search-field', related_navigation_meta )
421
+ .removeClass( 'active' );
422
+ }
423
+
424
+ if( params.callback )
425
+ {
426
+ params.callback( app.schema_browser_data, $( '#data', params.schema_browser_element ) );
427
+ }
428
+ }
429
+ );
430
+
431
+ sammy.bind
432
+ (
433
+ 'schema_browser_load',
434
+ function( event, params )
435
+ {
436
+ var core_basepath = params.active_core.attr( 'data-basepath' );
437
+ var content_element = $( '#content' );
438
+
439
+ if( app.schema_browser_data )
440
+ {
441
+ params.schema_browser_element = $( '#schema-browser', content_element );
442
+
443
+ sammy.trigger
444
+ (
445
+ 'schema_browser_navi',
446
+ params
447
+ );
448
+ }
449
+ else
450
+ {
451
+ content_element
452
+ .html( '<div id="schema-browser"><div class="loader">Loading ...</div></div>' );
453
+
454
+ $.ajax
455
+ (
456
+ {
457
+ url : core_basepath + '/admin/luke?numTerms=0&wt=json',
458
+ dataType : 'json',
459
+ beforeSend : function( xhr, settings )
460
+ {
461
+ },
462
+ success : function( response, text_status, xhr )
463
+ {
464
+ app.schema_browser_data = {
465
+ default_search_field : null,
466
+ unique_key_field : null,
467
+ key : {},
468
+ fields : {},
469
+ dynamic_fields : {},
470
+ types : {},
471
+ relations : {
472
+ f_df : {},
473
+ f_t : {},
474
+ df_f : {},
475
+ df_t : {},
476
+ t_f : {},
477
+ t_df : {}
478
+ }
479
+ };
480
+
481
+ app.schema_browser_data.fields = response.fields;
482
+ app.schema_browser_data.key = response.info.key;
483
+
484
+ $.ajax
485
+ (
486
+ {
487
+ url : core_basepath + '/admin/luke?show=schema&wt=json',
488
+ dataType : 'json',
489
+ beforeSend : function( xhr, settings )
490
+ {
491
+ },
492
+ success : function( response, text_status, xhr )
493
+ {
494
+ app.schema_browser_data.default_search_field = response.schema.defaultSearchField;
495
+ app.schema_browser_data.unique_key_field = response.schema.uniqueKeyField;
496
+
497
+ app.schema_browser_data.dynamic_fields = response.schema.dynamicFields;
498
+ app.schema_browser_data.types = response.schema.types;
499
+
500
+ for( var field in response.schema.fields )
501
+ {
502
+ app.schema_browser_data.fields[field] = $.extend
503
+ (
504
+ {},
505
+ app.schema_browser_data.fields[field],
506
+ response.schema.fields[field]
507
+ );
508
+ }
509
+
510
+ for( var field in app.schema_browser_data.fields )
511
+ {
512
+ var copy_dests = app.schema_browser_data.fields[field].copyDests;
513
+ for( var i in copy_dests )
514
+ {
515
+ var copy_dest = copy_dests[i];
516
+ if( !app.schema_browser_data.fields[copy_dest] )
517
+ {
518
+ app.schema_browser_data.fields[copy_dest] = {
519
+ partial : true,
520
+ copySources : []
521
+ };
522
+ }
523
+
524
+ if( app.schema_browser_data.fields[copy_dest].partial )
525
+ {
526
+ app.schema_browser_data.fields[copy_dest].copySources.push( field );
527
+ }
528
+ }
529
+
530
+ var copy_sources = app.schema_browser_data.fields[field].copySources;
531
+ for( var i in copy_sources )
532
+ {
533
+ var copy_source = copy_sources[i];
534
+ if( !app.schema_browser_data.fields[copy_source] )
535
+ {
536
+ app.schema_browser_data.fields[copy_source] = {
537
+ partial : true,
538
+ copyDests : []
539
+ };
540
+ }
541
+
542
+ if( app.schema_browser_data.fields[copy_source].partial )
543
+ {
544
+ app.schema_browser_data.fields[copy_source].copyDests.push( field );
545
+ }
546
+ }
547
+
548
+ app.schema_browser_data.relations.f_t[field] = app.schema_browser_data.fields[field].type;
549
+
550
+ if( !app.schema_browser_data.relations.t_f[app.schema_browser_data.fields[field].type] )
551
+ {
552
+ app.schema_browser_data.relations.t_f[app.schema_browser_data.fields[field].type] = [];
553
+ }
554
+ app.schema_browser_data.relations.t_f[app.schema_browser_data.fields[field].type].push( field );
555
+
556
+ if( app.schema_browser_data.fields[field].dynamicBase )
557
+ {
558
+ app.schema_browser_data.relations.f_df[field] = app.schema_browser_data.fields[field].dynamicBase;
559
+
560
+ if( !app.schema_browser_data.relations.df_f[app.schema_browser_data.fields[field].dynamicBase] )
561
+ {
562
+ app.schema_browser_data.relations.df_f[app.schema_browser_data.fields[field].dynamicBase] = [];
563
+ }
564
+ app.schema_browser_data.relations.df_f[app.schema_browser_data.fields[field].dynamicBase].push( field );
565
+ }
566
+ }
567
+
568
+ for( var dynamic_field in app.schema_browser_data.dynamic_fields )
569
+ {
570
+ app.schema_browser_data.relations.df_t[dynamic_field] = app.schema_browser_data.dynamic_fields[dynamic_field].type;
571
+
572
+ if( !app.schema_browser_data.relations.t_df[app.schema_browser_data.dynamic_fields[dynamic_field].type] )
573
+ {
574
+ app.schema_browser_data.relations.t_df[app.schema_browser_data.dynamic_fields[dynamic_field].type] = [];
575
+ }
576
+ app.schema_browser_data.relations.t_df[app.schema_browser_data.dynamic_fields[dynamic_field].type].push( dynamic_field );
577
+ }
578
+
579
+ $.get
580
+ (
581
+ 'tpl/schema-browser.html',
582
+ function( template )
583
+ {
584
+ content_element
585
+ .html( template );
586
+
587
+ var schema_browser_element = $( '#schema-browser', content_element );
588
+ var related_element = $( '#related', schema_browser_element );
589
+ var related_select_element = $( 'select', related_element );
590
+ var data_element = $( '#data', schema_browser_element );
591
+
592
+ var related_options = '';
593
+
594
+ var fields = [];
595
+ for( var field_name in app.schema_browser_data.fields )
596
+ {
597
+ fields.push
598
+ (
599
+ '<option value="?field=' + field_name.esc() + '">' + field_name.esc() + '</option>'
600
+ );
601
+ }
602
+ if( 0 !== fields.length )
603
+ {
604
+ fields.sort();
605
+ related_options += '<optgroup label="Fields">' + "\n";
606
+ related_options += fields.sort().join( "\n" ) + "\n";
607
+ related_options += '</optgroup>' + "\n";
608
+ }
609
+
610
+ var dynamic_fields = [];
611
+ for( var type_name in app.schema_browser_data.dynamic_fields )
612
+ {
613
+ dynamic_fields.push
614
+ (
615
+ '<option value="?dynamic-field=' + type_name.esc() + '">' + type_name.esc() + '</option>'
616
+ );
617
+ }
618
+ if( 0 !== dynamic_fields.length )
619
+ {
620
+ dynamic_fields.sort();
621
+ related_options += '<optgroup label="DynamicFields">' + "\n";
622
+ related_options += dynamic_fields.sort().join( "\n" ) + "\n";
623
+ related_options += '</optgroup>' + "\n";
624
+ }
625
+
626
+ var types = [];
627
+ for( var type_name in app.schema_browser_data.types )
628
+ {
629
+ types.push
630
+ (
631
+ '<option value="?type=' + type_name.esc() + '">' + type_name.esc() + '</option>'
632
+ );
633
+ }
634
+ if( 0 !== types.length )
635
+ {
636
+ types.sort();
637
+ related_options += '<optgroup label="Types">' + "\n";
638
+ related_options += types.sort().join( "\n" ) + "\n";
639
+ related_options += '</optgroup>' + "\n";
640
+ }
641
+
642
+ related_select_element
643
+ .attr( 'rel', app.core_menu.find( '.active a' ).attr( 'href' ) )
644
+ .append( related_options )
645
+ .chosen();
646
+
647
+ related_select_element
648
+ .die( 'change' )
649
+ .live
650
+ (
651
+ 'change',
652
+ function( event )
653
+ {
654
+ var select_element = $( this );
655
+ var option_element = $( 'option:selected', select_element );
656
+
657
+ location.href = select_element.attr( 'rel' ) + option_element.val();
658
+ return false;
659
+ }
660
+ );
661
+
662
+ params.schema_browser_element = schema_browser_element;
663
+ sammy.trigger
664
+ (
665
+ 'schema_browser_navi',
666
+ params
667
+ );
668
+ }
669
+ );
670
+ },
671
+ error : function( xhr, text_status, error_thrown)
672
+ {
673
+ },
674
+ complete : function( xhr, text_status )
675
+ {
676
+ }
677
+ }
678
+ );
679
+
680
+ },
681
+ error : function( xhr, text_status, error_thrown)
682
+ {
683
+ },
684
+ complete : function( xhr, text_status )
685
+ {
686
+ }
687
+ }
688
+ );
689
+ }
690
+ }
691
+ );
692
+
693
+ // #/:core/schema-browser
694
+ sammy.get
695
+ (
696
+ new RegExp( app.core_regex_base + '\\/(schema-browser)$' ),
697
+ function( context )
698
+ {
699
+ var core_basepath = this.active_core.attr( 'data-basepath' );
700
+ current_core = context.params.splat[0];
701
+
702
+ var trigger_params = {
703
+ active_core : this.active_core
704
+ };
705
+
706
+ var path = context.path.split( '?' );
707
+ if( path && path[1] )
708
+ {
709
+ var param = path[1].split( '=' );
710
+ trigger_params.route_params = {
711
+ path : '?' + path[1],
712
+ type : param[0],
713
+ value : param[1]
714
+ }
715
+
716
+ trigger_params.callback = function( schema_browser_data, data_element )
717
+ {
718
+ var field = trigger_params.route_params.value;
719
+
720
+ var type = trigger_params.route_params.type;
721
+ var is_f = 'field' === type;
722
+ var is_df = 'dynamic-field' === type;
723
+ var is_t = 'type' === type;
724
+
725
+ var options_element = $( '.options', data_element );
726
+ var sammy_basepath = context.path.indexOf( '/', context.path.indexOf( '/', 2 ) + 1 );
727
+
728
+ data_element
729
+ .show();
730
+
731
+ // -- head
732
+
733
+ var head_element = $( '.head', data_element );
734
+ if( is_f )
735
+ {
736
+ $( '.type', head_element ).html( 'Field' );
737
+ }
738
+ else if( is_df )
739
+ {
740
+ $( '.type', head_element ).html( 'Dynamic Field' );
741
+ }
742
+ else if( is_t )
743
+ {
744
+ $( '.type', head_element ).html( 'Type' );
745
+ }
746
+ $( '.name', head_element ).html( field.esc() );
747
+
748
+
749
+ var partial_state = false;
750
+ if( is_f )
751
+ {
752
+ partial_state = !!schema_browser_data.fields[field].partial;
753
+ }
754
+
755
+ $( '.partial', data_element )
756
+ .toggle( partial_state );
757
+
758
+ // -- docs
759
+ var docs_element = $( 'dt.docs', options_element );
760
+ if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].docs )
761
+ {
762
+ $( 'dd.docs', options_element )
763
+ .remove();
764
+
765
+ var target = '#/' + current_core + '/query?q=' + field.esc() + ':[* TO *]';
766
+ docs_element
767
+ .show()
768
+ .after(
769
+ '<dd class="docs">'+
770
+ '<a href="'+target+'">' + schema_browser_data.fields[field].docs + '</a>' +
771
+ '</dd>' );
772
+ }
773
+ else
774
+ {
775
+ $( '.docs', options_element )
776
+ .hide();
777
+ }
778
+
779
+ // -- distinct
780
+ var distinct_element = $( 'dt.distinct', options_element );
781
+ if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].distinct )
782
+ {
783
+ $( 'dd.distinct', options_element )
784
+ .remove();
785
+
786
+ distinct_element
787
+ .show()
788
+ .after( '<dd class="distinct">' + schema_browser_data.fields[field].distinct + '</dd>' );
789
+ }
790
+ else
791
+ {
792
+ $( '.distinct', options_element )
793
+ .hide();
794
+ }
795
+
796
+ // -- position-increment-gap
797
+ var pig_element = $( 'dt.position-increment-gap', options_element );
798
+ if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].positionIncrementGap )
799
+ {
800
+ $( 'dd.position-increment-gap', options_element )
801
+ .remove();
802
+
803
+ pig_element
804
+ .show()
805
+ .after( '<dd class="position-increment-gap">' + schema_browser_data.fields[field].positionIncrementGap + '</dd>' );
806
+ }
807
+ else
808
+ {
809
+ $( '.position-increment-gap', options_element )
810
+ .hide();
811
+ }
812
+
813
+ var similarity_element = $( 'dt.similarity', options_element );
814
+ if ( is_t && schema_browser_data.types[field] && schema_browser_data.types[field].similarity ) {
815
+ var similarity = schema_browser_data.types[field].similarity
816
+ if (similarity.details && similarity.className) {
817
+ $( 'dd.similarity', options_element ).remove();
818
+ similarity_element
819
+ .show()
820
+ .after(['<dd class="similarity">', similarity.details.esc(), ' (', similarity.className.esc(), ') </dd>'].join(""));
821
+ }
822
+ } else {
823
+ $( '.similarity', options_element ).hide();
824
+ }
825
+
826
+
827
+ // -- flags table
828
+ var flags_table = $( 'table.flags', data_element );
829
+
830
+ var flags_arr = [];
831
+ for( var key in schema_browser_data.key )
832
+ {
833
+ flags_arr.push( '<th data-key="' + key + '">' + schema_browser_data.key[key] + '</th>' );
834
+ }
835
+
836
+ $( 'thead tr', flags_table )
837
+ .append( flags_arr.join( "\n" ) );
838
+
839
+
840
+ var flags_body = $( 'tbody', flags_table );
841
+ flags_body.empty();
842
+
843
+ var generate_flags_row = function generate_flags_row( flags_str, title )
844
+ {
845
+ var flags_arr = [ '<th>' + title.esc() + '</th>' ];
846
+
847
+ if( 0 === flags_str.indexOf( '(' ) )
848
+ {
849
+ flags_arr.push( '<td colspan="2" class="text">' + flags_str + '</td>' );
850
+ }
851
+ else
852
+ {
853
+ var i = 0;
854
+ for( var key in schema_browser_data.key )
855
+ {
856
+ var flag_match = key === flags_str[i];
857
+
858
+ var flag_cell = '<td '
859
+ + ' data-key="' + key + '"'
860
+ + ' class="' + ( flag_match ? 'check' : '' ) + '"'
861
+ + '>'
862
+ + ( flag_match ? '<span>√</span>' : '&nbsp;' )
863
+ + '</td>';
864
+
865
+ flags_arr.push( flag_cell );
866
+ i++;
867
+ }
868
+ }
869
+
870
+ flags_body
871
+ .append( '<tr>' + flags_arr.join( "\n" ) + '</tr>' );
872
+ };
873
+
874
+ var flags = null;
875
+ if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].flags )
876
+ {
877
+ flags = schema_browser_data.fields[field].flags;
878
+ }
879
+ else if( is_df && schema_browser_data.dynamic_fields[field] && schema_browser_data.dynamic_fields[field].flags )
880
+ {
881
+ flags = schema_browser_data.dynamic_fields[field].flags;
882
+ }
883
+
884
+ if( flags )
885
+ {
886
+ generate_flags_row( flags, 'Properties' );
887
+ }
888
+
889
+ if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].schema )
890
+ {
891
+ generate_flags_row( schema_browser_data.fields[field].schema, 'Schema' );
892
+ }
893
+
894
+ if( is_f && schema_browser_data.fields[field] && schema_browser_data.fields[field].index )
895
+ {
896
+ generate_flags_row( schema_browser_data.fields[field].index, 'Index' );
897
+ }
898
+
899
+
900
+ if( 0 !== $( 'tr', flags_body ).size() )
901
+ {
902
+ var col_count = 0;
903
+ for( var key in schema_browser_data.key )
904
+ {
905
+ var cols = $( '[data-key="' + key + '"]', flags_table );
906
+
907
+ var col_used = 0 !== cols.filter( '.check' ).size();
908
+ col_count += col_used;
909
+
910
+ cols.toggle( col_used );
911
+ }
912
+
913
+ $( 'td[colspan]', flags_body )
914
+ .attr( 'colspan', col_count );
915
+
916
+ flags_table.show();
917
+ }
918
+ else
919
+ {
920
+ flags_table.hide();
921
+ }
922
+
923
+ var analyzer_element = $( '.analyzer', data_element );
924
+ var analyzer_data = null;
925
+
926
+ var analysis_link = false;
927
+ var analysis_link_elements = $( 'p a', analyzer_element );
928
+ var analysis_target = '#/' + current_core + '/analysis?';
929
+
930
+ if( is_f )
931
+ {
932
+ analyzer_data = schema_browser_data.types[schema_browser_data.relations.f_t[field]];
933
+
934
+ analysis_link = true;
935
+ analysis_target += 'analysis.fieldname=' + field;
936
+ }
937
+ else if( is_df )
938
+ {
939
+ analyzer_data = schema_browser_data.types[schema_browser_data.relations.df_t[field]];
940
+ }
941
+ else if( is_t )
942
+ {
943
+ analyzer_data = schema_browser_data.types[field];
944
+
945
+ analysis_link = true;
946
+ analysis_target += 'analysis.fieldtype=' + field;
947
+ }
948
+
949
+ if( analysis_link )
950
+ {
951
+ analysis_link_elements
952
+ .addClass( 'analysis' )
953
+ .attr( 'href', analysis_target );
954
+ }
955
+ else
956
+ {
957
+ analysis_link_elements
958
+ .removeClass( 'analysis' )
959
+ .removeAttr( 'href' );
960
+ }
961
+
962
+
963
+ if( analyzer_data )
964
+ {
965
+ var transform_analyzer_data_into_list = function( analyzer_data )
966
+ {
967
+ var args = [];
968
+ for( var key in analyzer_data.args )
969
+ {
970
+ var arg_class = '';
971
+ var arg_content = '';
972
+
973
+ if( 'true' === analyzer_data.args[key] || '1' === analyzer_data.args[key] )
974
+ {
975
+ arg_class = 'ico-1';
976
+ arg_content = key;
977
+ }
978
+ else if( 'false' === analyzer_data.args[key] || '0' === analyzer_data.args[key] )
979
+ {
980
+ arg_class = 'ico-0';
981
+ arg_content = key;
982
+ }
983
+ else
984
+ {
985
+ arg_content = key + ': ';
986
+
987
+ if( 'synonyms' === key || 'words' === key )
988
+ {
989
+ // @TODO: set link target for file
990
+ arg_content += '<a>' + analyzer_data.args[key] + '</a>';
991
+ }
992
+ else
993
+ {
994
+ arg_content += analyzer_data.args[key];
995
+ }
996
+ }
997
+
998
+ args.push( '<dd class="' + arg_class + '">' + arg_content + '</dd>' );
999
+ }
1000
+
1001
+ var list_content = '<dt>' + analyzer_data.className + '</dt>';
1002
+ if( 0 !== args.length )
1003
+ {
1004
+ args.sort();
1005
+ list_content += args.join( "\n" );
1006
+ }
1007
+
1008
+ return list_content;
1009
+ }
1010
+
1011
+ // -- field-type
1012
+ var field_type_element = $( 'dt.field-type', options_element );
1013
+
1014
+ $( 'dd.field-type', options_element )
1015
+ .remove();
1016
+
1017
+ field_type_element
1018
+ .show()
1019
+ .after( '<dd class="field-type">' + analyzer_data.className + '</dd>' );
1020
+
1021
+ $( '.toggle', analyzer_element )
1022
+ .die( 'click' )
1023
+ .live
1024
+ (
1025
+ 'click',
1026
+ function( event )
1027
+ {
1028
+ $( this ).closest( 'li' )
1029
+ .toggleClass( 'open' );
1030
+
1031
+ return false;
1032
+ }
1033
+ );
1034
+
1035
+ for( var key in analyzer_data )
1036
+ {
1037
+ var key_match = key.match( /^(.+)Analyzer$/ );
1038
+ if( !key_match )
1039
+ {
1040
+ continue;
1041
+ }
1042
+
1043
+ var analyzer_key_element = $( '.' + key_match[1], analyzer_element );
1044
+ var analyzer_key_data = analyzer_data[key];
1045
+
1046
+ analyzer_element.show();
1047
+ analyzer_key_element.show();
1048
+
1049
+ $( 'ul li', analyzer_key_element )
1050
+ .removeClass( 'data' )
1051
+ .hide();
1052
+
1053
+ for( var type in analyzer_key_data )
1054
+ {
1055
+ if( 'object' !== typeof analyzer_key_data[type] )
1056
+ {
1057
+ continue;
1058
+ }
1059
+
1060
+ var type_element = $( '.' + type, analyzer_key_element );
1061
+ var type_content = [];
1062
+
1063
+ type_element
1064
+ .addClass( 'data' )
1065
+ .show();
1066
+
1067
+ if( analyzer_key_data[type].className )
1068
+ {
1069
+ type_content.push( transform_analyzer_data_into_list( analyzer_key_data[type] ) );
1070
+ }
1071
+ else
1072
+ {
1073
+ for( var entry in analyzer_key_data[type] )
1074
+ {
1075
+ type_content.push( transform_analyzer_data_into_list( analyzer_key_data[type][entry] ) );
1076
+ }
1077
+ }
1078
+
1079
+ $( 'dl', type_element )
1080
+ .empty()
1081
+ .append( type_content.join( "\n" ) );
1082
+ }
1083
+
1084
+ var name_element = $( 'dl:first dt a', analyzer_key_element );
1085
+ if( analyzer_key_data.className )
1086
+ {
1087
+ name_element
1088
+ .html( analyzer_key_data.className );
1089
+ }
1090
+
1091
+ 0 === $( 'ul li.data', analyzer_key_element ).size()
1092
+ ? name_element.removeClass( 'toggle' )
1093
+ : name_element.addClass( 'toggle' );
1094
+ }
1095
+ }
1096
+
1097
+ var terminfo_element = $( '.terminfo-holder', data_element );
1098
+
1099
+ terminfo_element
1100
+ .removeClass( 'disabled' )
1101
+ .removeClass( 'loaded' );
1102
+
1103
+ var trigger_element = $( '.trigger button', terminfo_element );
1104
+ var form_element = $( 'form', terminfo_element );
1105
+
1106
+ trigger_element
1107
+ .die( 'click' )
1108
+ .live
1109
+ (
1110
+ 'click',
1111
+ function( event )
1112
+ {
1113
+ form_element
1114
+ .trigger( 'submit' );
1115
+
1116
+ return false;
1117
+ }
1118
+ );
1119
+
1120
+ form_element
1121
+ .clearForm()
1122
+ .die( 'submit' )
1123
+ .live
1124
+ (
1125
+ 'submit',
1126
+ function( event )
1127
+ {
1128
+ load_terminfo( trigger_element, core_basepath, field, data_element, terminfo_element );
1129
+
1130
+ terminfo_element
1131
+ .addClass( 'loaded' );
1132
+
1133
+ return false;
1134
+ }
1135
+ );
1136
+
1137
+ $( '.max-holder', terminfo_element )
1138
+ .die( 'click' )
1139
+ .live
1140
+ (
1141
+ 'click',
1142
+ function( event )
1143
+ {
1144
+ var element = $( this );
1145
+
1146
+ $( 'input', element.closest( 'form' ) )
1147
+ .val( $( '.max', element ).text() );
1148
+
1149
+ form_element
1150
+ .trigger( 'submit' );
1151
+
1152
+ return false;
1153
+ }
1154
+ );
1155
+
1156
+ $( '.trigger .autoload', terminfo_element )
1157
+ .die( 'click' )
1158
+ .live
1159
+ (
1160
+ 'click',
1161
+ function( event )
1162
+ {
1163
+ $.cookie( cookie_schema_browser_autoload, $.cookie( cookie_schema_browser_autoload ) ? null : true );
1164
+ $( this ).trigger( 'state' );
1165
+
1166
+ return false;
1167
+ }
1168
+ )
1169
+ .die( 'state' )
1170
+ .live
1171
+ (
1172
+ 'state',
1173
+ function( event )
1174
+ {
1175
+ $.cookie( cookie_schema_browser_autoload )
1176
+ ? $( this ).addClass( 'on' )
1177
+ : $( this ).removeClass( 'on' );
1178
+ }
1179
+ )
1180
+ .die( 'init' )
1181
+ .live
1182
+ (
1183
+ 'init',
1184
+ function( event )
1185
+ {
1186
+ if( !$.cookie( cookie_schema_browser_autoload ) )
1187
+ {
1188
+ return false;
1189
+ }
1190
+
1191
+ $( this ).trigger( 'state' );
1192
+ trigger_element.trigger( 'click' );
1193
+ }
1194
+ )
1195
+ .trigger( 'init' );
1196
+
1197
+ $( 'div[class$="-holder"]', terminfo_element )
1198
+ .hide();
1199
+
1200
+ if( !is_f )
1201
+ {
1202
+ terminfo_element
1203
+ .hide();
1204
+ }
1205
+ else
1206
+ {
1207
+ terminfo_element
1208
+ .show();
1209
+ }
1210
+ }
1211
+ }
1212
+ else
1213
+ {
1214
+ trigger_params.callback = function( schema_browser_data, data_element )
1215
+ {
1216
+ data_element
1217
+ .hide();
1218
+ };
1219
+ }
1220
+
1221
+ delete app.schema_browser_data;
1222
+
1223
+ sammy.trigger
1224
+ (
1225
+ 'schema_browser_load',
1226
+ trigger_params
1227
+ );
1228
+ }
1229
+ );