Search.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.core.commons;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.openspcoop2.utils.sql.ISQLQueryObject;
/**
* Oggetto che si occupa di memorizzare i valori di ricerca per le liste
*
*
* @author Andrea Poli (apoli@link.it)
* @author Stefano Corallo (corallo@link.it)
* @author Sandra Giangrandi (sandra@link.it)
* @author $Author$
* @version $Rev$, $Date$
*
*/
public class Search implements Serializable, ISearch {
private static final long serialVersionUID = 1L;
private Map<Integer, Integer> pageSize = null;
private Map<Integer, Integer> indexIniziale = null;
private Map<Integer, String> searchString = null;
private Map<Integer, Integer> numEntries = null;
private Map<Integer, HashMap<String,String>> filter = null;
private static Integer PAGE_SIZE_DEFAULT = org.openspcoop2.core.constants.Costanti.PAGE_SIZE_DEFAULT;
private static Integer INDEX_DEFAULT = org.openspcoop2.core.constants.Costanti.INDEX_DEFAULT;
private static String SEARCH_DEFAULT = org.openspcoop2.core.constants.Costanti.SESSION_ATTRIBUTE_VALUE_RICERCA_UNDEFINED;
private static Integer NUM_ENTRIES_DEFAULT = org.openspcoop2.core.constants.Costanti.NUM_ENTRIES_DEFAULT;
//private String FILTER_DEFAULT = org.openspcoop2.core.constants.Costanti.SESSION_ATTRIBUTE_VALUE_RICERCA_UNDEFINED;
public Search() {
this.reset();
}
public void reset() {
this.pageSize = new HashMap<Integer, Integer>();
this.indexIniziale = new HashMap<Integer, Integer>();
this.searchString = new HashMap<Integer, String>();
this.numEntries = new HashMap<Integer, Integer>();
this.filter = new HashMap<Integer, HashMap<String,String>>();
for (int i = 0; i < Liste.getTotaleListe(); i++) {
this.pageSize.put(i, Search.PAGE_SIZE_DEFAULT);
this.indexIniziale.put(i, Search.INDEX_DEFAULT);
this.searchString.put(i, Search.SEARCH_DEFAULT);
this.numEntries.put(i, Search.NUM_ENTRIES_DEFAULT);
this.filter.put(i, new HashMap<>());
}
}
public Search(boolean showAllResult) {
this(showAllResult, ISQLQueryObject.LIMIT_DEFAULT_VALUE);
}
public Search(boolean showAllResult, int initialLimit) {
this.pageSize = new HashMap<Integer, Integer>();
this.indexIniziale = new HashMap<Integer, Integer>();
this.searchString = new HashMap<Integer, String>();
this.numEntries = new HashMap<Integer, Integer>();
this.filter = new HashMap<Integer, HashMap<String,String>>();
for (int i = 0; i < Liste.getTotaleListe(); i++) {
this.pageSize.put(i, initialLimit);// prendo
// il
// valore
// massimo
// di
// default
this.indexIniziale.put(i, Search.INDEX_DEFAULT);
this.searchString.put(i, Search.SEARCH_DEFAULT);
this.numEntries.put(i, Search.NUM_ENTRIES_DEFAULT);
this.filter.put(i, new HashMap<>());
}
}
@Override
public int getNumEntries(int indexLista) {
return this.numEntries.get(indexLista);
}
@Override
public void setNumEntries(int indexLista, int numEntries) {
this.numEntries.put(indexLista, numEntries);
}
@Override
public int getPageSize(int indexLista) {
return this.pageSize.get(indexLista);
}
@Override
public void setPageSize(int indexLista, int valore) {
this.pageSize.put(indexLista, valore);
}
@Override
public int getIndexIniziale(int indexLista) {
return this.indexIniziale.get(indexLista);
}
@Override
public void setIndexIniziale(int indexLista, int valore) {
this.indexIniziale.put(indexLista, valore);
}
@Override
public String getSearchString(int indexLista) {
return this.searchString.get(indexLista);
}
@Override
public void setSearchString(int indexLista, String valore) {
this.searchString.put(indexLista, valore);
}
@Override
public void clearFilters(int indexLista) {
HashMap<String,String> map = this.filter.get(indexLista);
if(map!=null) {
map.clear();
}
}
@Override
public void clearFilter(int indexLista, String filterName) {
HashMap<String,String> map = this.filter.get(indexLista);
if(map!=null) {
map.remove(filterName);
}
}
@Override
public boolean existsFilter(int indexLista, String filterName) {
HashMap<String,String> map = this.filter.get(indexLista);
if(map==null || map.size()<=0) {
return false;
}
return map.containsKey(filterName);
}
@Override
public String getFilter(int indexLista, String filterName) {
HashMap<String,String> map = this.filter.get(indexLista);
if(map==null || map.size()<=0) {
return null;
}
return map.get(filterName);
}
@Override
public void addFilter(int indexLista, String filterName, String filterValue) {
HashMap<String,String> map = this.filter.get(indexLista);
if(map==null) {
map = new HashMap<>();
this.filter.put(indexLista, map);
}
if(map.containsKey(filterName)) {
map.remove(filterName);
}
map.put(filterName, filterValue);
}
@Deprecated
public Map<Integer, Integer> getPageSize() {
return this.pageSize;
}
@Deprecated
public void setPageSize(Map<Integer, Integer> pageSize) {
this.pageSize = pageSize;
}
@Deprecated
public Map<Integer, Integer> getIndexIniziale() {
return this.indexIniziale;
}
@Deprecated
public void setIndexIniziale(Map<Integer, Integer> indexIniziale) {
this.indexIniziale = indexIniziale;
}
@Deprecated
public Map<Integer, String> getSearchString() {
return this.searchString;
}
@Deprecated
public void setSearchString(Map<Integer, String> searchString) {
this.searchString = searchString;
}
@Deprecated
public Map<Integer, Integer> getNumEntries() {
return this.numEntries;
}
@Deprecated
public void setNumEntries(Map<Integer, Integer> numEntries) {
this.numEntries = numEntries;
}
@Deprecated
public Map<Integer, HashMap<String, String>> getFilter() {
return this.filter;
}
@Deprecated
public void setFilter(Map<Integer, HashMap<String, String>> filter) {
this.filter = filter;
}
}