jruby-activemq 5.5.1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (302) hide show
  1. data/History.md +6 -0
  2. data/LICENSE +619 -0
  3. data/README.md +15 -0
  4. data/Rakefile +34 -0
  5. data/apache-activemq-5.5.1/LICENSE +619 -0
  6. data/apache-activemq-5.5.1/NOTICE +85 -0
  7. data/apache-activemq-5.5.1/README.txt +63 -0
  8. data/apache-activemq-5.5.1/WebConsole-README.txt +42 -0
  9. data/apache-activemq-5.5.1/activemq-all-5.5.1.jar +0 -0
  10. data/apache-activemq-5.5.1/bin/activemq +653 -0
  11. data/apache-activemq-5.5.1/bin/activemq-admin +155 -0
  12. data/apache-activemq-5.5.1/bin/linux-x86-32/activemq +543 -0
  13. data/apache-activemq-5.5.1/bin/linux-x86-32/libwrapper.so +0 -0
  14. data/apache-activemq-5.5.1/bin/linux-x86-32/wrapper +0 -0
  15. data/apache-activemq-5.5.1/bin/linux-x86-32/wrapper.conf +139 -0
  16. data/apache-activemq-5.5.1/bin/linux-x86-64/activemq +543 -0
  17. data/apache-activemq-5.5.1/bin/linux-x86-64/libwrapper.so +0 -0
  18. data/apache-activemq-5.5.1/bin/linux-x86-64/wrapper +0 -0
  19. data/apache-activemq-5.5.1/bin/linux-x86-64/wrapper.conf +139 -0
  20. data/apache-activemq-5.5.1/bin/macosx/activemq +537 -0
  21. data/apache-activemq-5.5.1/bin/macosx/libwrapper.jnilib +0 -0
  22. data/apache-activemq-5.5.1/bin/macosx/wrapper +0 -0
  23. data/apache-activemq-5.5.1/bin/macosx/wrapper.conf +139 -0
  24. data/apache-activemq-5.5.1/bin/run.jar +0 -0
  25. data/apache-activemq-5.5.1/bin/wrapper.jar +0 -0
  26. data/apache-activemq-5.5.1/conf/activemq-command.xml +52 -0
  27. data/apache-activemq-5.5.1/conf/activemq-demo.xml +289 -0
  28. data/apache-activemq-5.5.1/conf/activemq-dynamic-network-broker1.xml +108 -0
  29. data/apache-activemq-5.5.1/conf/activemq-dynamic-network-broker2.xml +109 -0
  30. data/apache-activemq-5.5.1/conf/activemq-jdbc.xml +98 -0
  31. data/apache-activemq-5.5.1/conf/activemq-scalability.xml +77 -0
  32. data/apache-activemq-5.5.1/conf/activemq-security.xml +132 -0
  33. data/apache-activemq-5.5.1/conf/activemq-specjms.xml +118 -0
  34. data/apache-activemq-5.5.1/conf/activemq-static-network-broker1.xml +100 -0
  35. data/apache-activemq-5.5.1/conf/activemq-static-network-broker2.xml +100 -0
  36. data/apache-activemq-5.5.1/conf/activemq-stomp.xml +133 -0
  37. data/apache-activemq-5.5.1/conf/activemq-throughput.xml +82 -0
  38. data/apache-activemq-5.5.1/conf/activemq.xml +136 -0
  39. data/apache-activemq-5.5.1/conf/broker-localhost.cert +0 -0
  40. data/apache-activemq-5.5.1/conf/broker.ks +0 -0
  41. data/apache-activemq-5.5.1/conf/broker.ts +0 -0
  42. data/apache-activemq-5.5.1/conf/camel.xml +66 -0
  43. data/apache-activemq-5.5.1/conf/client.ks +0 -0
  44. data/apache-activemq-5.5.1/conf/client.ts +0 -0
  45. data/apache-activemq-5.5.1/conf/credentials-enc.properties +22 -0
  46. data/apache-activemq-5.5.1/conf/credentials.properties +22 -0
  47. data/apache-activemq-5.5.1/conf/jetty-realm.properties +20 -0
  48. data/apache-activemq-5.5.1/conf/jetty.xml +112 -0
  49. data/apache-activemq-5.5.1/conf/jmx.access +18 -0
  50. data/apache-activemq-5.5.1/conf/jmx.password +18 -0
  51. data/apache-activemq-5.5.1/conf/log4j.properties +75 -0
  52. data/apache-activemq-5.5.1/conf/logging.properties +25 -0
  53. data/apache-activemq-5.5.1/data/activemq.log +0 -0
  54. data/apache-activemq-5.5.1/docs/index.html +22 -0
  55. data/apache-activemq-5.5.1/example/build.xml +317 -0
  56. data/apache-activemq-5.5.1/example/conf/activemq.xml +41 -0
  57. data/apache-activemq-5.5.1/example/conf/log4j.properties +39 -0
  58. data/apache-activemq-5.5.1/example/conf/resin-web.xml +35 -0
  59. data/apache-activemq-5.5.1/example/conf/web.xml +40 -0
  60. data/apache-activemq-5.5.1/example/perfharness/perfharness-activemq.sh +49 -0
  61. data/apache-activemq-5.5.1/example/ruby/README.txt +27 -0
  62. data/apache-activemq-5.5.1/example/ruby/catstomp.rb +49 -0
  63. data/apache-activemq-5.5.1/example/ruby/listener.rb +51 -0
  64. data/apache-activemq-5.5.1/example/ruby/publisher.rb +67 -0
  65. data/apache-activemq-5.5.1/example/ruby/stompcat.rb +50 -0
  66. data/apache-activemq-5.5.1/example/src/CommandLineSupport.java +120 -0
  67. data/apache-activemq-5.5.1/example/src/ConsumerTool.java +353 -0
  68. data/apache-activemq-5.5.1/example/src/EmbeddedBroker.java +41 -0
  69. data/apache-activemq-5.5.1/example/src/Log4jJMSAppenderExample.java +70 -0
  70. data/apache-activemq-5.5.1/example/src/ProducerAndConsumerTool.java +51 -0
  71. data/apache-activemq-5.5.1/example/src/ProducerTool.java +247 -0
  72. data/apache-activemq-5.5.1/example/src/RequesterTool.java +257 -0
  73. data/apache-activemq-5.5.1/example/src/StompExample.java +59 -0
  74. data/apache-activemq-5.5.1/example/src/TopicListener.java +118 -0
  75. data/apache-activemq-5.5.1/example/src/TopicPublisher.java +205 -0
  76. data/apache-activemq-5.5.1/example/src/jndi.properties +17 -0
  77. data/apache-activemq-5.5.1/example/src/log4j-jms.properties +31 -0
  78. data/apache-activemq-5.5.1/example/transactions/README.txt +40 -0
  79. data/apache-activemq-5.5.1/example/transactions/build.xml +113 -0
  80. data/apache-activemq-5.5.1/example/transactions/src/Retailer.java +107 -0
  81. data/apache-activemq-5.5.1/example/transactions/src/Supplier.java +135 -0
  82. data/apache-activemq-5.5.1/example/transactions/src/TransactionsDemo.java +47 -0
  83. data/apache-activemq-5.5.1/example/transactions/src/Vendor.java +302 -0
  84. data/apache-activemq-5.5.1/lib/a.sh +3 -0
  85. data/apache-activemq-5.5.1/lib/activation-1.1.jar +0 -0
  86. data/apache-activemq-5.5.1/lib/activemq-camel-5.5.1.jar +0 -0
  87. data/apache-activemq-5.5.1/lib/activemq-console-5.5.1.jar +0 -0
  88. data/apache-activemq-5.5.1/lib/activemq-core-5.5.1.jar +0 -0
  89. data/apache-activemq-5.5.1/lib/activemq-jaas-5.5.1.jar +0 -0
  90. data/apache-activemq-5.5.1/lib/activemq-protobuf-1.1.jar +0 -0
  91. data/apache-activemq-5.5.1/lib/activemq-rar.txt +20 -0
  92. data/apache-activemq-5.5.1/lib/activemq-web-5.5.1.jar +0 -0
  93. data/apache-activemq-5.5.1/lib/camel-core-2.7.0.jar +0 -0
  94. data/apache-activemq-5.5.1/lib/camel-jetty-2.7.0.jar +0 -0
  95. data/apache-activemq-5.5.1/lib/camel-jms-2.7.0.jar +0 -0
  96. data/apache-activemq-5.5.1/lib/camel-spring-2.7.0.jar +0 -0
  97. data/apache-activemq-5.5.1/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar +0 -0
  98. data/apache-activemq-5.5.1/lib/geronimo-jms_1.1_spec-1.1.1.jar +0 -0
  99. data/apache-activemq-5.5.1/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar +0 -0
  100. data/apache-activemq-5.5.1/lib/jaxb-api-2.1.jar +0 -0
  101. data/apache-activemq-5.5.1/lib/jaxb-impl-2.1.6.jar +0 -0
  102. data/apache-activemq-5.5.1/lib/jcl-over-slf4j-1.5.11.jar +0 -0
  103. data/apache-activemq-5.5.1/lib/kahadb-5.5.1.jar +0 -0
  104. data/apache-activemq-5.5.1/lib/optional/activeio-core-3.1.2.jar +0 -0
  105. data/apache-activemq-5.5.1/lib/optional/activemq-jmdns_1.0-5.5.1.jar +0 -0
  106. data/apache-activemq-5.5.1/lib/optional/activemq-optional-5.5.1.jar +0 -0
  107. data/apache-activemq-5.5.1/lib/optional/activemq-pool-5.5.1.jar +0 -0
  108. data/apache-activemq-5.5.1/lib/optional/activemq-spring-5.5.1.jar +0 -0
  109. data/apache-activemq-5.5.1/lib/optional/activemq-xmpp-5.5.1.jar +0 -0
  110. data/apache-activemq-5.5.1/lib/optional/commons-beanutils-1.6.1.jar +0 -0
  111. data/apache-activemq-5.5.1/lib/optional/commons-codec-1.2.jar +0 -0
  112. data/apache-activemq-5.5.1/lib/optional/commons-collections-3.2.1.jar +0 -0
  113. data/apache-activemq-5.5.1/lib/optional/commons-dbcp-1.2.2.jar +0 -0
  114. data/apache-activemq-5.5.1/lib/optional/commons-httpclient-3.1.jar +0 -0
  115. data/apache-activemq-5.5.1/lib/optional/commons-lang-2.4.jar +0 -0
  116. data/apache-activemq-5.5.1/lib/optional/commons-net-2.0.jar +0 -0
  117. data/apache-activemq-5.5.1/lib/optional/commons-pool-1.5.4.jar +0 -0
  118. data/apache-activemq-5.5.1/lib/optional/geronimo-j2ee-connector_1.5_spec-2.0.0.jar +0 -0
  119. data/apache-activemq-5.5.1/lib/optional/jasypt-1.7.jar +0 -0
  120. data/apache-activemq-5.5.1/lib/optional/jettison-1.2.jar +0 -0
  121. data/apache-activemq-5.5.1/lib/optional/josql-1.5.jar +0 -0
  122. data/apache-activemq-5.5.1/lib/optional/log4j-1.2.14.jar +0 -0
  123. data/apache-activemq-5.5.1/lib/optional/slf4j-log4j12-1.5.11.jar +0 -0
  124. data/apache-activemq-5.5.1/lib/optional/spring-aop-3.0.3.RELEASE.jar +0 -0
  125. data/apache-activemq-5.5.1/lib/optional/spring-asm-3.0.3.RELEASE.jar +0 -0
  126. data/apache-activemq-5.5.1/lib/optional/spring-beans-3.0.3.RELEASE.jar +0 -0
  127. data/apache-activemq-5.5.1/lib/optional/spring-context-3.0.3.RELEASE.jar +0 -0
  128. data/apache-activemq-5.5.1/lib/optional/spring-core-3.0.3.RELEASE.jar +0 -0
  129. data/apache-activemq-5.5.1/lib/optional/spring-expression-3.0.3.RELEASE.jar +0 -0
  130. data/apache-activemq-5.5.1/lib/optional/spring-jms-3.0.3.RELEASE.jar +0 -0
  131. data/apache-activemq-5.5.1/lib/optional/spring-oxm-tiger-1.5.8.jar +0 -0
  132. data/apache-activemq-5.5.1/lib/optional/spring-tx-3.0.3.RELEASE.jar +0 -0
  133. data/apache-activemq-5.5.1/lib/optional/stax2-api-3.0.1.jar +0 -0
  134. data/apache-activemq-5.5.1/lib/optional/velocity-1.6.2.jar +0 -0
  135. data/apache-activemq-5.5.1/lib/optional/woodstox-core-asl-4.0.7.jar +0 -0
  136. data/apache-activemq-5.5.1/lib/optional/xbean-spring-3.7.jar +0 -0
  137. data/apache-activemq-5.5.1/lib/optional/xpp3-1.1.4c.jar +0 -0
  138. data/apache-activemq-5.5.1/lib/optional/xstream-1.3.1.jar +0 -0
  139. data/apache-activemq-5.5.1/lib/slf4j-api-1.5.11.jar +0 -0
  140. data/apache-activemq-5.5.1/lib/stax-1.2.0.jar +0 -0
  141. data/apache-activemq-5.5.1/lib/stax-api-1.0.1.jar +0 -0
  142. data/apache-activemq-5.5.1/lib/web/commons-management-1.0.jar +0 -0
  143. data/apache-activemq-5.5.1/lib/web/core-3.1.1.jar +0 -0
  144. data/apache-activemq-5.5.1/lib/web/geronimo-servlet_2.5_spec-1.2.jar +0 -0
  145. data/apache-activemq-5.5.1/lib/web/jdom-1.0.jar +0 -0
  146. data/apache-activemq-5.5.1/lib/web/jetty-all-server-7.1.6.v20100715.jar +0 -0
  147. data/apache-activemq-5.5.1/lib/web/jetty-websocket-7.1.6.v20100715.jar +0 -0
  148. data/apache-activemq-5.5.1/lib/web/jsp-2.1-glassfish-2.1.v20100127.jar +0 -0
  149. data/apache-activemq-5.5.1/lib/web/jsp-api-2.1-glassfish-2.1.v20100127.jar +0 -0
  150. data/apache-activemq-5.5.1/lib/web/rome-0.8.jar +0 -0
  151. data/apache-activemq-5.5.1/lib/web/sitemesh-2.2.1.jar +0 -0
  152. data/apache-activemq-5.5.1/lib/web/spring-web-3.0.3.RELEASE.jar +0 -0
  153. data/apache-activemq-5.5.1/lib/web/spring-webmvc-3.0.3.RELEASE.jar +0 -0
  154. data/apache-activemq-5.5.1/user-guide.html +119 -0
  155. data/apache-activemq-5.5.1/webapps/admin/404.html +137 -0
  156. data/apache-activemq-5.5.1/webapps/admin/500.html +138 -0
  157. data/apache-activemq-5.5.1/webapps/admin/META-INF/LICENSE +1026 -0
  158. data/apache-activemq-5.5.1/webapps/admin/META-INF/NOTICE +107 -0
  159. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/WebConsoleStarter.class +0 -0
  160. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/CopyMessage.class +0 -0
  161. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/CreateDestination.class +0 -0
  162. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/CreateSubscriber.class +0 -0
  163. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteDestination.class +0 -0
  164. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteJob.class +0 -0
  165. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteMessage.class +0 -0
  166. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/DeleteSubscriber.class +0 -0
  167. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/MoveMessage.class +0 -0
  168. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/PurgeDestination.class +0 -0
  169. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/controller/SendMessage.class +0 -0
  170. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/filter/ApplicationContextFilter$1.class +0 -0
  171. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/filter/ApplicationContextFilter$2.class +0 -0
  172. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/filter/ApplicationContextFilter.class +0 -0
  173. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/classes/org/apache/activemq/web/handler/BindingBeanNameUrlHandlerMapping.class +0 -0
  174. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/decorators.xml +30 -0
  175. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/dispatcher-servlet.xml +62 -0
  176. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/jspf/headertags.jspf +21 -0
  177. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/jspf/old.jspf +21 -0
  178. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/checkbox.tag +18 -0
  179. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/forEachMapEntry.tag +29 -0
  180. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/option.tag +20 -0
  181. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/short.tag +29 -0
  182. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/text.tag +30 -0
  183. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/tooltip.tag +29 -0
  184. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/form/uri.tag +18 -0
  185. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/forEachConnection.tag +35 -0
  186. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/forEachMessage.tag +34 -0
  187. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/formatTimestamp.tag +29 -0
  188. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/tags/jms/persistent.tag +27 -0
  189. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/web.xml +187 -0
  190. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-default.xml +26 -0
  191. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-embedded.xml +45 -0
  192. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-invm.xml +41 -0
  193. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-jndi.xml +39 -0
  194. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-properties.xml +39 -0
  195. data/apache-activemq-5.5.1/webapps/admin/WEB-INF/webconsole-query.xml +25 -0
  196. data/apache-activemq-5.5.1/webapps/admin/browse.jsp +64 -0
  197. data/apache-activemq-5.5.1/webapps/admin/connection.jsp +138 -0
  198. data/apache-activemq-5.5.1/webapps/admin/connections.jsp +85 -0
  199. data/apache-activemq-5.5.1/webapps/admin/decorators/main.jsp +165 -0
  200. data/apache-activemq-5.5.1/webapps/admin/decorators/panel.jsp +31 -0
  201. data/apache-activemq-5.5.1/webapps/admin/decorators/printable.jsp +31 -0
  202. data/apache-activemq-5.5.1/webapps/admin/graph.jsp +67 -0
  203. data/apache-activemq-5.5.1/webapps/admin/images/activemq-logo.png +0 -0
  204. data/apache-activemq-5.5.1/webapps/admin/images/asf-logo.png +0 -0
  205. data/apache-activemq-5.5.1/webapps/admin/images/big-bullet.png +0 -0
  206. data/apache-activemq-5.5.1/webapps/admin/images/black-footer-bottom.png +0 -0
  207. data/apache-activemq-5.5.1/webapps/admin/images/black-footer-left.png +0 -0
  208. data/apache-activemq-5.5.1/webapps/admin/images/black-footer-right.png +0 -0
  209. data/apache-activemq-5.5.1/webapps/admin/images/bottom-red-bar.png +0 -0
  210. data/apache-activemq-5.5.1/webapps/admin/images/checker-bg.png +0 -0
  211. data/apache-activemq-5.5.1/webapps/admin/images/content-left.png +0 -0
  212. data/apache-activemq-5.5.1/webapps/admin/images/content-right.png +0 -0
  213. data/apache-activemq-5.5.1/webapps/admin/images/feed_atom.png +0 -0
  214. data/apache-activemq-5.5.1/webapps/admin/images/feed_rss.png +0 -0
  215. data/apache-activemq-5.5.1/webapps/admin/images/left-box-bottom.png +0 -0
  216. data/apache-activemq-5.5.1/webapps/admin/images/left-box-right.png +0 -0
  217. data/apache-activemq-5.5.1/webapps/admin/images/left-box-top.png +0 -0
  218. data/apache-activemq-5.5.1/webapps/admin/images/oval-arrow.png +0 -0
  219. data/apache-activemq-5.5.1/webapps/admin/images/right-box-bottom.png +0 -0
  220. data/apache-activemq-5.5.1/webapps/admin/images/right-box-left.png +0 -0
  221. data/apache-activemq-5.5.1/webapps/admin/images/right-box-top.png +0 -0
  222. data/apache-activemq-5.5.1/webapps/admin/images/small-bullet-gray.png +0 -0
  223. data/apache-activemq-5.5.1/webapps/admin/images/small-bullet-red.png +0 -0
  224. data/apache-activemq-5.5.1/webapps/admin/images/spacer.gif +0 -0
  225. data/apache-activemq-5.5.1/webapps/admin/images/top-red-bar.png +0 -0
  226. data/apache-activemq-5.5.1/webapps/admin/images/white-header-left.png +0 -0
  227. data/apache-activemq-5.5.1/webapps/admin/images/white-header-right.png +0 -0
  228. data/apache-activemq-5.5.1/webapps/admin/images/white-header-top.png +0 -0
  229. data/apache-activemq-5.5.1/webapps/admin/index.jsp +65 -0
  230. data/apache-activemq-5.5.1/webapps/admin/js/common.js +121 -0
  231. data/apache-activemq-5.5.1/webapps/admin/js/css.js +145 -0
  232. data/apache-activemq-5.5.1/webapps/admin/js/mochi/MochiKit.js +4804 -0
  233. data/apache-activemq-5.5.1/webapps/admin/js/mochi/__package__.js +14 -0
  234. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/Base.js +332 -0
  235. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/Canvas.js +707 -0
  236. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/Layout.js +588 -0
  237. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/SVG.js +677 -0
  238. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/SweetCanvas.js +281 -0
  239. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/SweetSVG.js +196 -0
  240. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/dummy.svg +15 -0
  241. data/apache-activemq-5.5.1/webapps/admin/js/plotkit/iecanvas.htc +389 -0
  242. data/apache-activemq-5.5.1/webapps/admin/js/prettify.js +1424 -0
  243. data/apache-activemq-5.5.1/webapps/admin/js/standardista-table-sorting.js +434 -0
  244. data/apache-activemq-5.5.1/webapps/admin/message.jsp +185 -0
  245. data/apache-activemq-5.5.1/webapps/admin/network.jsp +52 -0
  246. data/apache-activemq-5.5.1/webapps/admin/queueConsumers.jsp +79 -0
  247. data/apache-activemq-5.5.1/webapps/admin/queueGraph.jsp +68 -0
  248. data/apache-activemq-5.5.1/webapps/admin/queues.jsp +78 -0
  249. data/apache-activemq-5.5.1/webapps/admin/scheduled.jsp +67 -0
  250. data/apache-activemq-5.5.1/webapps/admin/send.jsp +173 -0
  251. data/apache-activemq-5.5.1/webapps/admin/styles/prettify.css +44 -0
  252. data/apache-activemq-5.5.1/webapps/admin/styles/site.css +206 -0
  253. data/apache-activemq-5.5.1/webapps/admin/styles/sorttable.css +70 -0
  254. data/apache-activemq-5.5.1/webapps/admin/styles/type-settings.css +177 -0
  255. data/apache-activemq-5.5.1/webapps/admin/subscribers.jsp +158 -0
  256. data/apache-activemq-5.5.1/webapps/admin/test/dummy.jsp +52 -0
  257. data/apache-activemq-5.5.1/webapps/admin/test/index.jsp +84 -0
  258. data/apache-activemq-5.5.1/webapps/admin/test/systemProperties.jsp +53 -0
  259. data/apache-activemq-5.5.1/webapps/admin/topics.jsp +66 -0
  260. data/apache-activemq-5.5.1/webapps/admin/xml/queues.jsp +34 -0
  261. data/apache-activemq-5.5.1/webapps/admin/xml/topics.jsp +29 -0
  262. data/apache-activemq-5.5.1/webapps/demo/META-INF/LICENSE +494 -0
  263. data/apache-activemq-5.5.1/webapps/demo/META-INF/NOTICE +82 -0
  264. data/apache-activemq-5.5.1/webapps/demo/WEB-INF/web.xml +111 -0
  265. data/apache-activemq-5.5.1/webapps/demo/chat.css +76 -0
  266. data/apache-activemq-5.5.1/webapps/demo/chat.html +219 -0
  267. data/apache-activemq-5.5.1/webapps/demo/index.html +181 -0
  268. data/apache-activemq-5.5.1/webapps/demo/js/amq.js +307 -0
  269. data/apache-activemq-5.5.1/webapps/demo/js/amq_dojo_adapter.js +84 -0
  270. data/apache-activemq-5.5.1/webapps/demo/js/amq_jquery_adapter.js +88 -0
  271. data/apache-activemq-5.5.1/webapps/demo/js/amq_prototype_adapter.js +84 -0
  272. data/apache-activemq-5.5.1/webapps/demo/js/chat.js +209 -0
  273. data/apache-activemq-5.5.1/webapps/demo/js/dojo.js +16 -0
  274. data/apache-activemq-5.5.1/webapps/demo/js/jquery-1.4.2.min.js +154 -0
  275. data/apache-activemq-5.5.1/webapps/demo/js/prototype.js +4874 -0
  276. data/apache-activemq-5.5.1/webapps/demo/portfolio/portfolio.html +87 -0
  277. data/apache-activemq-5.5.1/webapps/demo/portfolio/portfolio.js +91 -0
  278. data/apache-activemq-5.5.1/webapps/demo/sandbox/index.html +31 -0
  279. data/apache-activemq-5.5.1/webapps/demo/sandbox/portfolio.html +93 -0
  280. data/apache-activemq-5.5.1/webapps/demo/sandbox/portfolio.js +49 -0
  281. data/apache-activemq-5.5.1/webapps/demo/sandbox/util.js +52 -0
  282. data/apache-activemq-5.5.1/webapps/demo/sandbox/webmq.js +149 -0
  283. data/apache-activemq-5.5.1/webapps/demo/send.html +51 -0
  284. data/apache-activemq-5.5.1/webapps/demo/style.css +440 -0
  285. data/apache-activemq-5.5.1/webapps/demo/test/amq_test.html +311 -0
  286. data/apache-activemq-5.5.1/webapps/demo/test/assets/README +4 -0
  287. data/apache-activemq-5.5.1/webapps/demo/test/assets/jsunittest.js +1017 -0
  288. data/apache-activemq-5.5.1/webapps/demo/test/assets/unittest.css +54 -0
  289. data/apache-activemq-5.5.1/webapps/favicon.ico +0 -0
  290. data/apache-activemq-5.5.1/webapps/fileserver/META-INF/LICENSE +203 -0
  291. data/apache-activemq-5.5.1/webapps/fileserver/META-INF/NOTICE +5 -0
  292. data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/FilenameGuardFilter$GuardedHttpServletRequest.class +0 -0
  293. data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/FilenameGuardFilter.class +0 -0
  294. data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/IOHelper.class +0 -0
  295. data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/classes/org/apache/activemq/util/RestFilter.class +0 -0
  296. data/apache-activemq-5.5.1/webapps/fileserver/WEB-INF/web.xml +56 -0
  297. data/apache-activemq-5.5.1/webapps/fileserver/index.html +30 -0
  298. data/apache-activemq-5.5.1/webapps/index.html +145 -0
  299. data/apache-activemq-5.5.1/webapps/styles/site.css +206 -0
  300. data/apache-activemq-5.5.1/webapps/styles/type-settings.css +177 -0
  301. data/lib/activemq.rb +11 -0
  302. metadata +382 -0
@@ -0,0 +1,677 @@
1
+ /*
2
+ PlotKit SVG
3
+ ===========
4
+ SVG Renderer for PlotKit
5
+
6
+ Copyright
7
+ ---------
8
+ Copyright 2005,2006 (c) Alastair Tse <alastair^liquidx.net>
9
+ For use under the BSD license. <http://www.liquidx.net/plotkit>
10
+ */
11
+
12
+ // -------------------------------------------------------------------------
13
+ // NOTES: - If you use XHTML1.1 strict, then you must include each MochiKit
14
+ // file individuall.
15
+ // - For IE support, you must include the AdobeSVG object hack.
16
+ // See tests/svg.html for details.
17
+ // -------------------------------------------------------------------------
18
+ // -------------------------------------------------------------------------
19
+ // Check required components
20
+ // -------------------------------------------------------------------------
21
+
22
+ try {
23
+ if (typeof(PlotKit.Layout) == 'undefined')
24
+ {
25
+ throw "";
26
+ }
27
+ }
28
+ catch (e) {
29
+ throw "PlotKit depends on MochiKit.{Base,Color,DOM,Format} and PlotKit.Layout"
30
+ }
31
+
32
+
33
+ // ---------------------------------------------------------------------------
34
+ // SVG Renderer
35
+ // ---------------------------------------------------------------------------
36
+
37
+ PlotKit.SVGRenderer = function(element, layout, options) {
38
+ if (arguments.length > 0)
39
+ this.__init__(element, layout, options);
40
+ };
41
+
42
+ PlotKit.SVGRenderer.NAME = "PlotKit.SVGRenderer";
43
+ PlotKit.SVGRenderer.VERSION = PlotKit.VERSION;
44
+
45
+ PlotKit.SVGRenderer.__repr__ = function() {
46
+ return "[" + this.NAME + " " + this.VERSION + "]";
47
+ };
48
+
49
+ PlotKit.SVGRenderer.toString = function() {
50
+ return this.__repr__();
51
+ }
52
+
53
+ PlotKit.SVGRenderer.isSupported = function() {
54
+ // TODO
55
+ return true;
56
+ };
57
+
58
+ PlotKit.SVGRenderer.prototype.__init__ = function(element, layout, options) {
59
+ var isNil = MochiKit.Base.isUndefinedOrNull;
60
+
61
+ // default options
62
+ this.options = {
63
+ "drawBackground": true,
64
+ "backgroundColor": Color.whiteColor(),
65
+ "padding": {left: 30, right: 30, top: 5, bottom: 10},
66
+ "colorScheme": PlotKit.Base.palette(PlotKit.Base.baseColors()[1]),
67
+ "strokeColor": Color.whiteColor(),
68
+ "strokeColorTransform": "asStrokeColor",
69
+ "strokeWidth": 0.5,
70
+ "shouldFill": true,
71
+ "shouldStroke": true,
72
+ "drawXAxis": true,
73
+ "drawYAxis": true,
74
+ "axisLineColor": Color.blackColor(),
75
+ "axisLineWidth": 0.5,
76
+ "axisTickSize": 3,
77
+ "axisLabelColor": Color.blackColor(),
78
+ "axisLabelFont": "Arial",
79
+ "axisLabelFontSize": 9,
80
+ "axisLabelWidth": 50,
81
+ "axisLabelUseDiv": true,
82
+ "pieRadius": 0.4,
83
+ "enableEvents": true
84
+ };
85
+
86
+ MochiKit.Base.update(this.options, options ? options : {});
87
+ this.layout = layout;
88
+ this.style = layout.style;
89
+ this.element = MochiKit.DOM.getElement(element);
90
+ this.container = this.element.parentNode;
91
+ this.height = parseInt(this.element.getAttribute("height"));
92
+ this.width = parseInt(this.element.getAttribute("width"));
93
+ this.document = document;
94
+ this.root = this.element;
95
+
96
+ // Adobe SVG Support:
97
+ // - if an exception is thrown, then no Adobe SVG Plugin support.
98
+ try {
99
+ this.document = this.element.getSVGDocument();
100
+ this.root = isNil(this.document.documentElement) ? this.element : this.document.documentElement;
101
+ }
102
+ catch (e) {
103
+ }
104
+
105
+ this.element.style.zIndex = 1;
106
+
107
+ if (isNil(this.element))
108
+ throw "SVGRenderer() - passed SVG object is not found";
109
+
110
+ if (isNil(this.container) || this.container.nodeName.toLowerCase() != "div")
111
+ throw "SVGRenderer() - No DIV's around the SVG.";
112
+
113
+ // internal state
114
+ this.xlabels = new Array();
115
+ this.ylabels = new Array();
116
+
117
+ // initialise some meta structures in SVG
118
+ this.defs = this.createSVGElement("defs");
119
+
120
+ this.area = {
121
+ x: this.options.padding.left,
122
+ y: this.options.padding.top,
123
+ w: this.width - this.options.padding.left - this.options.padding.right,
124
+ h: this.height - this.options.padding.top - this.options.padding.bottom
125
+ };
126
+
127
+ MochiKit.DOM.updateNodeAttributes(this.container,
128
+ {"style":{ "position": "relative", "width": this.width + "px"}});
129
+
130
+
131
+ };
132
+
133
+
134
+ PlotKit.SVGRenderer.prototype.render = function() {
135
+ if (this.options.drawBackground)
136
+ this._renderBackground();
137
+
138
+ if (this.style == "bar") {
139
+ this._renderBarChart();
140
+ this._renderBarAxis();
141
+ }
142
+ else if (this.style == "pie") {
143
+ this._renderPieChart();
144
+ this._renderPieAxis();
145
+ }
146
+ else if (this.style == "line") {
147
+ this._renderLineChart();
148
+ this._renderLineAxis();
149
+ }
150
+ };
151
+
152
+ PlotKit.SVGRenderer.prototype._renderBarOrLine = function(data, plotFunc, startFunc, endFunc) {
153
+
154
+ var colorCount = this.options.colorScheme.length;
155
+ var colorScheme = this.options.colorScheme;
156
+ var setNames = MochiKit.Base.keys(this.layout.datasets);
157
+ var setCount = setNames.length;
158
+
159
+ for (var i = 0; i < setCount; i++) {
160
+ var setName = setNames[i];
161
+ var attrs = new Array();
162
+ var color = colorScheme[i%colorCount];
163
+
164
+ if (this.options.shouldFill)
165
+ attrs["fill"] = color.toRGBString();
166
+ else
167
+ attrs["fill"] = "none";
168
+
169
+ if (this.options.shouldStroke &&
170
+ (this.options.strokeColor || this.options.strokeColorTransform)) {
171
+ if (this.options.strokeColor)
172
+ attrs["stroke"] = this.options.strokeColor.toRGBString();
173
+ else if (this.options.strokeColorTransform)
174
+ attrs["stroke"] = color[this.options.strokeColorTransform]().toRGBString();
175
+ attrs["strokeWidth"] = this.options.strokeWidth;
176
+ }
177
+
178
+ if (startFunc)
179
+ startFunc(attrs);
180
+
181
+ var forEachFunc = function(obj) {
182
+ if (obj.name == setName)
183
+ plotFunc(attrs, obj);
184
+ };
185
+
186
+ MochiKit.Iter.forEach(data, bind(forEachFunc, this));
187
+ if (endFunc)
188
+ endFunc(attrs);
189
+ }
190
+ };
191
+
192
+ PlotKit.SVGRenderer.prototype._renderBarChart = function() {
193
+ var bind = MochiKit.Base.bind;
194
+
195
+ var drawRect = function(attrs, bar) {
196
+ var x = this.area.w * bar.x + this.area.x;
197
+ var y = this.area.h * bar.y + this.area.y;
198
+ var w = this.area.w * bar.w;
199
+ var h = this.area.h * bar.h;
200
+ this._drawRect(x, y, w, h, attrs);
201
+ };
202
+ this._renderBarOrLine(this.layout.bars, bind(drawRect, this));
203
+ };
204
+
205
+ PlotKit.SVGRenderer.prototype._renderLineChart = function() {
206
+ var bind = MochiKit.Base.bind;
207
+
208
+ var addPoint = function(attrs, point) {
209
+ this._tempPointsBuffer += (this.area.w * point.x + this.area.x) + "," +
210
+ (this.area.h * point.y + this.area.y) + " ";
211
+ };
212
+
213
+ var startLine = function(attrs) {
214
+ this._tempPointsBuffer = "";
215
+ this._tempPointsBuffer += (this.area.x) + "," + (this.area.y+this.area.h) + " ";
216
+ };
217
+
218
+ var endLine = function(attrs) {
219
+ this._tempPointsBuffer += (this.area.w + this.area.x) + "," +(this.area.h + this.area.y);
220
+ attrs["points"] = this._tempPointsBuffer;
221
+ var elem = this.createSVGElement("polygon", attrs);
222
+ this.root.appendChild(elem);
223
+ };
224
+
225
+ this._renderBarOrLine(this.layout.points,
226
+ bind(addPoint, this),
227
+ bind(startLine, this),
228
+ bind(endLine, this));
229
+ };
230
+
231
+
232
+ PlotKit.SVGRenderer.prototype._renderPieChart = function() {
233
+ var colorCount = this.options.colorScheme.length;
234
+ var slices = this.layout.slices;
235
+
236
+ var centerx = this.area.x + this.area.w * 0.5;
237
+ var centery = this.area.y + this.area.h * 0.5;
238
+ var radius = Math.min(this.area.w * this.options.pieRadius,
239
+ this.area.h * this.options.pieRadius);
240
+
241
+ // NOTE NOTE!! Canvas Tag draws the circle clockwise from the y = 0, x = 1
242
+ // so we have to subtract 90 degrees to make it start at y = 1, x = 0
243
+
244
+ // workaround if we only have 1 slice of 100%
245
+ if (slices.length == 1 && (Math.abs(slices[0].startAngle) - Math.abs(slices[0].endAngle) < 0.1)) {
246
+ var attrs = {"cx": centerx , "cy": centery , "r": radius };
247
+ var color = this.options.colorScheme[0];
248
+ if (this.options.shouldFill)
249
+ attrs["fill"] = color.toRGBString();
250
+ else
251
+ attrs["fill"] = "none";
252
+
253
+ if (this.options.shouldStroke &&
254
+ (this.options.strokeColor || this.options.strokeColorTransform)) {
255
+ if (this.options.strokeColor)
256
+ attrs["stroke"] = this.options.strokeColor.toRGBString();
257
+ else if (this.options.strokeColorTransform)
258
+ attrs["stroke"] = color[this.options.strokeColorTransform]().toRGBString();
259
+ attrs["style"] = "stroke-width: " + this.options.strokeWidth;
260
+ }
261
+
262
+ this.root.appendChild(this.createSVGElement("circle", attrs));
263
+ return;
264
+ }
265
+
266
+ for (var i = 0; i < slices.length; i++) {
267
+ var attrs = new Array();
268
+ var color = this.options.colorScheme[i%colorCount];
269
+ if (this.options.shouldFill)
270
+ attrs["fill"] = color.toRGBString();
271
+ else
272
+ attrs["fill"] = "none";
273
+
274
+ if (this.options.shouldStroke &&
275
+ (this.options.strokeColor || this.options.strokeColorTransform)) {
276
+ if (this.options.strokeColor)
277
+ attrs["stroke"] = this.options.strokeColor.toRGBString();
278
+ else if (this.options.strokeColorTransform)
279
+ attrs["stroke"] = color[this.options.strokeColorTransform]().toRGBString();
280
+ attrs["style"] = "stroke-width:" + this.options.strokeWidth;
281
+ }
282
+
283
+ var largearc = 0;
284
+ if (Math.abs(slices[i].endAngle - slices[i].startAngle) > Math.PI)
285
+ largearc = 1;
286
+ var x1 = Math.cos(slices[i].startAngle - Math.PI/2) * radius;
287
+ var y1 = Math.sin(slices[i].startAngle - Math.PI/2) * radius;
288
+ var x2 = Math.cos(slices[i].endAngle - Math.PI/2) * radius;
289
+ var y2 = Math.sin(slices[i].endAngle - Math.PI/2) * radius;
290
+ var rx = x2 - x1;
291
+ var ry = y2 - y1;
292
+
293
+ var pathString = "M" + centerx + "," + centery + " ";
294
+ pathString += "l" + x1 + "," + y1 + " ";
295
+ pathString += "a" + radius + "," + radius + " 0 " + largearc + ",1 " + rx + "," + ry + " z";
296
+
297
+ attrs["d"] = pathString;
298
+
299
+ var elem = this.createSVGElement("path", attrs);
300
+ this.root.appendChild(elem);
301
+ }
302
+ };
303
+
304
+ PlotKit.SVGRenderer.prototype._renderBarAxis = function() {
305
+ this._renderAxis();
306
+ }
307
+
308
+ PlotKit.SVGRenderer.prototype._renderLineAxis = function() {
309
+ this._renderAxis();
310
+ };
311
+
312
+
313
+ PlotKit.SVGRenderer.prototype._renderAxis = function() {
314
+
315
+ if (!this.options.drawXAxis && !this.options.drawYAxis)
316
+ return;
317
+
318
+ var labelStyle = {"style":
319
+ {"position": "absolute",
320
+ "textAlign": "center",
321
+ "fontSize": this.options.axisLabelFontSize + "px",
322
+ "zIndex": 10,
323
+ "color": this.options.axisLabelColor.toRGBString(),
324
+ "width": this.options.axisLabelWidth + "px",
325
+ "overflow": "hidden"
326
+ }
327
+ };
328
+
329
+ // axis lines
330
+ var lineAttrs = {
331
+ "stroke": this.options.axisLineColor.toRGBString(),
332
+ "strokeWidth": this.options.axisLineWidth
333
+ };
334
+
335
+
336
+ if (this.options.drawYAxis) {
337
+ if (this.layout.yticks) {
338
+ var drawTick = function(tick) {
339
+ var x = this.area.x;
340
+ var y = this.area.y + tick[0] * this.area.h;
341
+ this._drawLine(x, y, x - 3, y, lineAttrs);
342
+
343
+ if (this.options.axisLabelUseDiv) {
344
+ var label = DIV(labelStyle, tick[1]);
345
+ label.style.top = (y - this.options.axisLabelFontSize) + "px";
346
+ label.style.left = (x - this.options.padding.left + this.options.axisTickSize) + "px";
347
+ label.style.textAlign = "left";
348
+ label.style.width = (this.options.padding.left - 3) + "px";
349
+ MochiKit.DOM.appendChildNodes(this.container, label);
350
+ this.ylabels.push(label);
351
+ }
352
+ else {
353
+ var attrs = {
354
+ y: y + 3,
355
+ x: (x - this.options.padding.left + 3),
356
+ width: (this.options.padding.left - this.options.axisTickSize) + "px",
357
+ height: (this.options.axisLabelFontSize + 3) + "px",
358
+ fontFamily: "Arial",
359
+ fontSize: this.options.axisLabelFontSize + "px",
360
+ fill: this.options.axisLabelColor.toRGBString()
361
+ };
362
+
363
+ /* we can do clipping just like DIVs
364
+ http://www.xml.com/pub/a/2004/06/02/svgtype.html */
365
+ /*
366
+ var mask = this.createSVGElement("mask", {id: "mask" + tick[0]});
367
+ var maskShape = this.createSVGElement("rect",
368
+ {y: y + 3,
369
+ x: (x - this.options.padding.left + 3),
370
+ width: (this.options.padding.left - this.options.axisTickSize) + "px",
371
+ height: (this.options.axisLabelFontSize + 3) + "px",
372
+ style: {"fill": "#ffffff", "stroke": "#000000"}});
373
+ mask.appendChild(maskShape);
374
+ this.defs.appendChild(mask);
375
+
376
+ attrs["filter"] = "url(#mask" + tick[0] + ")";
377
+ */
378
+
379
+ var label = this.createSVGElement("text", attrs);
380
+ label.appendChild(this.document.createTextNode(tick[1]));
381
+ this.root.appendChild(label);
382
+ }
383
+ };
384
+
385
+ MochiKit.Iter.forEach(this.layout.yticks, bind(drawTick, this));
386
+ }
387
+
388
+ this._drawLine(this.area.x, this.area.y, this.area.x, this.area.y + this.area.h, lineAttrs);
389
+ }
390
+
391
+ if (this.options.drawXAxis) {
392
+ if (this.layout.xticks) {
393
+ var drawTick = function(tick) {
394
+ var x = this.area.x + tick[0] * this.area.w;
395
+ var y = this.area.y + this.area.h;
396
+ this._drawLine(x, y, x, y + this.options.axisTickSize, lineAttrs);
397
+
398
+ if (this.options.axisLabelUseDiv) {
399
+ var label = DIV(labelStyle, tick[1]);
400
+ label.style.top = (y + this.options.axisTickSize) + "px";
401
+ label.style.left = (x - this.options.axisLabelWidth/2) + "px";
402
+ label.style.textAlign = "center";
403
+ label.style.width = this.options.axisLabelWidth + "px";
404
+ MochiKit.DOM.appendChildNodes(this.container, label);
405
+ this.xlabels.push(label);
406
+ }
407
+ else {
408
+ var attrs = {
409
+ y: (y + this.options.axisTickSize + this.options.axisLabelFontSize),
410
+ x: x - 3,
411
+ width: this.options.axisLabelWidth + "px",
412
+ height: (this.options.axisLabelFontSize + 3) + "px",
413
+ fontFamily: "Arial",
414
+ fontSize: this.options.axisLabelFontSize + "px",
415
+ fill: this.options.axisLabelColor.toRGBString(),
416
+ textAnchor: "middle"
417
+ };
418
+ var label = this.createSVGElement("text", attrs);
419
+ label.appendChild(this.document.createTextNode(tick[1]));
420
+ this.root.appendChild(label);
421
+ }
422
+ };
423
+
424
+ MochiKit.Iter.forEach(this.layout.xticks, bind(drawTick, this));
425
+ }
426
+
427
+ this._drawLine(this.area.x, this.area.y + this.area.h, this.area.x + this.area.w, this.area.y + this.area.h, lineAttrs)
428
+ }
429
+ };
430
+
431
+ PlotKit.SVGRenderer.prototype._renderPieAxis = function() {
432
+
433
+ if (this.layout.xticks) {
434
+ // make a lookup dict for x->slice values
435
+ var lookup = new Array();
436
+ for (var i = 0; i < this.layout.slices.length; i++) {
437
+ lookup[this.layout.slices[i].xval] = this.layout.slices[i];
438
+ }
439
+
440
+ var centerx = this.area.x + this.area.w * 0.5;
441
+ var centery = this.area.y + this.area.h * 0.5;
442
+ var radius = Math.min(this.area.w * this.options.pieRadius + 10,
443
+ this.area.h * this.options.pieRadius + 10);
444
+ var labelWidth = this.options.axisLabelWidth;
445
+
446
+ for (var i = 0; i < this.layout.xticks.length; i++) {
447
+ var slice = lookup[this.layout.xticks[i][0]];
448
+ if (MochiKit.Base.isUndefinedOrNull(slice))
449
+ continue;
450
+
451
+
452
+ var angle = (slice.startAngle + slice.endAngle)/2;
453
+ // normalize the angle
454
+ var normalisedAngle = angle;
455
+ if (normalisedAngle > Math.PI * 2)
456
+ normalisedAngle = normalisedAngle - Math.PI * 2;
457
+ else if (normalisedAngle < 0)
458
+ normalisedAngle = normalisedAngle + Math.PI * 2;
459
+
460
+ var labelx = centerx + Math.sin(normalisedAngle) * (radius + 10);
461
+ var labely = centery - Math.cos(normalisedAngle) * (radius + 10);
462
+
463
+ var attrib = {
464
+ "position": "absolute",
465
+ "zIndex": 11,
466
+ "width": labelWidth + "px",
467
+ "fontSize": this.options.axisLabelFontSize + "px",
468
+ "overflow": "hidden",
469
+ "color": this.options.axisLabelColor.toHexString()
470
+ };
471
+
472
+ var svgattrib = {
473
+ "width": labelWidth + "px",
474
+ "fontSize": this.options.axisLabelFontSize + "px",
475
+ "height": (this.options.axisLabelFontSize + 3) + "px",
476
+ "fill": this.options.axisLabelColor.toRGBString()
477
+ };
478
+
479
+ if (normalisedAngle <= Math.PI * 0.5) {
480
+ // text on top and align left
481
+ MochiKit.Base.update(attrib, {
482
+ 'textAlign': 'left', 'verticalAlign': 'top',
483
+ 'left': labelx + 'px',
484
+ 'top': (labely - this.options.axisLabelFontSize) + "px"
485
+ });
486
+ MochiKit.Base.update(svgattrib, {
487
+ "x": labelx,
488
+ "y" :(labely - this.options.axisLabelFontSize),
489
+ "textAnchor": "left"
490
+ });
491
+ }
492
+ else if ((normalisedAngle > Math.PI * 0.5) && (normalisedAngle <= Math.PI)) {
493
+ // text on bottom and align left
494
+ MochiKit.Base.update(attrib, {
495
+ 'textAlign': 'left', 'verticalAlign': 'bottom',
496
+ 'left': labelx + 'px',
497
+ 'top': labely + "px"
498
+ });
499
+ MochiKit.Base.update(svgattrib, {
500
+ 'textAnchor': 'left',
501
+ 'x': labelx,
502
+ 'y': labely
503
+ });
504
+ }
505
+ else if ((normalisedAngle > Math.PI) && (normalisedAngle <= Math.PI*1.5)) {
506
+ // text on bottom and align right
507
+ MochiKit.Base.update(attrib, {
508
+ 'textAlign': 'right', 'verticalAlign': 'bottom',
509
+ 'left': labelx + 'px',
510
+ 'top': labely + "px"
511
+ });
512
+ MochiKit.Base.update(svgattrib, {
513
+ 'textAnchor': 'right',
514
+ 'x': labelx - labelWidth,
515
+ 'y': labely
516
+ });
517
+ }
518
+ else {
519
+ // text on top and align right
520
+ MochiKit.Base.update(attrib, {
521
+ 'textAlign': 'left', 'verticalAlign': 'bottom',
522
+ 'left': labelx + 'px',
523
+ 'top': labely + "px"
524
+ });
525
+ MochiKit.Base.update(svgattrib, {
526
+ 'textAnchor': 'left',
527
+ 'x': labelx - labelWidth,
528
+ 'y': labely - this.options.axisLabelFontSize
529
+ });
530
+ }
531
+
532
+ if (this.options.axisLabelUseDiv) {
533
+ var label = DIV({'style': attrib}, this.layout.xticks[i][1]);
534
+ this.xlabels.push(label);
535
+ MochiKit.DOM.appendChildNodes(this.container, label);
536
+ }
537
+ else {
538
+ var label = this.createSVGElement("text", svgattrib);
539
+ label.appendChild(this.document.createTextNode(this.layout.xticks[i][1]))
540
+ this.root.appendChild(label);
541
+ }
542
+ }
543
+
544
+ }
545
+ };
546
+
547
+ PlotKit.SVGRenderer.prototype._renderBackground = function() {
548
+ var opts = {"stroke": "none",
549
+ "fill": this.options.backgroundColor.toRGBString()
550
+ };
551
+ this._drawRect(0, 0, this.width, this.height, opts);
552
+ };
553
+
554
+ PlotKit.SVGRenderer.prototype._drawRect = function(x, y, w, h, moreattrs) {
555
+ var attrs = {x: x + "px", y: y + "px", width: w + "px", height: h + "px"};
556
+ if (moreattrs)
557
+ MochiKit.Base.update(attrs, moreattrs);
558
+
559
+ var elem = this.createSVGElement("rect", attrs);
560
+ this.root.appendChild(elem);
561
+ };
562
+
563
+ PlotKit.SVGRenderer.prototype._drawLine = function(x1, y1, x2, y2, moreattrs) {
564
+ var attrs = {x1: x1 + "px", y1: y1 + "px", x2: x2 + "px", y2: y2 + "px"};
565
+ if (moreattrs)
566
+ MochiKit.Base.update(attrs, moreattrs);
567
+
568
+ var elem = this.createSVGElement("line", attrs);
569
+ this.root.appendChild(elem);
570
+ }
571
+
572
+ PlotKit.SVGRenderer.prototype.clear = function() {
573
+ while(this.element.firstChild) {
574
+ this.element.removeChild(this.element.firstChild);
575
+ }
576
+
577
+ if (this.options.axisLabelUseDiv) {
578
+ for (var i = 0; i < this.xlabels.length; i++) {
579
+ MochiKit.DOM.removeElement(this.xlabels[i]);
580
+ }
581
+ for (var i = 0; i < this.ylabels.length; i++) {
582
+ MochiKit.DOM.removeElement(this.ylabels[i]);
583
+ }
584
+ }
585
+ this.xlabels = new Array();
586
+ this.ylabels = new Array();
587
+ };
588
+
589
+ PlotKit.SVGRenderer.prototype.createSVGElement = function(name, attrs) {
590
+ var isNil = MochiKit.Base.isUndefinedOrNull;
591
+ var elem;
592
+ var doc = isNil(this.document) ? document : this.document;
593
+
594
+ try {
595
+ elem = doc.createElementNS("http://www.w3.org/2000/svg", name);
596
+ }
597
+ catch (e) {
598
+ elem = doc.createElement(name);
599
+ elem.setAttribute("xmlns", "http://www.w3.org/2000/svg");
600
+ }
601
+
602
+ if (attrs)
603
+ MochiKit.DOM.updateNodeAttributes(elem, attrs);
604
+
605
+ // TODO: we don't completely emulate the MochiKit.DOM.createElement
606
+ // as we don't care about nodes contained. We really should though.
607
+
608
+ return elem;
609
+
610
+ };
611
+
612
+ PlotKit.SVGRenderer.SVGNS = 'http://www.w3.org/2000/svg';
613
+
614
+ PlotKit.SVGRenderer.SVG = function(attrs) {
615
+ // we have to do things differently for IE+AdobeSVG.
616
+ // My guess this works (via trial and error) is that we need to
617
+ // have an SVG object in order to use SVGDocument.createElementNS
618
+ // but IE doesn't allow us to that.
619
+
620
+ var ie = navigator.appVersion.match(/MSIE (\d\.\d)/);
621
+ var opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
622
+ if (ie && (ie[1] >= 6) && (!opera)) {
623
+ var width = attrs["width"] ? attrs["width"] : "100";
624
+ var height = attrs["height"] ? attrs["height"] : "100";
625
+ var eid = attrs["id"] ? attrs["id"] : "notunique";
626
+
627
+ var html = '<svg:svg width="' + width + '" height="' + height + '" ';
628
+ html += 'id="' + eid + '" version="1.1" baseProfile="full">';
629
+
630
+ var canvas = document.createElement(html);
631
+
632
+ // create embedded SVG inside SVG.
633
+ var group = canvas.getSVGDocument().createElementNS(PlotKit.SVGRenderer.SVGNS, "svg");
634
+ group.setAttribute("width", width);
635
+ group.setAttribute("height", height);
636
+ canvas.getSVGDocument().appendChild(group);
637
+
638
+ return canvas;
639
+ }
640
+ else {
641
+ return PlotKit.SVGRenderer.prototype.createSVGElement("svg", attrs);
642
+ }
643
+ };
644
+
645
+ PlotKit.SVGRenderer.isSupported = function() {
646
+ var isOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
647
+ var ieVersion = navigator.appVersion.match(/MSIE (\d\.\d)/);
648
+ var safariVersion = navigator.userAgent.match(/AppleWebKit\/(\d+)/);
649
+ var operaVersion = navigator.userAgent.match(/Opera\/(\d*\.\d*)/);
650
+ var mozillaVersion = navigator.userAgent.match(/rv:(\d*\.\d*).*Gecko/);
651
+
652
+
653
+ if (ieVersion && (ieVersion[1] >= 6) && !isOpera) {
654
+ var dummysvg = document.createElement('<svg:svg width="1" height="1" baseProfile="full" version="1.1" id="dummy">');
655
+ try {
656
+ dummysvg.getSVGDocument();
657
+ dummysvg = null;
658
+ return true;
659
+ }
660
+ catch (e) {
661
+ return false;
662
+ }
663
+ }
664
+
665
+ /* support not really there yet. no text and paths are buggy
666
+ if (safariVersion && (safariVersion[1] > 419))
667
+ return true;
668
+ */
669
+
670
+ if (operaVersion && (operaVersion[1] > 8.9))
671
+ return true
672
+
673
+ if (mozillaVersion && (mozillaVersion > 1.7))
674
+ return true;
675
+
676
+ return false;
677
+ };