[Bio] / Sprout / SHSubSearch.pm Repository:
ViewVC logotype

Diff of /Sprout/SHSubSearch.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5, Tue Apr 10 06:11:01 2007 UTC revision 1.7, Mon Nov 5 21:31:01 2007 UTC
# Line 4  Line 4 
4    
5      use strict;      use strict;
6      use Tracer;      use Tracer;
     use SearchHelper;  
7      use CGI;      use CGI;
8      use HTML;      use HTML;
9      use Sprout;      use Sprout;
10      use FeatureData;      use RHFeatures;
11      use FeatureQuery;      use base 'SearchHelper';
   
     our @ISA = qw(SearchHelper);  
12    
13  =head1 Subsystem Feature Search Helper  =head1 Subsystem Feature Search Helper
14    
# Line 67  Line 64 
64                  $cgi->Tr($cgi->td({ colspan => 3 }, $treeField));                  $cgi->Tr($cgi->td({ colspan => 3 }, $treeField));
65      # Put in the keyword search box.      # Put in the keyword search box.
66      my $expressionString = $cgi->param('keywords') || "";      my $expressionString = $cgi->param('keywords') || "";
67      push @rows, $cgi->Tr($cgi->th("Search Words"),      push @rows, RHFeatures::WordSearchRow($self);
                          $cgi->td({ colspan => 2 },  
                                   $cgi->textfield(-name => 'keywords',  
                                                   -value => $expressionString,  
                                                   -size => 60)));  
68      # Add the special options.      # Add the special options.
69      push @rows, FeatureQuery::SpecialOptions($self);      push @rows, RHFeatures::FeatureFilterFormRows($self, 'options');
70      # Finish it off with the submit row.      # Finish it off with the submit row.
71      push @rows, $self->SubmitRow();      push @rows, $self->SubmitRow();
72      # Convert the form rows into a table.      # Convert the form rows into a table.
# Line 108  Line 101 
101      if (! $spec) {      if (! $spec) {
102          $self->SetMessage("No subsystem or class selected.");          $self->SetMessage("No subsystem or class selected.");
103      } else {      } else {
104          # Create a feature data object to store our results.          # We need to build a query to get our features. This involves building
105          my $fd = FeatureData->new($self);          # a filter clause and a parameter list.
         # We need to build a query to get our features. We need to remember  
         # the filter clause format and the parameter.  
106          my ($filterClause, $parameter);          my ($filterClause, $parameter);
107          if ($spec =~ /^id=(.+)$/) {          if ($spec =~ /^id=(.+)$/) {
108              # Here we're filtering for a single subsystem.              # Here we're filtering for a single subsystem.
# Line 140  Line 131 
131                  $self->PrintLine("Standard search query submitted.<br />");                  $self->PrintLine("Standard search query submitted.<br />");
132                  $query = $sprout->Get(@majorParms);                  $query = $sprout->Get(@majorParms);
133              }              }
134                # Get the result helper for a feature search.
135                my $rhelp = RHFeatures->new($self);
136                # Compute the default columns. This is a very simple search which
137                # has no extra columns.
138                $self->DefaultColumns($rhelp);
139              # Initialize the session file.              # Initialize the session file.
140              $self->OpenSession();              $self->OpenSession($rhelp);
141              # Initialize the result counter.              # Clear the result counter.
142              $retVal = 0;              $retVal = 0;
143              # Loop through the selected features.              # Process the query results.
144              while (my $record = $query->Fetch()) {              while (my $record = $query->Fetch()) {
145                  $fd->Store($record);                  # Compute the sort key.
146                  $self->PutFeature($fd);                  my $sort = $rhelp->SortKey($record);
147                    # Store this feature.
148                    $rhelp->PutData($sort, $record->PrimaryValue('Feature(id)'), $record);
149                    # Increment the result counter.
150                  $retVal++;                  $retVal++;
                 if ($retVal % 100 == 0) {  
                     $self->PrintLine("$retVal features processed.<br />");  
                 }  
151              }              }
152              # Close the session file.              # Close the session file.
153              $self->CloseSession();              $self->CloseSession();

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.7

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3