org.gcube.application.framework.search.library.model
Class Query

java.lang.Object
  extended by org.gcube.application.framework.search.library.model.Query
All Implemented Interfaces:
Cloneable

public class Query
extends Object
implements Cloneable

Author:
Rena - NKUA

Field Summary
protected  List<Field> browsableFields
           
protected  String browseBy
           
protected  List<Criterion> criteria
           
protected  boolean distinct
           
protected  String genericSearchType
           
protected  GeospatialInfo geospatialInfo
           
protected  List<String> languages
           
protected  org.gcube.common.core.utils.logging.GCUBELog logger
          Object logger.
protected  Operator operator
           
protected  Order order
           
protected  List<Criterion> previousCriteria
           
protected  String queryDescription
           
protected  String queryString
           
protected  String relation
           
protected  List<Field> searchableFields
           
protected  ResultSetConsumerI searchRSC
           
protected  String searchType
           
protected  List<String> selectedCollections
           
protected  boolean setRelation
           
protected static AtomicInteger SMid
           
 
Constructor Summary
Query()
           
 
Method Summary
 void addCriterion(Criterion criterion)
          Adds a new criterion to the list of search criteria
 ResultSetConsumerI browse(org.gcube.application.framework.core.session.ASLSession session)
           
 Query clone(boolean previous)
           
protected  String[] createBrowseQuery(org.gcube.application.framework.core.session.ASLSession session)
           
protected  String[] createQuickQuery(org.gcube.application.framework.core.session.ASLSession session, String keyword)
           
protected  String[] createSearchQuery(org.gcube.application.framework.core.session.ASLSession session, boolean simple)
           
protected  List<String> findAllPresentableFields(org.gcube.application.framework.core.session.ASLSession session)
           
protected  List<String> findPresentableFields(org.gcube.application.framework.core.session.ASLSession session)
           
protected  org.apache.axis.message.addressing.EndpointReference[] findSearchMasterEPR(org.gcube.application.framework.core.session.ASLSession session)
           
 ResultSetConsumerI genericSearch(org.gcube.application.framework.core.session.ASLSession session, List<String> terms)
           
 ResultSetConsumerI genericSearch(org.gcube.application.framework.core.session.ASLSession session, String query)
          Submits the generic query to SearchMaster
 List<Field> getAvailableBrowseFields()
           
 List<String> getAvailableLanguages()
           
 List<Field> getAvailableSearchFields()
           
 List<Field> getAvailableSortFields()
           
 String getBrowseByField()
           
protected  search.library.util.cql.query.tree.GCQLNode getBrowseCriteriaPart(org.gcube.application.framework.core.session.ASLSession session)
           
protected  search.library.util.cql.query.tree.GCQLNode getCollectionsQueryPart(org.gcube.application.framework.core.session.ASLSession session)
           
 List<Criterion> getCriteria()
           
protected  search.library.util.cql.query.tree.GCQLNode getCriteriaPart(org.gcube.application.framework.core.session.ASLSession session, boolean simple)
           
protected  search.library.util.cql.query.tree.GCQLNode getGenericCriterialPart(org.gcube.application.framework.core.session.ASLSession session, List<String> terms)
           
 String getGenericSearchType()
           
protected  search.library.util.cql.query.tree.GCQLNode getGeoCollectionsQueryPart(org.gcube.application.framework.core.session.ASLSession session)
           
protected  search.library.util.cql.query.tree.GCQLNode getGeoQueryPart(org.gcube.application.framework.core.session.ASLSession session, String collectionId)
           
 GeospatialInfo getGeosatial()
           
protected  search.library.util.cql.query.tree.GCQLNode getLanguageQueryPart(org.gcube.application.framework.core.session.ASLSession session)
           
 Operator getOperator()
           
 Order getOrder()
           
protected  search.library.util.cql.query.tree.GCQLNode getPresentationPart(org.gcube.application.framework.core.session.ASLSession session)
           
protected  search.library.util.cql.query.tree.GCQLNode getPresentationPartDistinct(org.gcube.application.framework.core.session.ASLSession session)
           
 String getQueryDescription()
           
protected  String getQueryDescriptionForAdvanced(org.gcube.application.framework.core.session.ASLSession session)
           
protected  String getQueryDescriptionForBrowse(org.gcube.application.framework.core.session.ASLSession session)
           
protected  String getQueryDescriptionForGeospatial(org.gcube.application.framework.core.session.ASLSession session)
           
protected  String getQueryDescriptionForPreviousQuery(org.gcube.application.framework.core.session.ASLSession session)
           
protected  String getQueryDescriptionForQuick(org.gcube.application.framework.core.session.ASLSession session, String keyword)
           
protected  String getQueryDescriptionForSimple(org.gcube.application.framework.core.session.ASLSession session)
           
 String getQueryString()
           
protected  search.library.util.cql.query.tree.GCQLNode getQuickCriterionPart(org.gcube.application.framework.core.session.ASLSession session, String keyword)
           
 ArrayList<String> getSearchQueryTerms()
           
 ResultSetConsumerI getSearchResults(org.gcube.application.framework.core.session.ASLSession session)
           
 String getSearchTerm()
           
 String getSearchType()
           
 List<String> getSelectedCollectionNames(org.gcube.application.framework.core.session.ASLSession session)
           
 List<String> getSelectedCollections()
           
 List<String> getSelectedCollectionsNames(org.gcube.application.framework.core.session.ASLSession session)
           
 String getSelectedLanguage()
           
 List<String> getSelectedRealCollections(org.gcube.application.framework.core.session.ASLSession session)
           
 String getSortBy()
           
protected  search.library.util.cql.query.tree.GCQLNode getSortByPart(org.gcube.application.framework.core.session.ASLSession session)
           
 boolean hasResults()
           
 boolean isFtsAvailable()
           
 boolean isGeoAvailable()
           
 ResultSetConsumerI quickSearch(org.gcube.application.framework.core.session.ASLSession session, String keyword)
           
 void removeCriterion(int i)
          Removes the i-th search criterion
 void reset()
           
 ResultSetConsumerI search(org.gcube.application.framework.core.session.ASLSession session, boolean simple)
           
 void selectCollections(List<String> newCollections, boolean selected, org.gcube.application.framework.core.session.ASLSession session)
           
 void setBrowseBy(String browseByField)
           
 void setDistinct(boolean distinct)
           
 void setFtsAvailable(boolean ftsAvailable)
           
 void setGenericSearchType(String genType)
           
 void setGeoAvailable(boolean geoAvailable)
           
 void setGeospatial(GeospatialInfo geospatial)
           
 void setHasResults(boolean existResults)
           
 void setLanguage(int language)
          Sets the selected language
 void setOperator(Operator operator)
           
 void setOrder(Order order)
           
 void setPresentationFields(ArrayList<String> presentationFields)
           
 void setSearchTerm(String searchTerm)
           
 void setSearchType(String searchType)
           
 boolean setSelectedLanguage(String lang, org.gcube.application.framework.core.session.ASLSession session)
           
 void setSetRelation(boolean set)
           
 void setSortBy(String sortBy)
           
protected  String submitSearch(String query, String searchMasterURI, org.gcube.application.framework.core.session.ASLSession session)
           
 String[] testSearchQuery(org.gcube.application.framework.core.session.ASLSession session, boolean simple, boolean browse, String quick)
           
 void updateCriterionId(int i, String id)
           
 void updateCriterionName(int i, String name)
           
 void updateCriterionValue(int i, String value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

browsableFields

protected List<Field> browsableFields

criteria

protected List<Criterion> criteria

previousCriteria

protected List<Criterion> previousCriteria

distinct

protected boolean distinct

geospatialInfo

protected GeospatialInfo geospatialInfo

operator

protected Operator operator

order

protected Order order

queryDescription

protected String queryDescription

languages

protected List<String> languages

searchableFields

protected List<Field> searchableFields

searchType

protected String searchType

selectedCollections

protected List<String> selectedCollections

searchRSC

protected ResultSetConsumerI searchRSC

queryString

protected String queryString

genericSearchType

protected String genericSearchType

logger

protected final org.gcube.common.core.utils.logging.GCUBELog logger
Object logger.


setRelation

protected boolean setRelation

relation

protected String relation

browseBy

protected String browseBy

SMid

protected static AtomicInteger SMid
Constructor Detail

Query

public Query()
Method Detail

setHasResults

public void setHasResults(boolean existResults)

hasResults

public boolean hasResults()

isFtsAvailable

public boolean isFtsAvailable()

setFtsAvailable

public void setFtsAvailable(boolean ftsAvailable)

isGeoAvailable

public boolean isGeoAvailable()

setGeoAvailable

public void setGeoAvailable(boolean geoAvailable)

getSearchTerm

public String getSearchTerm()

setSearchTerm

public void setSearchTerm(String searchTerm)

addCriterion

public void addCriterion(Criterion criterion)
Adds a new criterion to the list of search criteria

Parameters:
criterion - the criterion to be added

removeCriterion

public void removeCriterion(int i)
Removes the i-th search criterion

Parameters:
i - the position in the list where the desired search criterion rests

clone

public Query clone(boolean previous)
Parameters:
previous - whether it should be cloned for previous or not
Returns:
cloned query object

setLanguage

public void setLanguage(int language)
Sets the selected language

Parameters:
language -

setPresentationFields

public void setPresentationFields(ArrayList<String> presentationFields)

getSelectedRealCollections

public List<String> getSelectedRealCollections(org.gcube.application.framework.core.session.ASLSession session)

getAvailableBrowseFields

public List<Field> getAvailableBrowseFields()

getAvailableSearchFields

public List<Field> getAvailableSearchFields()

getAvailableSortFields

public List<Field> getAvailableSortFields()

getAvailableLanguages

public List<String> getAvailableLanguages()

getCriteria

public List<Criterion> getCriteria()

getGeosatial

public GeospatialInfo getGeosatial()

getOperator

public Operator getOperator()

getQueryDescription

public String getQueryDescription()

getQueryString

public String getQueryString()

getSelectedCollections

public List<String> getSelectedCollections()

getSelectedLanguage

public String getSelectedLanguage()

reset

public void reset()

selectCollections

public void selectCollections(List<String> newCollections,
                              boolean selected,
                              org.gcube.application.framework.core.session.ASLSession session)

setDistinct

public void setDistinct(boolean distinct)

setGeospatial

public void setGeospatial(GeospatialInfo geospatial)

setOperator

public void setOperator(Operator operator)

setSelectedLanguage

public boolean setSelectedLanguage(String lang,
                                   org.gcube.application.framework.core.session.ASLSession session)

updateCriterionId

public void updateCriterionId(int i,
                              String id)

updateCriterionName

public void updateCriterionName(int i,
                                String name)

updateCriterionValue

public void updateCriterionValue(int i,
                                 String value)

getSearchType

public String getSearchType()

setSearchType

public void setSearchType(String searchType)

getGenericSearchType

public String getGenericSearchType()

getSelectedCollectionNames

public List<String> getSelectedCollectionNames(org.gcube.application.framework.core.session.ASLSession session)

setGenericSearchType

public void setGenericSearchType(String genType)

setSetRelation

public void setSetRelation(boolean set)

setBrowseBy

public void setBrowseBy(String browseByField)

getBrowseByField

public String getBrowseByField()

search

public ResultSetConsumerI search(org.gcube.application.framework.core.session.ASLSession session,
                                 boolean simple)
                          throws URIRetrievalFromISCacheException,
                                 URISyntaxException,
                                 gRS2CreationException,
                                 QuerySyntaxException,
                                 NoSearchMasterEPRFoundException
Throws:
URIRetrievalFromISCacheException
URISyntaxException
gRS2CreationException
QuerySyntaxException
NoSearchMasterEPRFoundException

genericSearch

public ResultSetConsumerI genericSearch(org.gcube.application.framework.core.session.ASLSession session,
                                        List<String> terms)
                                 throws URIRetrievalFromISCacheException,
                                        URISyntaxException,
                                        gRS2CreationException,
                                        QuerySyntaxException,
                                        NoSearchMasterEPRFoundException
Throws:
URIRetrievalFromISCacheException
URISyntaxException
gRS2CreationException
QuerySyntaxException
NoSearchMasterEPRFoundException

browse

public ResultSetConsumerI browse(org.gcube.application.framework.core.session.ASLSession session)
                          throws URISyntaxException,
                                 gRS2CreationException,
                                 URIRetrievalFromISCacheException
Throws:
URISyntaxException
gRS2CreationException
URIRetrievalFromISCacheException

quickSearch

public ResultSetConsumerI quickSearch(org.gcube.application.framework.core.session.ASLSession session,
                                      String keyword)
                               throws URIRetrievalFromISCacheException,
                                      URISyntaxException,
                                      gRS2CreationException
Throws:
URIRetrievalFromISCacheException
URISyntaxException
gRS2CreationException

testSearchQuery

public String[] testSearchQuery(org.gcube.application.framework.core.session.ASLSession session,
                                boolean simple,
                                boolean browse,
                                String quick)

genericSearch

public ResultSetConsumerI genericSearch(org.gcube.application.framework.core.session.ASLSession session,
                                        String query)
                                 throws URIRetrievalFromISCacheException,
                                        URISyntaxException,
                                        gRS2CreationException,
                                        NoSearchMasterEPRFoundException
Submits the generic query to SearchMaster

Parameters:
session - the D4Science session to be used
query - the query described in gCQL query language
Returns:
a consumer to retrieve the results as pages
Throws:
URIRetrievalFromISCacheException
gRS2CreationException
URISyntaxException
NoSearchMasterEPRFoundException

createSearchQuery

protected String[] createSearchQuery(org.gcube.application.framework.core.session.ASLSession session,
                                     boolean simple)
                              throws QuerySyntaxException
Throws:
QuerySyntaxException

createBrowseQuery

protected String[] createBrowseQuery(org.gcube.application.framework.core.session.ASLSession session)

createQuickQuery

protected String[] createQuickQuery(org.gcube.application.framework.core.session.ASLSession session,
                                    String keyword)

getQueryDescriptionForSimple

protected String getQueryDescriptionForSimple(org.gcube.application.framework.core.session.ASLSession session)

getQueryDescriptionForQuick

protected String getQueryDescriptionForQuick(org.gcube.application.framework.core.session.ASLSession session,
                                             String keyword)

getQueryDescriptionForBrowse

protected String getQueryDescriptionForBrowse(org.gcube.application.framework.core.session.ASLSession session)

getQueryDescriptionForAdvanced

protected String getQueryDescriptionForAdvanced(org.gcube.application.framework.core.session.ASLSession session)

getQueryDescriptionForGeospatial

protected String getQueryDescriptionForGeospatial(org.gcube.application.framework.core.session.ASLSession session)

getQueryDescriptionForPreviousQuery

protected String getQueryDescriptionForPreviousQuery(org.gcube.application.framework.core.session.ASLSession session)

getCollectionsQueryPart

protected search.library.util.cql.query.tree.GCQLNode getCollectionsQueryPart(org.gcube.application.framework.core.session.ASLSession session)

getGeoQueryPart

protected search.library.util.cql.query.tree.GCQLNode getGeoQueryPart(org.gcube.application.framework.core.session.ASLSession session,
                                                                      String collectionId)

getGeoCollectionsQueryPart

protected search.library.util.cql.query.tree.GCQLNode getGeoCollectionsQueryPart(org.gcube.application.framework.core.session.ASLSession session)

getGenericCriterialPart

protected search.library.util.cql.query.tree.GCQLNode getGenericCriterialPart(org.gcube.application.framework.core.session.ASLSession session,
                                                                              List<String> terms)
                                                                       throws QuerySyntaxException
Throws:
QuerySyntaxException

getCriteriaPart

protected search.library.util.cql.query.tree.GCQLNode getCriteriaPart(org.gcube.application.framework.core.session.ASLSession session,
                                                                      boolean simple)

getQuickCriterionPart

protected search.library.util.cql.query.tree.GCQLNode getQuickCriterionPart(org.gcube.application.framework.core.session.ASLSession session,
                                                                            String keyword)

getBrowseCriteriaPart

protected search.library.util.cql.query.tree.GCQLNode getBrowseCriteriaPart(org.gcube.application.framework.core.session.ASLSession session)

getLanguageQueryPart

protected search.library.util.cql.query.tree.GCQLNode getLanguageQueryPart(org.gcube.application.framework.core.session.ASLSession session)

findAllPresentableFields

protected List<String> findAllPresentableFields(org.gcube.application.framework.core.session.ASLSession session)

findPresentableFields

protected List<String> findPresentableFields(org.gcube.application.framework.core.session.ASLSession session)
                                      throws Exception
Throws:
Exception

getSortByPart

protected search.library.util.cql.query.tree.GCQLNode getSortByPart(org.gcube.application.framework.core.session.ASLSession session)

getPresentationPart

protected search.library.util.cql.query.tree.GCQLNode getPresentationPart(org.gcube.application.framework.core.session.ASLSession session)

getPresentationPartDistinct

protected search.library.util.cql.query.tree.GCQLNode getPresentationPartDistinct(org.gcube.application.framework.core.session.ASLSession session)

getSortBy

public String getSortBy()

setSortBy

public void setSortBy(String sortBy)

getOrder

public Order getOrder()

setOrder

public void setOrder(Order order)

getSearchResults

public ResultSetConsumerI getSearchResults(org.gcube.application.framework.core.session.ASLSession session)
Parameters:
session - the D4Science session to be used
Returns:
a consumer to retrieve the search results as pages

getSelectedCollectionsNames

public List<String> getSelectedCollectionsNames(org.gcube.application.framework.core.session.ASLSession session)

findSearchMasterEPR

protected org.apache.axis.message.addressing.EndpointReference[] findSearchMasterEPR(org.gcube.application.framework.core.session.ASLSession session)
                                                                              throws URIRetrievalFromISCacheException
Throws:
URIRetrievalFromISCacheException

submitSearch

protected String submitSearch(String query,
                              String searchMasterURI,
                              org.gcube.application.framework.core.session.ASLSession session)
                       throws org.apache.axis.types.URI.MalformedURIException,
                              SearchSystemPortRetrievalException,
                              QuerySubmissionSearchException
Throws:
org.apache.axis.types.URI.MalformedURIException
SearchSystemPortRetrievalException
QuerySubmissionSearchException

getSearchQueryTerms

public ArrayList<String> getSearchQueryTerms()


Copyright © 2013. All Rights Reserved.