Changeset 7219


Ignore:
Timestamp:
10/16/10 12:04:23 (9 years ago)
Author:
mlg
Message:

Fixes the problem with accents in the comments and categories names
Tested on windows. This time, this should be ok. At last !

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java

    r7071 r7219  
    33import java.io.IOException; 
    44import java.io.InputStream; 
    5  
     5import java.io.UnsupportedEncodingException; 
    66import javax.swing.JOptionPane; 
    7  
    87import org.apache.commons.httpclient.HttpClient; 
    98import org.apache.commons.httpclient.HttpException; 
     
    1110import org.jdom.Document; 
    1211import org.jdom.JDOMException; 
    13  
    1412import fr.mael.jiwigo.transverse.enumeration.MethodsEnum; 
    1513import fr.mael.jiwigo.transverse.util.Messages; 
    1614import fr.mael.jiwigo.transverse.util.Outil; 
     15 
    1716 
    1817/** 
     
    4645 */ 
    4746public class SessionManager { 
    48     /** 
    49      * Logger 
    50      */ 
    51     public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory 
    52             .getLog(SessionManager.class); 
    53     /** 
    54      * the entered login 
    55      */ 
    56     private String login; 
    57     /** 
    58      * the entered password 
    59      */ 
    60     private String motDePasse; 
    61     /** 
    62      * the url of the site 
    63      */ 
    64     private String url; 
    65     /** 
    66      * the http client 
    67      */ 
    68     private HttpClient client; 
    69  
    70     /** 
    71      * Constructor 
    72      * @param login the login 
    73      * @param motDePasse the password 
    74      * @param url the url of the site 
    75      */ 
    76     public SessionManager(String login, String motDePasse, String url) { 
    77         this.login = login; 
    78         this.motDePasse = motDePasse; 
    79         this.url = url + "/ws.php"; 
    80         client = new HttpClient(); 
    81         //Using of a Linux user agent. cause... it's better 8) 
    82         client.getParams().setParameter("http.useragent", 
    83                 "Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1"); 
    84     } 
    85  
    86     /** 
    87      * Connection method 
    88      * @return true if successful 
    89      */ 
    90     public boolean processLogin() { 
    91         Document doc; 
    92         try { 
    93             doc = executerReturnDocument(MethodsEnum.LOGIN.getLabel(), "username", login, "password", motDePasse); 
    94             return Outil.checkOk(doc); 
    95         } catch (Exception e) { 
    96             LOG.error(Outil.getStackTrace(e)); 
    97         } 
    98         return false; 
    99  
    100     } 
    101  
    102     /** 
    103      * Executes a method on the webservice and returns the result as a string 
    104      * @param methode the method to execute 
    105      * @param parametres the parameters of the method. Must be even : the name of the parameter followed by its value 
    106      * @return the result 
    107      */ 
    108     public String executerReturnString(String methode, String... parametres) { 
    109         if (parametres.length % 2 != 0 && !(parametres == null)) { 
    110             try { 
    111                 throw new Exception("Le nombre de parametres doit etre pair"); 
    112             } catch (Exception e) { 
    113                 LOG.error(Outil.getStackTrace(e)); 
     47 
     48        /** 
     49         * Logger 
     50         */ 
     51        public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory.getLog(SessionManager.class); 
     52        /** 
     53         * the entered login 
     54         */ 
     55        private String login; 
     56        /** 
     57         * the entered password 
     58         */ 
     59        private String motDePasse; 
     60        /** 
     61         * the url of the site 
     62         */ 
     63        private String url; 
     64        /** 
     65         * the http client 
     66         */ 
     67        private HttpClient client; 
     68 
     69 
     70        /** 
     71         * Constructor 
     72         * @param login the login 
     73         * @param motDePasse the password 
     74         * @param url the url of the site 
     75         */ 
     76        public SessionManager(String login, String motDePasse, String url) { 
     77                this.login = login; 
     78                this.motDePasse = motDePasse; 
     79                this.url = url + "/ws.php"; 
     80                client = new HttpClient(); 
     81                //Using of a Linux user agent. cause... it's better 8) 
     82                client.getParams().setParameter("http.useragent", 
     83                                "Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1"); 
     84        } 
     85 
     86 
     87        /** 
     88         * Connection method 
     89         * @return true if successful 
     90         */ 
     91        public boolean processLogin() { 
     92                Document doc; 
     93                try { 
     94                        doc = executerReturnDocument(MethodsEnum.LOGIN.getLabel(), "username", login, "password", motDePasse); 
     95                        return Outil.checkOk(doc); 
     96                } catch (Exception e) { 
     97                        LOG.error(Outil.getStackTrace(e)); 
     98                } 
     99                return false; 
     100 
     101        } 
     102 
     103 
     104        /** 
     105         * Executes a method on the webservice and returns the result as a string 
     106         * @param methode the method to execute 
     107         * @param parametres the parameters of the method. Must be even : the name of the parameter followed by its value 
     108         * @return the result 
     109         * @throws UnsupportedEncodingException  
     110         */ 
     111        public String executerReturnString(String methode, String... parametres) throws UnsupportedEncodingException { 
     112                if (parametres.length % 2 != 0 && !(parametres == null)) { 
     113                        try { 
     114                                throw new Exception("Le nombre de parametres doit etre pair"); 
     115                        } catch (Exception e) { 
     116                                LOG.error(Outil.getStackTrace(e)); 
     117                                return null; 
     118                        } 
     119                } 
     120                PostMethod method = new PostMethod(url); 
     121                method.addParameter("method", methode); 
     122                for (int i = 0; i < parametres.length; i += 2) { 
     123                        method.addParameter(parametres[i], parametres[i + 1]); 
     124 
     125                } 
     126                //begin bug:0001833 
     127                method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 
     128                //end 
     129 
     130                try { 
     131                        client.executeMethod(method); 
     132                        InputStream streamResponse = method.getResponseBodyAsStream(); 
     133                        //          System.out.println(Outil.readInputStreamAsString(streamResponse)); 
     134                        //          String toReturn = method.getResponseBodyAsString(); 
     135                        String toReturn = Outil.readInputStreamAsString(streamResponse); 
     136                        LOG.debug(toReturn); 
     137                        return toReturn; 
     138                } catch (HttpException e) { 
     139                        // TODO Auto-generated catch block 
     140                        LOG.error(Outil.getStackTrace(e)); 
     141                } catch (IOException e) { 
     142                        // TODO Auto-generated catch block 
     143                        LOG.error(Outil.getStackTrace(e)); 
     144                } catch (IllegalArgumentException e) { 
     145                        LOG.error(Outil.getStackTrace(e)); 
     146                        JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_connexionError"), 
     147                                        Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE); 
     148                } finally { 
     149                        method.releaseConnection(); 
     150                } 
    114151                return null; 
    115             } 
    116         } 
    117         PostMethod method = new PostMethod(url); 
    118         method.addParameter("method", methode); 
    119         for (int i = 0; i < parametres.length; i += 2) { 
    120             method.addParameter(parametres[i], parametres[i + 1]); 
    121         } 
    122         //begin bug:0001833 
    123         method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 
    124         //end 
    125  
    126         try { 
    127             client.executeMethod(method); 
    128             InputStream streamResponse = method.getResponseBodyAsStream(); 
    129             //      System.out.println(Outil.readInputStreamAsString(streamResponse)); 
    130             //      String toReturn = method.getResponseBodyAsString(); 
    131             String toReturn = Outil.readInputStreamAsString(streamResponse); 
    132             LOG.debug(toReturn); 
    133             return toReturn; 
    134         } catch (HttpException e) { 
    135             // TODO Auto-generated catch block 
    136             LOG.error(Outil.getStackTrace(e)); 
    137         } catch (IOException e) { 
    138             // TODO Auto-generated catch block 
    139             LOG.error(Outil.getStackTrace(e)); 
    140         } catch (IllegalArgumentException e) { 
    141             LOG.error(Outil.getStackTrace(e)); 
    142             JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_connexionError"), Messages 
    143                     .getMessage("error"), JOptionPane.ERROR_MESSAGE); 
    144         } finally { 
    145             method.releaseConnection(); 
    146         } 
    147         return null; 
    148  
    149     } 
    150  
    151     /** 
    152      * Executes a method on the webservice and returns the result as a Dom document 
    153      * @param methode the method to execute 
    154      * @param parametres the parameters of the method. Must be even : the name of the parameter followed by its value 
    155      * @return the result 
    156      * @throws IOException  
    157      */ 
    158     public Document executerReturnDocument(String methode, String... parametres) throws IOException { 
    159         try { 
    160             return Outil.stringToDocument(executerReturnString(methode, parametres)); 
    161         } catch (JDOMException e) { 
    162             // TODO Auto-generated catch block 
    163             LOG.error(Outil.getStackTrace(e)); 
    164         } 
    165         return null; 
    166  
    167     } 
    168  
    169     /** 
    170      * Executes a method on the webservice and returns the result as a Dom document 
    171      * @param methode the method to execute 
    172      * @return the result 
    173      */ 
    174     public Document executerReturnDocument(String methode) { 
    175         try { 
    176             return Outil.stringToDocument(executerReturnString(methode)); 
    177         } catch (JDOMException e) { 
    178             // TODO Auto-generated catch block 
    179             LOG.error(Outil.getStackTrace(e)); 
    180         } catch (IOException e) { 
    181             // TODO Auto-generated catch block 
    182             LOG.error(Outil.getStackTrace(e)); 
    183         } 
    184         return null; 
    185  
    186     } 
    187  
    188     /** 
    189      * @return the login 
    190      */ 
    191     public String getLogin() { 
    192         return login; 
    193     } 
    194  
    195     /** 
    196      * @param login the login to set 
    197      */ 
    198     public void setLogin(String login) { 
    199         this.login = login; 
    200     } 
    201  
    202     /** 
    203      * @return the motDePasse 
    204      */ 
    205     public String getMotDePasse() { 
    206         return motDePasse; 
    207     } 
    208  
    209     /** 
    210      * @param motDePasse the motDePasse to set 
    211      */ 
    212     public void setMotDePasse(String motDePasse) { 
    213         this.motDePasse = motDePasse; 
    214     } 
    215  
    216     /** 
    217      * @return the url 
    218      */ 
    219     public String getUrl() { 
    220         return url; 
    221     } 
    222  
    223     /** 
    224      * @param url the url to set 
    225      */ 
    226     public void setUrl(String url) { 
    227         this.url = url; 
    228     } 
     152 
     153        } 
     154 
     155 
     156        /** 
     157         * Executes a method on the webservice and returns the result as a Dom document 
     158         * @param methode the method to execute 
     159         * @param parametres the parameters of the method. Must be even : the name of the parameter followed by its value 
     160         * @return the result 
     161         * @throws IOException  
     162         */ 
     163        public Document executerReturnDocument(String methode, String... parametres) throws IOException { 
     164                try { 
     165                        return Outil.stringToDocument(executerReturnString(methode, parametres)); 
     166                } catch (JDOMException e) { 
     167                        // TODO Auto-generated catch block 
     168                        LOG.error(Outil.getStackTrace(e)); 
     169                } 
     170                return null; 
     171 
     172        } 
     173 
     174 
     175        /** 
     176         * Executes a method on the webservice and returns the result as a Dom document 
     177         * @param methode the method to execute 
     178         * @return the result 
     179         */ 
     180        public Document executerReturnDocument(String methode) { 
     181                try { 
     182                        return Outil.stringToDocument(executerReturnString(methode)); 
     183                } catch (JDOMException e) { 
     184                        // TODO Auto-generated catch block 
     185                        LOG.error(Outil.getStackTrace(e)); 
     186                } catch (IOException e) { 
     187                        // TODO Auto-generated catch block 
     188                        LOG.error(Outil.getStackTrace(e)); 
     189                } 
     190                return null; 
     191 
     192        } 
     193 
     194 
     195        /** 
     196         * @return the login 
     197         */ 
     198        public String getLogin() { 
     199                return login; 
     200        } 
     201 
     202 
     203        /** 
     204         * @param login the login to set 
     205         */ 
     206        public void setLogin(String login) { 
     207                this.login = login; 
     208        } 
     209 
     210 
     211        /** 
     212         * @return the motDePasse 
     213         */ 
     214        public String getMotDePasse() { 
     215                return motDePasse; 
     216        } 
     217 
     218 
     219        /** 
     220         * @param motDePasse the motDePasse to set 
     221         */ 
     222        public void setMotDePasse(String motDePasse) { 
     223                this.motDePasse = motDePasse; 
     224        } 
     225 
     226 
     227        /** 
     228         * @return the url 
     229         */ 
     230        public String getUrl() { 
     231                return url; 
     232        } 
     233 
     234 
     235        /** 
     236         * @param url the url to set 
     237         */ 
     238        public void setUrl(String url) { 
     239                this.url = url; 
     240        } 
    229241 
    230242} 
Note: See TracChangeset for help on using the changeset viewer.