gfdnavi 1.3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +10949 -0
- data/LICENCE.txt +57 -0
- data/Makefile +18 -0
- data/TODO +132 -0
- data/app/controllers/analysis_controller.rb +700 -0
- data/app/controllers/application.rb +41 -0
- data/app/controllers/draw_method_controller.rb +172 -0
- data/app/controllers/explorer_controller.rb +197 -0
- data/app/controllers/finder_controller.rb +331 -0
- data/app/controllers/function_controller.rb +204 -0
- data/app/controllers/group_controller.rb +115 -0
- data/app/controllers/keyword_attributes_controller.rb +52 -0
- data/app/controllers/knowledge_controller.rb +928 -0
- data/app/controllers/nodes_controller.rb +515 -0
- data/app/controllers/search_controller.rb +341 -0
- data/app/controllers/user_controller.rb +337 -0
- data/app/helpers/analysis_helper.rb +2 -0
- data/app/helpers/application_helper.rb +105 -0
- data/app/helpers/description_helper.rb +2 -0
- data/app/helpers/function_helper.rb +2 -0
- data/app/helpers/group_helper.rb +2 -0
- data/app/helpers/search_helper.rb +3 -0
- data/app/helpers/user_helper.rb +2 -0
- data/app/helpers/work_flow_helper.rb +92 -0
- data/app/models/actual_file.rb +3 -0
- data/app/models/analysis.rb +715 -0
- data/app/models/analysis_history.rb +42 -0
- data/app/models/cross_array.rb +22 -0
- data/app/models/cross_result.rb +254 -0
- data/app/models/derived_spatial_attribute.rb +3 -0
- data/app/models/diagram_cache.rb +16 -0
- data/app/models/diagram_cache_datum.rb +4 -0
- data/app/models/diagram_cache_session.rb +8 -0
- data/app/models/directory.rb +21 -0
- data/app/models/draw_method.rb +48 -0
- data/app/models/draw_method_attribute.rb +8 -0
- data/app/models/draw_parameter.rb +12 -0
- data/app/models/explorer_query.rb +354 -0
- data/app/models/explorer_result.rb +312 -0
- data/app/models/function.rb +75 -0
- data/app/models/function_argument.rb +6 -0
- data/app/models/function_output.rb +4 -0
- data/app/models/group.rb +153 -0
- data/app/models/image.rb +20 -0
- data/app/models/keyword_attribute.rb +179 -0
- data/app/models/knowledge.rb +94 -0
- data/app/models/knowledge_backup.rb +32 -0
- data/app/models/knowledge_figure.rb +16 -0
- data/app/models/knowledge_figure_backup.rb +16 -0
- data/app/models/knowledge_parser.rb +392 -0
- data/app/models/node.rb +605 -0
- data/app/models/node_entity_abstract.rb +112 -0
- data/app/models/node_lineage.rb +6 -0
- data/app/models/node_relation.rb +4 -0
- data/app/models/path_node.rb +60 -0
- data/app/models/query.rb +193 -0
- data/app/models/query_history.rb +12 -0
- data/app/models/results.rb +48 -0
- data/app/models/sign_up_user.rb +25 -0
- data/app/models/spatial_and_time_attribute.rb +11 -0
- data/app/models/user.rb +115 -0
- data/app/models/user_mailer.rb +48 -0
- data/app/models/value_type.rb +3 -0
- data/app/models/variable.rb +70 -0
- data/app/models/virtual_node.rb +457 -0
- data/app/views/analysis/__help_analysis_tab.en.html +57 -0
- data/app/views/analysis/__help_draw_share.en.html +12 -0
- data/app/views/analysis/__help_draw_tab.en.html +6 -0
- data/app/views/analysis/_analysis_function_settings.rhtml +61 -0
- data/app/views/analysis/_analysis_settings.rhtml +28 -0
- data/app/views/analysis/_diagram.rhtml +70 -0
- data/app/views/analysis/_dimension_option.rhtml +59 -0
- data/app/views/analysis/_draw_general_settings.rhtml +217 -0
- data/app/views/analysis/_draw_settings.rhtml +73 -0
- data/app/views/analysis/_history.rhtml +19 -0
- data/app/views/analysis/_popular_diagrams.rhtml +42 -0
- data/app/views/analysis/_save_form.rhtml +44 -0
- data/app/views/analysis/_variables.rhtml +66 -0
- data/app/views/analysis/_variables_order.rhtml +56 -0
- data/app/views/analysis/index.rhtml +195 -0
- data/app/views/analysis/preview.rhtml +3 -0
- data/app/views/analysis/save.rhtml +73 -0
- data/app/views/analysis/show_diagram.rhtml +42 -0
- data/app/views/cross/_display_map.rhtml +201 -0
- data/app/views/cross/_result.rhtml +205 -0
- data/app/views/cross/_show_result_tree.rhtml +40 -0
- data/app/views/cross/_show_results.rhtml +80 -0
- data/app/views/cross/_style.rhtml +21 -0
- data/app/views/cross/index.rhtml +271 -0
- data/app/views/draw_method/_edit_form.rhtml +110 -0
- data/app/views/draw_method/create.rhtml +8 -0
- data/app/views/draw_method/details.rhtml +113 -0
- data/app/views/draw_method/edit.rhtml +8 -0
- data/app/views/draw_method/list.rhtml +80 -0
- data/app/views/explorer/_display_map.rhtml +199 -0
- data/app/views/explorer/_show_result_tree.rhtml +40 -0
- data/app/views/explorer/_show_results.rhtml +101 -0
- data/app/views/explorer/_style.rhtml +21 -0
- data/app/views/explorer/index.rhtml +214 -0
- data/app/views/finder/_children.html.erb +84 -0
- data/app/views/finder/_children_details.html.erb +74 -0
- data/app/views/finder/_children_details_tr.html.erb +196 -0
- data/app/views/finder/create_tree.html.erb +15 -0
- data/app/views/finder/flex.html.erb +52 -0
- data/app/views/finder/index.html.erb +47 -0
- data/app/views/finder/show_details.html.erb +3 -0
- data/app/views/finder/show_images.html.erb +3 -0
- data/app/views/function/_edit_form.rhtml +106 -0
- data/app/views/function/create.rhtml +8 -0
- data/app/views/function/details.rhtml +96 -0
- data/app/views/function/edit.rhtml +8 -0
- data/app/views/function/list.rhtml +80 -0
- data/app/views/group/add_member.rhtml +13 -0
- data/app/views/group/change_owner.rhtml +15 -0
- data/app/views/group/create.rhtml +11 -0
- data/app/views/group/delete_member.rhtml +14 -0
- data/app/views/group/list.rhtml +63 -0
- data/app/views/knowledge/_backup.rhtml +135 -0
- data/app/views/knowledge/_category.rhtml +58 -0
- data/app/views/knowledge/_category_list.rhtml +34 -0
- data/app/views/knowledge/_category_table.rhtml +23 -0
- data/app/views/knowledge/_comment.rhtml +64 -0
- data/app/views/knowledge/_comment_input_form.rhtml +19 -0
- data/app/views/knowledge/_comments.rhtml +84 -0
- data/app/views/knowledge/_form.rhtml +139 -0
- data/app/views/knowledge/_group_figure_form.rhtml +187 -0
- data/app/views/knowledge/_layout_figure.rhtml +61 -0
- data/app/views/knowledge/_layout_figures_in_a_row_above_text.rhtml +42 -0
- data/app/views/knowledge/_layout_figures_under_text.rhtml +45 -0
- data/app/views/knowledge/_layout_one_figure_above_text.rhtml +28 -0
- data/app/views/knowledge/_summary.rhtml +21 -0
- data/app/views/knowledge/edit.rhtml +37 -0
- data/app/views/knowledge/list.rhtml +287 -0
- data/app/views/knowledge/new.rhtml +23 -0
- data/app/views/knowledge/new_from_analysis.rhtml +21 -0
- data/app/views/knowledge/show.rhtml +196 -0
- data/app/views/layouts/gfdnavi.rhtml +105 -0
- data/app/views/nodes/_ancestors.html.erb +89 -0
- data/app/views/nodes/_description_methods_table.html.erb +75 -0
- data/app/views/nodes/_mode.html.erb +16 -0
- data/app/views/nodes/description.html.erb +181 -0
- data/app/views/nodes/description_methods.html.erb +1 -0
- data/app/views/nodes/edit.html.erb +73 -0
- data/app/views/nodes/index.html.erb +25 -0
- data/app/views/nodes/show.html.erb +20 -0
- data/app/views/search/_children_details_mapsearch.rhtml +68 -0
- data/app/views/search/_children_details_tr.rhtml +205 -0
- data/app/views/search/_show_grouplist.rhtml +74 -0
- data/app/views/search/_show_results.rhtml +43 -0
- data/app/views/search/_show_results_global.rhtml +36 -0
- data/app/views/search/_show_results_partial.rhtml +39 -0
- data/app/views/search/_show_results_partial_groupbyfile.rhtml +50 -0
- data/app/views/search/_show_variablelist.rhtml +28 -0
- data/app/views/search/mapsearch.rhtml +176 -0
- data/app/views/search/remapsearch.rjs +18 -0
- data/app/views/search/show_details.rhtml +3 -0
- data/app/views/user/add_user.rhtml +30 -0
- data/app/views/user/change_password.rhtml +25 -0
- data/app/views/user/edit.html.erb +50 -0
- data/app/views/user/index.rhtml +162 -0
- data/app/views/user/login.rhtml +41 -0
- data/app/views/user/logout.rhtml +4 -0
- data/app/views/user/signup.rhtml +36 -0
- data/app/views/user/signup_succeeded.rhtml +36 -0
- data/app/views/user_mailer/authorization_inform.rhtml +15 -0
- data/app/views/user_mailer/signup_accepted.rhtml +12 -0
- data/app/views/user_mailer/signup_confirm.rhtml +14 -0
- data/app/views/user_mailer/signup_inform.rhtml +13 -0
- data/app/views/user_mailer/signup_rejected.rhtml +11 -0
- data/app/views/work_flow/_push_wsdls.rhtml +55 -0
- data/app/views/work_flow/index.rhtml +46 -0
- data/config/database.yml.example +35 -0
- data/config/environment.rb +68 -0
- data/config/gfdnavi.yml.example +95 -0
- data/config/load_config.rb +151 -0
- data/config/routes.rb +35 -0
- data/consistency_checker.rb +129 -0
- data/data/gfdnavi_docs/how_to_draw_multiple_images.knlge +68 -0
- data/data/gfdnavi_docs/how_to_knowledge.knlge +138 -0
- data/data/gfdnavi_docs/how_to_write_document_about_Gfdnavi.knlge +30 -0
- data/data/samples/jmadata.SIGEN +8 -0
- data/data/samples/jmadata.yml +6 -0
- data/data/samples/jmadata/MSM-P/2006.nc.yml +2 -0
- data/data/samples/jmadata/MSM-P/2006.yml +17 -0
- data/data/samples/jmadata/MSM-P/2006/0101.nc +0 -0
- data/data/samples/jmadata/MSM-P/2006/0101.nc.yml +13 -0
- data/data/samples/jmadata/MSM-P/2006/0102.nc +0 -0
- data/data/samples/jmadata/MSM-P/2006/0103.nc +0 -0
- data/data/samples/jmadata/MSM-P/2006/0104.nc +0 -0
- data/data/samples/jmadata/MSM-P/2006/0105.nc +0 -0
- data/data/samples/jmadata/MSM-P/2006/010[1-3].nc.yml +2 -0
- data/data/samples/jmadata/MSM-P/2006/skip_data.rb +96 -0
- data/data/samples/jmadata/MSM-P/2006/skip_data.sh +6 -0
- data/data/samples/reanalysis.SIGEN +8 -0
- data/data/samples/reanalysis/era40.SIGEN +8 -0
- data/data/samples/reanalysis/era40.yml +2 -0
- data/data/samples/reanalysis/era40/t.jan.nc +0 -0
- data/data/samples/reanalysis/era40/t.jan.nc.yml +1 -0
- data/data/samples/reanalysis/ncep.SIGEN +9 -0
- data/data/samples/reanalysis/ncep/T.jan.100hPa.png +0 -0
- data/data/samples/reanalysis/ncep/T.jan.100hPa.png.yml +43 -0
- data/data/samples/reanalysis/ncep/T.jan.nc +0 -0
- data/data/samples/reanalysis/ncep/T.jan.zonal_mean.nc +0 -0
- data/data/samples/reanalysis/ncep/T.jan.zonal_mean.nc.yml +8 -0
- data/data/samples/reanalysis/ncep/T.jan_only_root.nc +0 -0
- data/data/samples/reanalysis/ncep/T.jan_only_root.nc.yml +4 -0
- data/data/samples/reanalysis/ncep/UV.jan.nc +0 -0
- data/data/samples/reanalysis/ncep/UV.jan.nc.yml +10 -0
- data/data/samples/reanalysis/ncep/UV.jan.nc.yml.ja +11 -0
- data/data/samples/sonde_operational.yml +5 -0
- data/data/samples/sonde_operational/std_plev.yml +12 -0
- data/data/samples/sonde_operational/std_plev/41256.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/42410.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/43333.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/43346.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/48698.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/61641.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/63741.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/67083.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/72261.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/76805.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/82193.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/91165.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/91610.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/91948.spl.nc +0 -0
- data/data/samples/sonde_operational/std_plev/94294.spl.nc +0 -0
- data/db/NetCDFparser.rb +406 -0
- data/db/create_derived_spatial_attributes.sql +12 -0
- data/db/draw_methods/line.yml +6 -0
- data/db/draw_methods/scatter.yml +38 -0
- data/db/draw_methods/tone.yml +64 -0
- data/db/draw_methods/vector.yml +19 -0
- data/db/dump_db.rb +43 -0
- data/db/functions/additions.yml +10 -0
- data/db/functions/cut.yml +10 -0
- data/db/functions/division.yml +10 -0
- data/db/functions/mean.yml +28 -0
- data/db/functions/multiplication.yml +10 -0
- data/db/functions/stddev.yml +28 -0
- data/db/functions/subtraction.yml +10 -0
- data/db/migrate/001_initial_scheme.rb +289 -0
- data/db/migrate/002_add_open_id_authentication_tables.rb +20 -0
- data/db/register_directory_tree.rb +760 -0
- data/db/restore_db.rb +60 -0
- data/gfdnavi-install +828 -0
- data/install.rb +828 -0
- data/lib/activerecord_gfdnavi.rb +31 -0
- data/lib/basic_authorization.rb +50 -0
- data/lib/create_activeresources.rb +108 -0
- data/lib/execute_analysis.rb +472 -0
- data/lib/file_gfdnavi.rb +38 -0
- data/lib/gphys_gfdnavi.rb +81 -0
- data/lib/localdir.rb +110 -0
- data/lib/login_system.rb +110 -0
- data/lib/multibytes.rb +20 -0
- data/lib/narray_yaml.rb +58 -0
- data/lib/no_rdb_base.rb +40 -0
- data/lib/opendapdir.rb +171 -0
- data/lib/tar.rb +127 -0
- data/lib/tasks/clean.rake +65 -0
- data/lib/tasks/setup.rake +316 -0
- data/lib/tasks/update.rake +62 -0
- data/lib/vizshot_gfdnavi.rb +224 -0
- data/public/crossdomain.xml +4 -0
- data/public/flex/NodeTreeDescriptor.as +55 -0
- data/public/flex/TreeNode.as +253 -0
- data/public/flex/finder.mxml +304 -0
- data/public/flex/finder.swf +0 -0
- data/public/flex/gfdnavi.mxml +52 -0
- data/public/flex/gfdnavi.swf +0 -0
- data/public/images/Help_S-shots/dir_tree_with_add.jpg +0 -0
- data/public/images/analyze.gif +0 -0
- data/public/images/circle.gif +0 -0
- data/public/images/create_from_analysis_button.png +0 -0
- data/public/images/delete.png +0 -0
- data/public/images/down.png +0 -0
- data/public/images/drawbutton.gif +0 -0
- data/public/images/gfdnavi_home_logo.png +0 -0
- data/public/images/gfdnavi_logo_big.png +0 -0
- data/public/images/gfdnavi_logo_med.png +0 -0
- data/public/images/gfdnavi_logo_mini.png +0 -0
- data/public/images/gfdnavi_logo_nobg_big.png +0 -0
- data/public/images/gfdnavi_logo_nobg_med.png +0 -0
- data/public/images/gfdnavi_logo_nobg_small.png +0 -0
- data/public/images/gfdnavi_logo_small.png +0 -0
- data/public/images/gfdnavi_logo_xsmall.png +0 -0
- data/public/images/hbar.png +0 -0
- data/public/images/helpmark16.png +0 -0
- data/public/images/helpmark18.png +0 -0
- data/public/images/kikyu_g.gif +0 -0
- data/public/images/kikyu_r.gif +0 -0
- data/public/images/map_icon_g.gif +0 -0
- data/public/images/map_icon_r.gif +0 -0
- data/public/images/new_knowledge.png +0 -0
- data/public/images/openid.png +0 -0
- data/public/images/read_in_the_form.png +0 -0
- data/public/images/slider_f.gif +0 -0
- data/public/images/slider_f_red.gif +0 -0
- data/public/images/star1.gif +0 -0
- data/public/images/star2.gif +0 -0
- data/public/images/startanim.gif +0 -0
- data/public/images/stopanim.gif +0 -0
- data/public/images/tree/DL.png +0 -0
- data/public/images/tree/anal_viz.png +0 -0
- data/public/images/tree/analyze_visualize_checked_items.png +0 -0
- data/public/images/tree/binary.png +0 -0
- data/public/images/tree/details.png +0 -0
- data/public/images/tree/download_checked_items.png +0 -0
- data/public/images/tree/folder.png +0 -0
- data/public/images/tree/folder_close.gif +0 -0
- data/public/images/tree/image2.png +0 -0
- data/public/images/tree/knowledge.png +0 -0
- data/public/images/tree/knowledges.png +0 -0
- data/public/images/tree/last.gif +0 -0
- data/public/images/tree/last.png +0 -0
- data/public/images/tree/minus.gif +0 -0
- data/public/images/tree/minus_simple.gif +0 -0
- data/public/images/tree/none.gif +0 -0
- data/public/images/tree/none.png +0 -0
- data/public/images/tree/plus.gif +0 -0
- data/public/images/tree/plus_simple.gif +0 -0
- data/public/images/tree/show.png +0 -0
- data/public/images/tree/show_checked_items.png +0 -0
- data/public/images/tree/t.gif +0 -0
- data/public/images/tree/t.png +0 -0
- data/public/images/tree/tate.gif +0 -0
- data/public/images/tree/tate.png +0 -0
- data/public/images/up.png +0 -0
- data/public/images/vbar.png +0 -0
- data/public/images/white.bmp +0 -0
- data/public/images/x.gif +0 -0
- data/public/index.html +100 -0
- data/public/javascripts/AC_OETags.js +269 -0
- data/public/javascripts/analysis.js +751 -0
- data/public/javascripts/application.js +29 -0
- data/public/javascripts/directory_tree.js +102 -0
- data/public/javascripts/draw_method.js +83 -0
- data/public/javascripts/excanvas.js +704 -0
- data/public/javascripts/function.js +107 -0
- data/public/javascripts/gfdnavi.js +175 -0
- data/public/javascripts/knowledge.js +384 -0
- data/public/javascripts/mapsearch.js +313 -0
- data/public/javascripts/progress.js +42 -0
- data/public/javascripts/resizable_box.js +164 -0
- data/public/javascripts/slider.js +260 -0
- data/public/javascripts/tab.js +17 -0
- data/public/javascripts/work_flow.js +452 -0
- data/public/stylesheets/analysis.css +111 -0
- data/public/stylesheets/description.css +71 -0
- data/public/stylesheets/gfdnavi.css +141 -0
- data/public/stylesheets/knowledge.css +218 -0
- data/public/stylesheets/search.css +184 -0
- data/public/stylesheets/tree.css +45 -0
- data/public/stylesheets/tree_for_ie.css +3 -0
- data/public/stylesheets/work_flow.css +78 -0
- data/script/cleaner +11 -0
- data/script/server_ssl +131 -0
- data/test/fixtures/diagram_cache_data.yml +5 -0
- data/test/fixtures/diagram_cache_sessions.yml +6 -0
- data/test/fixtures/diagram_caches.yml +6 -0
- data/test/fixtures/directories.yml +57 -0
- data/test/fixtures/draw_parameters.yml +6 -0
- data/test/fixtures/function_arguments.yml +15 -0
- data/test/fixtures/function_outputs.yml +15 -0
- data/test/fixtures/functions.yml +29 -0
- data/test/fixtures/group_members.yml +33 -0
- data/test/fixtures/groups.yml +25 -0
- data/test/fixtures/images.yml +12 -0
- data/test/fixtures/keyword_attributes.yml +73 -0
- data/test/fixtures/knowledges.yml +10 -0
- data/test/fixtures/node_relations.yml +11 -0
- data/test/fixtures/nodes.yml +298 -0
- data/test/fixtures/sign_up_users.yml +8 -0
- data/test/fixtures/spatial_and_time_attributes.yml +29 -0
- data/test/fixtures/user_mailer/authorization_inform +11 -0
- data/test/fixtures/user_mailer/signup_accepted +10 -0
- data/test/fixtures/user_mailer/signup_confirm +17 -0
- data/test/fixtures/user_mailer/signup_inform +10 -0
- data/test/fixtures/user_mailer/signup_rejected +9 -0
- data/test/fixtures/users.yml +31 -0
- data/test/fixtures/value_types.yml +10 -0
- data/test/fixtures/variables.yml +17 -0
- data/test/functional/analysis_controller_test.rb +169 -0
- data/test/functional/description_controller_test.rb +18 -0
- data/test/functional/function_controller_test.rb +18 -0
- data/test/functional/group_controller_test.rb +18 -0
- data/test/functional/search_controller_test.rb +83 -0
- data/test/functional/user_controller_test.rb +77 -0
- data/test/functional/webservice_analysis_api_test.rb +12 -0
- data/test/functional/work_flow_controller_test.rb +18 -0
- data/test/test_helper.rb +28 -0
- data/test/unit/diagram_cache_datum_test.rb +10 -0
- data/test/unit/diagram_cache_session_test.rb +10 -0
- data/test/unit/diagram_cache_test.rb +10 -0
- data/test/unit/directory_test.rb +49 -0
- data/test/unit/draw_parameter_test.rb +10 -0
- data/test/unit/function_argument_test.rb +10 -0
- data/test/unit/function_output_test.rb +10 -0
- data/test/unit/function_test.rb +10 -0
- data/test/unit/group_test.rb +48 -0
- data/test/unit/image_test.rb +13 -0
- data/test/unit/keyword_attribute_test.rb +33 -0
- data/test/unit/knowledge_test.rb +13 -0
- data/test/unit/node_relation_test.rb +20 -0
- data/test/unit/node_test.rb +85 -0
- data/test/unit/sign_up_user_test.rb +20 -0
- data/test/unit/spatial_and_time_attribute_test.rb +29 -0
- data/test/unit/user_mailer_test.rb +101 -0
- data/test/unit/user_test.rb +134 -0
- data/test/unit/value_type_test.rb +10 -0
- data/test/unit/variable_test.rb +35 -0
- data/vendor/plugins/acts_as_list/README +23 -0
- data/vendor/plugins/acts_as_list/init.rb +3 -0
- data/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb +256 -0
- data/vendor/plugins/acts_as_list/test/list_test.rb +332 -0
- data/vendor/plugins/acts_as_tree/README +26 -0
- data/vendor/plugins/acts_as_tree/Rakefile +22 -0
- data/vendor/plugins/acts_as_tree/init.rb +1 -0
- data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +96 -0
- data/vendor/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
- data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +219 -0
- data/vendor/plugins/acts_as_tree/test/database.yml +0 -0
- data/vendor/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
- data/vendor/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
- data/vendor/plugins/acts_as_tree/test/schema.rb +0 -0
- data/vendor/plugins/will_paginate/CHANGELOG +92 -0
- data/vendor/plugins/will_paginate/LICENSE +18 -0
- data/vendor/plugins/will_paginate/README.rdoc +131 -0
- data/vendor/plugins/will_paginate/Rakefile +62 -0
- data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
- data/vendor/plugins/will_paginate/examples/index.haml +69 -0
- data/vendor/plugins/will_paginate/examples/index.html +92 -0
- data/vendor/plugins/will_paginate/examples/pagination.css +90 -0
- data/vendor/plugins/will_paginate/examples/pagination.sass +91 -0
- data/vendor/plugins/will_paginate/init.rb +1 -0
- data/vendor/plugins/will_paginate/lib/will_paginate.rb +86 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +145 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +32 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +247 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +132 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +39 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +373 -0
- data/vendor/plugins/will_paginate/will_paginate.gemspec +21 -0
- metadata +586 -0
@@ -0,0 +1,112 @@
|
|
1
|
+
require "forwardable"
|
2
|
+
|
3
|
+
class NodeEntityAbstract < ActiveRecord::Base
|
4
|
+
extend Forwardable
|
5
|
+
|
6
|
+
self.abstract_class = true
|
7
|
+
|
8
|
+
before_save :save_node
|
9
|
+
after_destroy :destroy_node
|
10
|
+
|
11
|
+
class << self
|
12
|
+
alias :_find :find
|
13
|
+
def find(*args)
|
14
|
+
nodes = Node.send("find_#{table_name}",*args)
|
15
|
+
case nodes
|
16
|
+
when Node
|
17
|
+
return nodes.entity
|
18
|
+
when Array
|
19
|
+
return nodes.collect{|n| n.entity}
|
20
|
+
else
|
21
|
+
return nodes
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def initialize(attrs=nil)
|
27
|
+
super(nil)
|
28
|
+
self.attributes = attrs
|
29
|
+
end
|
30
|
+
|
31
|
+
def attributes=(attrs=nil)
|
32
|
+
attrs_node = Hash.new
|
33
|
+
attrs_org = attrs
|
34
|
+
if attrs
|
35
|
+
attrs = attrs.dup
|
36
|
+
Node.column_names.each{|cname|
|
37
|
+
if ( v=(attrs.delete(cname)||attrs.delete(cname.to_sym)) )
|
38
|
+
attrs_node[cname] = v
|
39
|
+
end
|
40
|
+
}
|
41
|
+
end
|
42
|
+
super(attrs)
|
43
|
+
if n = node
|
44
|
+
n.attributes= attrs_node
|
45
|
+
else
|
46
|
+
n = Node.new(attrs_node)
|
47
|
+
end
|
48
|
+
n.node_type = Node.const_get(self.class.table_name.singularize.upcase)
|
49
|
+
self.node = n
|
50
|
+
n.entity = self
|
51
|
+
return attrs_org
|
52
|
+
end
|
53
|
+
|
54
|
+
def node
|
55
|
+
return @node if @node
|
56
|
+
if node_id
|
57
|
+
@node = Node.find(node_id, :user => :all)
|
58
|
+
return @node
|
59
|
+
end
|
60
|
+
return nil
|
61
|
+
end
|
62
|
+
|
63
|
+
meths = %w(parent name path mtime owner other_mode rgroups wgroups size guest_owner file other_readable title description)
|
64
|
+
meths += meths.collect{|me| "#{me}="}
|
65
|
+
meths += %w(
|
66
|
+
keyword_attributes spatial_and_time_attributes
|
67
|
+
draw_parameters
|
68
|
+
references referenced_by
|
69
|
+
fname
|
70
|
+
set_rgroups set_wgroups
|
71
|
+
add_prefix
|
72
|
+
)
|
73
|
+
meths.each do |me|
|
74
|
+
def_delegator :node, me
|
75
|
+
end
|
76
|
+
|
77
|
+
protected
|
78
|
+
def save_node
|
79
|
+
if node.save
|
80
|
+
self.node_id = node.id
|
81
|
+
return true
|
82
|
+
else
|
83
|
+
node.errors.each{|k,v| errors.add(k,v) }
|
84
|
+
return false
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def destroy_node
|
89
|
+
node.destroy
|
90
|
+
end
|
91
|
+
|
92
|
+
=begin
|
93
|
+
def method_missing(method_id, *args)
|
94
|
+
begin
|
95
|
+
super(method_id, *args)
|
96
|
+
rescue NoMethodError
|
97
|
+
error = $!
|
98
|
+
begin
|
99
|
+
node.send(method_id, *args)
|
100
|
+
rescue NoMethodError
|
101
|
+
raise error
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
=end
|
106
|
+
|
107
|
+
def node=(node)
|
108
|
+
@node = node
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
class NodeLineage < ActiveRecord::Base
|
2
|
+
belongs_to :node_ancestor, :class_name => "Node", :foreign_key => "ancestor"
|
3
|
+
belongs_to :node_descendant, :class_name => "Node", :foreign_key => "descendant"
|
4
|
+
# belongs_to :ancestor, :class_name => "Node", :foreign_key => "ancestor"
|
5
|
+
# belongs_to :descendant, :class_name => "Node", :foreign_key => "descendant"
|
6
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
class PathNode
|
2
|
+
attr_accessor :path,:entries,:children,:count,:parent
|
3
|
+
def initialize
|
4
|
+
@path=""
|
5
|
+
@entries=Array.new
|
6
|
+
@parent=nil
|
7
|
+
@children=Hash.new
|
8
|
+
@count=0
|
9
|
+
end
|
10
|
+
|
11
|
+
def addpath_r(strary)
|
12
|
+
@count=@count+1
|
13
|
+
if strary.size==0 then
|
14
|
+
return self
|
15
|
+
else
|
16
|
+
cur = strary.shift()
|
17
|
+
if @children.key?(cur) then
|
18
|
+
@children[cur].addpath_r(strary)
|
19
|
+
else
|
20
|
+
newnode=PathNode.new
|
21
|
+
newnode.path=cur
|
22
|
+
@children[cur]=newnode
|
23
|
+
newnode.addpath_r(strary)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def find_child(str)
|
29
|
+
if @children then
|
30
|
+
@children.each{|c|
|
31
|
+
if c.path==str then
|
32
|
+
return c
|
33
|
+
end
|
34
|
+
}
|
35
|
+
end
|
36
|
+
return
|
37
|
+
end
|
38
|
+
|
39
|
+
def addpath(n)
|
40
|
+
if @path=="/" then
|
41
|
+
strary=n.path.split(/\//)
|
42
|
+
strary.delete_at(0)
|
43
|
+
#entry=strary[strary.size-1]
|
44
|
+
strary.pop
|
45
|
+
node=addpath_r(strary)
|
46
|
+
node.entries.push(n)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
#root=PathNode.new
|
55
|
+
#root.path="/"
|
56
|
+
#addpath("/a0/b0/c0/d0",root)
|
57
|
+
#addpath("/a0/b1/c0/d0",root)
|
58
|
+
#addpath("/a0/b1/c0/d1",root)
|
59
|
+
#addpath("/a1/b1/c0/d1",root)
|
60
|
+
#root.printpath(0)
|
data/app/models/query.rb
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
class Query
|
2
|
+
attr_reader :spatial_region
|
3
|
+
attr_reader :start_lon, :start_lat
|
4
|
+
attr_reader :end_lon, :end_lat
|
5
|
+
attr_reader :time_region
|
6
|
+
attr_reader :starttime, :endtime
|
7
|
+
attr_reader :keywords
|
8
|
+
attr_reader :listmode
|
9
|
+
attr_reader :zoomlevel, :oldzoomlevel
|
10
|
+
attr_reader :center_x, :center_y
|
11
|
+
attr_reader :window_start_lon, :window_start_lat
|
12
|
+
attr_reader :window_end_lon, :window_end_lat
|
13
|
+
|
14
|
+
|
15
|
+
def initialize(params=Hash.new)
|
16
|
+
if params[:spatial_region] == "1"
|
17
|
+
@spatial_region = true
|
18
|
+
@start_lon = params[:start_lon].to_f
|
19
|
+
@start_lat = params[:start_lat].to_f
|
20
|
+
@end_lon = params[:end_lon].to_f
|
21
|
+
@end_lat = params[:end_lat].to_f
|
22
|
+
|
23
|
+
@start_lon=360+@start_lon if @start_lon < 0
|
24
|
+
@end_lon=360+@end_lon if @end_lon < 0
|
25
|
+
|
26
|
+
@start_lon, @end_lon = [@end_lon, @start_lon] if @start_lon > @end_lon
|
27
|
+
@start_lat, @end_lat = [@end_lat, @start_lat] if @start_lat > @end_lat
|
28
|
+
|
29
|
+
@window_start_lon = params[:window_start_lon].to_f
|
30
|
+
@window_start_lat = params[:window_start_lat].to_f
|
31
|
+
@window_end_lon = params[:window_end_lon].to_f
|
32
|
+
@window_end_lat = params[:window_end_lat].to_f
|
33
|
+
|
34
|
+
@window_start_lon=360+@window_start_lon if @window_start_lon < 0
|
35
|
+
@window_end_lon=360+@window_end_lon if @window_end_lon < 0
|
36
|
+
|
37
|
+
@window_start_lon, @window_end_lon = [0,360] if @window_start_lon > @window_end_lon
|
38
|
+
@window_start_lat, @window_end_lat = [-90,90] if @window_start_lat > @window_end_lat
|
39
|
+
|
40
|
+
|
41
|
+
@window_start_lon = @start_lon if @window_start_lon<@start_lon
|
42
|
+
@window_start_lat = @start_lat if @window_start_lat<@start_lat
|
43
|
+
@window_end_lon = @end_lon if @window_end_lon>@end_lon
|
44
|
+
@window_end_lat = @end_lat if @window_end_lat>@end_lat
|
45
|
+
|
46
|
+
end
|
47
|
+
if params[:time_region] == "1"
|
48
|
+
@starttime = Time.utc( params["starttime(1i)"], params["starttime(2i)"], params["starttime(3i)"], params["starttime(4i)"], params["starttime(5i)"] )
|
49
|
+
@endtime = Time.utc( params["endtime(1i)"], params["endtime(2i)"], params["endtime(3i)"], params["endtime(4i)"], params["endtime(5i)"] )
|
50
|
+
@time_region = true
|
51
|
+
end
|
52
|
+
|
53
|
+
if params[:zoomlevel]!=nil then
|
54
|
+
@zoomlevel=params[:zoomlevel]
|
55
|
+
else
|
56
|
+
@zoomlevel=1
|
57
|
+
end
|
58
|
+
|
59
|
+
if params[:oldzoomlevel]!=nil then
|
60
|
+
@oldzoomlevel=params[:oldzoomlevel]
|
61
|
+
else
|
62
|
+
@oldzoomlevel=1
|
63
|
+
end
|
64
|
+
|
65
|
+
if params[:center_x]!=nil then
|
66
|
+
@center_x=params[:center_x]
|
67
|
+
else
|
68
|
+
@center_x=136.0
|
69
|
+
end
|
70
|
+
|
71
|
+
if params[:center_y]!=nil then
|
72
|
+
@center_y=params[:center_y]
|
73
|
+
else
|
74
|
+
@center_y=37.0
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
@keywords = params[:keywords]
|
79
|
+
@keywords = nil if @keywords == ""
|
80
|
+
end
|
81
|
+
|
82
|
+
def querystring(area)
|
83
|
+
return nil unless keywords || spatial_region || time_region
|
84
|
+
#tables = ["variables v"]
|
85
|
+
tables = []
|
86
|
+
conditions = Array.new
|
87
|
+
sorts = Array.new
|
88
|
+
|
89
|
+
sorts.push "n.path"
|
90
|
+
|
91
|
+
if keywords
|
92
|
+
kcond = Array.new
|
93
|
+
keywords.split(" ").each{|key|
|
94
|
+
if (v=key.to_i).to_s == key || (v=key.to_f).to_s == key
|
95
|
+
kcond.push KeywordAttribute.format_value_search(v, :like, "k")
|
96
|
+
else
|
97
|
+
kcond.push "k.name like '%#{key}%' or k.value like '%#{key}%' "
|
98
|
+
end
|
99
|
+
kcond.push "v.path like '%#{key}%'"
|
100
|
+
}
|
101
|
+
kcond = kcond.join(" or ")
|
102
|
+
path = Variable.connection.adapter_name=="MySQL" ? "concat(d.path,'%')" : "d.path||'%'"
|
103
|
+
subquery =<<-EOF
|
104
|
+
(select distinct v.*
|
105
|
+
from nodes d, nodes v, keyword_attributes k
|
106
|
+
where v.node_type=#{Node::VARIABLE} and d.node_type=#{Node::DIRECTORY} and
|
107
|
+
( (v.id=k.node_id and (#{kcond}))
|
108
|
+
or (v.path like #{path} and d.id=k.node_id and (#{kcond})))
|
109
|
+
) as n
|
110
|
+
EOF
|
111
|
+
tables.push subquery
|
112
|
+
else
|
113
|
+
tables.push "nodes n"
|
114
|
+
end
|
115
|
+
|
116
|
+
conditions.push "n.node_type=#{Node::VARIABLE}"
|
117
|
+
|
118
|
+
tables.push "spatial_and_time_attributes st"
|
119
|
+
|
120
|
+
if time_region
|
121
|
+
conditions.push "n.starttime<='#{endtime.strftime(format)}' and v.endtime>='#{starttime.strftime(format)}'"
|
122
|
+
end
|
123
|
+
|
124
|
+
format = "%Y-%m-%d %H:%M:%S"
|
125
|
+
|
126
|
+
if area == "no_region"
|
127
|
+
if spatial_region
|
128
|
+
return "select * from nodes where null"
|
129
|
+
end
|
130
|
+
area_condition = "not exists (select * from spatial_and_time_attributes as st where st.node_id=n.id and (st.longitude_lb||st.longitude_rt||st.latitude_lb||st.latitude_rt))"
|
131
|
+
else
|
132
|
+
|
133
|
+
conditions.push "st.node_id=n.id"
|
134
|
+
area_condition ="not(st.node_id IS NULL)";
|
135
|
+
end
|
136
|
+
|
137
|
+
if time_region
|
138
|
+
area_condition += "and (st.starttime<='#{endtime.strftime(format)}' and st.endtime>='#{starttime.strftime(format)}')"
|
139
|
+
end
|
140
|
+
|
141
|
+
lon_width = 360*0.9
|
142
|
+
lat_width = 180*0.9
|
143
|
+
case area
|
144
|
+
when "points"
|
145
|
+
area_condition += " and (st.longitude_lb = st.longitude_rt)"
|
146
|
+
area_condition += " and (st.latitude_lb = st.latitude_rt)"
|
147
|
+
|
148
|
+
when "partial"
|
149
|
+
area_condition += " and ((abs(st.longitude_lb-st.longitude_rt)<#{lon_width} and not(st.longitude_lb=0 and st.longitude_rt=0 ) and not(st.longitude_lb = st.longitude_rt and st.latitude_lb = st.latitude_rt))"
|
150
|
+
area_condition += " or (abs(st.latitude_lb-st.latitude_rt)<#{lat_width} and not(st.latitude_lb=0 and st.latitude_rt=0 ) and not(st.longitude_lb = st.longitude_rt and st.latitude_lb = st.latitude_rt ))) "
|
151
|
+
|
152
|
+
when "global"
|
153
|
+
area_condition += " and abs(st.longitude_lb-st.longitude_rt)>=#{lon_width}"
|
154
|
+
area_condition += " and abs(st.latitude_lb-st.latitude_rt)>=#{lat_width}"
|
155
|
+
|
156
|
+
end
|
157
|
+
|
158
|
+
if spatial_region
|
159
|
+
slon=start_lon; slat=start_lat;
|
160
|
+
elon=end_lon; elat=end_lat;
|
161
|
+
slon=window_start_lon if start_lon<window_start_lon
|
162
|
+
slat=window_start_lat if start_lon<window_start_lat
|
163
|
+
elon=window_end_lon if end_lon>window_end_lon
|
164
|
+
elat=window_end_lat if end_lon<window_end_lat
|
165
|
+
|
166
|
+
area_condition+=" and st.longitude_lb <= #{elon} and st.longitude_rt >= #{slon}"
|
167
|
+
area_condition+=" and st.latitude_lb <= #{elat} and st.latitude_rt >= #{slat}"
|
168
|
+
# s="pow(s.longitude_lb+s.longitude_rt+(#{slon}*-1)+(#{elon}*-1),2)+"
|
169
|
+
# s+="pow(s.latitude_lb+s.latitude_rt+(#{slat}*-1)+(#{elat}*-1),2)"
|
170
|
+
s="(st.longitude_lb+st.longitude_rt+(#{slon}*-1)+(#{elon}*-1))*(st.longitude_lb+st.longitude_rt+(#{slon}*-1)+(#{elon}*-1))+"
|
171
|
+
s+="(st.latitude_lb+st.latitude_rt+(#{slat}*-1)+(#{elat}*-1))*(st.latitude_lb+st.latitude_rt+(#{slat}*-1)+(#{elat}*-1))"
|
172
|
+
sorts.push s
|
173
|
+
end
|
174
|
+
|
175
|
+
conditions.push area_condition
|
176
|
+
|
177
|
+
|
178
|
+
if Variable.connection.adapter_name == "PostgreSQL"
|
179
|
+
res = "select distinct on (n.path) n.* "
|
180
|
+
else
|
181
|
+
res = "select distinct n.* "
|
182
|
+
end
|
183
|
+
res += "from "
|
184
|
+
res += tables.join(", ")
|
185
|
+
res += " where "
|
186
|
+
res += conditions.join(" and ")
|
187
|
+
if sorts.size > 0
|
188
|
+
res += " order by "
|
189
|
+
res += sorts.join(",")
|
190
|
+
end
|
191
|
+
return res
|
192
|
+
end
|
193
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require "activerecord_gfdnavi"
|
2
|
+
|
3
|
+
class Results
|
4
|
+
attr_accessor :id, :keynames
|
5
|
+
def initialize(id)
|
6
|
+
@id=id
|
7
|
+
@keynames = Array.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def get_keyname_list
|
11
|
+
if @id!=0 then
|
12
|
+
keylist=KeywordAttribute.find(:all,:select=>"keyword_attributes.name as kname,count(*) as cnt",:joins=>"JOIN cache_#{@id} ON variable_id=cache_#{@id}.vid",:group=>"keyword_attributes.name",:order=>"cnt DESC")
|
13
|
+
else
|
14
|
+
keylist=KeywordAttribute.find(:all,:select=>"keyword_attributes.name as kname,count(*) as cnt",:joins=>"JOIN variables ON variable_id=variables.id",:group=>"keyword_attributes.name",:order=>"cnt DESC")
|
15
|
+
end
|
16
|
+
return keylist
|
17
|
+
end
|
18
|
+
|
19
|
+
def get_path_list
|
20
|
+
if @id!=0 then
|
21
|
+
tables="(select v.* from variables v,cache_#{@id} c where v.id=c.vid)"
|
22
|
+
path=QueryHistory.find(@id).path
|
23
|
+
else
|
24
|
+
tables="variables"
|
25
|
+
path="/"
|
26
|
+
end
|
27
|
+
sql1=<<-EOM
|
28
|
+
select d2.path as dpath, count(v.id) as cnt
|
29
|
+
from directories d1,directories d2,#{tables} v
|
30
|
+
where d1.path = ?
|
31
|
+
and d2.parent_id = d1.id
|
32
|
+
and v.path like #{concat("d2.path","'%'")}
|
33
|
+
group by d2.path
|
34
|
+
order by cnt DESC
|
35
|
+
EOM
|
36
|
+
pathlist = Directory.find_by_sql [sql1,path]
|
37
|
+
return pathlist
|
38
|
+
end
|
39
|
+
|
40
|
+
def get_keyvalue_list(keyname)
|
41
|
+
if @id!=0 then
|
42
|
+
valuelist=KeywordAttribute.find(:all,:joins=>"JOIN cache_#{@id} ON variable_id=cache_#{@id}.vid",:select=>"value,num_value,count(*) as cnt",:conditions=>["keyword_attributes.name=?",keyname],:group=>"value")
|
43
|
+
else
|
44
|
+
valuelist=KeywordAttribute.find(:all,:joins=>"JOIN variables ON variable_id=variables.id",:select=>"value,num_value,count(*) as cnt",:conditions=>["keyword_attributes.name=?",keyname],:group=>"value")
|
45
|
+
end
|
46
|
+
return valuelist
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class SignUpUser < ActiveRecord::Base
|
2
|
+
|
3
|
+
|
4
|
+
protected
|
5
|
+
|
6
|
+
before_create :crypt_password
|
7
|
+
def crypt_password
|
8
|
+
write_attribute("password", User.sha1(password))
|
9
|
+
end
|
10
|
+
|
11
|
+
def validate
|
12
|
+
if User.find(:first,:conditions=>["login=?",login])
|
13
|
+
errors.add(:login, "is already being used")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
validates_length_of :login, :within => 3..10
|
18
|
+
validates_length_of :password, :within => 5..40
|
19
|
+
validates_presence_of :login, :password, :full_name, :email_address, :affiliation
|
20
|
+
validates_presence_of :password_confirmation, :on => :create
|
21
|
+
validates_confirmation_of :password, :on => :create
|
22
|
+
validates_uniqueness_of :login
|
23
|
+
validates_format_of :email_address, :with => /^(\w|-)+@(\w|-)+\.(\w|-)+/, :message => "email address is invalid"
|
24
|
+
|
25
|
+
end
|