diff --git a/Gemfile.lock b/Gemfile.lock index 83b2bcbf..62396ce6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -57,7 +57,7 @@ GIT GIT remote: https://github.com/ontoportal-lirmm/ontologies_linked_data.git - revision: c0f8697529ebfca2c3fe90d46d9482ac72f13362 + revision: 312ef426eeaa461e88fa23124ea5fd531f4276ba branch: development specs: ontologies_linked_data (0.0.1) @@ -211,7 +211,7 @@ GEM httpclient (2.8.3) i18n (1.14.6) concurrent-ruby (~> 1.0) - json (2.7.3) + json (2.7.5) json-ld (3.0.2) multi_json (~> 1.12) rdf (>= 2.2.8, < 4.0) @@ -353,7 +353,7 @@ GEM rubocop-ast (>= 1.32.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.3) + rubocop-ast (1.33.0) parser (>= 3.3.1.0) ruby-progressbar (1.13.0) ruby-xxHash (0.4.0.2) diff --git a/controllers/classes_controller.rb b/controllers/classes_controller.rb index d792c172..c774f603 100644 --- a/controllers/classes_controller.rb +++ b/controllers/classes_controller.rb @@ -9,7 +9,7 @@ class ClassesController < ApplicationController cls_count = submission.class_count(LOGGER) error 403, "Unable to display classes due to missing metrics for #{submission.id.to_s}. Please contact the administrator." if cls_count < 0 - attributes, page, size, order_by_hash, bring_unmapped_needed = settings_params(LinkedData::Models::Class) + attributes, page, size, order_by_hash, bring_unmapped_needed = settings_params(LinkedData::Models::Class) check_last_modified_segment(LinkedData::Models::Class, [ont.acronym]) index = LinkedData::Models::Class.in(submission) @@ -23,7 +23,7 @@ class ClassesController < ApplicationController end page_data = index - page_data = page_data.include(attributes).page(page,size).page_count_set(cls_count).all + page_data = page_data.include(attributes).page(page, size).page_count_set(cls_count).all reply page_data end @@ -56,7 +56,7 @@ class ClassesController < ApplicationController request_display(load_attrs.join(',')) - sort = params["sort"].eql?('true') || params["sort"].eql?('1') # default = false + sort = params["sort"].eql?('true') || params["sort"].eql?('1') # default = false if sort roots = submission.roots_sorted(load_attrs, concept_schemes: concept_schemes, concept_collections: concept_collections) @@ -85,20 +85,20 @@ class ClassesController < ApplicationController end unmapped = ld.delete(:properties) || - (includes_param && includes_param.include?(:all)) + (includes_param && includes_param.include?(:all)) ld << :memberOf if includes_param.include?(:all) cls = get_class(submission, ld) if unmapped LinkedData::Models::Class.in(submission) - .models([cls]).include(:unmapped).all + .models([cls]).include(:unmapped).all end if includes_param.include?(:hasChildren) cls.load_has_children end - if !load_children.nil? and load_children.length >0 - LinkedData::Models::Class.partially_load_children([cls],500,cls.submission) + if !load_children.nil? and load_children.length > 0 + LinkedData::Models::Class.partially_load_children([cls], 500, cls.submission) if includes_param.include?(:hasChildren) cls.children.each do |c| c.load_has_children @@ -122,7 +122,7 @@ class ClassesController < ApplicationController get '/:cls/tree' do params ||= @params includes_param_check - sort = params["sort"].eql?('true') || params["sort"].eql?('1') # default = false + sort = params["sort"].eql?('true') || params["sort"].eql?('1') # default = false # We override include values other than the following, user-provided include ignored ont, submission = get_ontology_and_submission check_last_modified_segment(LinkedData::Models::Class, [ont.acronym]) @@ -134,11 +134,11 @@ class ClassesController < ApplicationController if sort roots = submission.roots_sorted(extra_include, concept_schemes: concept_schemes, concept_collections: concept_collections) root_tree = cls.tree_sorted(concept_schemes: concept_schemes, concept_collections: concept_collections, roots: roots) - #add the other roots to the response + # add the other roots to the response else roots = submission.roots(extra_include, concept_schemes: concept_schemes, concept_collections: concept_collections) root_tree = cls.tree(concept_schemes: concept_schemes, concept_collections: concept_collections, roots: roots) - #add the other roots to the response + # add the other roots to the response end # if this path' root does not get returned by the submission.roots call, manually add it @@ -149,7 +149,7 @@ class ClassesController < ApplicationController if r.id == root_tree.id roots[i] = root_tree else - roots[i].instance_variable_set("@children",[]) + roots[i].instance_variable_set("@children", []) roots[i].loaded_attributes << :children end end @@ -165,7 +165,7 @@ class ClassesController < ApplicationController error 404 if cls.nil? ancestors = cls.ancestors LinkedData::Models::Class.in(submission).models(ancestors) - .include(:prefLabel,:synonym,:definition).all + .include(:prefLabel, :synonym, :definition).all reply ancestors end @@ -175,13 +175,13 @@ class ClassesController < ApplicationController ont, submission = get_ontology_and_submission check_last_modified_segment(LinkedData::Models::Class, [ont.acronym]) page, size = page_params - cls = get_class(submission,load_attrs=[]) + cls = get_class(submission, load_attrs = []) error 404 if cls.nil? ld = LinkedData::Models::Class.goo_attrs_to_load(includes_param) unmapped = ld.delete(:properties) - page_data = cls.retrieve_descendants(page,size) + page_data = cls.retrieve_descendants(page, size) LinkedData::Models::Class.in(submission).models(page_data) - .include(:prefLabel,:synonym,:definition).all + .include(:prefLabel, :synonym, :definition).all if unmapped LinkedData::Models::Class.in(submission).models(page_data).include(:unmapped).all end @@ -198,24 +198,11 @@ class ClassesController < ApplicationController cls = get_class(submission) error 404 if cls.nil? ld = LinkedData::Models::Class.goo_attrs_to_load(includes_param) - unmapped = ld.delete(:properties) ld += LinkedData::Models::Class.concept_is_in_attributes if submission.skos? - request_display(ld.join(',')) - aggregates = LinkedData::Models::Class.goo_aggregates_to_load(ld) - page_data_query = LinkedData::Models::Class.where(parents: cls).in(submission).include(ld) - page_data_query.aggregate(*aggregates) unless aggregates.empty? - page_data = page_data_query.page(page,size).all - if unmapped - LinkedData::Models::Class.in(submission).models(page_data).include(:unmapped).all - end - page_data.delete_if { |x| x.id.to_s == cls.id.to_s } - if ld.include?(:hasChildren) || ld.include?(:isInActiveScheme) || ld.include?(:isInActiveCollection) - page_data.each do |c| - c.load_computed_attributes(to_load: ld, - options: { schemes: concept_schemes, collections: concept_collections }) - end - end + + page_data = submission.children(cls, includes_param: includes_param, concept_schemes: concept_schemes, + concept_collections: concept_collections, page: page, size: size) reply page_data end @@ -246,8 +233,6 @@ class ClassesController < ApplicationController reply cls.parents.select { |x| !x.id.to_s["owl#Thing"] } end - - private def includes_param_check @@ -262,8 +247,6 @@ def includes_param_check end end - - def request_display(attrs) params["display"] = attrs