Ignore:
Timestamp:
07/25/11 21:20:23 (13 years ago)
Author:
vmipsl
Message:

Commit intermédiaire : plot dynamique (version instable et pas clean)

Location:
ether_megapoli/trunk/web/src
Files:
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ether_megapoli/trunk/web/src/ApplicationResources.properties

    r89 r129  
    8484#data.upload.coordinator=En tant que coordinateur du projet, vous pouvez : 
    8585#data.upload.member=Vous \u00EAtes membre du projet. 
    86 data.upload.howto=Pour d\u00E9poser de nouvelles donn\u00E9es sur le serveur, veuillez suivre la d\u00E9marche suivante \: <ul><li>Mettez \u00E0 jour le fichier de m\u00E9tadonn\u00E9es associ\u00E9 au jeu de donn\u00E9es (cliquez sur le lien correspondant dans l'arborescence pour acc\u00E9der au formulaire),</li><li>T\u00E9l\u00E9chargez vos fichiers de donn\u00E9es, dans le dossier correspondant au jeu de donn\u00E9es ad\u00E9quat,</li><li>Envoyez un com.medias.mail au <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler ce nouveau d\u00E9p\u00F4t \: il lancera alors la proc\u00E9dure d'int\u00E9gration des donn\u00E9es.</li></ul> 
     86data.upload.howto=Pour d\u00E9poser de nouvelles donn\u00E9es sur le serveur, veuillez suivre la d\u00E9marche suivante \: <ul><li>Mettez \u00E0 jour le fichier de m\u00E9tadonn\u00E9es associ\u00E9 au jeu de donn\u00E9es (cliquez sur le lien correspondant dans l'arborescence pour acc\u00E9der au formulaire),</li><li>T\u00E9l\u00E9chargez vos fichiers de donn\u00E9es, dans le dossier correspondant au jeu de donn\u00E9es ad\u00E9quat,</li><li>Envoyez un com.medias.mail au <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler ce nouveau d\u00E9p\u00F4t \: il lancera alors la proc\u00E9dure d'int\u00E9gration des donn\u00E9es.</li></ul> 
    8787data.upload.deleteSet=Supprimer ce jeu de donn\u00E9es. 
    8888data.upload.deleteFile=Supprimer ce fichier. 
     
    107107 
    108108data.upload.metadata=M\u00E9tadonn\u00E9es 
     109data.upload.metadata.inc=\u00E0 compl\u00E9ter 
     110data.upload.metadata.comp=complet 
    109111data.upload.metadata.link=Mettre \u00E0 jour les m\u00E9tadonn\u00E9es 
    110112data.upload.metadata.title=M\u00E9tadonn\u00E9es pour le jeu 
    111 data.upload.metadata.intro=Veuillez s'il vous pla\u00EEt compl\u00E9ter ce formulaire le plus pr\u00E9cis\u00E9ment possible. Il permettra aux int\u00E9grateurs de recueillir les informations dont ils ont besoin pour enregistrer les donn\u00E9es dans la base.  
     113data.upload.metadata.intro=Veuillez s'il vous pla\u00EEt compl\u00E9ter ce formulaire le plus pr\u00E9cis\u00E9ment possible. Il permettra aux int\u00E9grateurs de recueillir les informations dont ils ont besoin pour enregistrer les donn\u00E9es dans la base. 
    112114data.upload.metadata.presentation=PRESENTATION GENERALE 
    113 data.upload.metadata.presentation.link=Prï¿œsentation gï¿œnï¿œrale 
     115data.upload.metadata.presentation.link=Pr\u00E9sentation g\u00E9n\u00E9rale 
    114116data.upload.metadata.presentation.nom=Nom du jeu 
    115117data.upload.metadata.presentation.def=Description 
     
    139141data.upload.metadata.integration.size=Taille totale des fichiers d\u00E9j\u00E0 trait\u00E9s 
    140142data.upload.metadata.contenu_actuel=CONTENU ACTUEL 
    141 data.upload.metadata.contact=Contact  
     143data.upload.metadata.contact=Contact 
    142144data.upload.metadata.contact.nom=Nom 
    143145data.upload.metadata.contact.prenom=Pr\u00E9nom 
     
    148150data.upload.metadata.parametres=Param\u00E8tres 
    149151data.upload.metadata.param=Param\u00E8tre 
    150 data.upload.metadata.param.nom=D\u00E9signation 
     152data.upload.metadata.param.cat=Cat\u00E9gorie 
     153data.upload.metadata.param.nom=Nom 
    151154data.upload.metadata.param.abrev=Abr\u00E9viation 
    152155data.upload.metadata.param.unite=Unit\u00E9 de mesure 
     
    165168data.upload.metadata.plat.img=Illustrations 
    166169data.upload.metadata.plat.img.show=Afficher l'illustration 
    167 data.upload.metadata.plat.latlon.format=<i>(En degr\u00E9s d\u00E9cimaux)</i> 
     170data.upload.metadata.plat.lat.format=<i>(En degr\u00E9s d\u00E9cimaux [-90,90])</i> 
     171data.upload.metadata.plat.lon.format=<i>(En degr\u00E9s d\u00E9cimaux [-180,180])</i> 
    168172data.upload.metadata.plat.latmin=Latitude minimale 
    169173data.upload.metadata.plat.lonmin=Longitude minimale 
     
    172176data.upload.metadata.plat.lonmax=Longitude maximale 
    173177data.upload.metadata.plat.altmax=Altitude maximale 
     178data.upload.metadata.nomoth=ou autre 
    174179data.upload.plat.optional=<i>(Obligatoire pour les plates-formes fixes)</i> 
    175180data.upload.metadata.time.date=Date 
     
    193198data.access.jeux=Les jeux de donn\u00E9es 
    194199data.access.jeux2=Jeux associ\u00E9s 
     200data.access.jeux3=jeu 
     201data.access.jeux4=jeux 
    195202data.access.param=Les param\u00E8tres 
    196203data.access.param1=Param\u00E8tre 
    197 data.access.param2=param\u00E8tres 
     204data.access.param2=param\u00E8tre{0} 
    198205data.access.param3=Param\u00E8tres associ\u00E9s 
    199206data.access.param4=D\u00E9tail du param\u00E8tre 
    200207data.access.capt=Les capteurs 
    201208data.access.capt1=Capteur 
    202 data.access.capt2=capteurs 
     209data.access.capt2=capteur{0} 
    203210data.access.capt3=Capteurs associ\u00E9s 
    204211data.access.capt4=D\u00E9tail du capteur 
    205212data.access.plat=Les plates-formes 
    206213data.access.plat1=Plate-forme 
    207 data.access.plat2=plates-formes 
     214data.access.plat2=plate{0}-forme{0} 
    208215data.access.plat3=Plates-formes associ\u00E9es 
    209216data.access.plat4=D\u00E9tail de la plate-forme 
     
    239246data.access.metadata.presentation.contact.role.scientifique=Responsable scientifique 
    240247data.access.metadata.presentation.contact.role.technique=Responsable technique 
    241 data.access.metadata.file=<i>{0} fichiers valid\u00E9s</i> 
    242 data.access.metadata.file.one=<i>{0} fichier valid\u00E9</i> 
    243 data.access.metadata.file.sameDate=<i>le {0}</i> 
    244 data.access.metadata.file.differentDate=<i>entre le {0} et le {1}</i> 
     248data.access.metadata.file=fichier{0} trait\u00E9{0} 
     249data.access.metadata.file.sameDate=le {0} 
     250data.access.metadata.file.differentDate=entre le {0} et le {1} 
    245251data.access.metadata.title=M\u00E9tadonn\u00E9es pour le jeu 
    246252data.access.metadata.intro= 
     
    248254data.access.metadata.datefin=Date de la derni\u00E8re mesure 
    249255data.access.metadata.heure=\u00E0 
    250 data.access.metadata.nbfichiers=com.medias.Nombre de fichiers 
     256data.access.metadata.nbfichiers=com.medias.Nombre de fichiers trait?s 
     257data.access.metadata.fichierslink=acc\u00E8s aux donn\u00E9es brutes 
    251258data.access.metadata.nbmesures=com.medias.Nombre de mesures 
    252259data.access.metadata.plat.type=Type de plate-forme 
    253260data.access.metadata.param.cat=Cat\u00E9gorie GCMD 
    254 data.access.files.zero=Aucun fichier valid\u00E9 pour ce jeu 
     261data.access.files.zero=Aucun fichier trait\u00E9 pour ce jeu 
    255262app.access.back=Retour \u00E0 la liste des jeux 
    256263app.access.plat.back=Liste des plates-formes 
     
    267274data.access.metadata.unavailable=M\u00E9tadonn\u00E9es non disponibles 
    268275data.access.files.dowload.com.medias.zip=T\u00E9l\u00E9charger tous les fichiers du jeu {0} 
     276data.access.files=Fichiers trait\u00E9s 
     277data.access.files2=Fichiers trait\u00E9s pour le jeu {0} 
     278data.access.files3=fichier{0} trait\u00E9{0} 
    269279 
    270280data.download=T\u00E9l\u00E9chargement 
     
    297307com.medias.mail.content4=\n\nVous pouvez consulter le d\u00E9tail ici\: " 
    298308com.medias.mail.content5=".\nVotre nom d'utilisateur est \: 
    299 com.medias.mail.content6=,\nVotre mot de passe est \: 
    300 com.medias.mail.content7=\n\n1) V\u00E9rifiez si les informations de m\u00E9tadonn\u00E9es associ\u00E9es au jeu " 
    301 com.medias.mail.content8=" sont correctes (en cliquant sur le lien "M\u00E9tadonn\u00E9es"),\n2) Chargez vos fichiers de donn\u00E9es associ\u00E9es au jeu. Pour cela, cliquez sur le bouton juste en dessous du lien "M\u00E9tadonn\u00E9es", choisissez un fichier, puis cliquez sur "D\u00E9poser". En cas de probl\u00E8me, veuillez contacter le webmaster (mailto\:vincent.pignot@aero.obs-mip.fr).\n\nA bient\u00F4t,\n\n 
    302 com.medias.mail.content9=est " 
     309com.medias.mail.content6=\nVotre mot de passe est \: 
     310com.medias.mail.content7=\n\n1) Cliquez sur le lien "M\u00E9tadonn\u00E9es" pour compl\u00E9ter les m\u00E9tadonn\u00E9es correspondant au jeu " 
     311com.medias.mail.content8=" ou v\u00E9rifiez si les informations d\u00E9j\u00E0 renseign\u00E9es sont correctes,\n2) Chargez vos fichiers de donn\u00E9es associ\u00E9es au jeu. Pour cela, cliquez sur le bouton juste en dessous du lien "M\u00E9tadonn\u00E9es", choisissez un fichier, puis cliquez sur "D\u00E9poser". En cas de probl\u00E8me, veuillez contacter le webmaster (mailto\: 
     312com.medias.mail.content9=).\n\nA bient\u00F4t,\n\n 
     313com.medias.mail.content10=est " 
     314 
     315unit.deg=\u00B0 
    303316 
    304317# ===================================== ERRORS ========================================== 
     
    322335errors.init.failed=Echec \u00E0 l'initialisation de l'application \: vous ne pourrez pas d\u00E9poser de nouveaux fichiers de donn\u00E9es sur le serveur \!<br> 
    323336 
    324 errors.logon.failed=Echec de l'op\u00E9ration d'authentification.<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    325 errors.logon.notFound=Ce login et/ou ce mot de passe sont inconnus.<br> Si vous voulez vous enregistrer pour obtenir l'acc\u00E8s aux zones prot\u00E9g\u00E9es du site, veuillez \u00E9crire un com.medias.mail au <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a>. <br> 
     337errors.logon.failed=Echec de l'op\u00E9ration d'authentification.<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     338errors.logon.notFound=Ce login et/ou ce mot de passe sont inconnus.<br> Si vous voulez vous enregistrer pour obtenir l'acc\u00E8s aux zones prot\u00E9g\u00E9es du site, veuillez \u00E9crire un com.medias.mail au <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a>. <br> 
    326339errors.logon.login=Veuillez saisir votre login (normalement : votre com.medias.mail).<br> 
    327340errors.logon.pwd=Veuillez saisir votre mot de passe.<br> 
    328341 
    329 errors.upload.file=Vous devez s\u00E9lectionner un fichier!<br> 
     342errors.upload.file=Vous devez s\u00E9lectionner un fichier\!<br> 
    330343errors.upload.failed=Echec du d\u00E9p\u00F4t...<br> 
    331344errors.upload.metadata.presentation.nom=Veuillez donner un nom au jeu de donn\u00E9es\!<br> 
     
    338351errors.upload.prepareTree.failed=Echec de chargement de la page de d\u00E9p\u00F4t<br>Veuillez r\u00E9essayer 
    339352 
    340 errors.upload.newSet.failed=Echec \u00E0 la cr\u00E9ation du jeu... <br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     353errors.upload.newSet.failed=Echec \u00E0 la cr\u00E9ation du jeu... <br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    341354errors.upload.newSet.failed2=Le jeu {0} existe d\u00E9j\u00E0, veuillez saisir un autre nom.<br> 
    342 errors.upload.newSet.updateAnnu.failed=Echec \u00E0 l'enregistrement des contacts... <br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    343 errors.upload.newSet.senMails.failed=Echec \u00E0 l'envoi des mails de confirmation pour la cr\u00E9ation du jeu... <br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    344 errors.upload.deleteSet.failed=Echec \u00E0 la suppression du jeu... <br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    345 errors.upload.deleteFile.failed=Echec \u00E0 la suppression du fichier... <br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     355errors.upload.newSet.updateAnnu.failed=Echec \u00E0 l'enregistrement des contacts... <br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     356errors.upload.newSet.senMails.failed=Echec \u00E0 l'envoi des mails de confirmation pour la cr\u00E9ation du jeu... <br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     357errors.upload.deleteSet.failed=Echec \u00E0 la suppression du jeu... <br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     358errors.upload.deleteFile.failed=Echec \u00E0 la suppression du fichier... <br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    346359 
    347360errors.upload.metadata.notfound=Le fichier n'a pas \u00E9t\u00E9 trouv\u00E9...<br> 
    348 errors.upload.updateMetadata.failed=Echec de la mise \u00E0 jour de la m\u00E9tadonn\u00E9e...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    349 errors.upload.metadata.addPlat.failed=Echec \u00E0 l'ajout d'une nouvelle plate-forme...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    350 errors.upload.metadata.deletePlat.failed=Echec \u00E0 la suppression de la plate-forme...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    351 errors.upload.metadata.addParam.failed=Echec \u00E0 l'ajout d'un nouveau param\u00E8tre...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    352 errors.upload.metadata.deleteParam.failed=Echec \u00E0 la suppression du param\u00E8tre...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    353 errors.upload.metadata.addCapt.failed=Echec \u00E0 l'ajout d'un nouveau capteur...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    354 errors.upload.metadata.deleteCapt.failed=Echec \u00E0 la suppression du capteur...<br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     361errors.upload.updateMetadata.failed=Echec de la mise \u00E0 jour de la m\u00E9tadonn\u00E9e...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     362errors.upload.metadata.addPlat.failed=Echec \u00E0 l'ajout d'une nouvelle plate-forme...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     363errors.upload.metadata.deletePlat.failed=Echec \u00E0 la suppression de la plate-forme...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     364errors.upload.metadata.addParam.failed=Echec \u00E0 l'ajout d'un nouveau param\u00E8tre...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     365errors.upload.metadata.deleteParam.failed=Echec \u00E0 la suppression du param\u00E8tre...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     366errors.upload.metadata.addCapt.failed=Echec \u00E0 l'ajout d'un nouveau capteur...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     367errors.upload.metadata.deleteCapt.failed=Echec \u00E0 la suppression du capteur...<br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    355368 
    356369errors.upload.updateMetadata.failed.contact_pi=Il ne peut y avoir qu'un seul contact scientifique pour un jeu de donn\u00E9es 
     
    371384errors.upload.updateMetadata.failed.lonbound=Vous devez saisir une longitude maximale sup\u00E9rieure ou \u00E9gale \u00E0 la longitude minimale 
    372385errors.upload.updateMetadata.failed.altbound=Vous devez saisir une altitude maximale sup\u00E9rieure ou \u00E9gale \u00E0 l'altitude minimale 
    373  
    374 errors.access.send.failed=Impossibilit\u00E9 de t\u00E9l\u00E9charger le fichier en question ... <br> Veuillez contacter le <a href\="mailto\:vincent.pignot@aero.obs-mip.fr?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
     386errors.zipgame.failed=Echec lors de la cr\u00E9ation de l'archive 
     387errors.access.send.failed=Impossibilit\u00E9 de t\u00E9l\u00E9charger le fichier en question ... <br> Veuillez contacter le <a href\="mailto\:{0}?subject\=[MEGAPOLI]">webmaster</a> pour lui signaler le probl\u00E8me.<br> 
    375388 
    376389errors.access.requete.fail=La requ\u00EAte n'a pas aboutie 
    377  
    378390 
    379391################################################################ 
     
    405417data.visualization.button.download.info=(fichier .tgz) 
    406418data.visualization.loading.data=Chargement des donn\u00E9es 
     419data.visualization.quicklook=Quicklook 
    407420 
    408421simulation.visualization=Visualisation des simulations 
     422 
     423####################### PLOT ####################### 
     424plot.published=Publi\u00E9 le 
     425plot.dataNumber=Nombre de donn\u00E9es extraites : 
  • ether_megapoli/trunk/web/src/ApplicationResources_en.properties

    r89 r129  
    404404data.visualization.button.download.info=(file .tgz) 
    405405data.visualization.loading.data=Data downloading 
     406data.visualization.quicklook=Quicklook 
    406407 
    407408simulation.visualization=Simulations visualization 
     409 
     410####################### PLOT ####################### 
     411plot.published=Published 
     412plot.dataNumber=Number of extracted datas : 
  • ether_megapoli/trunk/web/src/com/ether/Controller.java

    r89 r129  
    66import com.medias.database.objects.Parametre; 
    77import com.medias.database.objects.Plateforme; 
    8 import com.sun.org.apache.xml.internal.security.utils.Base64; 
    9 import gov.noaa.pmel.sgt.swing.JPlotLayout; 
    108import net.sf.json.JSONObject; 
    119import org.apache.commons.logging.Log; 
    1210import org.apache.commons.logging.LogFactory; 
    1311import org.jetbrains.annotations.NotNull; 
    14 import org.jetbrains.annotations.Nullable; 
    1512import org.springframework.beans.factory.annotation.Required; 
    1613import org.springframework.web.servlet.ModelAndView; 
    17 import com.ether.tutorial.src.tutorial.Example1; 
    1814 
    1915import javax.servlet.http.HttpServletRequest; 
    2016import javax.servlet.http.HttpServletResponse; 
    21 import javax.swing.*; 
    22 import java.awt.*; 
    23 import java.io.FileWriter; 
    24 import java.io.IOException; 
    25 import java.text.ParseException; 
    26 import java.util.Date; 
    2717import java.util.HashMap; 
    2818import java.util.List; 
     
    3323 * @date 17 feb 2011 
    3424 */ 
    35 public class Controller extends ControllerEther 
     25public class Controller 
     26        extends ControllerEther 
    3627{ 
    3728    /** *********************************************************** **/ 
     
    3930    /** *********************************************************** **/ 
    4031    // Default view if methodName is unknown 
    41     public ModelAndView home(final HttpServletRequest request, final HttpServletResponse response) 
     32    public ModelAndView home( final HttpServletRequest request, final HttpServletResponse response ) 
    4233            throws WebException 
    4334    { 
    44         return new ModelAndView("index"); 
     35        return new ModelAndView( "index" ); 
    4536    } 
    4637 
     
    5950 
    6051        final Map<String, Object> model = new HashMap<String, Object>(); 
    61         model.put( "plateforms", getJsonHelper().toJSON(plateforms) ); 
     52        model.put( "plateforms", getJsonHelper().toJSON( plateforms ) ); 
    6253        return model; 
    6354    } 
     
    6556    /** *********************************************************** **/ 
    6657    /** *********************** CALLS ***************************** **/ 
    67     /** *********************************************************** **/ 
     58    /** ********************************************************** **/ 
    6859    @ControllerMethod(jsonResult = true) 
    69     public JSONObject searchParametersByPlateform(@Mandatory @ParamName(ParameterConstants.PARAMETER_ID) final Integer plateformId) 
     60    public JSONObject searchParametersByPlateform( @Mandatory @ParamName(ParameterConstants.PARAMETER_ID) final Integer plateformId ) 
    7061            throws ServiceException, WebException 
    7162    { 
    72         final List<Parametre> parametersByPlateform = _etherService.getParametersByPlateformId(plateformId); 
     63        final List<Parametre> parametersByPlateform = _etherService.getParametersByPlateformId( plateformId ); 
    7364 
    7465        final JSONObject result = new JSONObject(); 
    75         result.put( ParameterConstants.PARAMETER_PARAMETERS, getJsonHelper().toJSON(parametersByPlateform) ); 
     66        result.put( ParameterConstants.PARAMETER_PARAMETERS, getJsonHelper().toJSON( parametersByPlateform ) ); 
    7667        return result; 
    7768    } 
    7869 
    79     @ControllerMethod(jsonResult = true) 
    80     public JSONObject searchDatasByPlateformByParameterByPeriod( 
    81             @Mandatory @ParamName(ParameterConstants.PARAMETER_PLATEFORM_ID) final Integer plateformId, 
    82             @Mandatory @ParamName(ParameterConstants.PARAMETER_PARAMETER_ID) final Integer parameterId, 
    83             @ParamName(ParameterConstants.PARAMETER_DATE_BEGIN) final String dateBegin, 
    84             @ParamName(ParameterConstants.PARAMETER_DATE_END) final String dateEnd) 
    85             throws ServiceException, WebException, ParseException 
    86     { 
    87         final String pofBegin = "2009-07-13 13:00"; 
    88         final String pofEnd = "2009-07-13 14:00"; 
    89         final Date formatedDateBegin = DateHelper.parseDate(pofBegin, DateHelper.ENGLISH_DATE_PATTERN); 
    90         final Date formatedDateEnd = DateHelper.parseDate(pofEnd, DateHelper.ENGLISH_DATE_PATTERN); 
    91  
    92         final Plateforme plateform = _etherService.getPlateformById(plateformId); 
    93         final Parametre parameter = _etherService.getParameterById(parameterId); 
    94         final List<Data> values = _etherService.getValuesByPlateformByParameterByPeriod(plateformId, parameterId, formatedDateBegin, formatedDateEnd); 
    95  
    96         JPlotLayout layout =   createLayout(plateform.getPlateformeNom(), parameter.getParametreNom()); 
    97  
    98         return new JSONObject(); 
    99     } 
    100  
    101     private JPlotLayout createLayout(@Nullable final String plateformName, @Nullable final String parameterName) 
    102     { 
    103         final JFrame frame = new JFrame ("Frame principale"); 
    104         final JPanel panel = new JPanel(new BorderLayout()); 
    105  
    106         final JLabel jlbHelloWorld = new JLabel("Hello World"); 
    107         panel.add(jlbHelloWorld, BorderLayout.SOUTH); 
    108  
    109         final ImageIcon ic = new ImageIcon ("kerropi1.jpg"); 
    110         final JLabel jLabel = new JLabel (ic); 
    111         panel.add(jLabel, BorderLayout.EAST); 
    112  
    113         final JPlotLayout jPlotLayout = new JPlotLayout(false, false, false,"Trajectory data",null,false); 
    114         jPlotLayout.setTitles(plateformName, parameterName, "title3"); 
    115 //              jPlotLayout.setTitleHeightP(0.2, 0.2); 
    116         jPlotLayout.setVisible(true); 
    117         panel.add(jPlotLayout, BorderLayout.NORTH); 
    118  
    119         panel.setVisible(true); 
    120         frame.setContentPane(panel); 
    121  
    122         frame.setSize(700,550); 
    123         frame.setVisible(true); 
    124  
    125         return jPlotLayout; 
    126     } 
    127  
    128 //    @ControllerMethod(jsonResult = true) 
    129 //    public JSONObject searchDatasByPlateformByParameterByPeriod( 
    130 //              @Mandatory @ParamName(ParameterConstants.PARAMETER_PLATEFORM_ID) final Integer plateformId, 
    131 //              @Mandatory @ParamName(ParameterConstants.PARAMETER_PARAMETER_ID) final Integer parameterId, 
    132 //              @ParamName(ParameterConstants.PARAMETER_DATE_BEGIN) final String dateBegin, 
    133 //              @ParamName(ParameterConstants.PARAMETER_DATE_END) final String dateEnd) 
    134 //      throws ServiceException, WebException, ParseException 
    135 //    { 
    136 //      final long time1 = Calendar.getInstance().getTimeInMillis(); 
    137 //      LOGGER.error("Date Controller begin : "+Calendar.getInstance().getTime()); 
    138 ////            final Date formatedDateBegin = DateHelper.parseDate(dateBegin, DateHelper.ENGLISH_DATE_PATTERN_SHORT); 
    139 ////            final Date formatedDateEnd = DateHelper.parseDate(dateEnd, DateHelper.ENGLISH_DATE_PATTERN_SHORT); 
    140 // 
    141 //      final Date formatedDateBegin = null; 
    142 //      final Date formatedDateEnd = null; 
    143 // 
    144 //      final long time2 = Calendar.getInstance().getTimeInMillis(); 
    145 //      LOGGER.error("Date Controller before request : "+Calendar.getInstance().getTime()+", Duration : "+(time2-time1)); 
    146 //              final List<Data> values = _etherService.getValuesByPlateformByParameterByPeriod(plateformId, parameterId, formatedDateBegin, formatedDateEnd); 
    147 //      final long time3 = Calendar.getInstance().getTimeInMillis(); 
    148 //      LOGGER.error("Date Controller after request : "+Calendar.getInstance().getTime()+", Duration : "+(time3-time2)); 
    149 // 
    150 //      final JSONObject result = new JSONObject(); 
    151 //      result.put( ParameterConstants.PARAMETER_VALUES, values ); 
    152 //      final long time4 = Calendar.getInstance().getTimeInMillis(); 
    153 //      LOGGER.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
    154 //      LOGGER.error("Date Controller before return Result : "+Calendar.getInstance().getTime()+", Duration : "+(time4-time3)+", Total : "+(time4-time1)+", Taille : "+values.size()); 
    155 //      LOGGER.error("plateformId : "+plateformId+", parameterId : "+parameterId); 
    156 //      LOGGER.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
    157 //      return result; 
    158 //    } 
    159  
    160 //      private void createPlot() { 
    161 //              JPlotLayout layout_ = new JPlotLayout(false, false, false, 
    162 //                              "Trajectory data", null, false); 
    163 //              /* 
    164 //               * Batch changes to layout. 
    165 //               */ 
    166 //              layout_.setBatch(true); 
    167 //              /* 
    168 //               * Set the titles. 
    169 //               */ 
    170 //              layout_.setTitles( 
    171 //                              "Steller's Sea Lion Climate Research Profiling Floats", 
    172 //                              "Trajectories", ""); 
    173 //              /* 
    174 //               * Change the title sizes from the defaults. (0.25, 0.15) 
    175 //               */ 
    176 //              layout_.setTitleHeightP(0.2, 0.2); 
    177 //              /* 
    178 //               * Use a BorderLayout for the JFrame and and the JPlotLayout to the 
    179 //               * "Center". Pack the frame and make it visible. 
    180 //               */ 
    181 //              JFrame pif = new JFrame(); 
    182 //              pif.getContentPane().setLayout(new BorderLayout()); 
    183 //              pif.getContentPane().add(layout_, BorderLayout.CENTER); 
    184 //              pif.pack(); 
    185 //              pif.setVisible(true); 
    186 //              /* 
    187 //               * Read trajectory data from local file 
    188 //               */ 
    189 //              SGTData data = readTrajectory("service/implementation/com/ether/tutorial/data/trajectory"); 
    190 //              /* 
    191 //               * Add the trajectory data to the plot using the data title as the data 
    192 //               * description. The description is used in the LineKey. 
    193 //               */ 
    194 //              layout_.addData(data, data.getTitle()); 
    195 //              /* 
    196 //               * Read the North Pacific hi-resolution coastline and add it to the 
    197 //               * layout. Coastlines are handled differently by JPlotLayout. Coastlines 
    198 //               * are not used to compute the X and Y ranges and are always clipped to 
    199 //               * the axes. 
    200 //               */ 
    201 //              // SGTLine coastLine = getCoastLine("support/npac_hi_rez", 120000); 
    202 //              // layout_.setCoastLine(coastLine); 
    203 //              /* 
    204 //               * Turn batching off. All batched changes to the JPlotLayout will now be 
    205 //               * executed. 
    206 //               */ 
    207 //              layout_.setBatch(false); 
    208 //      } 
    209  
    21070    @Required 
    211     public void setEtherService(@NotNull final EtherService etherService) 
     71    public void setEtherService( @NotNull final EtherService etherService ) 
    21272    { 
    21373        _etherService = etherService; 
  • ether_megapoli/trunk/web/src/com/ether/ControllerPlot.java

    r119 r129  
    11package com.ether; 
    22 
    3 import com.ether.annotation.ControllerMethod; 
    4 import com.ether.annotation.Mandatory; 
    5 import com.ether.annotation.ParamName; 
    6 import com.medias.database.objects.Parametre; 
    7 import com.medias.database.objects.Plateforme; 
    8 import com.sun.org.apache.xml.internal.security.utils.Base64; 
    9 import gov.noaa.pmel.sgt.swing.JPlotLayout; 
    10 import net.sf.json.JSONObject; 
     3import com.medias.Context; 
     4import gov.noaa.pmel.sgt.dm.SGTMetaData; 
     5import gov.noaa.pmel.sgt.dm.SimpleLine; 
     6import gov.noaa.pmel.util.GeoDateArray; 
    117import org.apache.commons.logging.Log; 
    128import org.apache.commons.logging.LogFactory; 
    139import org.jetbrains.annotations.NotNull; 
    14 import org.jetbrains.annotations.Nullable; 
    15 import org.springframework.beans.factory.annotation.Required; 
    16 import org.springframework.web.servlet.ModelAndView; 
    17 import com.ether.tutorial.src.tutorial.Example1; 
     10import org.springframework.context.ApplicationContext; 
     11import org.springframework.web.context.support.WebApplicationContextUtils; 
    1812 
     13import javax.imageio.ImageIO; 
     14import javax.servlet.ServletConfig; 
     15import javax.servlet.ServletException; 
     16import javax.servlet.http.HttpServlet; 
    1917import javax.servlet.http.HttpServletRequest; 
    2018import javax.servlet.http.HttpServletResponse; 
    21 import javax.swing.*; 
    22 import java.awt.*; 
    23 import java.io.FileWriter; 
     19import java.awt.image.BufferedImage; 
    2420import java.io.IOException; 
    2521import java.text.ParseException; 
    2622import java.util.Date; 
    27 import java.util.HashMap; 
    2823import java.util.List; 
    29 import java.util.Map; 
    3024 
    3125/** 
    3226 * @author vmipsl 
    33  * @date 17 feb 2011 
     27 * @date 17 june 2011 
    3428 */ 
    35 public class Controller extends ControllerEther 
     29public class ControllerPlot 
     30        extends HttpServlet 
    3631{ 
    37     /** *********************************************************** **/ 
    38     /** *********************** VIEWS ***************************** **/ 
    39     /** *********************************************************** **/ 
    40     // Default view if methodName is unknown 
    41     public ModelAndView home(final HttpServletRequest request, final HttpServletResponse response) 
    42             throws WebException 
     32    public void init( final ServletConfig servletConfig ) 
     33            throws ServletException 
    4334    { 
    44         return new ModelAndView("index"); 
     35        try 
     36        { 
     37            final ApplicationContext appContext = WebApplicationContextUtils.getRequiredWebApplicationContext( servletConfig.getServletContext() ); 
     38            _etherService = (EtherService) appContext.getBean( "etherService", EtherService.class ); 
     39            _etherPlotService = (EtherPlotService) appContext.getBean( "etherPlotService", EtherPlotService.class ); 
     40        } 
     41        catch( Throwable tx ) 
     42        { 
     43            LOGGER.error( "Error initializing EtherService.", tx ); 
     44            throw new ServletException( "Error initializing EtherService.", tx ); 
     45        } 
    4546    } 
    4647 
    47     @ControllerMethod(view = VIEW_VISUALIZATION) 
    48     public Map<String, Object> view() 
    49             throws ServiceException 
     48    /** 
     49     * Creates an image with the plot and send it to the response 
     50     * Call by a jsp with <img src="visualization/plotEther?...."> 
     51     * 
     52     * @param request 
     53     * @param response 
     54     * @throws ServletException 
     55     */ 
     56    public void doGet( final HttpServletRequest request, final HttpServletResponse response ) 
     57            throws ServletException 
    5058    { 
    51         return new HashMap<String, Object>(); 
     59        try 
     60        { 
     61            final Integer plateformId = Integer.valueOf( request.getParameter( "plateformId" ) ); 
     62            final Integer parameterId = Integer.valueOf( request.getParameter( "parameterId" ) ); 
     63            final String dateBegin = request.getParameter( "dateBegin" ); 
     64            final String dateEnd = request.getParameter( "dateEnd" ); 
     65            final String pofBegin = "2009-07-13 13:00"; 
     66            final String pofEnd = "2009-07-14 14:00"; 
     67            final Date formatedDateBegin = DateHelper.parseDate( pofBegin, DateHelper.ENGLISH_DATE_PATTERN ); 
     68            final Date formatedDateEnd = DateHelper.parseDate( pofEnd, DateHelper.ENGLISH_DATE_PATTERN ); 
     69 
     70            //** ******************************************************************** **// 
     71            // TODO : replace List<Data> by List<value> and List<double> 
     72            //** ******************************************************************** **// 
     73            final List<Pair<Double, Date>> values = _etherService.getValuesByPlateformByParameterByPeriod( plateformId, parameterId, formatedDateBegin, formatedDateEnd ); 
     74            final double[] dataArray = extractDoubles( values ); 
     75            final Date[] dateValues = extractDates( values ); 
     76 
     77            final GeoDateArray dateArray = new GeoDateArray( dateValues ); 
     78            //** ******************************************************************** **// 
     79            //** ******************************************************************** **// 
     80 
     81 
     82            final SimpleLine data = new SimpleLine( dateArray, dataArray, "legend" ); 
     83            SGTMetaData meta = new SGTMetaData( "Longitude", "degrees East", false, false ); 
     84            data.setXMetaData( meta ); 
     85 
     86            meta = new SGTMetaData( "parameterName", "parameterUnit", false, false ); 
     87            data.setYMetaData( meta ); 
     88 
     89            final MegapoliPlot megapoliPlot = new MegapoliPlot(); 
     90            megapoliPlot.setTitle( "Mobilis LIDAR" ); 
     91            megapoliPlot.setData( data ); 
     92 
     93            final BufferedImage bufferedImage = _etherPlotService.createJPane( megapoliPlot, Context.getLocale( request ) ); 
     94 
     95            ImageIO.write( bufferedImage, "png", response.getOutputStream() ); 
     96        } 
     97        catch( IOException e ) 
     98        { 
     99            throw new ServletException( "Error : no possibity to write image in response", e ); 
     100        } 
     101        catch( ServiceException e ) 
     102        { 
     103            throw new ServletException( "Error : no possibility to extract data from base", e ); 
     104        } 
     105        catch( ParseException e ) 
     106        { 
     107            throw new ServletException( "Error : invalid dates, no parsing available", e ); 
     108        } 
    52109    } 
    53110 
    54     @ControllerMethod(view = VIEW_VISUALIZATION_PARAMETER_BY_PLATEFORM) 
    55     public Map<String, Object> viewParametersByPlateform() 
    56             throws ServiceException 
     111    // TODO : remove this code !! ultracrados ! 
     112    private double[] extractDoubles( @NotNull final List<Pair<Double, Date>> datas ) 
    57113    { 
    58         final List<Plateforme> plateforms = _etherService.getAllPlateforms(); 
    59  
    60         final Map<String, Object> model = new HashMap<String, Object>(); 
    61         model.put( "plateforms", getJsonHelper().toJSON(plateforms) ); 
    62         return model; 
     114        final double[] doubles = new double[datas.size()]; 
     115        int i = 0; 
     116        for( final Pair<Double, Date> data : datas ) 
     117        { 
     118            doubles[i] = data.getFirstValue().doubleValue(); 
     119            i++; 
     120        } 
     121        return doubles; 
    63122    } 
    64123 
    65     /** *********************************************************** **/ 
    66     /** *********************** CALLS ***************************** **/ 
    67     /** *********************************************************** **/ 
    68     @ControllerMethod(jsonResult = true) 
    69     public JSONObject searchParametersByPlateform(@Mandatory @ParamName(ParameterConstants.PARAMETER_ID) final Integer plateformId) 
    70             throws ServiceException, WebException 
     124    // TODO : remove this code !! ultracrados ! 
     125    private Date[] extractDates( @NotNull final List<Pair<Double, Date>> datas ) 
    71126    { 
    72         final List<Parametre> parametersByPlateform = _etherService.getParametersByPlateformId(plateformId); 
    73  
    74         final JSONObject result = new JSONObject(); 
    75         result.put( ParameterConstants.PARAMETER_PARAMETERS, getJsonHelper().toJSON(parametersByPlateform) ); 
    76         return result; 
     127        final Date[] dates = new Date[datas.size()]; 
     128        int i = 0; 
     129        for( final Pair<Double, Date> data : datas ) 
     130        { 
     131            dates[i] = data.getSecondValue(); 
     132            i++; 
     133        } 
     134        return dates; 
    77135    } 
    78136 
    79     @ControllerMethod(jsonResult = true) 
    80     public JSONObject searchDatasByPlateformByParameterByPeriod( 
    81             @Mandatory @ParamName(ParameterConstants.PARAMETER_PLATEFORM_ID) final Integer plateformId, 
    82             @Mandatory @ParamName(ParameterConstants.PARAMETER_PARAMETER_ID) final Integer parameterId, 
    83             @ParamName(ParameterConstants.PARAMETER_DATE_BEGIN) final String dateBegin, 
    84             @ParamName(ParameterConstants.PARAMETER_DATE_END) final String dateEnd) 
    85             throws ServiceException, WebException, ParseException 
    86     { 
    87         final String pofBegin = "2009-07-13 13:00"; 
    88         final String pofEnd = "2009-07-13 14:00"; 
    89         final Date formatedDateBegin = DateHelper.parseDate(pofBegin, DateHelper.ENGLISH_DATE_PATTERN); 
    90         final Date formatedDateEnd = DateHelper.parseDate(pofEnd, DateHelper.ENGLISH_DATE_PATTERN); 
     137    private static final Log LOGGER = LogFactory.getLog( ControllerPlot.class ); 
    91138 
    92         final Plateforme plateform = _etherService.getPlateformById(plateformId); 
    93         final Parametre parameter = _etherService.getParameterById(parameterId); 
    94         final List<Data> values = _etherService.getValuesByPlateformByParameterByPeriod(plateformId, parameterId, formatedDateBegin, formatedDateEnd); 
    95  
    96         JPlotLayout layout =   createLayout(plateform.getPlateformeNom(), parameter.getParametreNom()); 
    97  
    98         return new JSONObject(); 
    99     } 
    100  
    101     private JPlotLayout createLayout(@Nullable final String plateformName, @Nullable final String parameterName) 
    102     { 
    103         final JFrame frame = new JFrame ("Frame principale"); 
    104         final JPanel panel = new JPanel(new BorderLayout()); 
    105  
    106         final JLabel jlbHelloWorld = new JLabel("Hello World"); 
    107         panel.add(jlbHelloWorld, BorderLayout.SOUTH); 
    108  
    109         final ImageIcon ic = new ImageIcon ("kerropi1.jpg"); 
    110         final JLabel jLabel = new JLabel (ic); 
    111         panel.add(jLabel, BorderLayout.EAST); 
    112  
    113         final JPlotLayout jPlotLayout = new JPlotLayout(false, false, false,"Trajectory data",null,false); 
    114         jPlotLayout.setTitles(plateformName, parameterName, "title3"); 
    115 //              jPlotLayout.setTitleHeightP(0.2, 0.2); 
    116         jPlotLayout.setVisible(true); 
    117         panel.add(jPlotLayout, BorderLayout.NORTH); 
    118  
    119         panel.setVisible(true); 
    120         frame.setContentPane(panel); 
    121  
    122         frame.setSize(700,550); 
    123         frame.setVisible(true); 
    124  
    125         return jPlotLayout; 
    126     } 
    127  
    128 //    @ControllerMethod(jsonResult = true) 
    129 //    public JSONObject searchDatasByPlateformByParameterByPeriod( 
    130 //              @Mandatory @ParamName(ParameterConstants.PARAMETER_PLATEFORM_ID) final Integer plateformId, 
    131 //              @Mandatory @ParamName(ParameterConstants.PARAMETER_PARAMETER_ID) final Integer parameterId, 
    132 //              @ParamName(ParameterConstants.PARAMETER_DATE_BEGIN) final String dateBegin, 
    133 //              @ParamName(ParameterConstants.PARAMETER_DATE_END) final String dateEnd) 
    134 //      throws ServiceException, WebException, ParseException 
    135 //    { 
    136 //      final long time1 = Calendar.getInstance().getTimeInMillis(); 
    137 //      LOGGER.error("Date Controller begin : "+Calendar.getInstance().getTime()); 
    138 ////            final Date formatedDateBegin = DateHelper.parseDate(dateBegin, DateHelper.ENGLISH_DATE_PATTERN_SHORT); 
    139 ////            final Date formatedDateEnd = DateHelper.parseDate(dateEnd, DateHelper.ENGLISH_DATE_PATTERN_SHORT); 
    140 // 
    141 //      final Date formatedDateBegin = null; 
    142 //      final Date formatedDateEnd = null; 
    143 // 
    144 //      final long time2 = Calendar.getInstance().getTimeInMillis(); 
    145 //      LOGGER.error("Date Controller before request : "+Calendar.getInstance().getTime()+", Duration : "+(time2-time1)); 
    146 //              final List<Data> values = _etherService.getValuesByPlateformByParameterByPeriod(plateformId, parameterId, formatedDateBegin, formatedDateEnd); 
    147 //      final long time3 = Calendar.getInstance().getTimeInMillis(); 
    148 //      LOGGER.error("Date Controller after request : "+Calendar.getInstance().getTime()+", Duration : "+(time3-time2)); 
    149 // 
    150 //      final JSONObject result = new JSONObject(); 
    151 //      result.put( ParameterConstants.PARAMETER_VALUES, values ); 
    152 //      final long time4 = Calendar.getInstance().getTimeInMillis(); 
    153 //      LOGGER.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
    154 //      LOGGER.error("Date Controller before return Result : "+Calendar.getInstance().getTime()+", Duration : "+(time4-time3)+", Total : "+(time4-time1)+", Taille : "+values.size()); 
    155 //      LOGGER.error("plateformId : "+plateformId+", parameterId : "+parameterId); 
    156 //      LOGGER.error("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
    157 //      return result; 
    158 //    } 
    159  
    160 //      private void createPlot() { 
    161 //              JPlotLayout layout_ = new JPlotLayout(false, false, false, 
    162 //                              "Trajectory data", null, false); 
    163 //              /* 
    164 //               * Batch changes to layout. 
    165 //               */ 
    166 //              layout_.setBatch(true); 
    167 //              /* 
    168 //               * Set the titles. 
    169 //               */ 
    170 //              layout_.setTitles( 
    171 //                              "Steller's Sea Lion Climate Research Profiling Floats", 
    172 //                              "Trajectories", ""); 
    173 //              /* 
    174 //               * Change the title sizes from the defaults. (0.25, 0.15) 
    175 //               */ 
    176 //              layout_.setTitleHeightP(0.2, 0.2); 
    177 //              /* 
    178 //               * Use a BorderLayout for the JFrame and and the JPlotLayout to the 
    179 //               * "Center". Pack the frame and make it visible. 
    180 //               */ 
    181 //              JFrame pif = new JFrame(); 
    182 //              pif.getContentPane().setLayout(new BorderLayout()); 
    183 //              pif.getContentPane().add(layout_, BorderLayout.CENTER); 
    184 //              pif.pack(); 
    185 //              pif.setVisible(true); 
    186 //              /* 
    187 //               * Read trajectory data from local file 
    188 //               */ 
    189 //              SGTData data = readTrajectory("service/implementation/com/ether/tutorial/data/trajectory"); 
    190 //              /* 
    191 //               * Add the trajectory data to the plot using the data title as the data 
    192 //               * description. The description is used in the LineKey. 
    193 //               */ 
    194 //              layout_.addData(data, data.getTitle()); 
    195 //              /* 
    196 //               * Read the North Pacific hi-resolution coastline and add it to the 
    197 //               * layout. Coastlines are handled differently by JPlotLayout. Coastlines 
    198 //               * are not used to compute the X and Y ranges and are always clipped to 
    199 //               * the axes. 
    200 //               */ 
    201 //              // SGTLine coastLine = getCoastLine("support/npac_hi_rez", 120000); 
    202 //              // layout_.setCoastLine(coastLine); 
    203 //              /* 
    204 //               * Turn batching off. All batched changes to the JPlotLayout will now be 
    205 //               * executed. 
    206 //               */ 
    207 //              layout_.setBatch(false); 
    208 //      } 
    209  
    210     @Required 
    211     public void setEtherService(@NotNull final EtherService etherService) 
    212     { 
    213         _etherService = etherService; 
    214     } 
    215  
    216     private static final Log LOGGER = LogFactory.getLog( Controller.class ); 
    217  
    218     private static final String VIEW_VISUALIZATION = "visualization/visu"; 
    219     private static final String VIEW_VISUALIZATION_PARAMETER_BY_PLATEFORM = "visualization/visu_parameter_by_pf"; 
     139    // Dimensions of the jPanes 
     140    private static final int MAIN_WIDTH = 1000; 
     141    private static final int MAIN_HEIGHT = 1000; 
    220142 
    221143    private EtherService _etherService; 
     144    private EtherPlotService _etherPlotService; 
     145 
    222146} 
Note: See TracChangeset for help on using the changeset viewer.