Skip to content
Snippets Groups Projects
Commit 8c5dca91 authored by juanf's avatar juanf
Browse files

SP-752 BIS-479 : Yeastlab iPad - Search Functionality

SVN: 29533
parent 18cf5084
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,6 @@ from ch.systemsx.cisd.openbis.ipad.v2.server import IRequestHandler, AbstractReq ...@@ -2,7 +2,6 @@ from ch.systemsx.cisd.openbis.ipad.v2.server import IRequestHandler, AbstractReq
from ch.systemsx.cisd.openbis.ipad.v2.server import DrillRequestHandler, NavigationRequestHandler, DetailRequestHandler, SearchRequestHandler from ch.systemsx.cisd.openbis.ipad.v2.server import DrillRequestHandler, NavigationRequestHandler, DetailRequestHandler, SearchRequestHandler
from ch.systemsx.cisd.openbis.ipad.v2.server import EmptyDataRequestHandler, IpadServiceUtilities from ch.systemsx.cisd.openbis.ipad.v2.server import EmptyDataRequestHandler, IpadServiceUtilities
from ch.systemsx.cisd.openbis.ipad.v2.server import IRequestHandlerFactory, RequestHandlerDispatcher from ch.systemsx.cisd.openbis.ipad.v2.server import IRequestHandlerFactory, RequestHandlerDispatcher
from ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1 import MaterialIdentifierCollection from ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1 import MaterialIdentifierCollection
from ch.systemsx.cisd.openbis.generic.shared.basic.dto import MaterialIdentifier from ch.systemsx.cisd.openbis.generic.shared.basic.dto import MaterialIdentifier
from com.fasterxml.jackson.databind import ObjectMapper from com.fasterxml.jackson.databind import ObjectMapper
...@@ -573,9 +572,7 @@ class YeastLabRootRequestHandler(RootRequestHandler): ...@@ -573,9 +572,7 @@ class YeastLabRootRequestHandler(RootRequestHandler):
# Check which navigational entities are being requested here # Check which navigational entities are being requested here
nav_entities = self.entities_parameter() nav_entities = self.entities_parameter()
print "Root: %s" % nav_entities
nav_perm_ids = [entity['PERM_ID'] for entity in nav_entities] nav_perm_ids = [entity['PERM_ID'] for entity in nav_entities]
print "Root: %s" % nav_perm_ids
self.add_match_clause(all_samples_sc, "OLIGO", nav_perm_ids) self.add_match_clause(all_samples_sc, "OLIGO", nav_perm_ids)
self.add_match_clause(all_samples_sc, "ANTIBODY", nav_perm_ids) self.add_match_clause(all_samples_sc, "ANTIBODY", nav_perm_ids)
self.add_match_clause(all_samples_sc, "CHEMICAL", nav_perm_ids) self.add_match_clause(all_samples_sc, "CHEMICAL", nav_perm_ids)
...@@ -681,7 +678,6 @@ class YeastLabSearchRequestHandler(SearchRequestHandler): ...@@ -681,7 +678,6 @@ class YeastLabSearchRequestHandler(SearchRequestHandler):
self.westernBlottings = samplesByType.getSamples('WESTERN_BLOTTING') self.westernBlottings = samplesByType.getSamples('WESTERN_BLOTTING')
def retrieve_data(self): def retrieve_data(self):
print "SearchRequestHandler: retrieve_data"
all_samples_sc = SearchCriteria() all_samples_sc = SearchCriteria()
all_samples_sc.addMatchClause(SearchCriteria.MatchClause.createAnyFieldMatch(self.parameters['searchtext'])) all_samples_sc.addMatchClause(SearchCriteria.MatchClause.createAnyFieldMatch(self.parameters['searchtext']))
self.samples = self.searchService.searchForSamples(all_samples_sc) self.samples = self.searchService.searchForSamples(all_samples_sc)
...@@ -699,19 +695,45 @@ class YeastLabSearchRequestHandler(SearchRequestHandler): ...@@ -699,19 +695,45 @@ class YeastLabSearchRequestHandler(SearchRequestHandler):
children.append(yeast) children.append(yeast)
def add_data_rows(self): def add_data_rows(self):
print "SearchRequestHandler: add_data_rows" #To Group the search results by the order given
self.add_rows(oligos_to_dict(self.oligos, False)) for sample in self.samples:
self.add_rows(antibodies_to_dict(self.antibodies, False)) if sample.getSampleType() == 'OLIGO':
self.add_rows(chemicals_to_dict(self.chemicals, False)) self.add_row(oligo_to_dict(sample, False))
self.add_rows(protocols_to_dict(self.protocols, False)) if sample.getSampleType() == 'ANTIBODY':
self.add_rows(medias_to_dict(self.medias, False)) self.add_row(antibody_to_dict(sample, False))
self.add_rows(pcrs_to_dict(self.pcrs, False)) if sample.getSampleType() == 'CHEMICAL':
self.add_rows(buffers_to_dict(self.buffers, False)) self.add_row(chemical_to_dict(sample, False))
self.add_rows(plasmids_to_dict(self.plasmids, self.children_map, False)) if sample.getSampleType() == 'GENERAL_PROTOCOL':
self.add_rows(yeasts_to_dict(self.yeasts, self.children_map, False)) self.add_row(protocol_to_dict(sample, False))
self.add_rows(bacterias_to_dict(self.bacterias, False)) if sample.getSampleType() == 'MEDIA':
self.add_rows(enzymes_to_dict(self.enzymes, False)) self.add_row(media_to_dict(sample, False))
self.add_rows(westernBlottings_to_dict(self.westernBlottings, False)) if sample.getSampleType() == 'PCR':
self.add_row(pcr_to_dict(sample, False))
if sample.getSampleType() == 'SOLUTIONS_BUFFERS':
self.add_row(buffer_to_dict(sample, False))
if sample.getSampleType() == 'PLASMID':
self.add_row(plasmid_to_dict(sample, self.children_map, False))
if sample.getSampleType() == 'YEAST':
self.add_row(yeast_to_dict(sample, {}, False))
if sample.getSampleType() == 'BACTERIA':
self.add_row(bacteria_to_dict(sample, False))
if sample.getSampleType() == 'ENZYME':
self.add_row(enzyme_to_dict(sample, False))
if sample.getSampleType() == 'WESTERN_BLOTTING':
self.add_row(westernBlotting_to_dict(sample, False))
#To Group the search results by type
#self.add_rows(oligos_to_dict(self.oligos, False))
#self.add_rows(antibodies_to_dict(self.antibodies, False))
#self.add_rows(chemicals_to_dict(self.chemicals, False))
#self.add_rows(protocols_to_dict(self.protocols, False))
#self.add_rows(medias_to_dict(self.medias, False))
#self.add_rows(pcrs_to_dict(self.pcrs, False))
#self.add_rows(buffers_to_dict(self.buffers, False))
#self.add_rows(plasmids_to_dict(self.plasmids, self.children_map, False))
#self.add_rows(yeasts_to_dict(self.yeasts, self.children_map, False))
#self.add_rows(bacterias_to_dict(self.bacterias, False))
#self.add_rows(enzymes_to_dict(self.enzymes, False))
#self.add_rows(westernBlottings_to_dict(self.westernBlottings, False))
class YeastLabDetailRequestHandler(DetailRequestHandler): class YeastLabDetailRequestHandler(DetailRequestHandler):
"""Handler for the DETAIL request.""" """Handler for the DETAIL request."""
...@@ -772,7 +794,6 @@ class DetailRequestHandlerFactory(IRequestHandlerFactory): ...@@ -772,7 +794,6 @@ class DetailRequestHandlerFactory(IRequestHandlerFactory):
class SearchRequestHandlerFactory(IRequestHandlerFactory): class SearchRequestHandlerFactory(IRequestHandlerFactory):
def createRequestHandler(self, parameters, builder, searchService): def createRequestHandler(self, parameters, builder, searchService):
print "SearchRequestHandlerFactory: createRequestHandler"
return YeastLabSearchRequestHandler(parameters, builder) return YeastLabSearchRequestHandler(parameters, builder)
def aggregate(parameters, builder): def aggregate(parameters, builder):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment