Java tutorial
/** * This file is part of Port@l * Port@l 3.0 - Portal Engine and Management System * Copyright (C) 2010 Isotrol, SA. http://www.isotrol.com * * Port@l is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Port@l is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Port@l. If not, see <http://www.gnu.org/licenses/>. */ package com.isotrol.impe3.oi.nr; import org.apache.lucene.search.Query; import org.apache.lucene.search.Sort; import org.apache.lucene.search.SortField; import com.isotrol.impe3.nr.api.NRSortField; import com.isotrol.impe3.nr.api.NodeFilter; import com.isotrol.impe3.nr.api.NodeQuery; import com.isotrol.impe3.nr.api.NodeSort; /** * Lucene query translator. * @author Emilio Escobar Reyero */ public class QueryTranslator { /** * Translate a node sort to lucene sort * @param lsort original sort * @return lucene sort */ public Sort sort(final NodeSort lsort) { if (lsort == null) { return null; } NRSortField[] lfields = lsort.getFields(); SortField[] fields = new SortField[lfields.length]; for (int i = 0; i < lfields.length; i++) { final SortField field = new SortField(lfields[i].getField(), SortField.STRING, lfields[i].isReverse()); fields[i] = field; } return new Sort(fields); } /** * Returns a translated query. * @param query Original query. * @return The translated query. */ public Query query(NodeQuery query) { return null; } public Query query(NodeFilter filter) { return null; } public Query query(NodeQuery query, NodeFilter filter) { return null; } }