Revision 8604 branches/v10/applications/appCatalogYNomenclatorClient/src/es/gva/cit/catalogClient/csw/filters/CSWFilter.java
CSWFilter.java | ||
---|---|---|
42 | 42 |
package es.gva.cit.catalogClient.csw.filters; |
43 | 43 |
import org.gvsig.i18n.Messages; |
44 | 44 |
|
45 |
import es.gva.cit.catalogClient.csw.drivers.CSWMessages; |
|
45 | 46 |
import es.gva.cit.catalogClient.filters.AbstractFilter; |
46 | 47 |
import es.gva.cit.catalogClient.filters.AdditionalClauses; |
47 | 48 |
import es.gva.cit.catalogClient.languages.FilterEncoding; |
... | ... | |
88 | 89 |
FilterEncoding filter = new FilterEncoding("ogc:", "*", "?", "\\", |
89 | 90 |
"xmlns:ogc=\"http://www.opengis.net/ogc\""); |
90 | 91 |
|
91 |
addAdditionalClauses(filter); |
|
92 |
|
|
92 |
addAdditionalClauses(filter);
|
|
93 |
|
|
93 | 94 |
if (query.getTitle() != null) { |
94 |
filter.addClauses(equiv.getTitle(), equiv.getTitleValue(query.getTitle(),query.getTitleFilter()), query.getTitleFilter(), |
|
95 |
"PropertyIsLike", "L", "And"); |
|
95 |
if (CSWMessages.getUrl().getHost().equals("laits.gmu.edu")){ |
|
96 |
if (query.getSearchType() == Query.SEARCH_DATA){ |
|
97 |
StringBuffer buffer = new StringBuffer(); |
|
98 |
buffer.append("<ogc:Filter xmlns:ogc=\"http://www.opengis.net/ogc\">"); |
|
99 |
buffer.append("<ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\">"); |
|
100 |
buffer.append("<ogc:PropertyName>/DataGranule/name</ogc:PropertyName>"); |
|
101 |
buffer.append("<ogc:Literal>*" + query.getTitle() + "*</ogc:Literal>"); |
|
102 |
buffer.append("</ogc:PropertyIsLike>"); |
|
103 |
buffer.append("</ogc:Filter>"); |
|
104 |
return buffer.toString(); |
|
105 |
}else{ |
|
106 |
StringBuffer buffer = new StringBuffer(); |
|
107 |
buffer.append("<ogc:Filter xmlns:ogc=\"http://www.opengis.net/ogc\">"); |
|
108 |
buffer.append("<ogc:And>"); |
|
109 |
buffer.append("<ogc:PropertyIsEqualTo>"); |
|
110 |
buffer.append("<ogc:PropertyName>/Service/@id</ogc:PropertyName>"); |
|
111 |
buffer.append("<ogc:PropertyName>/Classification/@classifiedObject</ogc:PropertyName>"); |
|
112 |
buffer.append("</ogc:PropertyIsEqualTo>"); |
|
113 |
buffer.append("<ogc:PropertyIsEqualTo>"); |
|
114 |
buffer.append("<ogc:PropertyName>/Classification/@classificationNode</ogc:PropertyName>"); |
|
115 |
buffer.append("<ogc:PropertyName>/ClassificationNode/@id</ogc:PropertyName>"); |
|
116 |
buffer.append("</ogc:PropertyIsEqualTo>"); |
|
117 |
buffer.append("<ogc:PropertyIsEqualTo>"); |
|
118 |
buffer.append("<ogc:PropertyName>/ClassificationNode/@code</ogc:PropertyName>"); |
|
119 |
buffer.append("<ogc:Literal>" + query.getTitle() + "</ogc:Literal>"); |
|
120 |
buffer.append("</ogc:PropertyIsEqualTo>"); |
|
121 |
buffer.append("</ogc:And>"); |
|
122 |
buffer.append("</ogc:Filter>"); |
|
123 |
return buffer.toString(); |
|
124 |
} |
|
125 |
}else{ |
|
126 |
filter.addClauses(equiv.getTitle(), equiv.getTitleValue(query.getTitle(),query.getTitleFilter()), query.getTitleFilter(), |
|
127 |
"PropertyIsLike", "L", "And"); |
|
128 |
} |
|
96 | 129 |
} |
97 | 130 |
|
98 | 131 |
if (query.isMinimized()){ |
Also available in: Unified diff