af 0.3.13.beta.5 → 0.3.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (594) hide show
  1. data/README.md +13 -3
  2. data/Rakefile +2 -0
  3. data/caldecott_helper/Gemfile +10 -0
  4. data/caldecott_helper/Gemfile.lock +48 -0
  5. data/caldecott_helper/server.rb +43 -0
  6. data/config/clients.yml +17 -0
  7. data/config/micro/offline.conf +2 -0
  8. data/config/micro/paths.yml +22 -0
  9. data/config/micro/refresh_ip.rb +20 -0
  10. data/lib/cli.rb +17 -0
  11. data/lib/cli/commands/admin.rb +2 -2
  12. data/lib/cli/commands/apps.rb +584 -458
  13. data/lib/cli/commands/base.rb +166 -11
  14. data/lib/cli/commands/manifest.rb +56 -0
  15. data/lib/cli/commands/micro.rb +115 -0
  16. data/lib/cli/commands/misc.rb +1 -1
  17. data/lib/cli/commands/services.rb +95 -0
  18. data/lib/cli/commands/user.rb +4 -3
  19. data/lib/cli/config.rb +61 -19
  20. data/lib/cli/console_helper.rb +157 -0
  21. data/lib/cli/core_ext.rb +0 -328
  22. data/lib/cli/frameworks.rb +141 -33
  23. data/lib/cli/manifest_helper.rb +302 -0
  24. data/lib/cli/runner.rb +53 -16
  25. data/lib/cli/tunnel_helper.rb +332 -0
  26. data/lib/cli/usage.rb +11 -1
  27. data/lib/cli/version.rb +1 -1
  28. data/lib/vmc/client.rb +33 -21
  29. data/lib/vmc/const.rb +9 -9
  30. data/lib/vmc/micro.rb +56 -0
  31. data/lib/vmc/micro/switcher/base.rb +97 -0
  32. data/lib/vmc/micro/switcher/darwin.rb +19 -0
  33. data/lib/vmc/micro/switcher/dummy.rb +15 -0
  34. data/lib/vmc/micro/switcher/linux.rb +16 -0
  35. data/lib/vmc/micro/switcher/windows.rb +31 -0
  36. data/lib/vmc/micro/vmrun.rb +158 -0
  37. metadata +124 -643
  38. data/spec/assets/app_info.txt +0 -9
  39. data/spec/assets/app_listings.txt +0 -9
  40. data/spec/assets/bad_create_app.txt +0 -9
  41. data/spec/assets/delete_app.txt +0 -9
  42. data/spec/assets/global_service_listings.txt +0 -9
  43. data/spec/assets/good_create_app.txt +0 -9
  44. data/spec/assets/good_create_service.txt +0 -9
  45. data/spec/assets/info_authenticated.txt +0 -27
  46. data/spec/assets/info_return.txt +0 -15
  47. data/spec/assets/info_return_bad.txt +0 -16
  48. data/spec/assets/list_users.txt +0 -13
  49. data/spec/assets/login_fail.txt +0 -9
  50. data/spec/assets/login_success.txt +0 -9
  51. data/spec/assets/sample_token.txt +0 -1
  52. data/spec/assets/service_already_exists.txt +0 -9
  53. data/spec/assets/service_gateway_fail.txt +0 -9
  54. data/spec/assets/service_listings.txt +0 -9
  55. data/spec/assets/service_not_found.txt +0 -9
  56. data/spec/assets/tests/LICENSE +0 -7136
  57. data/spec/assets/tests/NOTICE +0 -10
  58. data/spec/assets/tests/README +0 -21
  59. data/spec/assets/tests/git/hooks-wrapper +0 -9
  60. data/spec/assets/tests/git/install-hook-symlinks +0 -28
  61. data/spec/assets/tests/git/tracked_hooks/pre-commit +0 -11
  62. data/spec/assets/tests/grails/guestbook/README +0 -8
  63. data/spec/assets/tests/grails/guestbook/Rakefile +0 -28
  64. data/spec/assets/tests/grails/guestbook/application.properties +0 -8
  65. data/spec/assets/tests/grails/guestbook/grails-app/conf/BootStrap.groovy +0 -7
  66. data/spec/assets/tests/grails/guestbook/grails-app/conf/BuildConfig.groovy +0 -31
  67. data/spec/assets/tests/grails/guestbook/grails-app/conf/Config.groovy +0 -90
  68. data/spec/assets/tests/grails/guestbook/grails-app/conf/DataSource.groovy +0 -32
  69. data/spec/assets/tests/grails/guestbook/grails-app/conf/UrlMappings.groovy +0 -13
  70. data/spec/assets/tests/grails/guestbook/grails-app/conf/spring/resources.groovy +0 -3
  71. data/spec/assets/tests/grails/guestbook/grails-app/controllers/com/vmware/appcloud/testapps/grails/guestbook/GuestController.groovy +0 -100
  72. data/spec/assets/tests/grails/guestbook/grails-app/domain/com/vmware/appcloud/testapps/grails/guestbook/Guest.groovy +0 -6
  73. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages.properties +0 -55
  74. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_da.properties +0 -56
  75. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_de.properties +0 -55
  76. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_es.properties +0 -30
  77. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_fr.properties +0 -19
  78. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_it.properties +0 -19
  79. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_ja.properties +0 -19
  80. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_nl.properties +0 -55
  81. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_pt_BR.properties +0 -34
  82. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_pt_PT.properties +0 -34
  83. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_ru.properties +0 -31
  84. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_th.properties +0 -35
  85. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_zh_CN.properties +0 -18
  86. data/spec/assets/tests/grails/guestbook/grails-app/views/error.gsp +0 -54
  87. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/create.gsp +0 -49
  88. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/edit.gsp +0 -53
  89. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/list.gsp +0 -53
  90. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/show.gsp +0 -58
  91. data/spec/assets/tests/grails/guestbook/grails-app/views/index.gsp +0 -100
  92. data/spec/assets/tests/grails/guestbook/grails-app/views/layouts/main.gsp +0 -17
  93. data/spec/assets/tests/grails/guestbook/pom.xml +0 -316
  94. data/spec/assets/tests/grails/guestbook/src/main/webapp/WEB-INF/web.xml +0 -0
  95. data/spec/assets/tests/grails/guestbook/stacktrace.log +0 -0
  96. data/spec/assets/tests/grails/guestbook/test/unit/com/vmware/appcloud/testapps/grails/guestbook/GuestControllerTests.groovy +0 -17
  97. data/spec/assets/tests/grails/guestbook/test/unit/com/vmware/appcloud/testapps/grails/guestbook/GuestTests.groovy +0 -17
  98. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/applicationContext.xml +0 -42
  99. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/sitemesh.xml +0 -14
  100. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/c.tld +0 -563
  101. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/fmt.tld +0 -671
  102. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/grails.tld +0 -550
  103. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/spring.tld +0 -311
  104. data/spec/assets/tests/grails/guestbook/web-app/css/main.css +0 -273
  105. data/spec/assets/tests/grails/guestbook/web-app/images/favicon.ico +0 -0
  106. data/spec/assets/tests/grails/guestbook/web-app/images/grails_logo.jpg +0 -0
  107. data/spec/assets/tests/grails/guestbook/web-app/images/grails_logo.png +0 -0
  108. data/spec/assets/tests/grails/guestbook/web-app/images/leftnav_btm.png +0 -0
  109. data/spec/assets/tests/grails/guestbook/web-app/images/leftnav_midstretch.png +0 -0
  110. data/spec/assets/tests/grails/guestbook/web-app/images/leftnav_top.png +0 -0
  111. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_add.png +0 -0
  112. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_delete.png +0 -0
  113. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_edit.png +0 -0
  114. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_save.png +0 -0
  115. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_table.png +0 -0
  116. data/spec/assets/tests/grails/guestbook/web-app/images/skin/exclamation.png +0 -0
  117. data/spec/assets/tests/grails/guestbook/web-app/images/skin/house.png +0 -0
  118. data/spec/assets/tests/grails/guestbook/web-app/images/skin/information.png +0 -0
  119. data/spec/assets/tests/grails/guestbook/web-app/images/skin/shadow.jpg +0 -0
  120. data/spec/assets/tests/grails/guestbook/web-app/images/skin/sorted_asc.gif +0 -0
  121. data/spec/assets/tests/grails/guestbook/web-app/images/skin/sorted_desc.gif +0 -0
  122. data/spec/assets/tests/grails/guestbook/web-app/images/spinner.gif +0 -0
  123. data/spec/assets/tests/grails/guestbook/web-app/images/springsource.png +0 -0
  124. data/spec/assets/tests/grails/guestbook/web-app/js/application.js +0 -13
  125. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/animation.js +0 -7
  126. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/builder.js +0 -136
  127. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/controls.js +0 -965
  128. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/dragdrop.js +0 -974
  129. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/effects.js +0 -1123
  130. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/prototype.js +0 -4874
  131. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/rico.js +0 -2691
  132. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/scriptaculous.js +0 -68
  133. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/slider.js +0 -275
  134. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/sound.js +0 -59
  135. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/unittest.js +0 -568
  136. data/spec/assets/tests/java_web/java_tiny_app/Java_tiny_app.iml +0 -29
  137. data/spec/assets/tests/java_web/java_tiny_app/README +0 -9
  138. data/spec/assets/tests/java_web/java_tiny_app/pom.xml +0 -15
  139. data/spec/assets/tests/java_web/java_tiny_app/src/main/java/com/vmware/appcloud/testapps/javatinyapp/MainServlet.java +0 -31
  140. data/spec/assets/tests/java_web/java_tiny_app/src/main/webapp/WEB-INF/web.xml +0 -23
  141. data/spec/assets/tests/java_web/java_tiny_app/target/JavaTinyApp-1.0.war +0 -0
  142. data/spec/assets/tests/java_web/java_tiny_app/target/JavaTinyApp-1.0/WEB-INF/classes/com/vmware/appcloud/testapps/javatinyapp/MainServlet.class +0 -0
  143. data/spec/assets/tests/java_web/java_tiny_app/target/JavaTinyApp-1.0/WEB-INF/web.xml +0 -23
  144. data/spec/assets/tests/java_web/java_tiny_app/target/classes/com/vmware/appcloud/testapps/javatinyapp/MainServlet.class +0 -0
  145. data/spec/assets/tests/java_web/java_tiny_app/target/maven-archiver/pom.properties +0 -5
  146. data/spec/assets/tests/lift/hello_lift/README +0 -8
  147. data/spec/assets/tests/lift/hello_lift/pom.xml +0 -209
  148. data/spec/assets/tests/lift/hello_lift/project/build.properties +0 -7
  149. data/spec/assets/tests/lift/hello_lift/project/build/LiftProject.scala +0 -9
  150. data/spec/assets/tests/lift/hello_lift/src/main/resources/props/default.props +0 -1
  151. data/spec/assets/tests/lift/hello_lift/src/main/scala/bootstrap/liftweb/Boot.scala +0 -71
  152. data/spec/assets/tests/lift/hello_lift/src/main/scala/com/vmware/appcloud/lib/DepencyFactory.scala +0 -57
  153. data/spec/assets/tests/lift/hello_lift/src/main/scala/com/vmware/appcloud/model/User.scala +0 -38
  154. data/spec/assets/tests/lift/hello_lift/src/main/scala/com/vmware/appcloud/snippet/HelloWorld.scala +0 -25
  155. data/spec/assets/tests/lift/hello_lift/src/main/webapp/WEB-INF/web.xml +0 -21
  156. data/spec/assets/tests/lift/hello_lift/src/main/webapp/images/ajax-loader.gif +0 -0
  157. data/spec/assets/tests/lift/hello_lift/src/main/webapp/index.html +0 -9
  158. data/spec/assets/tests/lift/hello_lift/src/main/webapp/static/index.html +0 -5
  159. data/spec/assets/tests/lift/hello_lift/src/main/webapp/templates-hidden/default.html +0 -99
  160. data/spec/assets/tests/lift/hello_lift/src/main/webapp/templates-hidden/wizard-all.html +0 -23
  161. data/spec/assets/tests/lift/hello_lift/src/packageLinkDefs.properties +0 -7
  162. data/spec/assets/tests/lift/hello_lift/src/test/scala/LiftConsole.scala +0 -15
  163. data/spec/assets/tests/lift/hello_lift/src/test/scala/RunWebApp.scala +0 -33
  164. data/spec/assets/tests/lift/hello_lift/src/test/scala/com/vmware/appcloud/AppTest.scala +0 -85
  165. data/spec/assets/tests/lift/hello_lift/src/test/scala/com/vmware/appcloud/snippet/HelloWorldTest.scala +0 -46
  166. data/spec/assets/tests/lift/hello_lift/target/classes.timestamp +0 -1
  167. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$1.class +0 -0
  168. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$2.class +0 -0
  169. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$1.class +0 -0
  170. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$2.class +0 -0
  171. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$3.class +0 -0
  172. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$4.class +0 -0
  173. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$5.class +0 -0
  174. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$6.class +0 -0
  175. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$7.class +0 -0
  176. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$1.class +0 -0
  177. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$2.class +0 -0
  178. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot.class +0 -0
  179. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory$.class +0 -0
  180. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory$time$$anonfun$$init$$1.class +0 -0
  181. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory$time$.class +0 -0
  182. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory.class +0 -0
  183. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/model/User$.class +0 -0
  184. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/model/User$textArea$.class +0 -0
  185. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/model/User.class +0 -0
  186. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/snippet/HelloWorld$$anonfun$howdy$1.class +0 -0
  187. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/snippet/HelloWorld.class +0 -0
  188. data/spec/assets/tests/lift/hello_lift/target/classes/props/default.props +0 -1
  189. data/spec/assets/tests/lift/hello_lift/target/maven-archiver/pom.properties +0 -5
  190. data/spec/assets/tests/lift/hello_lift/target/packageLinkDefs.properties +0 -7
  191. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0.war +0 -0
  192. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$1.class +0 -0
  193. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$2.class +0 -0
  194. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$1.class +0 -0
  195. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$2.class +0 -0
  196. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$3.class +0 -0
  197. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$4.class +0 -0
  198. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$5.class +0 -0
  199. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$6.class +0 -0
  200. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$7.class +0 -0
  201. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$1.class +0 -0
  202. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$2.class +0 -0
  203. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot.class +0 -0
  204. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory$.class +0 -0
  205. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory$time$$anonfun$$init$$1.class +0 -0
  206. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory$time$.class +0 -0
  207. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory.class +0 -0
  208. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/model/User$.class +0 -0
  209. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/model/User$textArea$.class +0 -0
  210. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/model/User.class +0 -0
  211. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/snippet/HelloWorld$$anonfun$howdy$1.class +0 -0
  212. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/snippet/HelloWorld.class +0 -0
  213. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/props/default.props +0 -1
  214. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/activation-1.1.jar +0 -0
  215. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/commons-codec-1.4.jar +0 -0
  216. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/commons-fileupload-1.2.2.jar +0 -0
  217. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/derby-10.7.1.1.jar +0 -0
  218. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/h2-1.2.138.jar +0 -0
  219. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/htmlparser-1.2.1.jar +0 -0
  220. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/joda-time-1.6.2.jar +0 -0
  221. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-actor_2.8.1-2.3.jar +0 -0
  222. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-common_2.8.1-2.3.jar +0 -0
  223. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-db_2.8.1-2.3.jar +0 -0
  224. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-json_2.8.1-2.3.jar +0 -0
  225. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-mapper_2.8.1-2.3.jar +0 -0
  226. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-proto_2.8.1-2.3.jar +0 -0
  227. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-util_2.8.1-2.3.jar +0 -0
  228. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-webkit_2.8.1-2.3.jar +0 -0
  229. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/logback-classic-0.9.26.jar +0 -0
  230. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/logback-core-0.9.26.jar +0 -0
  231. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/mail-1.4.1.jar +0 -0
  232. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/paranamer-2.3.jar +0 -0
  233. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/scala-library-2.8.1.jar +0 -0
  234. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/slf4j-api-1.6.1.jar +0 -0
  235. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/web.xml +0 -21
  236. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/images/ajax-loader.gif +0 -0
  237. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/index.html +0 -9
  238. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/static/index.html +0 -5
  239. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/templates-hidden/default.html +0 -99
  240. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/templates-hidden/wizard-all.html +0 -23
  241. data/spec/assets/tests/lift/hello_lift/target/test-classes.timestamp +0 -1
  242. data/spec/assets/tests/lift/hello_lift/target/test-classes/LiftConsole$.class +0 -0
  243. data/spec/assets/tests/lift/hello_lift/target/test-classes/LiftConsole.class +0 -0
  244. data/spec/assets/tests/lift/hello_lift/target/test-classes/RunWebApp$.class +0 -0
  245. data/spec/assets/tests/lift/hello_lift/target/test-classes/RunWebApp.class +0 -0
  246. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/AppTest$$anonfun$wellFormed$1$1.class +0 -0
  247. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/AppTest$.class +0 -0
  248. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/AppTest.class +0 -0
  249. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$1.class +0 -0
  250. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$3.class +0 -0
  251. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$2.class +0 -0
  252. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8.class +0 -0
  253. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$7.class +0 -0
  254. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$10.class +0 -0
  255. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$4.class +0 -0
  256. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$9.class +0 -0
  257. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6.class +0 -0
  258. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1.class +0 -0
  259. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$executeExpectations$1$$anonfun$apply$5.class +0 -0
  260. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$executeExpectations$1.class +0 -0
  261. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$.class +0 -0
  262. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs.class +0 -0
  263. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecsAsTest.class +0 -0
  264. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecsRunner$.class +0 -0
  265. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecsRunner.class +0 -0
  266. data/spec/assets/tests/node/hello_vcap/app.js +0 -16
  267. data/spec/assets/tests/rails3/hello_vcap/Gemfile +0 -8
  268. data/spec/assets/tests/rails3/hello_vcap/Gemfile.lock +0 -85
  269. data/spec/assets/tests/rails3/hello_vcap/README +0 -256
  270. data/spec/assets/tests/rails3/hello_vcap/Rakefile +0 -7
  271. data/spec/assets/tests/rails3/hello_vcap/app/controllers/application_controller.rb +0 -3
  272. data/spec/assets/tests/rails3/hello_vcap/app/controllers/root_controller.rb +0 -13
  273. data/spec/assets/tests/rails3/hello_vcap/app/helpers/application_helper.rb +0 -2
  274. data/spec/assets/tests/rails3/hello_vcap/app/helpers/root_helper.rb +0 -2
  275. data/spec/assets/tests/rails3/hello_vcap/app/models/widget.rb +0 -2
  276. data/spec/assets/tests/rails3/hello_vcap/app/views/layouts/application.html.erb +0 -11
  277. data/spec/assets/tests/rails3/hello_vcap/app/views/root/index.html.erb +0 -5
  278. data/spec/assets/tests/rails3/hello_vcap/config.ru +0 -4
  279. data/spec/assets/tests/rails3/hello_vcap/config/application.rb +0 -42
  280. data/spec/assets/tests/rails3/hello_vcap/config/boot.rb +0 -13
  281. data/spec/assets/tests/rails3/hello_vcap/config/database.yml +0 -12
  282. data/spec/assets/tests/rails3/hello_vcap/config/environment.rb +0 -5
  283. data/spec/assets/tests/rails3/hello_vcap/config/environments/development.rb +0 -26
  284. data/spec/assets/tests/rails3/hello_vcap/config/environments/production.rb +0 -49
  285. data/spec/assets/tests/rails3/hello_vcap/config/environments/test.rb +0 -35
  286. data/spec/assets/tests/rails3/hello_vcap/config/initializers/backtrace_silencers.rb +0 -7
  287. data/spec/assets/tests/rails3/hello_vcap/config/initializers/inflections.rb +0 -10
  288. data/spec/assets/tests/rails3/hello_vcap/config/initializers/mime_types.rb +0 -5
  289. data/spec/assets/tests/rails3/hello_vcap/config/initializers/secret_token.rb +0 -7
  290. data/spec/assets/tests/rails3/hello_vcap/config/initializers/session_store.rb +0 -8
  291. data/spec/assets/tests/rails3/hello_vcap/config/locales/en.yml +0 -5
  292. data/spec/assets/tests/rails3/hello_vcap/config/routes.rb +0 -61
  293. data/spec/assets/tests/rails3/hello_vcap/db/migrate/20101108182500_create_widgets.rb +0 -13
  294. data/spec/assets/tests/rails3/hello_vcap/db/schema.rb +0 -21
  295. data/spec/assets/tests/rails3/hello_vcap/db/seeds.rb +0 -7
  296. data/spec/assets/tests/rails3/hello_vcap/public/404.html +0 -26
  297. data/spec/assets/tests/rails3/hello_vcap/public/422.html +0 -26
  298. data/spec/assets/tests/rails3/hello_vcap/public/500.html +0 -26
  299. data/spec/assets/tests/rails3/hello_vcap/public/favicon.ico +0 -0
  300. data/spec/assets/tests/rails3/hello_vcap/public/images/rails.png +0 -0
  301. data/spec/assets/tests/rails3/hello_vcap/public/javascripts/application.js +0 -0
  302. data/spec/assets/tests/rails3/hello_vcap/public/robots.txt +0 -5
  303. data/spec/assets/tests/rails3/hello_vcap/script/rails +0 -6
  304. data/spec/assets/tests/rails3/hello_vcap/test/functional/root_controller_test.rb +0 -14
  305. data/spec/assets/tests/rails3/hello_vcap/test/performance/browsing_test.rb +0 -9
  306. data/spec/assets/tests/rails3/hello_vcap/test/test_helper.rb +0 -13
  307. data/spec/assets/tests/rails3/hello_vcap/test/unit/helpers/root_helper_test.rb +0 -4
  308. data/spec/assets/tests/rails3/hello_vcap/test/unit/widget_test.rb +0 -12
  309. data/spec/assets/tests/sinatra/hello_vcap/foo.rb +0 -13
  310. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/pom.xml +0 -247
  311. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/java/org/cloudfoundry/test/DefaultController.java +0 -40
  312. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/resources/META-INF/spring/root-context.xml +0 -27
  313. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/resources/log4j.xml +0 -41
  314. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/webapp/META-INF/MANIFEST.MF +0 -2
  315. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/webapp/WEB-INF/spring/servlet-context.xml +0 -22
  316. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/webapp/WEB-INF/web.xml +0 -30
  317. data/spec/assets/tests/spring/auto-reconfig-test-app/pom.xml +0 -374
  318. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/java/org/cloudfoundry/test/ServiceController.java +0 -122
  319. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/java/org/cloudfoundry/test/ServiceHolder.java +0 -97
  320. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/java/org/cloudfoundry/test/TestApplicationContextInitializer.java +0 -45
  321. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/resources/META-INF/spring/database.properties +0 -4
  322. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/resources/META-INF/spring/root-context.xml +0 -86
  323. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/resources/log4j.xml +0 -41
  324. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/webapp/META-INF/MANIFEST.MF +0 -2
  325. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/webapp/WEB-INF/spring/servlet-context.xml +0 -22
  326. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/webapp/WEB-INF/web.xml +0 -34
  327. data/spec/assets/tests/spring/roo-guestbook/README +0 -4
  328. data/spec/assets/tests/spring/roo-guestbook/pom.xml +0 -493
  329. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest.java +0 -13
  330. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Configurable.aj +0 -12
  331. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Entity.aj +0 -106
  332. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_JavaBean.aj +0 -18
  333. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_ToString.aj +0 -18
  334. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController.java +0 -12
  335. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController_Roo_Controller.aj +0 -115
  336. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/META-INF/persistence.xml +0 -15
  337. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/META-INF/spring/applicationContext.xml +0 -63
  338. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/META-INF/spring/database.properties +0 -6
  339. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/log4j.properties +0 -17
  340. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/classes/alt.properties +0 -1
  341. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/classes/standard.properties +0 -1
  342. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/i18n/application.properties +0 -11
  343. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/i18n/messages.properties +0 -99
  344. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/layouts/default.jspx +0 -27
  345. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/layouts/layouts.xml +0 -19
  346. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/spring/webmvc-config.xml +0 -73
  347. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/create.tagx +0 -29
  348. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/dependency.tagx +0 -25
  349. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/checkbox.tagx +0 -35
  350. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/column.tagx +0 -28
  351. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx +0 -75
  352. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/display.tagx +0 -51
  353. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx +0 -46
  354. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/input.tagx +0 -87
  355. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx +0 -42
  356. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/select.tagx +0 -99
  357. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/simple.tagx +0 -35
  358. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/table.tagx +0 -138
  359. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx +0 -47
  360. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/find.tagx +0 -29
  361. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/list.tagx +0 -31
  362. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/show.tagx +0 -101
  363. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/update.tagx +0 -42
  364. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/menu/category.tagx +0 -25
  365. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/menu/item.tagx +0 -29
  366. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/menu/menu.tagx +0 -13
  367. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/language.tagx +0 -31
  368. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx +0 -28
  369. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/pagination.tagx +0 -87
  370. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/panel.tagx +0 -32
  371. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/placeholder.tagx +0 -4
  372. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/theme.tagx +0 -36
  373. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/dataAccessFailure.jspx +0 -29
  374. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/footer.jspx +0 -36
  375. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/create.jspx +0 -8
  376. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/list.jspx +0 -9
  377. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/show.jspx +0 -7
  378. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/update.jspx +0 -7
  379. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/views.xml +0 -16
  380. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/header.jspx +0 -10
  381. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/index-template.jspx +0 -10
  382. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/index.jspx +0 -13
  383. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/menu.jspx +0 -11
  384. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/resourceNotFound.jspx +0 -28
  385. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/uncaughtException.jspx +0 -28
  386. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/views.xml +0 -24
  387. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/web.xml +0 -94
  388. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/add.png +0 -0
  389. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/banner-graphic.png +0 -0
  390. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/create.png +0 -0
  391. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/delete.png +0 -0
  392. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/en.png +0 -0
  393. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/favicon.ico +0 -0
  394. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/list.png +0 -0
  395. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_first.png +0 -0
  396. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_last.png +0 -0
  397. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_next.png +0 -0
  398. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_previous.png +0 -0
  399. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/show.png +0 -0
  400. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/springsource-logo.png +0 -0
  401. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/update.png +0 -0
  402. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/styles/alt.css +0 -362
  403. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/styles/standard.css +0 -366
  404. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/aop-ajc.xml +0 -10
  405. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/persistence.xml +0 -15
  406. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/spring/applicationContext.xml +0 -63
  407. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/spring/database.properties +0 -6
  408. data/spec/assets/tests/spring/roo-guestbook/target/classes/builddef.lst +0 -18
  409. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest.class +0 -0
  410. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Configurable.class +0 -0
  411. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Entity.class +0 -0
  412. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_JavaBean.class +0 -0
  413. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_ToString.class +0 -0
  414. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController$1.class +0 -0
  415. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController.class +0 -0
  416. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController_Roo_Controller.class +0 -0
  417. data/spec/assets/tests/spring/roo-guestbook/target/classes/log4j.properties +0 -17
  418. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT.war +0 -0
  419. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/aop-ajc.xml +0 -10
  420. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/persistence.xml +0 -15
  421. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext.xml +0 -63
  422. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/spring/database.properties +0 -6
  423. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/alt.properties +0 -1
  424. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/builddef.lst +0 -18
  425. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest.class +0 -0
  426. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Configurable.class +0 -0
  427. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Entity.class +0 -0
  428. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_JavaBean.class +0 -0
  429. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_ToString.class +0 -0
  430. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController$1.class +0 -0
  431. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController.class +0 -0
  432. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController_Roo_Controller.class +0 -0
  433. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/log4j.properties +0 -17
  434. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/standard.properties +0 -1
  435. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/i18n/application.properties +0 -11
  436. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/i18n/messages.properties +0 -99
  437. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/layouts/default.jspx +0 -27
  438. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/layouts/layouts.xml +0 -19
  439. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/antlr-2.7.6.jar +0 -0
  440. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/aopalliance-1.0.jar +0 -0
  441. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/aspectjrt-1.6.10.jar +0 -0
  442. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/aspectjweaver-1.6.10.jar +0 -0
  443. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/cglib-nodep-2.2.jar +0 -0
  444. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-beanutils-1.8.0.jar +0 -0
  445. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-collections-3.1.jar +0 -0
  446. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-dbcp-1.3.jar +0 -0
  447. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-digester-2.0.jar +0 -0
  448. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-fileupload-1.2.1.jar +0 -0
  449. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-pool-1.5.4.jar +0 -0
  450. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/dom4j-1.6.1.jar +0 -0
  451. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/flexjson-2.0.jar +0 -0
  452. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-annotations-3.5.5-Final.jar +0 -0
  453. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-commons-annotations-3.2.0.Final.jar +0 -0
  454. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-core-3.5.5-Final.jar +0 -0
  455. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-entitymanager-3.5.5-Final.jar +0 -0
  456. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar +0 -0
  457. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-validator-4.1.0.Final.jar +0 -0
  458. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hsqldb-1.8.0.10.jar +0 -0
  459. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/javassist-3.9.0.GA.jar +0 -0
  460. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/jcl-over-slf4j-1.6.1.jar +0 -0
  461. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/joda-time-1.6.jar +0 -0
  462. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/jstl-1.2.jar +0 -0
  463. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/jta-1.1.jar +0 -0
  464. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/log4j-1.2.16.jar +0 -0
  465. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/slf4j-api-1.6.1.jar +0 -0
  466. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/slf4j-log4j12-1.6.1.jar +0 -0
  467. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar +0 -0
  468. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar +0 -0
  469. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-aspects-3.0.5.RELEASE.jar +0 -0
  470. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar +0 -0
  471. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-context-3.0.5.RELEASE.jar +0 -0
  472. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar +0 -0
  473. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-core-3.0.5.RELEASE.jar +0 -0
  474. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar +0 -0
  475. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-jdbc-3.0.5.RELEASE.jar +0 -0
  476. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-js-resources-2.2.0.RELEASE.jar +0 -0
  477. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-orm-3.0.5.RELEASE.jar +0 -0
  478. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-tx-3.0.5.RELEASE.jar +0 -0
  479. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-web-3.0.5.RELEASE.jar +0 -0
  480. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar +0 -0
  481. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-api-2.2.1.jar +0 -0
  482. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-core-2.2.1.jar +0 -0
  483. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-jsp-2.2.1.jar +0 -0
  484. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-servlet-2.2.1.jar +0 -0
  485. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-template-2.2.1.jar +0 -0
  486. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/validation-api-1.0.0.GA.jar +0 -0
  487. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/xml-apis-1.0.b2.jar +0 -0
  488. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/spring/webmvc-config.xml +0 -73
  489. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/create.tagx +0 -29
  490. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/dependency.tagx +0 -25
  491. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/checkbox.tagx +0 -35
  492. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/column.tagx +0 -28
  493. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/datetime.tagx +0 -75
  494. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/display.tagx +0 -51
  495. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/editor.tagx +0 -46
  496. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/input.tagx +0 -87
  497. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/reference.tagx +0 -42
  498. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/select.tagx +0 -99
  499. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/simple.tagx +0 -35
  500. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/table.tagx +0 -138
  501. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/textarea.tagx +0 -47
  502. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/find.tagx +0 -29
  503. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/list.tagx +0 -31
  504. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/show.tagx +0 -101
  505. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/update.tagx +0 -42
  506. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/menu/category.tagx +0 -25
  507. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/menu/item.tagx +0 -29
  508. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/menu/menu.tagx +0 -13
  509. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/language.tagx +0 -31
  510. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/load-scripts.tagx +0 -28
  511. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/pagination.tagx +0 -87
  512. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/panel.tagx +0 -32
  513. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/placeholder.tagx +0 -4
  514. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/theme.tagx +0 -36
  515. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/dataAccessFailure.jspx +0 -29
  516. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/footer.jspx +0 -36
  517. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/create.jspx +0 -8
  518. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/list.jspx +0 -9
  519. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/show.jspx +0 -7
  520. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/update.jspx +0 -7
  521. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/views.xml +0 -16
  522. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/header.jspx +0 -10
  523. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/index-template.jspx +0 -10
  524. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/index.jspx +0 -13
  525. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/menu.jspx +0 -11
  526. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/resourceNotFound.jspx +0 -28
  527. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/uncaughtException.jspx +0 -28
  528. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/views.xml +0 -24
  529. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/web.xml +0 -94
  530. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/add.png +0 -0
  531. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/banner-graphic.png +0 -0
  532. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/create.png +0 -0
  533. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/delete.png +0 -0
  534. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/en.png +0 -0
  535. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/favicon.ico +0 -0
  536. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/list.png +0 -0
  537. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_first.png +0 -0
  538. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_last.png +0 -0
  539. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_next.png +0 -0
  540. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_previous.png +0 -0
  541. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/show.png +0 -0
  542. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/springsource-logo.png +0 -0
  543. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/update.png +0 -0
  544. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/styles/alt.css +0 -362
  545. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/styles/standard.css +0 -366
  546. data/spec/assets/tests/spring/roo-guestbook/target/maven-archiver/pom.properties +0 -5
  547. data/spec/assets/tests/spring/roo-guestbook/target/war/work/webapp-cache.xml +0 -2461
  548. data/spec/assets/tests/spring/spring-osgi-hello/pom.xml +0 -233
  549. data/spec/assets/tests/spring/spring-osgi-hello/src/main/java/org/cloudfoundry/osgi/HomeController.java +0 -39
  550. data/spec/assets/tests/spring/spring-osgi-hello/src/main/resources/log4j.xml +0 -41
  551. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml +0 -28
  552. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/spring/root-context.xml +0 -8
  553. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/views/home.jsp +0 -14
  554. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/web.xml +0 -33
  555. data/spec/assets/tests/spring/spring-osgi-hello/src/test/resources/log4j.xml +0 -41
  556. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/META-INF/aop-ajc.xml +0 -5
  557. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/builddef.lst +0 -10
  558. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/log4j.xml +0 -41
  559. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/org/cloudfoundry/osgi/HomeController.class +0 -0
  560. data/spec/assets/tests/spring/spring-osgi-hello/target/hello.war +0 -0
  561. data/spec/assets/tests/spring/spring-osgi-hello/target/maven-archiver/pom.properties +0 -5
  562. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/META-INF/aop-ajc.xml +0 -5
  563. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/builddef.lst +0 -10
  564. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/log4j.xml +0 -41
  565. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/org/cloudfoundry/osgi/HomeController.class +0 -0
  566. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/aopalliance-1.0.jar +0 -0
  567. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/aspectjrt-1.6.9.jar +0 -0
  568. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/commons-logging-1.1.1.jar +0 -0
  569. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/javax.inject-1.jar +0 -0
  570. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/jcl-over-slf4j-1.5.10.jar +0 -0
  571. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/jstl-1.2.jar +0 -0
  572. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/log4j-1.2.15.jar +0 -0
  573. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/slf4j-api-1.5.10.jar +0 -0
  574. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/slf4j-log4j12-1.5.10.jar +0 -0
  575. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar +0 -0
  576. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar +0 -0
  577. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar +0 -0
  578. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-context-3.0.5.RELEASE.jar +0 -0
  579. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar +0 -0
  580. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-core-3.0.5.RELEASE.jar +0 -0
  581. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar +0 -0
  582. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-web-3.0.5.RELEASE.jar +0 -0
  583. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar +0 -0
  584. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/spring/appServlet/servlet-context.xml +0 -28
  585. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/spring/root-context.xml +0 -8
  586. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/views/home.jsp +0 -14
  587. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/web.xml +0 -33
  588. data/spec/assets/tests/spring/spring-osgi-hello/target/test-classes/log4j.xml +0 -41
  589. data/spec/assets/user_info.txt +0 -9
  590. data/spec/spec_helper.rb +0 -13
  591. data/spec/unit/cli_opts_spec.rb +0 -85
  592. data/spec/unit/client_spec.rb +0 -345
  593. data/spec/unit/frameworks_spec.rb +0 -94
  594. data/spec/unit/io_spec.rb +0 -192
@@ -15,6 +15,7 @@ module VMC::Cli::Command
15
15
  tries ||= 0
16
16
 
17
17
  unless no_prompt
18
+ display "Attempting login to [#{target_url}]" if target_url
18
19
  email ||= ask("Email")
19
20
  password ||= ask("Password", :echo => "*")
20
21
  end
@@ -24,11 +25,11 @@ module VMC::Cli::Command
24
25
  login_and_save_token(email, password)
25
26
  say "Successfully logged into [#{target_url}]".green
26
27
  rescue VMC::Client::TargetError
27
- display "Problem with login, invalid account or password.".red
28
+ display "Problem with login, invalid account or password when attempting to login to '#{target_url}'".red
28
29
  retry if (tries += 1) < 3 && prompt_ok && !@options[:password]
29
30
  exit 1
30
31
  rescue => e
31
- display "Problem with login, #{e}, try again or register for an account.".red
32
+ display "Problem with login to '#{target_url}', #{e}, try again or register for an account.".red
32
33
  exit 1
33
34
  end
34
35
 
@@ -56,7 +57,7 @@ module VMC::Cli::Command
56
57
 
57
58
  def login_and_save_token(email, password)
58
59
  token = client.login(email, password)
59
- VMC::Cli::Config.store_token(token)
60
+ VMC::Cli::Config.store_token(token, @options[:token_file])
60
61
  end
61
62
 
62
63
  end
@@ -7,13 +7,16 @@ require 'json/pure'
7
7
  module VMC::Cli
8
8
  class Config
9
9
 
10
- DEFAULT_TARGET = 'api.aws.af.cm'
11
- DEFAULT_SUGGEST = 'aws.af.cm'
10
+ DEFAULT_TARGET = 'api.appfog.com'
12
11
 
13
12
  TARGET_FILE = '~/.af_target'
14
13
  TOKEN_FILE = '~/.af_token'
15
14
  INSTANCES_FILE = '~/.af_instances'
16
15
  ALIASES_FILE = '~/.af_aliases'
16
+ CLIENTS_FILE = '~/.af_clients'
17
+ MICRO_FILE = '~/.af_micro'
18
+
19
+ STOCK_CLIENTS = File.expand_path("../../../config/clients.yml", __FILE__)
17
20
 
18
21
  class << self
19
22
  attr_accessor :colorize
@@ -25,23 +28,21 @@ module VMC::Cli
25
28
  return @target_url if @target_url
26
29
  target_file = File.expand_path(TARGET_FILE)
27
30
  if File.exists? target_file
28
- @target_url = lock_and_read(target_file).strip!
29
- ha = @target_url.split('.')
30
- ha.shift
31
- @suggest_url = ha.join('.')
32
- @suggest_url = DEFAULT_SUGGEST if @suggest_url.empty?
31
+ @target_url = lock_and_read(target_file).strip
33
32
  else
34
33
  @target_url = DEFAULT_TARGET
35
- @suggest_url = DEFAULT_SUGGEST
36
34
  end
37
35
  @target_url = "http://#{@target_url}" unless /^https?/ =~ @target_url
38
36
  @target_url = @target_url.gsub(/\/+$/, '')
39
37
  @target_url
40
38
  end
41
39
 
40
+ def base_of(url)
41
+ url.sub(/^[^\.]+\./, "")
42
+ end
43
+
42
44
  def suggest_url
43
- target_url
44
- @suggest_url
45
+ @suggest_url ||= "aws.af.cm"
45
46
  end
46
47
 
47
48
  def store_target(target_host)
@@ -49,8 +50,8 @@ module VMC::Cli
49
50
  lock_and_write(target_file, target_host)
50
51
  end
51
52
 
52
- def all_tokens
53
- token_file = File.expand_path(TOKEN_FILE)
53
+ def all_tokens(token_file_path=nil)
54
+ token_file = File.expand_path(token_file_path || TOKEN_FILE)
54
55
  return nil unless File.exists? token_file
55
56
  contents = lock_and_read(token_file).strip
56
57
  JSON.parse(contents)
@@ -58,9 +59,9 @@ module VMC::Cli
58
59
 
59
60
  alias :targets :all_tokens
60
61
 
61
- def auth_token
62
+ def auth_token(token_file_path=nil)
62
63
  return @token if @token
63
- tokens = all_tokens
64
+ tokens = all_tokens(token_file_path)
64
65
  @token = tokens[target_url] if tokens
65
66
  end
66
67
 
@@ -68,10 +69,10 @@ module VMC::Cli
68
69
  FileUtils.rm_f(File.expand_path(TOKEN_FILE))
69
70
  end
70
71
 
71
- def store_token(token)
72
- tokens = all_tokens || {}
72
+ def store_token(token, token_file_path=nil)
73
+ tokens = all_tokens(token_file_path) || {}
73
74
  tokens[target_url] = token
74
- token_file = File.expand_path(TOKEN_FILE)
75
+ token_file = File.expand_path(token_file_path || TOKEN_FILE)
75
76
  lock_and_write(token_file, tokens.to_json)
76
77
  end
77
78
 
@@ -102,9 +103,50 @@ module VMC::Cli
102
103
  File.open(aliases_file, 'wb') {|f| f.write(aliases.to_yaml)}
103
104
  end
104
105
 
106
+ def micro
107
+ micro_file = File.expand_path(MICRO_FILE)
108
+ return {} unless File.exists? micro_file
109
+ contents = lock_and_read(micro_file).strip
110
+ JSON.parse(contents)
111
+ end
112
+
113
+ def store_micro(micro)
114
+ micro_file = File.expand_path(MICRO_FILE)
115
+ lock_and_write(micro_file, micro.to_json)
116
+ end
117
+
118
+ def deep_merge(a, b)
119
+ merge = proc do |_, old, new|
120
+ if new.is_a?(Hash) and old.is_a?(Hash)
121
+ old.merge(new, &merge)
122
+ else
123
+ new
124
+ end
125
+ end
126
+
127
+ a.merge(b, &merge)
128
+ end
129
+
130
+ def clients
131
+ return @clients if @clients
132
+
133
+ stock = YAML.load_file(STOCK_CLIENTS)
134
+ clients = File.expand_path CLIENTS_FILE
135
+ if File.exists? clients
136
+ user = YAML.load_file(clients)
137
+ @clients = deep_merge(stock, user)
138
+ else
139
+ @clients = stock
140
+ end
141
+ end
142
+
105
143
  def lock_and_read(file)
106
- File.open(file, "r") {|f|
107
- f.flock(File::LOCK_EX)
144
+ File.open(file, File::RDONLY) {|f|
145
+ if defined? JRUBY_VERSION
146
+ f.flock(File::LOCK_SH)
147
+ else
148
+ f.flock(File::LOCK_EX)
149
+ end
108
150
  contents = f.read
109
151
  f.flock(File::LOCK_UN)
110
152
  contents
@@ -0,0 +1,157 @@
1
+ require 'net/telnet'
2
+ require 'readline'
3
+
4
+ module VMC::Cli
5
+ module ConsoleHelper
6
+
7
+ def console_connection_info(appname)
8
+ app = client.app_info(appname)
9
+ fw = VMC::Cli::Framework.lookup_by_framework(app[:staging][:model])
10
+ if !fw.console
11
+ err "'#{appname}' is a #{fw.name} application. " +
12
+ "Console access is not supported for #{fw.name} applications."
13
+ end
14
+ instances_info_envelope = client.app_instances(appname)
15
+ instances_info_envelope = {} if instances_info_envelope.is_a?(Array)
16
+
17
+ instances_info = instances_info_envelope[:instances] || []
18
+ err "No running instances for [#{appname}]" if instances_info.empty?
19
+
20
+ entry = instances_info[0]
21
+ if !entry[:console_port]
22
+ begin
23
+ client.app_files(appname, '/app/cf-rails-console')
24
+ err "Console port not provided for [#{appname}]. Try restarting the app."
25
+ rescue VMC::Client::TargetError, VMC::Client::NotFound
26
+ err "Console access not supported for [#{appname}]. " +
27
+ "Please redeploy your app to enable support."
28
+ end
29
+ end
30
+ conn_info = {'hostname' => entry[:console_ip], 'port' => entry[:console_port]}
31
+ end
32
+
33
+ def start_local_console(port, appname)
34
+ auth_info = console_credentials(appname)
35
+ display "Connecting to '#{appname}' console: ", false
36
+ prompt = console_login(auth_info, port)
37
+ display "OK".green
38
+ display "\n"
39
+ initialize_readline
40
+ run_console prompt
41
+ end
42
+
43
+ def console_login(auth_info, port)
44
+ if !auth_info["username"] || !auth_info["password"]
45
+ err "Unable to verify console credentials."
46
+ end
47
+ @telnet_client = telnet_client(port)
48
+ prompt = nil
49
+ err_msg = "Login attempt timed out."
50
+ 5.times do
51
+ begin
52
+ results = @telnet_client.login("Name"=>auth_info["username"],
53
+ "Password"=>auth_info["password"]) {|line|
54
+ if line =~ /[$%#>] \z/n
55
+ prompt = line
56
+ elsif line =~ /Login failed/
57
+ err_msg = line
58
+ end
59
+ }
60
+ break
61
+ rescue TimeoutError
62
+ sleep 1
63
+ rescue EOFError
64
+ #This may happen if we login right after app starts
65
+ close_console
66
+ sleep 5
67
+ @telnet_client = telnet_client(port)
68
+ end
69
+ display ".", false
70
+ end
71
+ unless prompt
72
+ close_console
73
+ err err_msg
74
+ end
75
+ prompt
76
+ end
77
+
78
+ def send_console_command(cmd)
79
+ results = @telnet_client.cmd(cmd)
80
+ results.split("\n")
81
+ end
82
+
83
+ def console_credentials(appname)
84
+ content = client.app_files(appname, '/app/cf-rails-console/.consoleaccess', '0')
85
+ YAML.load(content)
86
+ end
87
+
88
+ def close_console
89
+ @telnet_client.close
90
+ end
91
+
92
+ def console_tab_completion_data(cmd)
93
+ begin
94
+ results = @telnet_client.cmd("String"=> cmd + "\t", "Match"=>/\S*\n$/, "Timeout"=>10)
95
+ results.chomp.split(",")
96
+ rescue TimeoutError
97
+ [] #Just return empty results if timeout occurred on tab completion
98
+ end
99
+ end
100
+
101
+ private
102
+ def telnet_client(port)
103
+ Net::Telnet.new({"Port"=>port, "Prompt"=>/[$%#>] \z|Login failed/n, "Timeout"=>30, "FailEOF"=>true})
104
+ end
105
+
106
+ def readline_with_history(prompt)
107
+ line = Readline.readline(prompt, true)
108
+ return '' if line.nil?
109
+ #Don't keep blank or repeat commands in history
110
+ if line =~ /^\s*$/ or Readline::HISTORY.to_a[-2] == line
111
+ Readline::HISTORY.pop
112
+ end
113
+ line
114
+ end
115
+
116
+ def run_console(prompt)
117
+ while(cmd = readline_with_history(prompt))
118
+ if(cmd == "exit" || cmd == "quit")
119
+ #TimeoutError expected, as exit doesn't return anything
120
+ @telnet_client.cmd("String"=>cmd,"Timeout"=>1) rescue TimeoutError
121
+ close_console
122
+ break
123
+ end
124
+ if !cmd.empty?
125
+ prompt = send_console_command_display_results(cmd, prompt)
126
+ end
127
+ end
128
+ end
129
+
130
+ def send_console_command_display_results(cmd, prompt)
131
+ begin
132
+ lines = send_console_command cmd
133
+ #Assumes the last line is a prompt
134
+ prompt = lines.pop
135
+ lines.each {|line| display line if line != cmd}
136
+ rescue TimeoutError
137
+ display "Timed out sending command to server.".red
138
+ rescue EOFError
139
+ err "The console connection has been terminated. Perhaps the app was stopped or deleted?"
140
+ end
141
+ prompt
142
+ end
143
+
144
+ def initialize_readline
145
+ if Readline.respond_to?("basic_word_break_characters=")
146
+ Readline.basic_word_break_characters= " \t\n`><=;|&{("
147
+ end
148
+ Readline.completion_append_character = nil
149
+ #Assumes that sending a String ending with tab will return a non-empty
150
+ #String of comma-separated completion options, terminated by a new line
151
+ #For example, "app.\t" might result in "to_s,nil?,etc\n"
152
+ Readline.completion_proc = proc {|s|
153
+ console_tab_completion_data s
154
+ }
155
+ end
156
+ end
157
+ end
@@ -68,334 +68,6 @@ module VMCExtensions
68
68
  return sprintf("%.#{prec}fM", size/(1024.0*1024.0)) if size < (1024*1024*1024)
69
69
  return sprintf("%.#{prec}fG", size/(1024.0*1024.0*1024.0))
70
70
  end
71
-
72
- # general-purpose interaction
73
- #
74
- # `question' is the prompt (without ": " at the end)
75
- # `options' is a hash containing:
76
- # :input - the input source (defaults to STDIN)
77
- # :default - the default value, also used to attempt type conversion
78
- # of the answer (e.g. numeric/boolean)
79
- # :choices - a list of strings to choose from
80
- # :indexed - whether to allow choosing from `:choices' by their index,
81
- # best for when there are many choices
82
- # :echo - a string to echo when showing the input;
83
- # used for things like censoring password inpt
84
- # :callback - a block used to override certain actions
85
- #
86
- # takes 4 arguments:
87
- # action: the event, e.g. :up or [:key, X] where X is a
88
- # string containing a single character
89
- # answer: the current answer to the question; you'll
90
- # probably mutate this
91
- # position: the current offset from the start of the
92
- # answer string, e.g. when typing in the middle
93
- # of the input, this will be where you insert
94
- # characters
95
- # echo: the :echo option above, may be nil
96
- #
97
- # the block should return the updated `position', or nil if
98
- # it didn't handle the event
99
- def ask(question, options = {})
100
- default = options[:default]
101
- choices = options[:choices]
102
- indexed = options[:indexed]
103
- callback = options[:callback]
104
- input = options[:input] || STDIN
105
- echo = options[:echo]
106
-
107
- if choices
108
- VMCExtensions.ask_choices(input, question, default, choices, indexed, echo, &callback)
109
- else
110
- VMCExtensions.ask_default(input, question, default, echo, &callback)
111
- end
112
- end
113
-
114
- ESCAPES = {
115
- "[A" => :up, "H" => :up,
116
- "[B" => :down, "P" => :down,
117
- "[C" => :right, "M" => :right,
118
- "[D" => :left, "K" => :left,
119
- "[3~" => :delete, "S" => :delete,
120
- "[H" => :home, "G" => :home,
121
- "[F" => :end, "O" => :end
122
- }
123
-
124
- def handle_action(which, ans, pos, echo = nil)
125
- if block_given?
126
- res = yield which, ans, pos, echo
127
- return res unless res.nil?
128
- end
129
-
130
- case which
131
- when :up
132
- # nothing
133
-
134
- when :down
135
- # nothing
136
-
137
- when :tab
138
- # nothing
139
-
140
- when :right
141
- unless pos == ans.size
142
- display censor(ans[pos .. pos], echo), false
143
- return pos + 1
144
- end
145
-
146
- when :left
147
- unless pos == 0
148
- display "\b", false
149
- return pos - 1
150
- end
151
-
152
- when :delete
153
- unless pos == ans.size
154
- ans.slice!(pos, 1)
155
- if WINDOWS
156
- rest = ans[pos .. -1]
157
- display(censor(rest, echo) + " \b" + ("\b" * rest.size), false)
158
- else
159
- display("\e[P", false)
160
- end
161
- end
162
-
163
- when :home
164
- display("\b" * pos, false)
165
- return 0
166
-
167
- when :end
168
- display(censor(ans[pos .. -1], echo), false)
169
- return ans.size
170
-
171
- when :backspace
172
- if pos > 0
173
- ans.slice!(pos - 1, 1)
174
-
175
- if WINDOWS
176
- rest = ans[pos - 1 .. -1]
177
- display("\b" + censor(rest, echo) + " \b" + ("\b" * rest.size), false)
178
- else
179
- display("\b\e[P", false)
180
- end
181
-
182
- return pos - 1
183
- end
184
-
185
- when :interrupt
186
- raise Interrupt.new
187
-
188
- when :eof
189
- return false if ans.empty?
190
-
191
- when :kill_word
192
- if pos > 0
193
- start = /[^\s]*\s*$/ =~ ans[0 .. pos]
194
- length = pos - start
195
- ans.slice!(start, length)
196
- display("\b" * length + " " * length + "\b" * length, false)
197
- return start
198
- end
199
-
200
- when Array
201
- case which[0]
202
- when :key
203
- c = which[1]
204
- rest = ans[pos .. -1]
205
-
206
- ans.insert(pos, c)
207
-
208
- display(censor(c + rest, echo) + ("\b" * rest.size), false)
209
-
210
- return pos + 1
211
- end
212
- end
213
-
214
- pos
215
- end
216
-
217
- def censor(str, with)
218
- return str unless with
219
- with * str.size
220
- end
221
-
222
- # ask a simple question, maybe with a default answer
223
- #
224
- # reads character-by-character, handling backspaces, and sending each
225
- # character to a block if provided
226
- def self.ask_default(input, question, default = nil, echo = nil, &callback)
227
- while true
228
- prompt(question, default)
229
-
230
- ans = ""
231
- pos = 0
232
- escaped = false
233
- escape_seq = ""
234
-
235
- with_char_io(input) do
236
- until pos == false or (c = get_character(input)) =~ /[\r\n]/
237
- if c == "\e" || c == "\xE0"
238
- escaped = true
239
- elsif escaped
240
- escape_seq << c
241
-
242
- if cmd = ESCAPES[escape_seq]
243
- pos = handle_action(cmd, ans, pos, echo, &callback)
244
- escaped, escape_seq = false, ""
245
- elsif ESCAPES.select { |k, v| k.start_with? escape_seq }.empty?
246
- escaped, escape_seq = false, ""
247
- end
248
- elsif c == "\177" or c == "\b" # backspace
249
- pos = handle_action(:backspace, ans, pos, echo, &callback)
250
- elsif c == "\x01"
251
- pos = handle_action(:home, ans, pos, echo, &callback)
252
- elsif c == "\x03"
253
- pos = handle_action(:interrupt, ans, pos, echo, &callback)
254
- elsif c == "\x04"
255
- pos = handle_action(:eof, ans, pos, echo, &callback)
256
- elsif c == "\x05"
257
- pos = handle_action(:end, ans, pos, echo, &callback)
258
- elsif c == "\x17"
259
- pos = handle_action(:kill_word, ans, pos, echo, &callback)
260
- elsif c == "\t"
261
- pos = handle_action(:tab, ans, pos, echo, &callback)
262
- elsif c < " "
263
- # ignore
264
- else
265
- pos = handle_action([:key, c], ans, pos, echo, &callback)
266
- end
267
- end
268
- end
269
-
270
- display "\n", false
271
-
272
- if ans.empty?
273
- return default unless default.nil?
274
- else
275
- return match_type(ans, default)
276
- end
277
- end
278
- end
279
-
280
- def self.ask_choices(input, question, default, choices, indexed = false, echo = nil, &callback)
281
- msg = question.dup
282
-
283
- if indexed
284
- choices.each.with_index do |o, i|
285
- say "#{i + 1}: #{o}"
286
- end
287
- else
288
- msg << " (#{choices.collect(&:inspect).join ", "})"
289
- end
290
-
291
- while true
292
- ans = ask_default(input, msg, default, echo, &callback)
293
-
294
- matches = choices.select { |x| x.start_with? ans }
295
-
296
- if matches.size == 1
297
- return matches.first
298
- elsif indexed and ans =~ /^\d+$/ and res = choices.to_a[ans.to_i - 1]
299
- return res
300
- elsif matches.size > 1
301
- warn "Please disambiguate: #{matches.join " or "}?"
302
- else
303
- warn "Unknown answer, please try again!"
304
- end
305
- end
306
- end
307
-
308
- # display a question and show the default value
309
- def self.prompt(question, default = nil)
310
- msg = question.dup
311
-
312
- case default
313
- when true
314
- msg << " [Yn]"
315
- when false
316
- msg << " [yN]"
317
- else
318
- msg << " [#{default.inspect}]" if default
319
- end
320
-
321
- display "#{msg}: ", false
322
- end
323
-
324
- # try to make `str' be the same class as `x'
325
- def self.match_type(str, x)
326
- case x
327
- when Integer
328
- str.to_i
329
- when true, false
330
- str.upcase.start_with? "Y"
331
- else
332
- str
333
- end
334
- end
335
-
336
- # definitions for reading character-by-character
337
- begin
338
- require "Win32API"
339
-
340
- def self.with_char_io(input)
341
- yield
342
- end
343
-
344
- def self.get_character(input)
345
- if input == STDIN
346
- begin
347
- Win32API.new("msvcrt", "_getch", [], "L").call.chr
348
- rescue
349
- Win32API.new("crtdll", "_getch", [], "L").call.chr
350
- end
351
- else
352
- input.getc.chr
353
- end
354
- end
355
- rescue LoadError
356
- begin
357
- require "termios"
358
-
359
- def self.with_char_io(input)
360
- return yield unless input.tty?
361
-
362
- before = Termios.getattr(input)
363
-
364
- new = before.dup
365
- new.c_lflag &= ~(Termios::ECHO | Termios::ICANON)
366
- new.c_cc[Termios::VMIN] = 1
367
-
368
- begin
369
- Termios.setattr(input, Termios::TCSANOW, new)
370
- yield
371
- ensure
372
- Termios.setattr(input, Termios::TCSANOW, before)
373
- end
374
- end
375
-
376
- def self.get_character(input)
377
- input.getc.chr
378
- end
379
- rescue LoadError
380
- # set tty modes for the duration of a block, restoring them afterward
381
- def self.with_char_io(input)
382
- return yield unless input.tty?
383
-
384
- begin
385
- before = `stty -g`
386
- system("stty raw -echo -icanon isig")
387
- yield
388
- ensure
389
- system("stty #{before}")
390
- end
391
- end
392
-
393
- # this assumes we're wrapped in #with_stty
394
- def self.get_character(input)
395
- input.getc.chr
396
- end
397
- end
398
- end
399
71
  end
400
72
 
401
73
  module VMCStringExtensions