1 /* 2 * #%L 3 * Coser :: Web 4 * %% 5 * Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric, Chemit Tony 6 * %% 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU Affero General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU Affero General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 * #L% 20 */ 21 22 package fr.ifremer.coser.web.actions.map; 23 24 import fr.ifremer.coser.result.request.GetSpeciesForMapResultRequest; 25 import fr.ifremer.coser.result.request.GetZonesForMapResultRequest; 26 import fr.ifremer.coser.web.actions.common.AbstractCoserJspAction; 27 import org.apache.commons.logging.Log; 28 import org.apache.commons.logging.LogFactory; 29 30 import java.util.Map; 31 32 /** 33 * Recupere la liste des especes correspondant a une campagne. 34 * 35 * @author chatellier 36 * @version $Revision$ 37 * <p/> 38 * Last update : $Date$ 39 * By : $Author$ 40 */ 41 public class SpeciesAction extends AbstractCoserJspAction { 42 43 /** serialVersionUID. */ 44 private static final long serialVersionUID = 1663244944108703571L; 45 46 private static final Log log = LogFactory.getLog(SpeciesAction.class); 47 48 protected String facade; 49 50 protected String zone; 51 52 protected Map<String, String> species; 53 54 public String getFacade() { 55 return facade; 56 } 57 58 public void setFacade(String facade) { 59 this.facade = facade; 60 } 61 62 public String getZone() { 63 return zone; 64 } 65 66 public void setZone(String zone) { 67 this.zone = zone; 68 } 69 70 public Map<String, String> getSpecies() { 71 return species; 72 } 73 74 public String getFacadeDisplayName() { 75 return getService().getFacadeDisplayName(facade); 76 } 77 78 public String getZoneDisplayName() { 79 GetZonesForMapResultRequest request = 80 requestBuilder(GetZonesForMapResultRequest.class). 81 addFacade(facade). 82 toRequest(); 83 return getService().getZoneDisplayName(request, zone); 84 } 85 86 @Override 87 public String execute() { 88 89 if (log.isInfoEnabled()) { 90 log.info("Looking for species for zone " + zone); 91 } 92 93 GetSpeciesForMapResultRequest request = 94 requestBuilder(GetSpeciesForMapResultRequest.class). 95 addFacade(facade). 96 addZone(zone). 97 toRequest(); 98 species = getService().toMap(request); 99 100 101 if (log.isDebugEnabled()) { 102 log.debug("Species are : " + species); 103 } 104 105 return SUCCESS; 106 } 107 108 // public String getFacadeDisplayName() { 109 // WebService webService = ServiceFactory.getWebService(); 110 // String displayName = null; 111 // try { 112 // displayName = webService.getFacades().get(facade); 113 // } catch (CoserBusinessException ex) { 114 // throw new CoserWebException("Can't get species display name", ex); 115 // } 116 // return displayName; 117 // } 118 // 119 // public String getZoneDisplayName() { 120 // WebService webService = ServiceFactory.getWebService(); 121 // String displayName = null; 122 // try { 123 // displayName = webService.getZoneForFacade(facade, false, true).get(zone); 124 // } catch (CoserBusinessException ex) { 125 // throw new CoserWebException("Can't get zone display name", ex); 126 // } 127 // return displayName; 128 // } 129 // 130 // @Override 131 // public String execute() { 132 // 133 // if (log.isInfoEnabled()) { 134 // log.info("Looking for species for zone " + zone); 135 // } 136 // 137 // WebService webService = ServiceFactory.getWebService(); 138 // 139 // try { 140 // species = webService.getSpecies(zone, true); 141 // 142 // if (log.isDebugEnabled()) { 143 // log.debug("Species are : " + species); 144 // } 145 // } catch (CoserBusinessException ex) { 146 // throw new CoserWebException("Can't get zone species", ex); 147 // } 148 // 149 // return SUCCESS; 150 // } 151 }