Revision 8604 branches/v10/applications/appCatalogYNomenclatorClient/src/es/gva/cit/catalogClient/csw/filters/CSWFilter.java

View differences:

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