Changeset 504 for tapas/service


Ignore:
Timestamp:
05/11/12 12:34:56 (12 years ago)
Author:
rboipsl
Message:

ajout champs shortName dans table Observatory
gestion nomenclature fichier donnees arletty et ecmwf
modif width interface

Location:
tapas/service
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tapas/service/implementation/com/ether/TapasServiceImpl.java

    r490 r504  
    2626import java.io.IOException; 
    2727import java.lang.reflect.Array; 
     28//import java.sql.Date; 
     29import java.text.ParseException; 
     30import java.text.SimpleDateFormat; 
     31import java.util.Date; 
     32 
     33import java.util.ArrayList; 
     34import java.util.Calendar; 
    2835import java.util.List; 
    2936import java.util.Properties; 
     
    4754        final String dataPath = prop.getProperty( "data_path" ); 
    4855 
    49  
    5056        final String userPath = ""; 
    51  
    5257        final String fichier = servicePath+"/"+user.getLastName()+"/"+"request.xml"; 
    53  
    5458        final Element tapas = new Element( "tapas" ); 
    55         final Element request = new Element( "request" ); 
     59        final List<Element> listRequest = new ArrayList<Element>(fTapas.getRequests().size()); 
    5660 
    5761        //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer 
     
    6973        for( final Request iRequest : requests ) 
    7074        { 
     75 
     76            final Element request = new Element( "request" ); 
    7177            // Id de la request 
    7278            final Attribute idR = new Attribute( "Id", iRequest.getId().toString() ); 
     
    7581            // PREFERENCES 
    7682            final Element preferences = new Element( "preferences" ); 
     83 
    7784 
    7885            //format 
     
    8390            format.setText( iRequest.getPreference().getFormat().getSecondValue() ); 
    8491            preferences.addContent( format ); 
     92 
    8593 
    8694            //rayleighExtinction 
     
    204212            for( i = 0; i <= tabMess.length - 1; i++ ) //final String mess : tabMess ) 
    205213            { 
    206  
    207214                if( i == tabMess.length - 1 ) 
    208215                    chValid += EtherHelper.getMessage( "label.spectralUnit." + tabMess[i], null ); 
     
    258265 
    259266 
    260  
    261             String fileArletty = "", fileECMWF = ""; 
    262             fileArletty = dataPath + "/" + createFileName( iRequest.getObservation().getDate(), "arletty" ); 
    263             fileECMWF = dataPath + "/" + createFileName( iRequest.getObservation().getDate(), "ecmwf" ); 
     267            String fileArletty = "", fileECMWF = "", shortName=""; 
     268            //rajouter annee/mois 
     269 
     270            shortName = obs.getShortName(); 
     271 
     272            fileArletty = dataPath + "/" + createFileName( iRequest.getObservation().getDate(), "arletty",shortName ); 
     273            fileECMWF = dataPath + "/" + createFileName( iRequest.getObservation().getDate(), "ecmwf", shortName ); 
    264274 
    265275            final Element arlettyFile = new Element( "arletty_file" ); 
     
    271281            atmosphere.addContent( ecmwfFile ); 
    272282 
    273             tapas.addContent( request ); 
    274         } 
     283            listRequest.add( request ); 
     284        } 
     285 
     286        tapas.addContent( listRequest ); 
    275287 
    276288        String commandePath = servicePath+"/"+user.getLastName()+"/"+fTapas.getId(); 
     
    282294 
    283295 
    284     public boolean execAppelQSub( final String commandePath, User user, Properties prop ) 
     296    public boolean execAppelQSub( final String repCommande, User user, Properties prop ) 
    285297            throws ServiceException 
    286298    { 
    287299        String commande=""; 
     300        String commandePath=prop.getProperty( "service_path" )+"/"+user.getLastName()+"/"+repCommande+"/"; 
     301 
    288302        //copie run qsub dans repertoire commande 
    289303        commande = "cp "+prop.getProperty( "src_path" )+"/"+prop.getProperty( "process_name" )+" "+commandePath; 
     
    298312        } 
    299313 
     314        EtherHelper.pause(7000); 
     315 
    300316        //execution qsub pour la commande en cours 
    301317        commande = commandePath+"/"+prop.getProperty( "process_name" )+" -f request.xml"+" -m "+user.getEmail(); 
     
    310326        } 
    311327 
    312         return true; 
     328       //EtherHelper.pause(7000); 
     329 
     330       return true; 
    313331    } 
    314332 
     
    325343    }                    */ 
    326344 
    327     public String createFileName( String date, String type ) 
    328     { 
    329  
    330         String fileName = "test_"+type+"_"+date+".txt"; 
    331  
    332  
    333         /*String heure = date.substring( 4, 6 ); 
    334  
    335         int iheure = Math.abs( Integer.parseInt( heure ) ); 
    336  
     345    public String createFileName( String date, String type, String nomCourt ) 
     346    { 
     347        String fileName = ""; 
     348 
     349        String annee = date.substring( 0, 4 ); 
     350        //String mois = String.valueOf( Integer.parseInt(date.substring(5,7))-1); 
     351        String mois = date.substring(5,7); 
     352        String heure = date.substring(11,13); 
     353        String jour = date.substring(8,10); 
     354        String ind=""; 
     355 
     356        Calendar cal = Calendar.getInstance(); 
     357 
     358        try { 
     359            Date dd = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(jour+"/"+mois+"/"+annee+" "+heure+":00:00"); 
     360            cal.setTime(dd); 
     361        } 
     362        catch( ParseException e ) { 
     363 
     364        } 
     365 
     366        int iheure = cal.get(Calendar.HOUR_OF_DAY); 
    337367 
    338368        if( iheure < 3) ind = "00"; 
    339369        else if ( iheure >= 21) { 
    340370            ind = "00"; 
     371            cal.add(Calendar.DAY_OF_MONTH, +1); 
    341372        } 
    342373        else if( Math.abs(6-iheure) < 3) ind = "06"; 
     
    344375        else if( Math.abs(18 - iheure) < 3 ) ind = "18"; 
    345376 
    346  
    347         if( type == "arletty" ) fileName = "arletty_" + date + ".txt"; 
    348         else if( type == "ecmwf" ) fileName = "ecmwf_" + date + ".txt"; 
    349         */ 
    350  
     377        //+1 sur le mois pour recuperer le numero correct du mois considere 
     378        if (cal.get(Calendar.MONTH)+1 <10) mois="0"+String.valueOf(cal.get(Calendar.MONTH)+1); 
     379        else mois=""+String.valueOf(cal.get(Calendar.MONTH)+1); 
     380 
     381        if (cal.get(Calendar.DAY_OF_MONTH) <10) jour="0"+ cal.get(Calendar.DAY_OF_MONTH); 
     382        else jour=""+cal.get(Calendar.DAY_OF_MONTH); 
     383 
     384        annee=""+cal.get(Calendar.YEAR); 
     385 
     386        fileName = "/"+annee+"/"+mois+"/"+jour+"/"+nomCourt+"_"+annee+mois+jour+ind; 
     387 
     388        if( type == "arletty" ) fileName = fileName+".arl"; 
     389        else if ( type == "ecmwf" ) fileName = fileName+"_qo3.txt"; 
    351390 
    352391        return fileName; 
     
    368407            } 
    369408 
     409            EtherHelper.pause(7000); 
     410 
    370411            final String fichier = commandePath+"/"+"request.xml"; 
    371412 
     
    375416            //avec en argument le nom du fichier pour effectuer la sérialisation. 
    376417            sortie.output( document, new FileOutputStream( fichier ) ); 
     418 
     419            //EtherHelper.pause(7000); 
     420 
    377421        } 
    378422        catch( java.io.IOException ignored ) 
     
    434478 
    435479 
    436     // recuperation infos observatoire avec le nom 
     480    // recuperation infos observatoire avec l'id 
    437481    @Nullable 
    438482    @Transactional(readOnly = true) 
  • tapas/service/interface/com/ether/TapasService.java

    r490 r504  
    3131    public Long getNumRequest() throws ServiceException; 
    3232 
    33     public String createFileName(String date, String type) throws ServiceException; 
     33    public String createFileName(String date, String type, String shortName) throws ServiceException; 
    3434 
    3535    public boolean execAppelQSub( final String commandePath, @NotNull final User user, @NotNull final Properties prop ) throws ServiceException; 
Note: See TracChangeset for help on using the changeset viewer.