myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [1875] trunk: taverna 1 search terms: sinks, sour


From: noreply
Subject: [myexperiment-hackers] [1875] trunk: taverna 1 search terms: sinks, sources & processors (inc.
Date: Mon, 20 Oct 2008 11:05:25 -0400 (EDT)

Revision
1875
Author
dgc
Date
2008-10-20 11:05:25 -0400 (Mon, 20 Oct 2008)

Log Message

taverna 1 search terms: sinks, sources & processors (inc. nested workflows)

Modified Paths

Diff

Modified: trunk/app/models/workflow.rb (1874 => 1875)


--- trunk/app/models/workflow.rb	2008-10-20 10:44:16 UTC (rev 1874)
+++ trunk/app/models/workflow.rb	2008-10-20 15:05:25 UTC (rev 1875)
@@ -70,7 +70,7 @@
   
 # acts_as_solr(:fields => [ :title, :body, :tag_list, :contributor_name, { :rating => :integer } ],
 
-  acts_as_solr(:fields => [ :title, :body, :tag_list, :contributor_name, :type_display_name ],
+  acts_as_solr(:fields => [ :title, :body, :tag_list, :contributor_name, :type_display_name, :get_all_search_terms ],
                :include => [ :comments ]) if SOLR_ENABLE
 
   acts_as_runnable
@@ -143,6 +143,11 @@
     return (self.processor_class.nil? ? nil : self.processor_class.new(workflow_version.content_blob.data).get_workflow_model_object)
   end
   
+  def get_search_terms(version)
+    return nil unless (workflow_version = self.find_version(version))
+    return (self.processor_class.nil? ? nil : self.processor_class.new(workflow_version.content_blob.data).get_search_terms)
+  end
+
   # Begin acts_as_runnable overridden methods
  
   def get_input_ports(version)
@@ -165,4 +170,16 @@
     "#{BASE_URI}/workflows/#{id}/download/#{filename}"
   end
 
+  def get_all_search_terms
+
+    words = StringIO.new
+
+    versions.each do |version|
+      words << get_search_terms(version.version)
+    end
+
+    words.rewind
+    words.read
+  end
+
 end

Modified: trunk/lib/workflow_processors/interface.rb (1874 => 1875)


--- trunk/lib/workflow_processors/interface.rb	2008-10-20 10:44:16 UTC (rev 1874)
+++ trunk/lib/workflow_processors/interface.rb	2008-10-20 15:05:25 UTC (rev 1875)
@@ -86,7 +86,11 @@
       
     end
     
+    def get_search_terms
+      ""
+    end
+
     # End Instance Methods
     
   end
-end
\ No newline at end of file
+end

Modified: trunk/lib/workflow_processors/taverna_scufl.rb (1874 => 1875)


--- trunk/lib/workflow_processors/taverna_scufl.rb	2008-10-20 10:44:16 UTC (rev 1874)
+++ trunk/lib/workflow_processors/taverna_scufl.rb	2008-10-20 15:05:25 UTC (rev 1875)
@@ -126,6 +126,37 @@
       return (@scufl_model.nil? ? nil : @scufl_model.sources)
     end
     
+    def get_search_terms
+
+      def get_scufl_metadata(model)
+
+        words = StringIO.new
+
+        model.sources.each do |source|
+          words << " #{source.name}"        if source.name
+          words << " #{source.description}" if source.description
+        end
+
+        model.sinks.each do |sink|
+          words << " #{sink.name}"        if sink.name
+          words << " #{sink.description}" if sink.description
+        end
+
+        model.processors.each do |processor|
+          words << " #{processor.name}"                if processor.name
+          words << " #{processor.description}"         if processor.description
+          words << get_scufl_metadata(processor.model) if processor.model
+        end
+
+        words.rewind
+        words.read
+      end
+
+      return "" if @scufl_model.nil?
+
+      return get_scufl_metadata(@scufl_model)
+    end
+
     # End Instance Methods
   end
-end
\ No newline at end of file
+end

reply via email to

[Prev in Thread] Current Thread [Next in Thread]