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
protected  ArrayList<String> askForAllCommonPresentables(List<String> selectedCollections, SearchHelper sh, org.gcube.application.framework.core.session.ASLSession session)
          created to replace the findPresentableFields_OLD and findAllPresentableFields_OLD above
 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> findPresentableFields(org.gcube.application.framework.core.session.ASLSession session)
          created to replace the findPresentableFields_OLD and findAllPresentableFields_OLD above
protected  org.apache.axis.message.addressing.EndpointReference[] findSearchMasterEPR(org.gcube.application.framework.core.session.ASLSession session)
           
protected  org.apache.axis.message.addressing.EndpointReference[] findSearchMasterEPRFeather(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 getCollectionsGenericQueryPart(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)
           
 boolean getSemanticEnrichment()
           
 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 setRanking(boolean rankSupport)
           
 void setSearchTerm(String searchTerm)
           
 void setSearchType(String searchType)
           
 boolean setSelectedLanguage(String lang, org.gcube.application.framework.core.session.ASLSession session)
           
 void setSemanticEnrichment(boolean semanticEnrichment)
           
 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

setRanking

public void setRanking(boolean rankSupport)

setHasResults

public void setHasResults(boolean existResults)

hasResults

public boolean hasResults()

isFtsAvailable

public boolean isFtsAvailable()

setFtsAvailable

public void setFtsAvailable(boolean ftsAvailable)

setSemanticEnrichment

public void setSemanticEnrichment(boolean semanticEnrichment)

getSemanticEnrichment

public boolean getSemanticEnrichment()

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)
                                        throws InitialBridgingNotCompleteException,
                                               InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)
                            throws InitialBridgingNotCompleteException,
                                   InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)
                                        throws InitialBridgingNotCompleteException,
                                               InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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,
                                 InitialBridgingNotCompleteException,
                                 InternalErrorException
Throws:
URIRetrievalFromISCacheException
URISyntaxException
gRS2CreationException
QuerySyntaxException
NoSearchMasterEPRFoundException
InitialBridgingNotCompleteException
InternalErrorException

genericSearch

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

browse

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

quickSearch

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

testSearchQuery

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

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,
                                     InitialBridgingNotCompleteException,
                                     InternalErrorException
Throws:
QuerySyntaxException
InitialBridgingNotCompleteException
InternalErrorException

createBrowseQuery

protected String[] createBrowseQuery(org.gcube.application.framework.core.session.ASLSession session)
                              throws InitialBridgingNotCompleteException,
                                     InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)
                                       throws InitialBridgingNotCompleteException,
                                              InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)
                                       throws InitialBridgingNotCompleteException,
                                              InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

getQueryDescriptionForAdvanced

protected String getQueryDescriptionForAdvanced(org.gcube.application.framework.core.session.ASLSession session)
                                         throws InitialBridgingNotCompleteException,
                                                InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

getQueryDescriptionForGeospatial

protected String getQueryDescriptionForGeospatial(org.gcube.application.framework.core.session.ASLSession session)
                                           throws InitialBridgingNotCompleteException,
                                                  InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

getQueryDescriptionForPreviousQuery

protected String getQueryDescriptionForPreviousQuery(org.gcube.application.framework.core.session.ASLSession session)
                                              throws InitialBridgingNotCompleteException,
                                                     InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

getCollectionsQueryPart

protected search.library.util.cql.query.tree.GCQLNode getCollectionsQueryPart(org.gcube.application.framework.core.session.ASLSession session)
                                                                       throws InitialBridgingNotCompleteException,
                                                                              InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

getCollectionsGenericQueryPart

protected search.library.util.cql.query.tree.GCQLNode getCollectionsGenericQueryPart(org.gcube.application.framework.core.session.ASLSession session)
                                                                              throws InitialBridgingNotCompleteException,
                                                                                     InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)
                                                                          throws InitialBridgingNotCompleteException,
                                                                                 InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)

findPresentableFields

protected List<String> findPresentableFields(org.gcube.application.framework.core.session.ASLSession session)
                                      throws Exception
created to replace the findPresentableFields_OLD and findAllPresentableFields_OLD above

Parameters:
session -
Returns:
Throws:
Exception

askForAllCommonPresentables

protected ArrayList<String> askForAllCommonPresentables(List<String> selectedCollections,
                                                        SearchHelper sh,
                                                        org.gcube.application.framework.core.session.ASLSession session)
                                                 throws InitialBridgingNotCompleteException,
                                                        InternalErrorException
created to replace the findPresentableFields_OLD and findAllPresentableFields_OLD above

Parameters:
selectedCollections -
sh -
session -
Returns:
Throws:
InitialBridgingNotCompleteException
InternalErrorException

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)
                                         throws InitialBridgingNotCompleteException,
                                                InternalErrorException
Throws:
InitialBridgingNotCompleteException
InternalErrorException

findSearchMasterEPR

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

findSearchMasterEPRFeather

protected org.apache.axis.message.addressing.EndpointReference[] findSearchMasterEPRFeather(org.gcube.application.framework.core.session.ASLSession session)
                                                                                     throws org.apache.axis.types.URI.MalformedURIException
Throws:
org.apache.axis.types.URI.MalformedURIException

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.