appswarm 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. data/.autotest +124 -0
  2. data/History.txt +7 -0
  3. data/Manifest.txt +304 -0
  4. data/README.txt +373 -0
  5. data/Rakefile +153 -0
  6. data/TODO +7 -0
  7. data/apps/README.txt +17 -0
  8. data/apps/admin/admin.rb +79 -0
  9. data/apps/admin/controllers/admin.rb +81 -0
  10. data/apps/admin/controllers/settings.rb +63 -0
  11. data/apps/admin/controllers/users.rb +3 -0
  12. data/apps/admin/features/access.feature +21 -0
  13. data/apps/admin/features/mountLocal.feature +12 -0
  14. data/apps/admin/features/settings.feature +68 -0
  15. data/apps/admin/features/startApps.feature +27 -0
  16. data/apps/admin/layouts/main.rhtml +10 -0
  17. data/apps/admin/lib/settings.rb +52 -0
  18. data/apps/admin/static/admin.css +23 -0
  19. data/apps/admin/views/_log.rhtml +21 -0
  20. data/apps/admin/views/index.rhtml +43 -0
  21. data/apps/admin/views/info.rhtml +7 -0
  22. data/apps/admin/views/settings.rhtml +9 -0
  23. data/apps/admin/views/settings/_http_app.rhtml +15 -0
  24. data/apps/admin/views/settings/_web_server.rhtml +32 -0
  25. data/apps/admin/views/settings/index.rhtml +3 -0
  26. data/apps/admin/views/users/index.rhtml +6 -0
  27. data/apps/application_provider/application_provider.rb +11 -0
  28. data/apps/blog/blog.rb +27 -0
  29. data/apps/blog/controllers/blog.rb +29 -0
  30. data/apps/blog/views/index.rhtml +27 -0
  31. data/apps/browser_starter/browser_starter.rb +32 -0
  32. data/apps/crypto/crypto.rb +47 -0
  33. data/apps/crypto/crypto_rsa.rb +102 -0
  34. data/apps/crypto/spec/crypto_spec.rb +10 -0
  35. data/apps/directory_service/directory_service.rb +107 -0
  36. data/apps/directory_service/net_application.rb +92 -0
  37. data/apps/directory_service/spec/directory_service_spec.rb +36 -0
  38. data/apps/directory_service/spec/net_application_spec.rb +3 -0
  39. data/apps/global_application_interface/global_application.rb +52 -0
  40. data/apps/global_application_interface/global_application_interface.rb +84 -0
  41. data/apps/global_application_interface/spec/app_api_spec.rb +5 -0
  42. data/apps/global_tuple_space/global_tuple_space.rb +27 -0
  43. data/apps/global_web_proxy/features/session_handling.feature +7 -0
  44. data/apps/global_web_proxy/global_web_proxy.rb +221 -0
  45. data/apps/global_web_proxy/proxy/HTTPProxyServer-Dateien/rdoc-style.css +208 -0
  46. data/apps/global_web_proxy/proxy/HTTPProxyServer.html +566 -0
  47. data/apps/global_web_proxy/proxy/dnstest.rb +30 -0
  48. data/apps/global_web_proxy/proxy/proxy.rb +86 -0
  49. data/apps/global_web_proxy/proxy/wiki.html +267 -0
  50. data/apps/global_web_proxy/proxy/wiki.rb +115 -0
  51. data/apps/global_web_proxy/spec/res1 +112 -0
  52. data/apps/global_web_proxy/spec/res2 +125 -0
  53. data/apps/global_web_proxy/spec/web_proxy_spec.rb +88 -0
  54. data/apps/global_web_server/global_web_server.rb +120 -0
  55. data/apps/global_web_server/global_web_servlet.rb +6 -0
  56. data/apps/hello_world/controllers/hello_world.rb +11 -0
  57. data/apps/hello_world/features/show_on_local_web_server.feature +44 -0
  58. data/apps/hello_world/features/starting_apps.feature +6 -0
  59. data/apps/hello_world/features/through_global.feature +12 -0
  60. data/apps/hello_world/hello_world.rb +3 -0
  61. data/apps/hello_world/views/get.rhtml +10 -0
  62. data/apps/hello_world/views/index.rhtml +9 -0
  63. data/apps/hello_world/views/post.rhtml +10 -0
  64. data/apps/home/controllers/home.rb +11 -0
  65. data/apps/home/home.rb +12 -0
  66. data/apps/home/layouts/main.rhtml +16 -0
  67. data/apps/home/static/Zeichnung.svg +240 -0
  68. data/apps/home/static/home.css +134 -0
  69. data/apps/home/static/menu.css +99 -0
  70. data/apps/home/views/_appInfo.rhtml +22 -0
  71. data/apps/home/views/_dummy_fill.rhtml +3 -0
  72. data/apps/home/views/_info.rhtml +6 -0
  73. data/apps/home/views/_menu.rhtml +17 -0
  74. data/apps/home/views/index.rhtml +4 -0
  75. data/apps/home/views/overview.rhtml +2 -0
  76. data/apps/local_chunk_store/chunk_store.rb +15 -0
  77. data/apps/local_chunk_store/local_chunk_store.rb +123 -0
  78. data/apps/local_chunk_store/spec/local_chunk_store_spec.rb +30 -0
  79. data/apps/local_file_store/app_configuration.rb +78 -0
  80. data/apps/local_file_store/app_file_store.rb +32 -0
  81. data/apps/local_file_store/cached_file_store.rb +94 -0
  82. data/apps/local_file_store/features/testbed_handling_of_directories.feature +20 -0
  83. data/apps/local_file_store/local_file_store.rb +47 -0
  84. data/apps/local_file_store/spec/app_configuration_spec.rb +30 -0
  85. data/apps/local_file_store/spec/local_file_store_spec.rb +54 -0
  86. data/apps/local_object_storage/lib/cell.rb +29 -0
  87. data/apps/local_object_storage/lib/cellmgr.rb +57 -0
  88. data/apps/local_object_storage/lib/index.rb +43 -0
  89. data/apps/local_object_storage/lib/marshal.rb +96 -0
  90. data/apps/local_object_storage/lib/pagefile.rb +6 -0
  91. data/apps/local_object_storage/lib/persistent_object.rb +126 -0
  92. data/apps/local_object_storage/local_object_storage.rb +148 -0
  93. data/apps/local_object_storage/spec/local_object_storage_spec.rb +123 -0
  94. data/apps/local_secure_file_store/local_secure_file_store.rb +64 -0
  95. data/apps/local_secure_file_store/spec/local_secure_file_store_spec.rb +23 -0
  96. data/apps/local_tuple_space/local_tuple_space.rb +92 -0
  97. data/apps/local_tuple_space/spec/tuple_space_spec.rb +25 -0
  98. data/apps/local_web_server/features/parsing_args.feature +18 -0
  99. data/apps/local_web_server/local_web_server.rb +166 -0
  100. data/apps/logger/logger.rb +27 -0
  101. data/apps/master/master.rb +46 -0
  102. data/apps/master/spec/master_spec.rb +31 -0
  103. data/apps/my_spec_spec.rb +15 -0
  104. data/apps/name_service/name_service.rb +75 -0
  105. data/apps/name_service/spec/name_service_spec.rb +51 -0
  106. data/apps/network_discovery/network_discovery.rb +45 -0
  107. data/apps/network_discovery_localstore/network_discovery_localstore.rb +20 -0
  108. data/apps/network_discovery_udp/network_discovery_udp.rb +51 -0
  109. data/apps/network_lookup/network_lookup.rb +61 -0
  110. data/apps/network_node/abstract_node.rb +104 -0
  111. data/apps/network_node/drb_node.rb +90 -0
  112. data/apps/network_node/network_app.rb +9 -0
  113. data/apps/network_node/network_node.rb +471 -0
  114. data/apps/network_node/remote_service.rb +45 -0
  115. data/apps/network_node/secure_node.rb +125 -0
  116. data/apps/network_node/spec/drb_spec.rb +41 -0
  117. data/apps/network_node/spec/network_node_spec_not.rb +264 -0
  118. data/apps/new_network_node/new_network_node.rb +427 -0
  119. data/apps/new_network_node/spec/new_network_node_spec.rb +186 -0
  120. data/apps/node_broadcast/node_broadcast.rb +167 -0
  121. data/apps/node_broadcast/spec/node_broadcast_spec.rb +59 -0
  122. data/apps/permaspace/permaspace.rb +47 -0
  123. data/apps/plaindb/lib/btree.rb +38 -0
  124. data/apps/plaindb/plaindb.rb +199 -0
  125. data/apps/plaindb/spec/table_write_spec.rb +36 -0
  126. data/apps/routed_network/routed_network.rb +23 -0
  127. data/apps/routed_network/spec/routed_network_spec.rb +17 -0
  128. data/apps/session_manager/session_manager.rb +18 -0
  129. data/apps/spec_output.html +222 -0
  130. data/apps/todo/controllers/todo.rb +87 -0
  131. data/apps/todo/model/comment.rb +10 -0
  132. data/apps/todo/model/project.rb +20 -0
  133. data/apps/todo/model/todo.rb +16 -0
  134. data/apps/todo/model/user.rb +5 -0
  135. data/apps/todo/todo.rb +21 -0
  136. data/apps/todo/views/_commentList.rhtml +7 -0
  137. data/apps/todo/views/_createProject.rhtml +5 -0
  138. data/apps/todo/views/_partList.rhtml +12 -0
  139. data/apps/todo/views/_projectList.rhtml +16 -0
  140. data/apps/todo/views/edit.rhtml +11 -0
  141. data/apps/todo/views/editPart.rhtml +10 -0
  142. data/apps/todo/views/index.rhtml +2 -0
  143. data/apps/todo/views/question.rhtml +4 -0
  144. data/apps/transparent_network/transparent_network.rb +7 -0
  145. data/apps/udp_network/big_transfer.rb +97 -0
  146. data/apps/udp_network/features/information.feature +7 -0
  147. data/apps/udp_network/message_queue.rb +84 -0
  148. data/apps/udp_network/network_interface_api.rb +39 -0
  149. data/apps/udp_network/qos_queue.rb +186 -0
  150. data/apps/udp_network/simple_api.rb +180 -0
  151. data/apps/udp_network/spec/big_transfer_spec.rb +0 -0
  152. data/apps/udp_network/spec/qos_queue_spec.rb +99 -0
  153. data/apps/udp_network/spec/simple_api_spec.rb +35 -0
  154. data/apps/udp_network/spec/udp_network_spec.rb +115 -0
  155. data/apps/udp_network/spec/udp_transceiver_spec.rb +90 -0
  156. data/apps/udp_network/udp_network.rb +196 -0
  157. data/apps/udp_network/udp_transceiver.rb +329 -0
  158. data/apps/wiki/controllers/wiki.rb +56 -0
  159. data/apps/wiki/features/editing.feature +21 -0
  160. data/apps/wiki/layouts/main.rhtml +18 -0
  161. data/apps/wiki/lib/media_wiki_html.rb +35 -0
  162. data/apps/wiki/lib/wikicreole.rb +2147 -0
  163. data/apps/wiki/lib/wikicreole.tt +135 -0
  164. data/apps/wiki/lib/wikitest.rb +158 -0
  165. data/apps/wiki/lib/wikitest.tt +17 -0
  166. data/apps/wiki/model/menu.rb +15 -0
  167. data/apps/wiki/model/page.rb +31 -0
  168. data/apps/wiki/spec/wiki_creole_spec.rb +20 -0
  169. data/apps/wiki/spec/wiki_spec.rb +19 -0
  170. data/apps/wiki/static/Zeichnung.svg +240 -0
  171. data/apps/wiki/static/home.css +134 -0
  172. data/apps/wiki/static/mainMenu.css +32 -0
  173. data/apps/wiki/static/menu.css +99 -0
  174. data/apps/wiki/views/_mainMenu.rhtml +3 -0
  175. data/apps/wiki/views/_menu.rhtml +13 -0
  176. data/apps/wiki/views/edit.rhtml +13 -0
  177. data/apps/wiki/views/index.rhtml +2 -0
  178. data/apps/wiki/views/save.rhtml +1 -0
  179. data/apps/wiki/wiki.rb +17 -0
  180. data/bin/appswarm +47 -0
  181. data/cucumber.yml +2 -0
  182. data/data/PermaspaceApp/AFS_WikiApp_wiki_config +6 -0
  183. data/data/draft.txt +63 -0
  184. data/docs/appswarm_motivation.graffle +0 -0
  185. data/docs/appswarm_pics.graffle/QuickLook/Preview.pdf +0 -0
  186. data/docs/appswarm_pics.graffle/QuickLook/Thumbnail.tiff +0 -0
  187. data/docs/appswarm_pics.graffle/data.plist +63494 -0
  188. data/docs/appswarm_pics.graffle/image1.tiff +0 -0
  189. data/docs/appswarm_pics.graffle/image2.tif +0 -0
  190. data/docs/appswarm_pics.graffle/image3.tif +0 -0
  191. data/docs/appswarm_pics.graffle/image4.tif +0 -0
  192. data/docs/appswarm_pics.graffle/image5.tiff +0 -0
  193. data/docs/routing.graffle +0 -0
  194. data/features/step_definitions/appstart_steps.rb +28 -0
  195. data/features/step_definitions/cluster_steps.rb +18 -0
  196. data/features/step_definitions/testbed_steps.rb +64 -0
  197. data/features/step_definitions/webapp_steps.rb +257 -0
  198. data/features/support/env.rb +7 -0
  199. data/lib/appswarm.rb +127 -0
  200. data/lib/appswarm/README.txt +67 -0
  201. data/lib/appswarm/app_config.rb +19 -0
  202. data/lib/appswarm/application.rb +267 -0
  203. data/lib/appswarm/breaking_mutex.rb +41 -0
  204. data/lib/appswarm/cluster_funcs.rb +157 -0
  205. data/lib/appswarm/cross_spectool.rb +153 -0
  206. data/lib/appswarm/crypt.rb +10 -0
  207. data/lib/appswarm/crypt/crypto.rb +90 -0
  208. data/lib/appswarm/crypt/rsa_key +15 -0
  209. data/lib/appswarm/crypt/rsa_key.pub +5 -0
  210. data/lib/appswarm/crypt/test.rb +27 -0
  211. data/lib/appswarm/dir_tool.rb +41 -0
  212. data/lib/appswarm/event_api.rb +7 -0
  213. data/lib/appswarm/features_helper.rb +44 -0
  214. data/lib/appswarm/global_service.rb +38 -0
  215. data/lib/appswarm/http.rb +1 -0
  216. data/lib/appswarm/http/http_app.rb +257 -0
  217. data/lib/appswarm/http/http_controller.rb +267 -0
  218. data/lib/appswarm/http/http_provider.rb +80 -0
  219. data/lib/appswarm/http/static/favicon.ico +0 -0
  220. data/lib/appswarm/http/static/javascript/._prototype.js +0 -0
  221. data/lib/appswarm/http/static/javascript/prototype.js +2515 -0
  222. data/lib/appswarm/http/webrick_logger.rb +12 -0
  223. data/lib/appswarm/net_service.rb +69 -0
  224. data/lib/appswarm/package.rb +88 -0
  225. data/lib/appswarm/parallel_each.rb +46 -0
  226. data/lib/appswarm/protocols/protocol_dice.rb +25 -0
  227. data/lib/appswarm/proxy_testing.rb +48 -0
  228. data/lib/appswarm/public_api.rb +35 -0
  229. data/lib/appswarm/routing/matrix_math.rb +57 -0
  230. data/lib/appswarm/routing/pca.rb +211 -0
  231. data/lib/appswarm/routing/routetest.rb +85 -0
  232. data/lib/appswarm/routing/routing.rb +326 -0
  233. data/lib/appswarm/routing/spec/nods_spec.rb +23 -0
  234. data/lib/appswarm/routing/spec/pca_spec.rb +27 -0
  235. data/lib/appswarm/routing/spec/routing_spec.rb +91 -0
  236. data/lib/appswarm/secure_con.rb +437 -0
  237. data/lib/appswarm/secure_connection.rb +79 -0
  238. data/lib/appswarm/secure_marshal.rb +137 -0
  239. data/lib/appswarm/service.rb +76 -0
  240. data/lib/appswarm/simple_marshal.rb +96 -0
  241. data/lib/appswarm/simple_marshal_parser.rb +1243 -0
  242. data/lib/appswarm/simple_marshal_parser.tt +158 -0
  243. data/lib/appswarm/spec/application_spec.rb +50 -0
  244. data/lib/appswarm/spec/cluster_spec.rb +2 -0
  245. data/lib/appswarm/spec/hexdist_spec.rb +13 -0
  246. data/lib/appswarm/spec/http_controller_spec.rb +18 -0
  247. data/lib/appswarm/spec/main_spec.rb +6 -0
  248. data/lib/appswarm/spec/parallel_each_spec.rb +30 -0
  249. data/lib/appswarm/spec/secure_connection_spec.rb +108 -0
  250. data/lib/appswarm/spec/secure_marshal_spec.rb +93 -0
  251. data/lib/appswarm/spec/simple_marshal_spec.rb +87 -0
  252. data/lib/appswarm/spec/tools_spec.rb +13 -0
  253. data/lib/appswarm/spec/whiteboard_spec.rb +20 -0
  254. data/lib/appswarm/spec_helper.rb +18 -0
  255. data/lib/appswarm/test_bed.rb +207 -0
  256. data/lib/appswarm/tools.rb +284 -0
  257. data/lib/appswarm/tools/http_tunnel_client.rb +139 -0
  258. data/lib/appswarm/tools/http_tunnel_common.rb +8 -0
  259. data/lib/appswarm/tools/http_tunnel_server.rb +78 -0
  260. data/lib/appswarm/tools/parser/example_data.simple +102 -0
  261. data/lib/appswarm/tools/parser/match_test.rb +14 -0
  262. data/lib/appswarm/tools/parser/parser_lib.rb +165 -0
  263. data/lib/appswarm/tools/parser/parser_test.rb +104 -0
  264. data/lib/appswarm/tools/parser/spec/parser_spec.rb +44 -0
  265. data/lib/appswarm/tools/pipes.rb +95 -0
  266. data/lib/appswarm/tools/spec/tracing_spec.rb +16 -0
  267. data/lib/appswarm/tools/spec/waiting_queue_spec.rb +15 -0
  268. data/lib/appswarm/tools/thread_tool.rb +61 -0
  269. data/lib/appswarm/tools/tracing.rb +84 -0
  270. data/lib/appswarm/tools/treetop_test.rb +20 -0
  271. data/lib/appswarm/tools/treetop_test_grammar.rb +114 -0
  272. data/lib/appswarm/tools/treetop_test_grammar.tt +7 -0
  273. data/lib/appswarm/tools/waiting_prio_queue.rb +47 -0
  274. data/lib/appswarm/tools/waiting_queue.rb +34 -0
  275. data/lib/appswarm/whiteboard.rb +73 -0
  276. data/nettest.rb +50 -0
  277. data/packages/README.txt +1 -0
  278. data/packages/msandbox/data/packages/store/my.txt +1 -0
  279. data/packages/msandbox/interfaces.rb +172 -0
  280. data/packages/msandbox/old/defa.rb +3 -0
  281. data/packages/msandbox/old/test.rb +14 -0
  282. data/packages/msandbox/old/test2.rb +56 -0
  283. data/packages/msandbox/package.rb +67 -0
  284. data/packages/msandbox/packages/store/config.yml +1 -0
  285. data/packages/msandbox/packages/store/main.rb +27 -0
  286. data/packages/msandbox/packages/store/myinclude.rb +7 -0
  287. data/packages/msandbox/packages/store_test/config.yml +1 -0
  288. data/packages/msandbox/packages/store_test/main.rb +9 -0
  289. data/packages/msandbox/server.rb +146 -0
  290. data/packages/msandbox/test.rb +13 -0
  291. data/packages/msandbox/test2.rb +29 -0
  292. data/templates/web/appswarm/controllers/appswarm.rb +41 -0
  293. data/templates/web/appswarm/layouts/main.rhtml +20 -0
  294. data/templates/web/appswarm/models/asmenu.rb +14 -0
  295. data/templates/web/appswarm/models/asuser.rb +30 -0
  296. data/templates/web/appswarm/static/custom.css +15 -0
  297. data/templates/web/appswarm/static/home.css +134 -0
  298. data/templates/web/appswarm/static/mainMenu.css +32 -0
  299. data/templates/web/appswarm/static/menu.css +99 -0
  300. data/templates/web/appswarm/views/_mainMenu.rhtml +5 -0
  301. data/templates/web/appswarm/views/_menu.rhtml +13 -0
  302. data/templates/web/appswarm/views/_userInfo.rhtml +7 -0
  303. data/templates/web/appswarm/views/login.rhtml +9 -0
  304. data/tools/checkPort.rb +11 -0
  305. metadata +379 -0
@@ -0,0 +1,135 @@
1
+ grammar WikiCreole
2
+ rule Page
3
+ Block*
4
+ end
5
+ rule Block
6
+ Heading / Paragraph / List / Preformatted / HorizontalLine / EmptyLine
7
+ end
8
+ rule EmptyLine
9
+ Whitespace* LineEnd
10
+ end
11
+ rule HorizontalLine
12
+ "----" "-"* Whitespace* LineEnd
13
+ end
14
+ rule Heading
15
+ Heading3 / Heading2 / Heading1
16
+ end
17
+ rule Heading1
18
+ '==' Whitespace* HeadingText Whitespace* '='* Whitespace* LineEnd
19
+ end
20
+ rule Heading2
21
+ '===' Whitespace* HeadingText Whitespace* '='* Whitespace* LineEnd
22
+ end
23
+ rule Heading3
24
+ '====' Whitespace* HeadingText Whitespace* '='* Whitespace* LineEnd
25
+ end
26
+
27
+ rule HeadingText
28
+ TextPart+
29
+ end
30
+
31
+ rule Preformatted
32
+ '{{{' Whitespace* LineEnd PreformattedLine* LineStart Whitespace* '}}}' Whitespace* LineEnd
33
+ end
34
+ rule PreformattedLine
35
+ .* LineEnd
36
+ end
37
+ rule Paragraph
38
+ TextLine+
39
+ end
40
+ rule TextLine
41
+ !'==' TextPart+ LineEnd
42
+ end
43
+
44
+ rule TextPart
45
+ PlaceHolder / Image / Link / BoldText / ItalicText / NormalText
46
+ end
47
+ rule ItalicText
48
+ '//' TextPart+ '//'
49
+ end
50
+ rule BoldText
51
+ '**' TextPart+ '**'
52
+ end
53
+ rule NormalText
54
+ [^\n]+
55
+ end
56
+ rule PlaceHolder
57
+ '<<' [0-9]+ '>>'
58
+ end
59
+ rule Image
60
+ ImageWithAlt / ImageWithoutAlt
61
+ end
62
+ rule ImageWithAlt
63
+ '{{' ImageAddress '|' '}}'
64
+ end
65
+ rule ImageWithoutAlt
66
+ '{{' ImageAddress '}}'
67
+ end
68
+ rule ImageAddress
69
+ URL / ImageFile / PageName
70
+ end
71
+ rule ImageFile
72
+ .* '.' ImageFileExtension
73
+ end
74
+ rule ImageFileExtension
75
+ 'gif' / 'jpg' / 'jpeg' / 'png' / 'svg'
76
+ end
77
+
78
+ rule Link
79
+ LinkWithoutText / LinkWithText
80
+ end
81
+ rule LinkWithText
82
+ '[[' LinkAddress '|' LinkText ']]'
83
+ end
84
+ rule LinkWithoutText
85
+ '[[' LinkAddress ']]'
86
+ end
87
+ rule LinkAddress
88
+ PageName / URL
89
+ end
90
+ rule URL
91
+ URLProtocol ':' RestOfURL
92
+ end
93
+ rule URLProtocol
94
+ 'http' / 'https' / 'ftp' / 'mailto' / 'news' / 'irc'
95
+ end
96
+ rule RestOfURL
97
+ .*
98
+ end
99
+ rule PageName
100
+ [a-zA-Z0-9.?!_ -]+
101
+ end
102
+ rule List
103
+ FirstListElement ListElement*
104
+ end
105
+ rule FirstListElement
106
+ FirstBullet / FirstNumber
107
+ end
108
+ rule FirstBulletElement
109
+ '*' Whitespace TextPart*
110
+ end
111
+ rule FirstNumberElement
112
+ '#' Whitespace TextPart*
113
+ end
114
+ rule BulletElement
115
+ '*' Whitespace TextPart*
116
+ end
117
+ rule NumberElement
118
+ '#' Whitespace TextPart*
119
+ end
120
+ rule FirstBullet
121
+ '*'
122
+ end
123
+ rule FirstNumber
124
+ '#'
125
+ end
126
+
127
+ rule LineEnd
128
+ [\n]
129
+ end
130
+
131
+ rule Whitespace
132
+ [ \t]
133
+ end
134
+
135
+ end
@@ -0,0 +1,158 @@
1
+ module WikiCreole
2
+ include Treetop::Runtime
3
+
4
+ def root
5
+ @root || :Text
6
+ end
7
+
8
+ def _nt_Text
9
+ start_index = index
10
+ if node_cache[:Text].has_key?(index)
11
+ cached = node_cache[:Text][index]
12
+ @index = cached.interval.end if cached
13
+ return cached
14
+ end
15
+
16
+ s0, i0 = [], index
17
+ loop do
18
+ r1 = _nt_TextLine
19
+ if r1
20
+ s0 << r1
21
+ else
22
+ break
23
+ end
24
+ end
25
+ if s0.empty?
26
+ self.index = i0
27
+ r0 = nil
28
+ else
29
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
30
+ end
31
+
32
+ node_cache[:Text][start_index] = r0
33
+
34
+ return r0
35
+ end
36
+
37
+ module TextLine0
38
+ def LineStart
39
+ elements[0]
40
+ end
41
+
42
+ def TextPart
43
+ elements[1]
44
+ end
45
+
46
+ def LineEnd
47
+ elements[2]
48
+ end
49
+ end
50
+
51
+ def _nt_TextLine
52
+ start_index = index
53
+ if node_cache[:TextLine].has_key?(index)
54
+ cached = node_cache[:TextLine][index]
55
+ @index = cached.interval.end if cached
56
+ return cached
57
+ end
58
+
59
+ i0, s0 = index, []
60
+ r1 = _nt_LineStart
61
+ s0 << r1
62
+ if r1
63
+ r2 = _nt_TextPart
64
+ s0 << r2
65
+ if r2
66
+ r3 = _nt_LineEnd
67
+ s0 << r3
68
+ end
69
+ end
70
+ if s0.last
71
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
72
+ r0.extend(TextLine0)
73
+ else
74
+ self.index = i0
75
+ r0 = nil
76
+ end
77
+
78
+ node_cache[:TextLine][start_index] = r0
79
+
80
+ return r0
81
+ end
82
+
83
+ def _nt_TextPart
84
+ start_index = index
85
+ if node_cache[:TextPart].has_key?(index)
86
+ cached = node_cache[:TextPart][index]
87
+ @index = cached.interval.end if cached
88
+ return cached
89
+ end
90
+
91
+ s0, i0 = [], index
92
+ loop do
93
+ if input.index(Regexp.new('[^\\n]'), index) == index
94
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
95
+ @index += 1
96
+ else
97
+ r1 = nil
98
+ end
99
+ if r1
100
+ s0 << r1
101
+ else
102
+ break
103
+ end
104
+ end
105
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
106
+
107
+ node_cache[:TextPart][start_index] = r0
108
+
109
+ return r0
110
+ end
111
+
112
+ def _nt_LineStart
113
+ start_index = index
114
+ if node_cache[:LineStart].has_key?(index)
115
+ cached = node_cache[:LineStart][index]
116
+ @index = cached.interval.end if cached
117
+ return cached
118
+ end
119
+
120
+ if input.index("\n", index) == index
121
+ r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
122
+ @index += 1
123
+ else
124
+ terminal_parse_failure("\n")
125
+ r0 = nil
126
+ end
127
+
128
+ node_cache[:LineStart][start_index] = r0
129
+
130
+ return r0
131
+ end
132
+
133
+ def _nt_LineEnd
134
+ start_index = index
135
+ if node_cache[:LineEnd].has_key?(index)
136
+ cached = node_cache[:LineEnd][index]
137
+ @index = cached.interval.end if cached
138
+ return cached
139
+ end
140
+
141
+ if input.index("\n", index) == index
142
+ r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
143
+ @index += 1
144
+ else
145
+ terminal_parse_failure("\n")
146
+ r0 = nil
147
+ end
148
+
149
+ node_cache[:LineEnd][start_index] = r0
150
+
151
+ return r0
152
+ end
153
+
154
+ end
155
+
156
+ class WikiCreoleParser < Treetop::Runtime::CompiledParser
157
+ include WikiCreole
158
+ end
@@ -0,0 +1,17 @@
1
+ grammar WikiCreole
2
+ rule Text
3
+ TextLine+
4
+ end
5
+ rule TextLine
6
+ LineStart TextPart LineEnd
7
+ end
8
+ rule TextPart
9
+ [^\n]*
10
+ end
11
+ rule LineStart
12
+ "\n"
13
+ end
14
+ rule LineEnd
15
+ "\n"
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ class Menu
2
+ def initialize(cntrl)
3
+ @cntrl=cntrl
4
+ @shortCuts={"Home"=>""}
5
+ end
6
+
7
+ def items
8
+ [
9
+ ["Main",@cntrl.url(:action=>:index)],
10
+ ["Page",@cntrl.url(:action=>:index)+"/"+@cntrl.path],
11
+ ["Edit",@cntrl.url(:action=>:edit)+"/"+@cntrl.path]
12
+ ]
13
+ end
14
+ end
15
+
@@ -0,0 +1,31 @@
1
+ module WikiModel
2
+ class Instance
3
+ def initialize(app)
4
+ @app=app
5
+ end
6
+
7
+ def getPage(name)
8
+ Page.new(@app,name)
9
+ end
10
+ end
11
+
12
+ class Page
13
+ def initialize(app,name)
14
+ @app=app
15
+ @name=name
16
+ end
17
+ def content
18
+ config=@app.retrieveConfig
19
+ fs=@app.getApp(:localFileStore)
20
+
21
+ data=config["wiki"][@app.instanceName][@name].content
22
+ end
23
+ def content=(data)
24
+ config=@app.retrieveConfig
25
+ fs=@app.getApp(:localFileStore)
26
+
27
+ config["wiki"][@app.instanceName][@name]=data
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,20 @@
1
+ describe "WikiCreole" do
2
+ it "should parse a simple wiki text" do
3
+ wiki="\nSome Text\n== Some headline\n"
4
+ #wiki="\n== Some headline\n"
5
+ parse(wiki)
6
+ end
7
+
8
+ def parse(text)
9
+ require 'treetop'
10
+ Treetop.load "apps/wiki/lib/wikicreole.tt"
11
+ #require 'simple_marshal_parser.rb'
12
+ parser = WikiCreoleParser.new
13
+ result = parser.parse(text)
14
+ pp "RESULT",result
15
+ if result
16
+ return result.sload
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ require 'proxy_testing.rb'
2
+
3
+ describe "Wiki" do
4
+ it "should run on a global web server if not http-port is specified" do
5
+ b=TestBed.new({})
6
+ #b.run("UdpNetwork")
7
+ ns=b.run("NameService")
8
+ b.run("GlobalWebServer")
9
+ sleep 0.2
10
+ wiki=b.run("Wiki",{:instances=>["MyWiki"]})
11
+ wiki.port.should be_nil
12
+ proxy=b.run("GlobalWebProxy")
13
+ sa=wiki.serviceAddress("MyWiki","")
14
+ ns.export("test.appswarm",sa)
15
+ ns.get("test.appswarm").should == sa
16
+ sleepDebug 1
17
+ getFromGlobalProxy(proxy,"http://test.appswarm/Test?edit=false&testarg=1234",{"hupe"=>"bla"}).body.should be_valid_html
18
+ end
19
+ end
@@ -0,0 +1,240 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+ <svg
4
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
5
+ xmlns:cc="http://creativecommons.org/ns#"
6
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
+ xmlns:svg="http://www.w3.org/2000/svg"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:xlink="http://www.w3.org/1999/xlink"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="80"
13
+ height="60"
14
+ id="svg2"
15
+ sodipodi:version="0.32"
16
+ inkscape:version="0.46"
17
+ version="1.0"
18
+ sodipodi:docname="Zeichnung.svg"
19
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
20
+ <defs
21
+ id="defs4">
22
+ <linearGradient
23
+ id="linearGradient3407">
24
+ <stop
25
+ id="stop3409"
26
+ offset="0"
27
+ style="stop-color:#ffaa00;stop-opacity:1;" />
28
+ <stop
29
+ style="stop-color:#000000;stop-opacity:1;"
30
+ offset="1"
31
+ id="stop3411" />
32
+ </linearGradient>
33
+ <linearGradient
34
+ id="linearGradient3399">
35
+ <stop
36
+ style="stop-color:#ffaa00;stop-opacity:1;"
37
+ offset="0"
38
+ id="stop3403" />
39
+ <stop
40
+ id="stop3405"
41
+ offset="1"
42
+ style="stop-color:#000000;stop-opacity:1;" />
43
+ </linearGradient>
44
+ <linearGradient
45
+ id="linearGradient3215">
46
+ <stop
47
+ id="stop3217"
48
+ offset="0"
49
+ style="stop-color:#000000;stop-opacity:1;" />
50
+ <stop
51
+ style="stop-color:#000000;stop-opacity:0.93170732;"
52
+ offset="0.29224515"
53
+ id="stop3219" />
54
+ <stop
55
+ id="stop3221"
56
+ offset="1"
57
+ style="stop-color:#000000;stop-opacity:0;" />
58
+ </linearGradient>
59
+ <linearGradient
60
+ id="linearGradient3199">
61
+ <stop
62
+ id="stop3201"
63
+ offset="0"
64
+ style="stop-color:#000000;stop-opacity:1;" />
65
+ <stop
66
+ style="stop-color:#000000;stop-opacity:0.93170732;"
67
+ offset="0.5"
68
+ id="stop3203" />
69
+ <stop
70
+ id="stop3205"
71
+ offset="1"
72
+ style="stop-color:#000000;stop-opacity:0;" />
73
+ </linearGradient>
74
+ <linearGradient
75
+ id="linearGradient3189">
76
+ <stop
77
+ style="stop-color:#000000;stop-opacity:1;"
78
+ offset="0"
79
+ id="stop3191" />
80
+ <stop
81
+ id="stop3197"
82
+ offset="0.5"
83
+ style="stop-color:#000000;stop-opacity:0.93170732;" />
84
+ <stop
85
+ style="stop-color:#000000;stop-opacity:0;"
86
+ offset="1"
87
+ id="stop3193" />
88
+ </linearGradient>
89
+ <linearGradient
90
+ id="linearGradient2385">
91
+ <stop
92
+ style="stop-color:#af5f06;stop-opacity:1;"
93
+ offset="0"
94
+ id="stop2387" />
95
+ <stop
96
+ id="stop3165"
97
+ offset="0.5"
98
+ style="stop-color:#ff9014;stop-opacity:1;" />
99
+ <stop
100
+ style="stop-color:#000000;stop-opacity:1;"
101
+ offset="1"
102
+ id="stop2389" />
103
+ </linearGradient>
104
+ <inkscape:perspective
105
+ sodipodi:type="inkscape:persp3d"
106
+ inkscape:vp_x="0 : 526.18109 : 1"
107
+ inkscape:vp_y="0 : 1000 : 0"
108
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
109
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
110
+ id="perspective10" />
111
+ <radialGradient
112
+ inkscape:collect="always"
113
+ xlink:href="#linearGradient2385"
114
+ id="radialGradient3163"
115
+ cx="32.431679"
116
+ cy="40.261955"
117
+ fx="32.431679"
118
+ fy="40.261955"
119
+ r="40.106018"
120
+ gradientTransform="matrix(1.6899029,5.8843562e-2,-4.0068546e-2,1.1162967,-19.7324,-9.1972141)"
121
+ gradientUnits="userSpaceOnUse" />
122
+ <radialGradient
123
+ inkscape:collect="always"
124
+ xlink:href="#linearGradient3189"
125
+ id="radialGradient3195"
126
+ cx="71.605888"
127
+ cy="30.023851"
128
+ fx="71.605888"
129
+ fy="30.023851"
130
+ r="38.658894"
131
+ gradientTransform="matrix(0.3048129,-1.1524002e-8,7.8079889e-8,1.4278074,47.428832,-12.844424)"
132
+ gradientUnits="userSpaceOnUse" />
133
+ <radialGradient
134
+ inkscape:collect="always"
135
+ xlink:href="#linearGradient3189"
136
+ id="radialGradient3209"
137
+ gradientUnits="userSpaceOnUse"
138
+ gradientTransform="matrix(0.3048129,-1.1524002e-8,7.8079889e-8,1.4278074,47.635562,-13.051154)"
139
+ cx="-123.72321"
140
+ cy="30.023848"
141
+ fx="-123.72321"
142
+ fy="30.023848"
143
+ r="38.658894" />
144
+ <radialGradient
145
+ inkscape:collect="always"
146
+ xlink:href="#linearGradient3215"
147
+ id="radialGradient3213"
148
+ gradientUnits="userSpaceOnUse"
149
+ gradientTransform="matrix(1.6524061,1.0690725e-2,-9.6871785e-4,0.1497296,216.39931,28.226397)"
150
+ cx="-106.77367"
151
+ cy="-144.67525"
152
+ fx="-106.77367"
153
+ fy="-144.67525"
154
+ r="38.658894" />
155
+ <radialGradient
156
+ inkscape:collect="always"
157
+ xlink:href="#linearGradient3189"
158
+ id="radialGradient3353"
159
+ gradientUnits="userSpaceOnUse"
160
+ gradientTransform="matrix(1,0,0,0.7209302,1.240389,8.917217)"
161
+ cx="39.692554"
162
+ cy="28.990192"
163
+ fx="39.692554"
164
+ fy="28.990192"
165
+ r="35.557915" />
166
+ <filter
167
+ inkscape:collect="always"
168
+ id="filter3391">
169
+ <feGaussianBlur
170
+ inkscape:collect="always"
171
+ stdDeviation="1.9571126"
172
+ id="feGaussianBlur3393" />
173
+ </filter>
174
+ <linearGradient
175
+ inkscape:collect="always"
176
+ xlink:href="#linearGradient3407"
177
+ id="linearGradient3397"
178
+ x1="35.497009"
179
+ y1="54.369724"
180
+ x2="35.195824"
181
+ y2="-54.37133"
182
+ gradientUnits="userSpaceOnUse"
183
+ gradientTransform="translate(-0.413464,0.4134636)" />
184
+ </defs>
185
+ <sodipodi:namedview
186
+ id="base"
187
+ pagecolor="#ffffff"
188
+ bordercolor="#666666"
189
+ borderopacity="1.0"
190
+ inkscape:pageopacity="0.0"
191
+ inkscape:pageshadow="2"
192
+ inkscape:zoom="2.4185897"
193
+ inkscape:cx="10.988603"
194
+ inkscape:cy="56.739995"
195
+ inkscape:document-units="px"
196
+ inkscape:current-layer="layer1"
197
+ showgrid="false"
198
+ inkscape:window-width="1118"
199
+ inkscape:window-height="701"
200
+ inkscape:window-x="269"
201
+ inkscape:window-y="48" />
202
+ <metadata
203
+ id="metadata7">
204
+ <rdf:RDF>
205
+ <cc:Work
206
+ rdf:about="">
207
+ <dc:format>image/svg+xml</dc:format>
208
+ <dc:type
209
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
210
+ </cc:Work>
211
+ </rdf:RDF>
212
+ </metadata>
213
+ <g
214
+ inkscape:label="Ebene 1"
215
+ inkscape:groupmode="layer"
216
+ id="layer1">
217
+ <rect
218
+ style="fill:#ff9900;fill-opacity:1;stroke:none"
219
+ id="rect3395"
220
+ width="80.625496"
221
+ height="60.779221"
222
+ x="9.8628072e-07"
223
+ y="0.047707025" />
224
+ <rect
225
+ style="fill:#000000;fill-opacity:1;stroke:url(#radialGradient3353);filter:url(#filter3391)"
226
+ id="rect3349"
227
+ width="71.115829"
228
+ height="51.269547"
229
+ x="5.37503"
230
+ y="4.1823478"
231
+ transform="matrix(1.0850458,0,0,1.1011312,-3.244048,-2.4437569)" />
232
+ <rect
233
+ style="fill:url(#linearGradient3397);fill-opacity:1;stroke:none;stroke-width:1.09305893999999992;stroke-opacity:1"
234
+ id="rect2383"
235
+ width="77.163933"
236
+ height="56.454502"
237
+ x="1.7260165"
238
+ y="2.5750213" />
239
+ </g>
240
+ </svg>