r532 - in trunk: coser-business/src/main/java/fr/ifremer/coser/services coser-ui/src/main/java/fr/ifremer/coser/ui coser-ui/src/main/java/fr/ifremer/coser/ui/result coser-ui/src/main/resources/i18n
Author: chatellier Date: 2011-01-20 08:52:30 +0000 (Thu, 20 Jan 2011) New Revision: 532 Log: Ajout de l'affichage des zones dans l'interface d'admin des r?\195?\169sultats. Added: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultZoneRenderer.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/ResultHandler.java trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultTreeModel.java trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-19 18:23:34 UTC (rev 531) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/WebService.java 2011-01-20 08:52:30 UTC (rev 532) @@ -200,6 +200,28 @@ } /** + * Retourne les nom d'une zone (avec la facade, l'année et la serie) en + * fonction de l'id de la zone. + * + * @param zoneId zone id + * @return zone name (or {@code null} if not found) + * @throws CoserBusinessException + */ + public String getZoneFullName(String zoneId) throws CoserBusinessException { + DataStorage localZoneMap = getZonesMap(); + String resultName = null; + // "id";"facade";"zone";"periode";"serie";"comment";"map" + int zoneIndex = localZoneMap.indexOf(zoneId); + if (zoneIndex != -1) { + resultName = localZoneMap.get(zoneIndex)[1]; + resultName += " - " + localZoneMap.get(zoneIndex)[2]; + resultName += " - " + localZoneMap.get(zoneIndex)[3]; + resultName += " - " + localZoneMap.get(zoneIndex)[4]; + } + return resultName; + } + + /** * Retourne tous les projets qui ont des résultats. * * De la forme d'une liste de de path (à la tree path) : @@ -867,6 +889,7 @@ */ public Map<String, String> getFacades() throws CoserBusinessException { Map<String, String> facades = new HashMap<String, String>(); + // "id";"facade";"zone";"periode";"serie";"comment";"map" DataStorage zonesMap = getZonesMap(); Iterator<String[]> itZone = zonesMap.iterator(true); while (itZone.hasNext()) { Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2011-01-19 18:23:34 UTC (rev 531) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/CoserFrameHandler.java 2011-01-20 08:52:30 UTC (rev 532) @@ -503,6 +503,11 @@ ResultHandler handler = new ResultHandler(); selectUploadResultView.setHandler(handler); handler.init(selectUploadResultView); + + // restore session size + SwingSession session = (SwingSession)view.getContextValue(SwingSession.class); + session.add(selectUploadResultView); + setMainComponent(selectUploadResultView); } } Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/ResultHandler.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/ResultHandler.java 2011-01-19 18:23:34 UTC (rev 531) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/ResultHandler.java 2011-01-20 08:52:30 UTC (rev 532) @@ -69,6 +69,8 @@ //SwingUtil.fixTableColumnWidth(view.getAvailableProjectTable(), 1, 25); view.getAvailableResultTable().setDefaultRenderer(String[].class, new RsufiResultRenderer()); view.getSelectedResultTable().setDefaultRenderer(String[].class, new RsufiResultRenderer()); + view.getAvailableResultTable().setDefaultRenderer(String.class, new RsufiResultZoneRenderer(view)); + view.getSelectedResultTable().setDefaultRenderer(String.class, new RsufiResultZoneRenderer(view)); // initialise les données avec les filtres par default updateAvailableResultsFilter(view); Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultTreeModel.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultTreeModel.java 2011-01-19 18:23:34 UTC (rev 531) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultTreeModel.java 2011-01-20 08:52:30 UTC (rev 532) @@ -107,9 +107,12 @@ result = _("coser.ui.uploadresult.path"); break; case 2: + result = _("coser.ui.uploadresult.zone"); + break; + case 3: result = _("coser.ui.uploadresult.mapResult"); break; - case 3: + case 4: result = _("coser.ui.uploadresult.publishData"); break; } @@ -127,11 +130,14 @@ result = String[].class; break; case 2: - result = Boolean.class; + result = String.class; break; case 3: result = Boolean.class; break; + case 4: + result = Boolean.class; + break; } return result; } @@ -141,9 +147,9 @@ */ @Override public int getColumnCount() { - int result = 2; + int result = 3; if (selected) { - result = 4; + result = 5; } return result; } @@ -158,19 +164,25 @@ Object[] data = resultPath.get(rowIndex); switch (columnIndex) { - case 0: + case 0: { RSufiResult rsufiResult = (RSufiResult)data[2]; result = rsufiResult.getCreationDate(); break; + } case 1: result = data; break; - case 2: + case 2: { + RSufiResult rsufiResult = (RSufiResult)data[2]; + result = rsufiResult.getZone(); + break; + } + case 3: // c'est pas tres safe tu les hashcode des tableaux // mais bon... result = mapResult.contains(data); break; - case 3: + case 4: // c'est pas tres safe tu les hashcode des tableaux // mais bon... result = publishDataResult.contains(data); @@ -182,7 +194,7 @@ @Override public boolean isCellEditable(int rowIndex, int columnIndex) { - return columnIndex >= 1; + return columnIndex >= 3; } @Override @@ -190,7 +202,7 @@ Object[] data = resultPath.get(rowIndex); - if (columnIndex == 2) { + if (columnIndex == 3) { Boolean bValue = (Boolean)aValue; if (bValue.booleanValue()) { mapResult.add(data); @@ -200,7 +212,7 @@ } } - else if (columnIndex == 3) { + else if (columnIndex == 4) { Boolean bValue = (Boolean)aValue; if (bValue.booleanValue()) { publishDataResult.add(data); Added: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultZoneRenderer.java =================================================================== --- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultZoneRenderer.java (rev 0) +++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultZoneRenderer.java 2011-01-20 08:52:30 UTC (rev 532) @@ -0,0 +1,74 @@ +/* + * #%L + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2010 - 2011 Ifremer, Codelutin, Chatellier Eric + * %% + * This program 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. + * + * 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/gpl-3.0.html>. + * #L% + */ + +package fr.ifremer.coser.ui.result; + +import java.awt.Component; + +import javax.swing.JTable; +import javax.swing.table.DefaultTableCellRenderer; + +import fr.ifremer.coser.CoserBusinessException; +import fr.ifremer.coser.CoserException; +import fr.ifremer.coser.services.WebService; + +/** + * Available and selected result zone renderer. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class RsufiResultZoneRenderer extends DefaultTableCellRenderer { + + /** serialVersionUID. */ + private static final long serialVersionUID = -9030155088814184637L; + + protected SelectUploadResultView view; + + public RsufiResultZoneRenderer(SelectUploadResultView view) { + this.view = view; + } + + @Override + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + + // get web service + WebService webService = view.getContextValue(WebService.class); + + Object localValue = value; + if (value != null && value instanceof String) { + String zoneId = (String)value; + try { + localValue = webService.getZoneFullName(zoneId); + } catch (CoserBusinessException ex) { + throw new CoserException("Can't get zone name", ex); + } + } + return super.getTableCellRendererComponent(table, localValue, isSelected, hasFocus, + row, column); + } +} Property changes on: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/result/RsufiResultZoneRenderer.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2011-01-19 18:23:34 UTC (rev 531) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2011-01-20 08:52:30 UTC (rev 532) @@ -243,6 +243,7 @@ coser.ui.uploadresult.uploadChoice=Upload to server coser.ui.uploadresult.uploadLogin=Admin login \: coser.ui.uploadresult.uploadPassword=Admin password \: +coser.ui.uploadresult.zone=Zone coser.ui.validators.content=Content \: coser.ui.validators.description=Application must be restarted after validators modification. coser.ui.validators.title=Controls Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties =================================================================== --- trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2011-01-19 18:23:34 UTC (rev 531) +++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2011-01-20 08:52:30 UTC (rev 532) @@ -243,6 +243,7 @@ coser.ui.uploadresult.uploadChoice=Envoyer sur le serveur coser.ui.uploadresult.uploadLogin=Login admin \: coser.ui.uploadresult.uploadPassword=Mot de passe admin \: +coser.ui.uploadresult.zone=Zone coser.ui.validators.content=Contenu \: coser.ui.validators.description=L'application doit \u00EAtre red\u00E9marr\u00E9e apr\u00E8s la modification des validateurs. coser.ui.validators.title=Contr\u00F4les
participants (1)
-
chatellier@users.labs.libre-entreprise.org