[Castore-commits] RechercheAvanceeForm.java 1.10 1.11
Céline BENOIT
cbenoit at adullact1.hosting.cri74.org
Ven 1 Déc 15:54:57 CET 2006
Update of /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/forms/recherches
In directory adullact1:/tmp/cvs-serv6836/src/java/fr/emn/castor/struts/forms/recherches
Modified Files:
RechercheAvanceeForm.java
Log Message:
Ajout de la gestion multifond tout en gardant la possibité de rester en recherche monofond
Index: RechercheAvanceeForm.java
===================================================================
RCS file: /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/forms/recherches/RechercheAvanceeForm.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** RechercheAvanceeForm.java 27 Oct 2006 15:38:29 -0000 1.10
--- RechercheAvanceeForm.java 1 Dec 2006 14:54:54 -0000 1.11
***************
*** 50,53 ****
--- 50,55 ----
import javax.servlet.http.HttpServletRequest;
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
***************
*** 55,58 ****
--- 57,61 ----
import fr.emn.castor.common.Constants;
+ import fr.emn.castor.multifonds.RechercheMultifondsAvancee;
import fr.emn.castor.struts.forms.users.DocumentBean;
import fr.emn.castor.users.Facade;
***************
*** 67,261 ****
public class RechercheAvanceeForm extends ActionForm {
! private Map searchMap;
! private Collection<LabelValueBean> liensAnciennesRequetes;
! private Collection resultat;
! private String requette;
! private boolean showResult = false;
! /**
! * @see org.apache.struts.action.Action#execute(
! * org.apache.struts.action.ActionMapping,
! * org.apache.struts.action.ActionForm,
! * javax.servlet.http.HttpServletRequest,
! * javax.servlet.http.HttpServletResponse)
! */
! public final void restaurationRequete(final HttpServletRequest request) {
! int idRequete = Integer.parseInt(request.getParameter("idRequete"));
! ArrayList searchColl = (ArrayList) request.getSession().getAttribute(
! "requetesAvancees");
! Map requestMap = (Map) searchColl.get(idRequete - 1);
! Set keys = requestMap.keySet();
! for (Iterator iter = keys.iterator(); iter.hasNext();) {
! String key = (String) iter.next();
! if (this.searchMap.containsKey(key)) {
! String value = (String) requestMap.get(key);
! HashMap values = (HashMap) this.searchMap.get(key);
! values.put("value", value);
! }
! }
! }
! /**
! * @see org.apache.struts.action.ActionForm
! * #reset(org.apache.struts.action.ActionMapping,
! * javax.servlet.http.HttpServletRequest)
! */
! public final void reset(final ActionMapping mapping,
! final HttpServletRequest request) {
! this.searchMap = fr.emn.castor.documents.Facade.getInstance()
! .getRechercheAvanceeMap();
! // on va rajouter une cle contenant la requete sur ce champ
! Set keys = this.searchMap.keySet();
! for (Iterator iter = keys.iterator(); iter.hasNext();) {
! String key = (String) iter.next();
! HashMap values = (HashMap) this.searchMap.get(key);
! values.put("value", "");
! }
! if (request.getParameter("idRequete") != null) {
! restaurationRequete(request);
! }
! this.majListeRequete(request);
! }
! public final void majListeRequete(final HttpServletRequest request) {
! String user = (String) request.getSession().getAttribute(
! Constants.SESSION_USERONLINE_LOGIN);
! if (user != null) {
! Map profilMap = Facade.getInstance().getProfilMap(user);
! if (!profilMap.isEmpty()) {
! Iterator lastRequest = ((List) profilMap
! .get(UsersConstants.INFO_PROFIL_LAST_REQUEST))
! .iterator();
! this.liensAnciennesRequetes = new ArrayList<LabelValueBean>();
! Collection sauveSession = new ArrayList();
! int compteur = 1;
! HashMap userRequests = new HashMap();
! while (lastRequest.hasNext()) {
! HashMap requete = (HashMap) lastRequest.next();
! if (requete.get(UsersConstants.TYPE_RECHERCHE).equals(
! UsersConstants.TYPE_RECHERCHE_AVANCEE)) {
! sauveSession.add(requete);
! userRequests.put(new Integer(compteur), requete);
! String aAfficher = "";
! for (Iterator keys = requete.keySet().iterator(); keys
! .hasNext();) {
! String key = (String) keys.next();
! if (!key.equals(UsersConstants.TYPE_RECHERCHE)) {
! aAfficher += (String) requete.get(key) + ", ";
! }
! }
if (aAfficher.contains(",")) {
! aAfficher = aAfficher.substring(0, aAfficher
! .lastIndexOf(','));
}
! this.liensAnciennesRequetes.add(new LabelValueBean(
! aAfficher, String.valueOf(compteur)));
!
! compteur++;
! }
! }
! request.getSession().setAttribute("requetesAvancees",
! sauveSession);
! }
! }
! }
! /**
! * @return
! */
! public Collection getLiensAnciennesRequetes() {
! return this.liensAnciennesRequetes;
! }
! /**
! * @return
! */
! public Map getSearchMap() {
! return this.searchMap;
! }
! public Object getHelp(String key) {
! HashMap value = (HashMap) this.searchMap.get(key);
! return value.get("help");
! }
! /**
! * Gets the values of the specified key
! */
! public Object getSearch(String key) {
! HashMap value = (HashMap) this.searchMap.get(key);
! return value.get("value");
! }
! /**
! * Gets the values of the specified key
! */
! public void setSearch(String key, Object value) {
! HashMap valueQuery = (HashMap) this.searchMap.get(key);
! valueQuery.put("value", value);
! this.searchMap.put(key, valueQuery);
! }
! /**
! * @return
! */
! public Collection getResultat() {
! return this.resultat;
! }
! /**
! * @param collection
! */
! public void setResultat(Collection collection) {
! this.resultat = collection;
! this.showResult = true;
! }
! /**
! * @return
! */
! public String getShowResult() {
! return String.valueOf(this.showResult);
! }
! /**
! * Permet de savoir s'il faut ou non afficher la legende qu iindique qu'un
! * document n'est pas consultable.
! *
! * @return "true" ou "false"
! */
! public String getAfficheLegende() {
! Iterator iterResultat = this.resultat.iterator();
! while (iterResultat.hasNext()) {
! DocumentBean doc = (DocumentBean) iterResultat.next();
! if (!doc.canSeeDocument()) {
! return String.valueOf(true);
! }
! }
! return String.valueOf(false);
! }
! public String getRequette() {
! return requette;
! }
! public void setRequette(String requette) {
! this.requette = requette;
! }
}
\ No newline at end of file
--- 70,297 ----
public class RechercheAvanceeForm extends ActionForm {
! /** le logger. */
! private static Log log = LogFactory.getLog(RechercheSimpleForm.class);
! /** Map contenant la requete de la recherche à effectuer */
! private Map searchMap;
! /** La liste contenant les anciennes requetes de recherche */
! private Collection<LabelValueBean> liensAnciennesRequetes;
! /** La resultat de la recherche */
! private Collection resultat;
! /** Champ de saisie de la recherche */
! private String requete;
! /** Indice pour montrer le resultat s'il y a */
! private boolean showResult = false;
! /** La liste complete des bases Castore disponibles de URL_MultiFonds.properties*/
! private Collection listeRechercheMultifonds = new ArrayList();
! /** La liste choisie par check box des URLs où faire les recherches*/
! private String[] listeRechercheFondsChoisis = null;
! /**
! * @see org.apache.struts.action.Action#execute(
! * org.apache.struts.action.ActionMapping,
! * org.apache.struts.action.ActionForm,
! * javax.servlet.http.HttpServletRequest,
! * javax.servlet.http.HttpServletResponse)
! */
! public final void restaurationRequete(final HttpServletRequest request) {
! int idRequete = Integer.parseInt(request.getParameter("idRequete"));
! ArrayList searchColl = (ArrayList) request
! .getSession().getAttribute("requetesAvancees");
! Map requestMap = (Map) searchColl.get(idRequete - 1);
! Set keys = requestMap.keySet();
! for (Iterator iter = keys.iterator(); iter.hasNext();) {
! String key = (String) iter.next();
! if (this.searchMap.containsKey(key)) {
! String value = (String) requestMap.get(key);
! HashMap values = (HashMap) this.searchMap.get(key);
! values.put("value", value);
! }
! }
! }
! /**
! * @see org.apache.struts.action.ActionForm
! * #reset(org.apache.struts.action.ActionMapping,
! * javax.servlet.http.HttpServletRequest)
! */
! public final void reset(
! final ActionMapping mapping, final HttpServletRequest request) {
! this.searchMap = fr.emn.castor.documents.Facade
! .getInstance().getRechercheAvanceeMap();
! // on va rajouter une cle contenant la requete sur ce champ
! Set keys = this.searchMap.keySet();
! for (Iterator iter = keys.iterator(); iter.hasNext();) {
! String key = (String) iter.next();
! HashMap values = (HashMap) this.searchMap.get(key);
! values.put("value", "");
! }
! if (request.getParameter("idRequete") != null) {
! restaurationRequete(request);
! }
! this.majListeRequete(request);
! // si configurer comme telle alors recupere la liste des URLs pour la recherche multifonds
! if (this.listeRechercheMultifonds.isEmpty()
! && RechercheMultifondsAvancee.isRechercheMultifondsActivee())
! this.listeRechercheMultifonds = RechercheMultifondsAvancee
! .getListeURLMultifonds();
! }
! public final void majListeRequete(final HttpServletRequest request) {
! String user = (String) request.getSession().getAttribute(
! Constants.SESSION_USERONLINE_LOGIN);
! if (user != null) {
!
! Map profilMap = Facade.getInstance().getProfilMap(user);
! if (!profilMap.isEmpty()) {
! Iterator lastRequest = ((List) profilMap
! .get(UsersConstants.INFO_PROFIL_LAST_REQUEST))
! .iterator();
! this.liensAnciennesRequetes = new ArrayList<LabelValueBean>();
! Collection sauveSession = new ArrayList();
! int compteur = 1;
! HashMap userRequests = new HashMap();
! while (lastRequest.hasNext()) {
! HashMap requete = (HashMap) lastRequest.next();
! if (requete.get(UsersConstants.TYPE_RECHERCHE).equals(
! UsersConstants.TYPE_RECHERCHE_AVANCEE)) {
!
! sauveSession.add(requete);
! userRequests.put(new Integer(compteur), requete);
!
! String aAfficher = "";
! for (Iterator keys = requete.keySet().iterator(); keys
! .hasNext();) {
! String key = (String) keys.next();
! if (!key.equals(UsersConstants.TYPE_RECHERCHE)) {
! aAfficher += (String) requete.get(key)
! + ", ";
! }
! }
if (aAfficher.contains(",")) {
! aAfficher = aAfficher.substring(0, aAfficher
! .lastIndexOf(','));
}
! this.liensAnciennesRequetes.add(new LabelValueBean(
! aAfficher, String.valueOf(compteur)));
! compteur++;
! }
! }
! request.getSession().setAttribute(
! "requetesAvancees", sauveSession);
! }
! }
! }
! /**
! * @return
! */
! public Collection getLiensAnciennesRequetes() {
! return this.liensAnciennesRequetes;
! }
! /**
! * @return
! */
! public Map getSearchMap() {
! return this.searchMap;
! }
! public Object getHelp(String key) {
! HashMap value = (HashMap) this.searchMap.get(key);
! return value.get("help");
! }
! /**
! * Gets the values of the specified key
! */
! public Object getSearch(String key) {
! HashMap value = (HashMap) this.searchMap.get(key);
! return value.get("value");
! }
! /**
! * Gets the values of the specified key
! */
! public void setSearch(String key, Object value) {
! HashMap valueQuery = (HashMap) this.searchMap.get(key);
! valueQuery.put("value", value);
! this.searchMap.put(key, valueQuery);
! }
! /**
! * @return
! */
! public Collection getResultat() {
! return this.resultat;
! }
! /**
! * @param collection
! */
! public void setResultat(Collection collection) {
! this.resultat = collection;
! this.showResult = true;
! }
! /**
! * @return
! */
! public String getShowResult() {
! return String.valueOf(this.showResult);
! }
! /**
! * Permet de savoir s'il faut ou non afficher la legende qu iindique qu'un
! * document n'est pas consultable.
! *
! * @return "true" ou "false"
! */
! public String getAfficheLegende() {
! Iterator iterResultat = this.resultat.iterator();
! while (iterResultat.hasNext()) {
! DocumentBean doc = (DocumentBean) iterResultat.next();
! if (!doc.canSeeDocument()) {
! return String.valueOf(true);
! }
! }
! return String.valueOf(false);
! }
! public String getRequete() {
! return requete;
! }
!
! public void setRequete(String requette) {
! this.requete = requette;
! }
!
! public Collection getListeRechercheMultifonds() {
! return this.listeRechercheMultifonds;
! }
!
! public String[] getListeRechercheFondsChoisis() {
! return this.listeRechercheFondsChoisis;
! }
!
! public void setListeRechercheFondsChoisis(
! String[] listeRechercheFondsChoisis) {
! this.listeRechercheFondsChoisis = listeRechercheFondsChoisis;
! }
}
\ No newline at end of file
Plus d'informations sur la liste de diffusion Castore-commits