gfdnavi 1.3.0.0

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 (446) hide show
  1. data/ChangeLog +10949 -0
  2. data/LICENCE.txt +57 -0
  3. data/Makefile +18 -0
  4. data/TODO +132 -0
  5. data/app/controllers/analysis_controller.rb +700 -0
  6. data/app/controllers/application.rb +41 -0
  7. data/app/controllers/draw_method_controller.rb +172 -0
  8. data/app/controllers/explorer_controller.rb +197 -0
  9. data/app/controllers/finder_controller.rb +331 -0
  10. data/app/controllers/function_controller.rb +204 -0
  11. data/app/controllers/group_controller.rb +115 -0
  12. data/app/controllers/keyword_attributes_controller.rb +52 -0
  13. data/app/controllers/knowledge_controller.rb +928 -0
  14. data/app/controllers/nodes_controller.rb +515 -0
  15. data/app/controllers/search_controller.rb +341 -0
  16. data/app/controllers/user_controller.rb +337 -0
  17. data/app/helpers/analysis_helper.rb +2 -0
  18. data/app/helpers/application_helper.rb +105 -0
  19. data/app/helpers/description_helper.rb +2 -0
  20. data/app/helpers/function_helper.rb +2 -0
  21. data/app/helpers/group_helper.rb +2 -0
  22. data/app/helpers/search_helper.rb +3 -0
  23. data/app/helpers/user_helper.rb +2 -0
  24. data/app/helpers/work_flow_helper.rb +92 -0
  25. data/app/models/actual_file.rb +3 -0
  26. data/app/models/analysis.rb +715 -0
  27. data/app/models/analysis_history.rb +42 -0
  28. data/app/models/cross_array.rb +22 -0
  29. data/app/models/cross_result.rb +254 -0
  30. data/app/models/derived_spatial_attribute.rb +3 -0
  31. data/app/models/diagram_cache.rb +16 -0
  32. data/app/models/diagram_cache_datum.rb +4 -0
  33. data/app/models/diagram_cache_session.rb +8 -0
  34. data/app/models/directory.rb +21 -0
  35. data/app/models/draw_method.rb +48 -0
  36. data/app/models/draw_method_attribute.rb +8 -0
  37. data/app/models/draw_parameter.rb +12 -0
  38. data/app/models/explorer_query.rb +354 -0
  39. data/app/models/explorer_result.rb +312 -0
  40. data/app/models/function.rb +75 -0
  41. data/app/models/function_argument.rb +6 -0
  42. data/app/models/function_output.rb +4 -0
  43. data/app/models/group.rb +153 -0
  44. data/app/models/image.rb +20 -0
  45. data/app/models/keyword_attribute.rb +179 -0
  46. data/app/models/knowledge.rb +94 -0
  47. data/app/models/knowledge_backup.rb +32 -0
  48. data/app/models/knowledge_figure.rb +16 -0
  49. data/app/models/knowledge_figure_backup.rb +16 -0
  50. data/app/models/knowledge_parser.rb +392 -0
  51. data/app/models/node.rb +605 -0
  52. data/app/models/node_entity_abstract.rb +112 -0
  53. data/app/models/node_lineage.rb +6 -0
  54. data/app/models/node_relation.rb +4 -0
  55. data/app/models/path_node.rb +60 -0
  56. data/app/models/query.rb +193 -0
  57. data/app/models/query_history.rb +12 -0
  58. data/app/models/results.rb +48 -0
  59. data/app/models/sign_up_user.rb +25 -0
  60. data/app/models/spatial_and_time_attribute.rb +11 -0
  61. data/app/models/user.rb +115 -0
  62. data/app/models/user_mailer.rb +48 -0
  63. data/app/models/value_type.rb +3 -0
  64. data/app/models/variable.rb +70 -0
  65. data/app/models/virtual_node.rb +457 -0
  66. data/app/views/analysis/__help_analysis_tab.en.html +57 -0
  67. data/app/views/analysis/__help_draw_share.en.html +12 -0
  68. data/app/views/analysis/__help_draw_tab.en.html +6 -0
  69. data/app/views/analysis/_analysis_function_settings.rhtml +61 -0
  70. data/app/views/analysis/_analysis_settings.rhtml +28 -0
  71. data/app/views/analysis/_diagram.rhtml +70 -0
  72. data/app/views/analysis/_dimension_option.rhtml +59 -0
  73. data/app/views/analysis/_draw_general_settings.rhtml +217 -0
  74. data/app/views/analysis/_draw_settings.rhtml +73 -0
  75. data/app/views/analysis/_history.rhtml +19 -0
  76. data/app/views/analysis/_popular_diagrams.rhtml +42 -0
  77. data/app/views/analysis/_save_form.rhtml +44 -0
  78. data/app/views/analysis/_variables.rhtml +66 -0
  79. data/app/views/analysis/_variables_order.rhtml +56 -0
  80. data/app/views/analysis/index.rhtml +195 -0
  81. data/app/views/analysis/preview.rhtml +3 -0
  82. data/app/views/analysis/save.rhtml +73 -0
  83. data/app/views/analysis/show_diagram.rhtml +42 -0
  84. data/app/views/cross/_display_map.rhtml +201 -0
  85. data/app/views/cross/_result.rhtml +205 -0
  86. data/app/views/cross/_show_result_tree.rhtml +40 -0
  87. data/app/views/cross/_show_results.rhtml +80 -0
  88. data/app/views/cross/_style.rhtml +21 -0
  89. data/app/views/cross/index.rhtml +271 -0
  90. data/app/views/draw_method/_edit_form.rhtml +110 -0
  91. data/app/views/draw_method/create.rhtml +8 -0
  92. data/app/views/draw_method/details.rhtml +113 -0
  93. data/app/views/draw_method/edit.rhtml +8 -0
  94. data/app/views/draw_method/list.rhtml +80 -0
  95. data/app/views/explorer/_display_map.rhtml +199 -0
  96. data/app/views/explorer/_show_result_tree.rhtml +40 -0
  97. data/app/views/explorer/_show_results.rhtml +101 -0
  98. data/app/views/explorer/_style.rhtml +21 -0
  99. data/app/views/explorer/index.rhtml +214 -0
  100. data/app/views/finder/_children.html.erb +84 -0
  101. data/app/views/finder/_children_details.html.erb +74 -0
  102. data/app/views/finder/_children_details_tr.html.erb +196 -0
  103. data/app/views/finder/create_tree.html.erb +15 -0
  104. data/app/views/finder/flex.html.erb +52 -0
  105. data/app/views/finder/index.html.erb +47 -0
  106. data/app/views/finder/show_details.html.erb +3 -0
  107. data/app/views/finder/show_images.html.erb +3 -0
  108. data/app/views/function/_edit_form.rhtml +106 -0
  109. data/app/views/function/create.rhtml +8 -0
  110. data/app/views/function/details.rhtml +96 -0
  111. data/app/views/function/edit.rhtml +8 -0
  112. data/app/views/function/list.rhtml +80 -0
  113. data/app/views/group/add_member.rhtml +13 -0
  114. data/app/views/group/change_owner.rhtml +15 -0
  115. data/app/views/group/create.rhtml +11 -0
  116. data/app/views/group/delete_member.rhtml +14 -0
  117. data/app/views/group/list.rhtml +63 -0
  118. data/app/views/knowledge/_backup.rhtml +135 -0
  119. data/app/views/knowledge/_category.rhtml +58 -0
  120. data/app/views/knowledge/_category_list.rhtml +34 -0
  121. data/app/views/knowledge/_category_table.rhtml +23 -0
  122. data/app/views/knowledge/_comment.rhtml +64 -0
  123. data/app/views/knowledge/_comment_input_form.rhtml +19 -0
  124. data/app/views/knowledge/_comments.rhtml +84 -0
  125. data/app/views/knowledge/_form.rhtml +139 -0
  126. data/app/views/knowledge/_group_figure_form.rhtml +187 -0
  127. data/app/views/knowledge/_layout_figure.rhtml +61 -0
  128. data/app/views/knowledge/_layout_figures_in_a_row_above_text.rhtml +42 -0
  129. data/app/views/knowledge/_layout_figures_under_text.rhtml +45 -0
  130. data/app/views/knowledge/_layout_one_figure_above_text.rhtml +28 -0
  131. data/app/views/knowledge/_summary.rhtml +21 -0
  132. data/app/views/knowledge/edit.rhtml +37 -0
  133. data/app/views/knowledge/list.rhtml +287 -0
  134. data/app/views/knowledge/new.rhtml +23 -0
  135. data/app/views/knowledge/new_from_analysis.rhtml +21 -0
  136. data/app/views/knowledge/show.rhtml +196 -0
  137. data/app/views/layouts/gfdnavi.rhtml +105 -0
  138. data/app/views/nodes/_ancestors.html.erb +89 -0
  139. data/app/views/nodes/_description_methods_table.html.erb +75 -0
  140. data/app/views/nodes/_mode.html.erb +16 -0
  141. data/app/views/nodes/description.html.erb +181 -0
  142. data/app/views/nodes/description_methods.html.erb +1 -0
  143. data/app/views/nodes/edit.html.erb +73 -0
  144. data/app/views/nodes/index.html.erb +25 -0
  145. data/app/views/nodes/show.html.erb +20 -0
  146. data/app/views/search/_children_details_mapsearch.rhtml +68 -0
  147. data/app/views/search/_children_details_tr.rhtml +205 -0
  148. data/app/views/search/_show_grouplist.rhtml +74 -0
  149. data/app/views/search/_show_results.rhtml +43 -0
  150. data/app/views/search/_show_results_global.rhtml +36 -0
  151. data/app/views/search/_show_results_partial.rhtml +39 -0
  152. data/app/views/search/_show_results_partial_groupbyfile.rhtml +50 -0
  153. data/app/views/search/_show_variablelist.rhtml +28 -0
  154. data/app/views/search/mapsearch.rhtml +176 -0
  155. data/app/views/search/remapsearch.rjs +18 -0
  156. data/app/views/search/show_details.rhtml +3 -0
  157. data/app/views/user/add_user.rhtml +30 -0
  158. data/app/views/user/change_password.rhtml +25 -0
  159. data/app/views/user/edit.html.erb +50 -0
  160. data/app/views/user/index.rhtml +162 -0
  161. data/app/views/user/login.rhtml +41 -0
  162. data/app/views/user/logout.rhtml +4 -0
  163. data/app/views/user/signup.rhtml +36 -0
  164. data/app/views/user/signup_succeeded.rhtml +36 -0
  165. data/app/views/user_mailer/authorization_inform.rhtml +15 -0
  166. data/app/views/user_mailer/signup_accepted.rhtml +12 -0
  167. data/app/views/user_mailer/signup_confirm.rhtml +14 -0
  168. data/app/views/user_mailer/signup_inform.rhtml +13 -0
  169. data/app/views/user_mailer/signup_rejected.rhtml +11 -0
  170. data/app/views/work_flow/_push_wsdls.rhtml +55 -0
  171. data/app/views/work_flow/index.rhtml +46 -0
  172. data/config/database.yml.example +35 -0
  173. data/config/environment.rb +68 -0
  174. data/config/gfdnavi.yml.example +95 -0
  175. data/config/load_config.rb +151 -0
  176. data/config/routes.rb +35 -0
  177. data/consistency_checker.rb +129 -0
  178. data/data/gfdnavi_docs/how_to_draw_multiple_images.knlge +68 -0
  179. data/data/gfdnavi_docs/how_to_knowledge.knlge +138 -0
  180. data/data/gfdnavi_docs/how_to_write_document_about_Gfdnavi.knlge +30 -0
  181. data/data/samples/jmadata.SIGEN +8 -0
  182. data/data/samples/jmadata.yml +6 -0
  183. data/data/samples/jmadata/MSM-P/2006.nc.yml +2 -0
  184. data/data/samples/jmadata/MSM-P/2006.yml +17 -0
  185. data/data/samples/jmadata/MSM-P/2006/0101.nc +0 -0
  186. data/data/samples/jmadata/MSM-P/2006/0101.nc.yml +13 -0
  187. data/data/samples/jmadata/MSM-P/2006/0102.nc +0 -0
  188. data/data/samples/jmadata/MSM-P/2006/0103.nc +0 -0
  189. data/data/samples/jmadata/MSM-P/2006/0104.nc +0 -0
  190. data/data/samples/jmadata/MSM-P/2006/0105.nc +0 -0
  191. data/data/samples/jmadata/MSM-P/2006/010[1-3].nc.yml +2 -0
  192. data/data/samples/jmadata/MSM-P/2006/skip_data.rb +96 -0
  193. data/data/samples/jmadata/MSM-P/2006/skip_data.sh +6 -0
  194. data/data/samples/reanalysis.SIGEN +8 -0
  195. data/data/samples/reanalysis/era40.SIGEN +8 -0
  196. data/data/samples/reanalysis/era40.yml +2 -0
  197. data/data/samples/reanalysis/era40/t.jan.nc +0 -0
  198. data/data/samples/reanalysis/era40/t.jan.nc.yml +1 -0
  199. data/data/samples/reanalysis/ncep.SIGEN +9 -0
  200. data/data/samples/reanalysis/ncep/T.jan.100hPa.png +0 -0
  201. data/data/samples/reanalysis/ncep/T.jan.100hPa.png.yml +43 -0
  202. data/data/samples/reanalysis/ncep/T.jan.nc +0 -0
  203. data/data/samples/reanalysis/ncep/T.jan.zonal_mean.nc +0 -0
  204. data/data/samples/reanalysis/ncep/T.jan.zonal_mean.nc.yml +8 -0
  205. data/data/samples/reanalysis/ncep/T.jan_only_root.nc +0 -0
  206. data/data/samples/reanalysis/ncep/T.jan_only_root.nc.yml +4 -0
  207. data/data/samples/reanalysis/ncep/UV.jan.nc +0 -0
  208. data/data/samples/reanalysis/ncep/UV.jan.nc.yml +10 -0
  209. data/data/samples/reanalysis/ncep/UV.jan.nc.yml.ja +11 -0
  210. data/data/samples/sonde_operational.yml +5 -0
  211. data/data/samples/sonde_operational/std_plev.yml +12 -0
  212. data/data/samples/sonde_operational/std_plev/41256.spl.nc +0 -0
  213. data/data/samples/sonde_operational/std_plev/42410.spl.nc +0 -0
  214. data/data/samples/sonde_operational/std_plev/43333.spl.nc +0 -0
  215. data/data/samples/sonde_operational/std_plev/43346.spl.nc +0 -0
  216. data/data/samples/sonde_operational/std_plev/48698.spl.nc +0 -0
  217. data/data/samples/sonde_operational/std_plev/61641.spl.nc +0 -0
  218. data/data/samples/sonde_operational/std_plev/63741.spl.nc +0 -0
  219. data/data/samples/sonde_operational/std_plev/67083.spl.nc +0 -0
  220. data/data/samples/sonde_operational/std_plev/72261.spl.nc +0 -0
  221. data/data/samples/sonde_operational/std_plev/76805.spl.nc +0 -0
  222. data/data/samples/sonde_operational/std_plev/82193.spl.nc +0 -0
  223. data/data/samples/sonde_operational/std_plev/91165.spl.nc +0 -0
  224. data/data/samples/sonde_operational/std_plev/91610.spl.nc +0 -0
  225. data/data/samples/sonde_operational/std_plev/91948.spl.nc +0 -0
  226. data/data/samples/sonde_operational/std_plev/94294.spl.nc +0 -0
  227. data/db/NetCDFparser.rb +406 -0
  228. data/db/create_derived_spatial_attributes.sql +12 -0
  229. data/db/draw_methods/line.yml +6 -0
  230. data/db/draw_methods/scatter.yml +38 -0
  231. data/db/draw_methods/tone.yml +64 -0
  232. data/db/draw_methods/vector.yml +19 -0
  233. data/db/dump_db.rb +43 -0
  234. data/db/functions/additions.yml +10 -0
  235. data/db/functions/cut.yml +10 -0
  236. data/db/functions/division.yml +10 -0
  237. data/db/functions/mean.yml +28 -0
  238. data/db/functions/multiplication.yml +10 -0
  239. data/db/functions/stddev.yml +28 -0
  240. data/db/functions/subtraction.yml +10 -0
  241. data/db/migrate/001_initial_scheme.rb +289 -0
  242. data/db/migrate/002_add_open_id_authentication_tables.rb +20 -0
  243. data/db/register_directory_tree.rb +760 -0
  244. data/db/restore_db.rb +60 -0
  245. data/gfdnavi-install +828 -0
  246. data/install.rb +828 -0
  247. data/lib/activerecord_gfdnavi.rb +31 -0
  248. data/lib/basic_authorization.rb +50 -0
  249. data/lib/create_activeresources.rb +108 -0
  250. data/lib/execute_analysis.rb +472 -0
  251. data/lib/file_gfdnavi.rb +38 -0
  252. data/lib/gphys_gfdnavi.rb +81 -0
  253. data/lib/localdir.rb +110 -0
  254. data/lib/login_system.rb +110 -0
  255. data/lib/multibytes.rb +20 -0
  256. data/lib/narray_yaml.rb +58 -0
  257. data/lib/no_rdb_base.rb +40 -0
  258. data/lib/opendapdir.rb +171 -0
  259. data/lib/tar.rb +127 -0
  260. data/lib/tasks/clean.rake +65 -0
  261. data/lib/tasks/setup.rake +316 -0
  262. data/lib/tasks/update.rake +62 -0
  263. data/lib/vizshot_gfdnavi.rb +224 -0
  264. data/public/crossdomain.xml +4 -0
  265. data/public/flex/NodeTreeDescriptor.as +55 -0
  266. data/public/flex/TreeNode.as +253 -0
  267. data/public/flex/finder.mxml +304 -0
  268. data/public/flex/finder.swf +0 -0
  269. data/public/flex/gfdnavi.mxml +52 -0
  270. data/public/flex/gfdnavi.swf +0 -0
  271. data/public/images/Help_S-shots/dir_tree_with_add.jpg +0 -0
  272. data/public/images/analyze.gif +0 -0
  273. data/public/images/circle.gif +0 -0
  274. data/public/images/create_from_analysis_button.png +0 -0
  275. data/public/images/delete.png +0 -0
  276. data/public/images/down.png +0 -0
  277. data/public/images/drawbutton.gif +0 -0
  278. data/public/images/gfdnavi_home_logo.png +0 -0
  279. data/public/images/gfdnavi_logo_big.png +0 -0
  280. data/public/images/gfdnavi_logo_med.png +0 -0
  281. data/public/images/gfdnavi_logo_mini.png +0 -0
  282. data/public/images/gfdnavi_logo_nobg_big.png +0 -0
  283. data/public/images/gfdnavi_logo_nobg_med.png +0 -0
  284. data/public/images/gfdnavi_logo_nobg_small.png +0 -0
  285. data/public/images/gfdnavi_logo_small.png +0 -0
  286. data/public/images/gfdnavi_logo_xsmall.png +0 -0
  287. data/public/images/hbar.png +0 -0
  288. data/public/images/helpmark16.png +0 -0
  289. data/public/images/helpmark18.png +0 -0
  290. data/public/images/kikyu_g.gif +0 -0
  291. data/public/images/kikyu_r.gif +0 -0
  292. data/public/images/map_icon_g.gif +0 -0
  293. data/public/images/map_icon_r.gif +0 -0
  294. data/public/images/new_knowledge.png +0 -0
  295. data/public/images/openid.png +0 -0
  296. data/public/images/read_in_the_form.png +0 -0
  297. data/public/images/slider_f.gif +0 -0
  298. data/public/images/slider_f_red.gif +0 -0
  299. data/public/images/star1.gif +0 -0
  300. data/public/images/star2.gif +0 -0
  301. data/public/images/startanim.gif +0 -0
  302. data/public/images/stopanim.gif +0 -0
  303. data/public/images/tree/DL.png +0 -0
  304. data/public/images/tree/anal_viz.png +0 -0
  305. data/public/images/tree/analyze_visualize_checked_items.png +0 -0
  306. data/public/images/tree/binary.png +0 -0
  307. data/public/images/tree/details.png +0 -0
  308. data/public/images/tree/download_checked_items.png +0 -0
  309. data/public/images/tree/folder.png +0 -0
  310. data/public/images/tree/folder_close.gif +0 -0
  311. data/public/images/tree/image2.png +0 -0
  312. data/public/images/tree/knowledge.png +0 -0
  313. data/public/images/tree/knowledges.png +0 -0
  314. data/public/images/tree/last.gif +0 -0
  315. data/public/images/tree/last.png +0 -0
  316. data/public/images/tree/minus.gif +0 -0
  317. data/public/images/tree/minus_simple.gif +0 -0
  318. data/public/images/tree/none.gif +0 -0
  319. data/public/images/tree/none.png +0 -0
  320. data/public/images/tree/plus.gif +0 -0
  321. data/public/images/tree/plus_simple.gif +0 -0
  322. data/public/images/tree/show.png +0 -0
  323. data/public/images/tree/show_checked_items.png +0 -0
  324. data/public/images/tree/t.gif +0 -0
  325. data/public/images/tree/t.png +0 -0
  326. data/public/images/tree/tate.gif +0 -0
  327. data/public/images/tree/tate.png +0 -0
  328. data/public/images/up.png +0 -0
  329. data/public/images/vbar.png +0 -0
  330. data/public/images/white.bmp +0 -0
  331. data/public/images/x.gif +0 -0
  332. data/public/index.html +100 -0
  333. data/public/javascripts/AC_OETags.js +269 -0
  334. data/public/javascripts/analysis.js +751 -0
  335. data/public/javascripts/application.js +29 -0
  336. data/public/javascripts/directory_tree.js +102 -0
  337. data/public/javascripts/draw_method.js +83 -0
  338. data/public/javascripts/excanvas.js +704 -0
  339. data/public/javascripts/function.js +107 -0
  340. data/public/javascripts/gfdnavi.js +175 -0
  341. data/public/javascripts/knowledge.js +384 -0
  342. data/public/javascripts/mapsearch.js +313 -0
  343. data/public/javascripts/progress.js +42 -0
  344. data/public/javascripts/resizable_box.js +164 -0
  345. data/public/javascripts/slider.js +260 -0
  346. data/public/javascripts/tab.js +17 -0
  347. data/public/javascripts/work_flow.js +452 -0
  348. data/public/stylesheets/analysis.css +111 -0
  349. data/public/stylesheets/description.css +71 -0
  350. data/public/stylesheets/gfdnavi.css +141 -0
  351. data/public/stylesheets/knowledge.css +218 -0
  352. data/public/stylesheets/search.css +184 -0
  353. data/public/stylesheets/tree.css +45 -0
  354. data/public/stylesheets/tree_for_ie.css +3 -0
  355. data/public/stylesheets/work_flow.css +78 -0
  356. data/script/cleaner +11 -0
  357. data/script/server_ssl +131 -0
  358. data/test/fixtures/diagram_cache_data.yml +5 -0
  359. data/test/fixtures/diagram_cache_sessions.yml +6 -0
  360. data/test/fixtures/diagram_caches.yml +6 -0
  361. data/test/fixtures/directories.yml +57 -0
  362. data/test/fixtures/draw_parameters.yml +6 -0
  363. data/test/fixtures/function_arguments.yml +15 -0
  364. data/test/fixtures/function_outputs.yml +15 -0
  365. data/test/fixtures/functions.yml +29 -0
  366. data/test/fixtures/group_members.yml +33 -0
  367. data/test/fixtures/groups.yml +25 -0
  368. data/test/fixtures/images.yml +12 -0
  369. data/test/fixtures/keyword_attributes.yml +73 -0
  370. data/test/fixtures/knowledges.yml +10 -0
  371. data/test/fixtures/node_relations.yml +11 -0
  372. data/test/fixtures/nodes.yml +298 -0
  373. data/test/fixtures/sign_up_users.yml +8 -0
  374. data/test/fixtures/spatial_and_time_attributes.yml +29 -0
  375. data/test/fixtures/user_mailer/authorization_inform +11 -0
  376. data/test/fixtures/user_mailer/signup_accepted +10 -0
  377. data/test/fixtures/user_mailer/signup_confirm +17 -0
  378. data/test/fixtures/user_mailer/signup_inform +10 -0
  379. data/test/fixtures/user_mailer/signup_rejected +9 -0
  380. data/test/fixtures/users.yml +31 -0
  381. data/test/fixtures/value_types.yml +10 -0
  382. data/test/fixtures/variables.yml +17 -0
  383. data/test/functional/analysis_controller_test.rb +169 -0
  384. data/test/functional/description_controller_test.rb +18 -0
  385. data/test/functional/function_controller_test.rb +18 -0
  386. data/test/functional/group_controller_test.rb +18 -0
  387. data/test/functional/search_controller_test.rb +83 -0
  388. data/test/functional/user_controller_test.rb +77 -0
  389. data/test/functional/webservice_analysis_api_test.rb +12 -0
  390. data/test/functional/work_flow_controller_test.rb +18 -0
  391. data/test/test_helper.rb +28 -0
  392. data/test/unit/diagram_cache_datum_test.rb +10 -0
  393. data/test/unit/diagram_cache_session_test.rb +10 -0
  394. data/test/unit/diagram_cache_test.rb +10 -0
  395. data/test/unit/directory_test.rb +49 -0
  396. data/test/unit/draw_parameter_test.rb +10 -0
  397. data/test/unit/function_argument_test.rb +10 -0
  398. data/test/unit/function_output_test.rb +10 -0
  399. data/test/unit/function_test.rb +10 -0
  400. data/test/unit/group_test.rb +48 -0
  401. data/test/unit/image_test.rb +13 -0
  402. data/test/unit/keyword_attribute_test.rb +33 -0
  403. data/test/unit/knowledge_test.rb +13 -0
  404. data/test/unit/node_relation_test.rb +20 -0
  405. data/test/unit/node_test.rb +85 -0
  406. data/test/unit/sign_up_user_test.rb +20 -0
  407. data/test/unit/spatial_and_time_attribute_test.rb +29 -0
  408. data/test/unit/user_mailer_test.rb +101 -0
  409. data/test/unit/user_test.rb +134 -0
  410. data/test/unit/value_type_test.rb +10 -0
  411. data/test/unit/variable_test.rb +35 -0
  412. data/vendor/plugins/acts_as_list/README +23 -0
  413. data/vendor/plugins/acts_as_list/init.rb +3 -0
  414. data/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb +256 -0
  415. data/vendor/plugins/acts_as_list/test/list_test.rb +332 -0
  416. data/vendor/plugins/acts_as_tree/README +26 -0
  417. data/vendor/plugins/acts_as_tree/Rakefile +22 -0
  418. data/vendor/plugins/acts_as_tree/init.rb +1 -0
  419. data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +96 -0
  420. data/vendor/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
  421. data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +219 -0
  422. data/vendor/plugins/acts_as_tree/test/database.yml +0 -0
  423. data/vendor/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
  424. data/vendor/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
  425. data/vendor/plugins/acts_as_tree/test/schema.rb +0 -0
  426. data/vendor/plugins/will_paginate/CHANGELOG +92 -0
  427. data/vendor/plugins/will_paginate/LICENSE +18 -0
  428. data/vendor/plugins/will_paginate/README.rdoc +131 -0
  429. data/vendor/plugins/will_paginate/Rakefile +62 -0
  430. data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
  431. data/vendor/plugins/will_paginate/examples/index.haml +69 -0
  432. data/vendor/plugins/will_paginate/examples/index.html +92 -0
  433. data/vendor/plugins/will_paginate/examples/pagination.css +90 -0
  434. data/vendor/plugins/will_paginate/examples/pagination.sass +91 -0
  435. data/vendor/plugins/will_paginate/init.rb +1 -0
  436. data/vendor/plugins/will_paginate/lib/will_paginate.rb +86 -0
  437. data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
  438. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +145 -0
  439. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +32 -0
  440. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +247 -0
  441. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +132 -0
  442. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +39 -0
  443. data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
  444. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +373 -0
  445. data/vendor/plugins/will_paginate/will_paginate.gemspec +21 -0
  446. metadata +586 -0
@@ -0,0 +1,8 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ dave:
3
+ id: 1
4
+ login: dave
5
+ full_name: Dave
6
+ email_address: dave@example.com
7
+ affiliation: Ruby
8
+ password: <%= User.sha1("dave") %>
@@ -0,0 +1,29 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ ncep_jan_u_global:
3
+ id: 1
4
+ node_id: 8
5
+ longitude_lb: 0
6
+ latitude_lb: -90
7
+ longitude_rt: 360
8
+ latitude_rt: 90
9
+ starttime: nil
10
+ endtime: nil
11
+ ncep_jan_t_sourth:
12
+ id: 2
13
+ node_id: 6
14
+ longitude_lb: 0
15
+ latitude_lb: -90
16
+ longitude_rt: 360
17
+ latitude_rt: 0
18
+ starttime: nil
19
+ endtime: nil
20
+ ncep_jan_t_north:
21
+ id: 3
22
+ node_id: 6
23
+ longitude_lb: 0
24
+ latitude_lb: 0
25
+ longitude_rt: 360
26
+ latitude_rt: 90
27
+ starttime: nil
28
+ endtime: nil
29
+
@@ -0,0 +1,11 @@
1
+ Dear gfdnavi administrators
2
+
3
+ root(default admin) has made decision on the request of following user to sign up for gfdnavi.
4
+
5
+ Result: accept
6
+
7
+ User's information:
8
+ login name: dave
9
+ full name: Dave
10
+ email address: dave@example.com
11
+ affiliation: Ruby
@@ -0,0 +1,10 @@
1
+ Dear <%= @user.full_name %>
2
+
3
+ Your request to sign up gfdnavi was accepted.
4
+ Enjoy "gfdnavi"!
5
+
6
+ Your account information:
7
+ login name: <%= @user.login %>
8
+ full name: <%= @user.full_name %>
9
+ email address: <%= @user.email_address %>
10
+ affiliation: <%= @user.affiliation %>
@@ -0,0 +1,17 @@
1
+ Dear Dave
2
+
3
+ Thank you for your sign up for gfdnavi.
4
+ This mail was automatically sended.
5
+
6
+ After authorization by the administrator, you will be able to login.
7
+ The authorization may take some days.
8
+ If you do not have received a email informing that you are authorized or not by the admin in some weeks,
9
+ you request might be lost.
10
+ Then please send email to <%= GFDNAVI_ADMIN_EMAIL %>.
11
+
12
+
13
+ Your information:
14
+ login name: <%= @user.login %>
15
+ full name: <%= @user.full_name %>
16
+ email address: <%= @user.email_address %>
17
+ affiliation: <%= @user.affiliation %>
@@ -0,0 +1,10 @@
1
+ Dear gfdnavi administrators
2
+
3
+ Following user signed up for gfdnavi.
4
+ Please visited to gfdnavi and deside to accept or reject the request.
5
+
6
+ User's information:
7
+ login name: dave
8
+ full name: Dave
9
+ email address: dave@example.com
10
+ affiliation: Ruby
@@ -0,0 +1,9 @@
1
+ Dear Dave
2
+
3
+ We are sorry but your request to sign up gfdnavi was rejected.
4
+
5
+ Your account information:
6
+ login name: dave
7
+ full name: Dave
8
+ email address: dave@example.com
9
+ affiliation: Ruby
@@ -0,0 +1,31 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+
3
+ root:
4
+ id: 1
5
+ login: root
6
+ full_name: default super user
7
+ email_address: root@example.com
8
+ affiliation: Gfdnavi
9
+ password: <%= User.sha1("rootroot") %>
10
+ super_user: true
11
+ groups: <%= "0b011".to_i(2) %>
12
+
13
+ bob:
14
+ id: 2
15
+ login: bob
16
+ full_name: Bob Sup
17
+ email_address: bob@example.org
18
+ affiliation: BOB Coorp
19
+ password: <%= User.sha1("bobbob") %>
20
+ super_user: false
21
+ groups: <%= "0b0110110".to_i(2) %>
22
+
23
+ longbob:
24
+ id: 3
25
+ login: longbob
26
+ full_name: Long Bob
27
+ email_address: longbob@example.com
28
+ affiliation: LongBob market
29
+ password: <%= User.sha1("longbob") %>
30
+ super_user: false
31
+ groups: <%= "0b011010".to_i(2) %>
@@ -0,0 +1,10 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ int:
3
+ id: 1
4
+ name: int
5
+ float:
6
+ id: 2
7
+ name: float
8
+ string:
9
+ id: 3
10
+ name: string
@@ -0,0 +1,17 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ ncep_jan_t:
3
+ id: 1
4
+ node_id: 6
5
+ ncep_jan_u:
6
+ id: 2
7
+ node_id: 8
8
+ ncep_jan_v:
9
+ id: 3
10
+ node_id: 9
11
+ era_t_t:
12
+ id: 4
13
+ node_id: 11
14
+ ncep_jan_zonal_mean_t:
15
+ id: 5
16
+ node_id: 18
17
+
@@ -0,0 +1,169 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'analysis_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class AnalysisController; def rescue_action(e) raise e end; end
6
+
7
+ class AnalysisControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = AnalysisController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ end
13
+
14
+ # Replace this with your real tests.
15
+ def test_index
16
+ v_id = 1
17
+ var = Variable.find(v_id)
18
+ get :index
19
+ assert_not_nil session[:analysis]
20
+ session[:variables_list] = [var]
21
+ get :index
22
+ assert_tag :tag => "input", :attributes => {:type => "checkbox", :id => "variables_#{v_id}"}
23
+ var = Variable.new(:name => "tmp")
24
+ session[:temp_variables_list] = [var]
25
+ get :index
26
+ # assert_tag :tag => "input", :attributes => {:type => "checkbox", :id => "variables_temp_0"}
27
+ assert_match /variables_temp_0/, @response.body
28
+ end
29
+
30
+ def test_clear
31
+ get :clear
32
+ assert_response :redirect
33
+ assert_redirected_to :action => "index"
34
+ assert_nil session[:analysis]
35
+ assert_nil session[:diagrams]
36
+ assert_nil session[:variables_list]
37
+ assert_nil session[:temp_variables_list]
38
+ end
39
+
40
+ def test_variables_selected
41
+ get :variables_selected
42
+ assert_redirected_to :action => "index"
43
+ assert_nil session[:analysis]
44
+ v_id = 1
45
+ get :index
46
+ assert_response :success
47
+ xhr :post, :variables_selected, :variables => {v_id.to_s => "1"}
48
+ assert_response :success
49
+ analysis = session[:analysis]
50
+ assert_kind_of Analysis, analysis
51
+ var = Variable.find(v_id)
52
+ assert_equal 1, analysis.variables.length
53
+ assert_equal var, analysis.variables[0]
54
+ assert_equal 3, analysis.dimensions.length
55
+ assert_raise( ActiveRecord::RecordNotFound ){
56
+ xhr( :post, :variables_selected, :variables => {"2" => "1"} )
57
+ }
58
+ assert_raise( NoMethodError ){
59
+ xhr( :post, :variables_selected, :variables => {"temp_0" => "1"} )
60
+ }
61
+ session[:temp_variables_list] = []
62
+ assert_raise( NoMethodError ){
63
+ xhr( :post, :variables_selected, :variables => {"temp_0" => "1"} )
64
+ }
65
+ end
66
+
67
+ def test_action_type_selected
68
+ get :action_type_selected
69
+ assert_nil session[:analysis]
70
+ v_id = 1
71
+ action_type = 0
72
+ var = Variable.find(v_id)
73
+ analysis = Analysis.new
74
+ analysis.variables.push var
75
+ session[:analysis] = analysis
76
+ xhr :post, :action_type_selected, :action_type => action_type
77
+ assert_response :success
78
+ analysis = session[:analysis]
79
+ assert_kind_of Analysis, analysis
80
+ assert_equal action_type, analysis.action_type
81
+ assert_equal 1, analysis.draw_type
82
+ assert_match /draw_general_tab/, @response.body
83
+ assert_no_match /Function/, @response.body
84
+ analysis = Analysis.new
85
+ analysis.variables.push Variable.find(2)
86
+ analysis.variables.push Variable.find(3)
87
+ session[:analysis] = analysis
88
+ xhr :post, :action_type_selected, :action_type => action_type
89
+ assert_equal 2, analysis.draw_type
90
+ action_type = 1
91
+ xhr :post, :action_type_selected, :action_type => action_type
92
+ assert_response :success
93
+ assert_no_match /draw_general_tab/, @response.body
94
+ assert_match /Function/, @response.body
95
+ session[:analysis] = nil
96
+ xhr :post, :action_type_selected, :action_type => action_type
97
+ assert_no_match /draw_general_tab/, @response.body
98
+ assert_no_match /Function/, @response.body
99
+ action_type = 999
100
+ xhr :post, :action_type_selected, :action_type => action_type
101
+ assert_no_match /draw_general_tab/, @response.body
102
+ assert_no_match /Function/, @response.body
103
+ end
104
+
105
+ def test_execute
106
+ v_id = 1
107
+ var = Variable.find(v_id)
108
+ action_type = 0
109
+ region = {0 => {"min" => 0, "max" => 360},
110
+ 1 => {"min" => -90, "max" => 90},
111
+ 2 => {"min" => 1000, "max" =>10}
112
+ }
113
+ draw_type = 1
114
+ x_axis = 1
115
+ y_axis = 2
116
+ draw_keep = true
117
+ draw_size = 1
118
+ tone = true
119
+ contour = false
120
+ get :index
121
+ assert_response :success
122
+ xhr :post, :execute, :variables => {v_id.to_s => "1"}, :action_type => Analysis::ACTION_TYPE[action_type], :analysis => {:draw_type => draw_type, :x_axis => x_axis, :y_axis => y_axis, :region => region, :draw_keep => draw_keep, :draw_size => draw_size, :tone => tone, :contour => contour }
123
+ assert_response :success
124
+ analysis = session[:analysis]
125
+ assert_equal draw_type, analysis.draw_type
126
+ assert_equal x_axis, analysis.x_axis
127
+ assert_equal y_axis, analysis.y_axis
128
+ assert_equal region.collect{|k,v| v}, analysis.region
129
+ assert_equal draw_keep, analysis.draw_keep
130
+ assert_equal draw_size, analysis.draw_size
131
+ assert_equal tone, analysis.tone
132
+ assert_equal contour, analysis.contour
133
+ diagram = assigns(:diagrams)
134
+ assert_kind_of Array, diagram
135
+ assert_equal 4, diagram.length
136
+ id, path, diagram_id, saved = diagram
137
+ assert_equal 0, diagram_id
138
+ diagram = session[:diagrams][diagram_id]
139
+ viz = diagram[:vizshot]
140
+ assert_kind_of NumRu::VizShot, viz
141
+ assert @response.body.include?(path)
142
+
143
+ action_type = 1
144
+ function_id = 1
145
+ func = Function.find(function_id)
146
+ session[:variables_list] = [var]
147
+ xhr :post, :execute, :variables => {v_id.to_s => "1"}, :action_type => Analysis::ACTION_TYPE[action_type], :analysis => {:function => function_id, :region => region }
148
+ assert_response :success
149
+ assert_equal session[:analysis], assigns(:analysis)
150
+ analysis = assigns(:analysis)
151
+ assert_equal function_id, analysis.function.id
152
+ variables = assigns(:variables)
153
+ assert_equal 2, variables.length
154
+ assert_equal var.id, variables[0][0]
155
+ assert_equal var.name, variables[0][1]
156
+ title = var.keyword_attributes.find_by_stdname("title")
157
+ assert_equal title.name, variables[0][2][0][0]
158
+ assert_equal title.value, variables[0][2][0][1]
159
+ assert_equal 1, session[:temp_variables_list].length
160
+ var2 = session[:temp_variables_list][0]
161
+ assert_equal var2.id || 0, variables[1][0]
162
+ assert_equal var2.name, variables[1][1]
163
+ title = var2.keyword_attributes[0]
164
+ assert_equal title.name, variables[1][2][0][0]
165
+ assert_equal title.value, variables[1][2][0][1]
166
+ end
167
+
168
+
169
+ end
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'description_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class DescriptionController; def rescue_action(e) raise e end; end
6
+
7
+ class DescriptionControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = DescriptionController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ end
13
+
14
+ # Replace this with your real tests.
15
+ def test_truth
16
+ assert true
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'function_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class FunctionController; def rescue_action(e) raise e end; end
6
+
7
+ class FunctionControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = FunctionController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ end
13
+
14
+ # Replace this with your real tests.
15
+ def test_truth
16
+ assert true
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'group_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class GroupController; def rescue_action(e) raise e end; end
6
+
7
+ class GroupControllerTest < Test::Unit::TestCase
8
+ def setup
9
+ @controller = GroupController.new
10
+ @request = ActionController::TestRequest.new
11
+ @response = ActionController::TestResponse.new
12
+ end
13
+
14
+ # Replace this with your real tests.
15
+ def test_truth
16
+ assert true
17
+ end
18
+ end
@@ -0,0 +1,83 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'search_controller'
3
+
4
+ # Re-raise errors caught by the controller.
5
+ class SearchController; def rescue_action(e) raise e end; end
6
+
7
+ class SearchControllerTest < Test::Unit::TestCase
8
+ fixtures :directories, :variables, :keyword_attributes
9
+
10
+ def setup
11
+ @controller = SearchController.new
12
+ @request = ActionController::TestRequest.new
13
+ @response = ActionController::TestResponse.new
14
+ end
15
+
16
+ # Replace this with your real tests.
17
+ def test_index
18
+ get :index
19
+ assert_response :success
20
+ assert_tag :tag => "div", :attributes => {:id => "dir"}
21
+ end
22
+
23
+ def test_children
24
+ id = 1
25
+ xhr :get, :children, {:id => id}
26
+ assert_response :success
27
+ dir = Directory.find(id)
28
+ assert_equal dir, assigns(:parent)
29
+ assert_equal dir.children, assigns(:dirs)
30
+ assert_equal dir.variables, assigns(:variables)
31
+
32
+ id = 1000
33
+ xhr :get, :children, {:id => id}
34
+ assert_response :success
35
+ assert_equal "", @response.body
36
+
37
+ id = 1
38
+ xhr :get, :children, {:id => id, :details => true}
39
+ assert_response :success
40
+ dir = Directory.find(id)
41
+ assert_equal dir, assigns(:parent)
42
+
43
+ id = 1000
44
+ xhr :get, :children, {:id => id, :details => true}
45
+ assert_response :success
46
+ assert_equal "", @response.body
47
+ end
48
+
49
+ def test_clear_tree
50
+ get :clear_tree
51
+ assert_nil session[:dir_tree_in_search]
52
+ assert_response :redirect
53
+ assert_redirected_to :action => :index
54
+ end
55
+
56
+ def test_add_to_list
57
+ var_id = 1
58
+ get :add_to_list, {:id => var_id, :type => "var"}
59
+ assert_response :redirect
60
+ assert_redirected_to :controller => "analysis"
61
+ var = Variable.find(var_id)
62
+ assert session[:variables_list].include?(var)
63
+
64
+ var_id = 1000
65
+ session[:variables_list] = nil
66
+ get :add_to_list, {:id => var_id, :type => "var"}
67
+ assert_redirected_to :controller => "analysis"
68
+ assert_nil session[:variables_list]
69
+
70
+ dir_id = 6
71
+ session[:variables_list] = nil
72
+ get :add_to_list, {:id => dir_id, :type => "dir"}
73
+ assert_redirected_to :controller => "analysis"
74
+ assert_equal Variable.find(:all, :conditions => ["directory_id = ?",dir_id]).length, session[:variables_list].length
75
+
76
+ dir_id = 1000
77
+ session[:variables_list] = nil
78
+ get :add_to_list, {:id => dir_id, :type => "dir"}
79
+ assert_redirected_to :controller => "analysis"
80
+ assert_nil session[:variables_list]
81
+ end
82
+
83
+ end