Ignore:
Timestamp:
03/27/11 18:18:38 (9 years ago)
Author:
mlg
Message:

Removes jdom lib and changes apache HTTPClient to the newest one
For more compatibility. I _think_ android is now compatible.

Location:
extensions/jiwigo-ws-api
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • extensions/jiwigo-ws-api/.classpath

    r9392 r9902  
    88  <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/> 
    99  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar"/> 
    10   <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.2/commons-codec-1.2.jar"/> 
    11   <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/> 
     10  <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar"/> 
    1211  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar"/> 
    1312  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/> 
    14   <classpathentry kind="var" path="M2_REPO/org/jdom/jdom/1.1/jdom-1.1.jar"/> 
     13  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.1/httpclient-4.1.jar"/> 
     14  <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar"/> 
    1515  <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar"/> 
    1616  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar"/> 
     
    1818  <classpathentry kind="var" path="M2_REPO/com/drew/metadata-extractor/2.3.1/metadata-extractor-2.3.1.jar"/> 
    1919  <classpathentry kind="var" path="M2_REPO/org/apache/sanselan/sanselan/0.97-incubator/sanselan-0.97-incubator.jar"/> 
    20   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
     20  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6-openjdk"/> 
    2121</classpath> 
  • extensions/jiwigo-ws-api/.project

    r9392 r9902  
     1<?xml version="1.0" encoding="UTF-8"?> 
    12<projectDescription> 
    2   <name>jiwigo-ws-api</name> 
    3   <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> 
    4   <projects/> 
    5   <buildSpec> 
    6     <buildCommand> 
    7       <name>org.eclipse.jdt.core.javabuilder</name> 
    8     </buildCommand> 
    9     <buildCommand> 
    10       <name>org.maven.ide.eclipse.maven2Builder</name> 
    11     </buildCommand> 
    12   </buildSpec> 
    13   <natures> 
    14     <nature>org.maven.ide.eclipse.maven2Nature</nature> 
    15     <nature>org.eclipse.jdt.core.javanature</nature> 
    16   </natures> 
     3        <name>jiwigo-ws-api</name> 
     4        <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> 
     5        <projects> 
     6        </projects> 
     7        <buildSpec> 
     8                <buildCommand> 
     9                        <name>org.eclipse.jdt.core.javabuilder</name> 
     10                        <arguments> 
     11                        </arguments> 
     12                </buildCommand> 
     13                <buildCommand> 
     14                        <name>org.maven.ide.eclipse.maven2Builder</name> 
     15                        <arguments> 
     16                        </arguments> 
     17                </buildCommand> 
     18        </buildSpec> 
     19        <natures> 
     20                <nature>org.maven.ide.eclipse.maven2Nature</nature> 
     21                <nature>org.eclipse.jdt.core.javanature</nature> 
     22        </natures> 
    1723</projectDescription> 
  • extensions/jiwigo-ws-api/pom.xml

    r9879 r9902  
    33  <groupId>fr.mael.jiwigo</groupId> 
    44  <artifactId>jiwigo-ws-api</artifactId> 
    5   <version>0.13.1.2</version> 
     5  <version>0.2b</version> 
    66 
    77 
     
    1111 
    1212        <dependency> 
    13             <groupId>org.jdom</groupId> 
    14             <artifactId>jdom</artifactId> 
    15             <version>1.1</version> 
    16         </dependency> 
    17         <dependency> 
    1813            <groupId>commons-lang</groupId> 
    1914            <artifactId>commons-lang</artifactId> 
     
    2116        </dependency> 
    2217        <dependency> 
    23             <groupId>commons-httpclient</groupId> 
    24             <artifactId>commons-httpclient</artifactId> 
    25             <version>3.1</version> 
     18            <groupId>org.apache.httpcomponents</groupId> 
     19            <artifactId>httpclient</artifactId> 
     20            <version>4.1</version> 
    2621        </dependency> 
    2722        <dependency> 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CategoryDao.java

    r9893 r9902  
    55import java.util.List; 
    66 
    7 import org.jdom.Document; 
    8 import org.jdom.Element; 
     7import org.w3c.dom.Document; 
     8import org.w3c.dom.Element; 
     9import org.w3c.dom.Node; 
     10import org.w3c.dom.NodeList; 
    911 
    1012import fr.mael.jiwigo.om.Category; 
     
    7274        Document doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_CATEGORIES.getLabel(), "recursive", 
    7375                String.valueOf(recursive)); 
    74         Element element = doc.getRootElement().getChild("categories"); 
    75         List<Element> listElement = (List<Element>) element.getChildren("category"); 
     76        Element element = (Element) doc.getDocumentElement().getElementsByTagName("categories").item(0); 
     77        NodeList nodeList = element.getElementsByTagName("category"); 
    7678        ArrayList<Category> categories = new ArrayList<Category>(); 
    77         for (Element cat : listElement) { 
    78             Category myCat = new Category(); 
    79             myCat.setIdentifier(Integer.valueOf(cat.getAttributeValue(CategoryEnum.ID.getLabel()))); 
    80             myCat.setUrlCategory(cat.getAttributeValue(CategoryEnum.URL.getLabel())); 
    81             myCat.setNbImages(Integer.valueOf(cat.getAttributeValue(CategoryEnum.NB_IMAGES.getLabel()))); 
    82             myCat.setNbTotalImages(Integer.valueOf(cat.getAttributeValue(CategoryEnum.NB_TOTAL_IMAGES.getLabel()))); 
    83             myCat.setName(cat.getChildText(CategoryEnum.NAME.getLabel())); 
    84             String catMeres = cat.getChildText(CategoryEnum.CAT_MERES.getLabel()); 
    85             ArrayList<Integer> idCategoriesMeres = new ArrayList<Integer>(); 
    86             myCat.setIdParentCategoriesString(catMeres); 
    87             for (String catA : catMeres.split(",")) { 
    88                 if (!catA.equals("")) { 
    89                     idCategoriesMeres.add(Integer.valueOf(catA)); 
     79        for (int i = 0; i < nodeList.getLength(); i++) { 
     80            Node catNode = nodeList.item(i); 
     81            if (catNode.getNodeType() == Node.ELEMENT_NODE) { 
     82                Element cat = (Element) catNode; 
     83                Category myCat = new Category(); 
     84                myCat.setIdentifier(Integer.valueOf(cat.getAttribute(CategoryEnum.ID.getLabel()))); 
     85                myCat.setUrlCategory(cat.getAttribute(CategoryEnum.URL.getLabel())); 
     86                myCat.setNbImages(Integer.valueOf(cat.getAttribute(CategoryEnum.NB_IMAGES.getLabel()))); 
     87                myCat.setNbTotalImages(Integer.valueOf(cat.getAttribute(CategoryEnum.NB_TOTAL_IMAGES.getLabel()))); 
     88                myCat.setName(Tools.getStringValueDom(cat, CategoryEnum.NAME.getLabel())); 
     89                String catMeres = Tools.getStringValueDom(cat, CategoryEnum.CAT_MERES.getLabel()); 
     90                ArrayList<Integer> idCategoriesMeres = new ArrayList<Integer>(); 
     91                myCat.setIdParentCategoriesString(catMeres); 
     92                for (String catA : catMeres.split(",")) { 
     93                    if (!catA.equals("")) { 
     94                        idCategoriesMeres.add(Integer.valueOf(catA)); 
     95                    } 
    9096                } 
     97                myCat.setIdParentCategories(idCategoriesMeres); 
     98                categories.add(myCat); 
    9199            } 
    92             myCat.setIdParentCategories(idCategoriesMeres); 
    93             categories.add(myCat); 
    94100        } 
    95101        return categories; 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CommentDao.java

    r9893 r9902  
    55import java.util.List; 
    66 
    7 import org.jdom.Document; 
    8 import org.jdom.Element; 
     7import org.w3c.dom.Document; 
     8import org.w3c.dom.Element; 
     9import org.w3c.dom.Node; 
     10import org.w3c.dom.NodeList; 
    911 
    1012import fr.mael.jiwigo.om.Comment; 
     
    7274        Document doc = (sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String 
    7375                .valueOf(idImage), "comments_per_page", "100")); 
    74         Element element = doc.getRootElement().getChild("image").getChild("comments"); 
    75         List<Element> listElement = (List<Element>) element.getChildren("comment"); 
     76        Element elementImage = (Element) doc.getDocumentElement().getElementsByTagName("image").item(0); 
     77        Element elementComments = (Element) elementImage.getElementsByTagName("comments").item(0); 
     78        NodeList listComments = elementComments.getElementsByTagName("comment"); 
    7679        ArrayList<Comment> comments = new ArrayList<Comment>(); 
    77         for (Element com : listElement) { 
    78             Comment myCom = new Comment(); 
    79             myCom.setIdentifier(Integer.valueOf(com.getAttributeValue("id"))); 
    80             myCom.setDate(com.getAttributeValue("date")); 
    81             myCom.setAuthor(com.getChildText("author")); 
    82             myCom.setContent(com.getChildText("content")); 
    83             comments.add(myCom); 
     80        for (int i = 0; i < listComments.getLength(); i++) { 
     81            Node nodeCom = listComments.item(i); 
     82            if (nodeCom.getNodeType() == Node.ELEMENT_NODE) { 
     83                Element com = (Element) nodeCom; 
     84                Comment myCom = new Comment(); 
     85                myCom.setIdentifier(Integer.valueOf(com.getAttribute("id"))); 
     86                myCom.setDate(com.getAttribute("date")); 
     87                myCom.setAuthor(Tools.getStringValueDom(com, "author")); 
     88                myCom.setContent(Tools.getStringValueDom(com, "content")); 
     89                comments.add(myCom); 
     90            } 
    8491        } 
    8592        return comments; 
     
    96103        Document doc = (sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String 
    97104                .valueOf(idImage))); 
    98         String key = doc.getRootElement().getChild("image").getChild("comment_post").getAttributeValue("key"); 
    99         return key; 
     105        //      String key = doc.getRootElement().getChild("image").getChild("comment_post").getAttributeValue("key"); 
     106        Element elementImage = (Element) doc.getDocumentElement().getElementsByTagName("image").item(0); 
     107        Element elementCommentPost = (Element) elementImage.getElementsByTagName("comment_post").item(0); 
     108        return elementCommentPost.getAttribute("key"); 
    100109    } 
    101110 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/ImageDao.java

    r9893 r9902  
    88import java.util.List; 
    99 
    10 import org.jdom.Document; 
    11 import org.jdom.Element; 
     10import org.w3c.dom.Document; 
     11import org.w3c.dom.Element; 
     12import org.w3c.dom.Node; 
     13import org.w3c.dom.NodeList; 
    1214 
    1315import sun.misc.BASE64Encoder; 
     
    103105        if (refresh || cache.get(categoryId) == null) { 
    104106            Document doc = null; 
    105  
    106107            if (categoryId != null) { 
    107108                doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel(), "cat_id", String 
     
    110111                doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel()); 
    111112            } 
    112             Element element = doc.getRootElement().getChild("images"); 
     113            Element element = (Element) doc.getDocumentElement().getElementsByTagName("images").item(0); 
    113114            List<Image> images = getImagesFromElement(element); 
    114115            cache.remove(categoryId); 
     
    222223     */ 
    223224    private List<Image> getImagesFromElement(Element element) { 
    224         List<Element> listElement = (List<Element>) element.getChildren("image"); 
     225        //      List<Element> listElement = (List<Element>) element.getChildren("image"); 
     226        NodeList listImages = element.getElementsByTagName("image"); 
    225227        ArrayList<Image> images = new ArrayList<Image>(); 
    226         for (Element im : listElement) { 
    227             Image myImage = new Image(); 
    228             myImage.setThumbnailUrl(im.getAttributeValue("tn_url")); 
    229             myImage.setUrl(im.getAttributeValue("element_url")); 
    230             myImage.setWidth(Integer.valueOf(im.getAttributeValue("width"))); 
    231             myImage.setHeight(Integer.valueOf(im.getAttributeValue("height"))); 
    232             myImage.setFile(im.getAttributeValue("file")); 
    233             myImage.setSeen(Integer.valueOf(im.getAttributeValue("hit"))); 
    234             myImage.setIdentifier(Integer.valueOf(im.getAttributeValue("id"))); 
    235             myImage.setName(im.getChildText("name")); 
    236             myImage.setIdCategory(Integer.valueOf(im.getChild("categories").getChild("category") 
    237                     .getAttributeValue("id"))); 
    238             if (myImage.getName() == null) { 
    239                 myImage.setName(myImage.getFile()); 
    240             } 
    241             images.add(myImage); 
     228        for (int i = 0; i < listImages.getLength(); i++) { 
     229            Node nodeImage = listImages.item(i); 
     230            if (nodeImage.getNodeType() == Node.ELEMENT_NODE) { 
     231                Element im = (Element) nodeImage; 
     232                Image myImage = new Image(); 
     233                myImage.setThumbnailUrl(im.getAttribute("tn_url")); 
     234                myImage.setUrl(im.getAttribute("element_url")); 
     235                myImage.setWidth(Integer.valueOf(im.getAttribute("width"))); 
     236                myImage.setHeight(Integer.valueOf(im.getAttribute("height"))); 
     237                myImage.setFile(im.getAttribute("file")); 
     238                myImage.setSeen(Integer.valueOf(im.getAttribute("hit"))); 
     239                myImage.setIdentifier(Integer.valueOf(im.getAttribute("id"))); 
     240                myImage.setName(Tools.getStringValueDom(im, "name")); 
     241                Element elementCategories = (Element) im.getElementsByTagName("categories").item(0); 
     242                Element elementCategory = (Element) elementCategories.getElementsByTagName("category").item(0); 
     243                myImage.setIdCategory(Integer.valueOf(elementCategory.getAttribute("id"))); 
     244                if (myImage.getName() == null) { 
     245                    myImage.setName(myImage.getFile()); 
     246                } 
     247                images.add(myImage); 
     248            } 
    242249        } 
    243250        return images; 
     
    254261        Document doc = sessionManager.executeReturnDocument(MethodsEnum.SEARCH.getLabel(), "query", searchString); 
    255262        LOG.debug(doc); 
    256         Element element = doc.getRootElement().getChild("images"); 
     263        Element element = (Element) doc.getDocumentElement().getElementsByTagName("images").item(0); 
    257264        return getImagesFromElement(element); 
    258265 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/TagDao.java

    r9893 r9902  
    55import java.util.List; 
    66 
    7 import org.jdom.Document; 
    8 import org.jdom.Element; 
     7import org.w3c.dom.Document; 
     8import org.w3c.dom.Element; 
     9import org.w3c.dom.Node; 
     10import org.w3c.dom.NodeList; 
    911 
    1012import fr.mael.jiwigo.om.Image; 
     
    7173        Document doc = sessionManager.executeReturnDocument(MethodsEnum.TAGS_ADMIN_LIST.getLabel()); 
    7274        //      System.out.println(Outil.documentToString(doc)); 
    73         return getTagsFromDocument(doc.getRootElement().getChild("tags")); 
     75 
     76        return getTagsFromDocument((Element) doc.getDocumentElement().getElementsByTagName("tags")); 
    7477 
    7578    } 
     
    8184     */ 
    8285    private List<Tag> getTagsFromDocument(Element element) { 
     86        NodeList listTags = element.getElementsByTagName("tag"); 
    8387 
    84         List<Element> listElement = (List<Element>) element.getChildren("tag"); 
     88        //      List<Element> listElement = (List<Element>) element.getChildren("tag"); 
    8589        ArrayList<Tag> tags = new ArrayList<Tag>(); 
    86         for (Element tagElement : listElement) { 
    87             Tag tag = new Tag(); 
    88             tag.setIdentifier(Integer.valueOf(tagElement.getAttributeValue(TagEnum.ID.getLabel()))); 
    89             tag.setName(tagElement.getAttributeValue(TagEnum.NAME.getLabel())); 
    90             tags.add(tag); 
     90        for (int i = 0; i < listTags.getLength(); i++) { 
     91            Node nodeTag = listTags.item(0); 
     92            if (nodeTag.getNodeType() == Node.ELEMENT_NODE) { 
     93                Element tagElement = (Element) nodeTag; 
     94                Tag tag = new Tag(); 
     95                tag.setIdentifier(Integer.valueOf(tagElement.getAttribute(TagEnum.ID.getLabel()))); 
     96                tag.setName(tagElement.getAttribute(TagEnum.NAME.getLabel())); 
     97                tags.add(tag); 
     98            } 
    9199        } 
    92100        return tags; 
     
    122130        Document doc = sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String 
    123131                .valueOf(image.getIdentifier())); 
    124         return getTagsFromDocument(doc.getRootElement().getChild("image").getChild("tags")); 
     132        Element elementImage = (Element) doc.getDocumentElement().getElementsByTagName("image").item(0); 
     133        Element elementTag = (Element) elementImage.getElementsByTagName("tags").item(0); 
     134        return getTagsFromDocument(elementTag); 
    125135    } 
    126136 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Category.java

    r9879 r9902  
    33import java.util.ArrayList; 
    44 
    5 import org.jdom.Element; 
     5import org.w3c.dom.Element; 
    66 
    77/* 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java

    r9879 r9902  
    44import java.io.InputStream; 
    55import java.io.UnsupportedEncodingException; 
    6  
    7 import org.apache.commons.httpclient.Credentials; 
    8 import org.apache.commons.httpclient.HostConfiguration; 
    9 import org.apache.commons.httpclient.HttpClient; 
    10 import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; 
    11 import org.apache.commons.httpclient.UsernamePasswordCredentials; 
    12 import org.apache.commons.httpclient.auth.AuthScope; 
    13 import org.apache.commons.httpclient.methods.PostMethod; 
     6import java.util.ArrayList; 
     7import java.util.List; 
     8 
    149import org.apache.commons.lang.StringUtils; 
    15 import org.jdom.Document; 
    16 import org.jdom.JDOMException; 
     10import org.apache.http.HttpHost; 
     11import org.apache.http.HttpResponse; 
     12import org.apache.http.NameValuePair; 
     13import org.apache.http.auth.AuthScope; 
     14import org.apache.http.auth.UsernamePasswordCredentials; 
     15import org.apache.http.client.entity.UrlEncodedFormEntity; 
     16import org.apache.http.client.methods.HttpPost; 
     17import org.apache.http.conn.params.ConnRoutePNames; 
     18import org.apache.http.impl.client.DefaultHttpClient; 
     19import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; 
     20import org.apache.http.message.BasicNameValuePair; 
     21import org.w3c.dom.Document; 
    1722 
    1823import fr.mael.jiwigo.transverse.enumeration.MethodsEnum; 
     
    5863     * the http client 
    5964     */ 
    60     private HttpClient client; 
     65    private DefaultHttpClient client; 
    6166 
    6267    /** 
     
    100105        this.password = password; 
    101106        this.url = url + "/ws.php"; 
    102         MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); 
    103         client = new HttpClient(connectionManager); 
     107        //      MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); 
     108        //      client = new HttpClient(connectionManager); 
     109        ThreadSafeClientConnManager connectionManager = new ThreadSafeClientConnManager(); 
     110        client = new DefaultHttpClient(connectionManager); 
    104111        //Using of a Linux user agent. cause... it's better 8) 
    105112        client.getParams().setParameter("http.useragent", 
     
    119126        //configures the proxy 
    120127        if (usesProxy) { 
    121             HostConfiguration config = client.getHostConfiguration(); 
    122             config.setProxy(urlProxy, portProxy); 
     128            //      HostConfiguration config = client.getHostConfiguration(); 
     129            //      config.setProxy(urlProxy, portProxy); 
    123130            if (!StringUtils.isEmpty(loginProxy) && !StringUtils.isEmpty(passProxy)) { 
    124                 Credentials credentials = new UsernamePasswordCredentials(loginProxy, passProxy); 
    125                 AuthScope authScope = new AuthScope(urlProxy, portProxy); 
    126                 client.getState().setProxyCredentials(authScope, credentials); 
     131                //              Credentials credentials = new UsernamePasswordCredentials(loginProxy, passProxy); 
     132                //              AuthScope authScope = new AuthScope(urlProxy, portProxy); 
     133                //              client.getState().setProxyCredentials(authScope, credentials); 
     134                HttpHost proxy = new HttpHost(urlProxy, portProxy); 
     135                client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); 
     136                client.getCredentialsProvider().setCredentials(new AuthScope(urlProxy, portProxy), 
     137                        new UsernamePasswordCredentials(loginProxy, passProxy)); 
     138 
    127139            } 
    128140        } 
     
    162174            } 
    163175        } 
    164         PostMethod method = new PostMethod(url); 
    165         method.addParameter("method", methode); 
     176        HttpPost method = new HttpPost(url); 
     177        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
     178        nameValuePairs.add(new BasicNameValuePair("method", methode)); 
    166179        for (int i = 0; i < parametres.length; i += 2) { 
    167             //      System.out.println(parametres[i] + " -> " + parametres[i + 1]); 
    168             method.addParameter(parametres[i], parametres[i + 1]); 
    169  
    170         } 
     180            nameValuePairs.add(new BasicNameValuePair(parametres[i], parametres[i + 1])); 
     181        } 
     182        method.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
    171183        //begin bug:0001833 
    172         method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 
     184        method.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 
    173185        //end 
    174186        try { 
    175             int test = client.executeMethod(method); 
    176             if (test == 407) { 
    177                 throw new ProxyAuthenticationException("Proxy configuration exception. Check username and password"); 
    178             } 
    179             InputStream streamResponse = method.getResponseBodyAsStream(); 
    180             //      System.out.println(Outil.readInputStreamAsString(streamResponse)); 
    181             //      String toReturn = method.getResponseBodyAsString(); 
    182             String toReturn = Tools.readInputStreamAsString(streamResponse); 
    183             LOG.debug(toReturn); 
    184             return toReturn; 
     187            HttpResponse response = client.execute(method); 
     188            if (response.getStatusLine().getStatusCode() == 407) { 
     189                throw new ProxyAuthenticationException("Error while trying to auth on the proxy"); 
     190            } 
     191            InputStream inputStream = response.getEntity().getContent(); 
     192            StringBuffer buffer = new StringBuffer(); 
     193            byte[] data = new byte[512]; 
     194            int len = 0; 
     195            try { 
     196                while (-1 != (len = inputStream.read(data))) { 
     197                    buffer.append(new String(data, 0, len)); 
     198                } 
     199            } catch (IOException e) { 
     200                e.printStackTrace(); 
     201            } 
     202            try { 
     203                inputStream.close(); 
     204            } catch (IOException e) { 
     205                e.printStackTrace(); 
     206            } 
     207            return buffer.toString(); 
    185208        } catch (IOException e) { 
    186209 
     
    203226            String returnedString = executeReturnString(methode, parametres); 
    204227            return Tools.stringToDocument(returnedString); 
    205         } catch (JDOMException e) { 
     228        } catch (Exception e) { 
    206229            // TODO Auto-generated catch block 
    207230            LOG.error(Tools.getStackTrace(e)); 
     
    220243        try { 
    221244            return Tools.stringToDocument(executeReturnString(methode)); 
    222         } catch (JDOMException e) { 
     245        } catch (Exception e) { 
    223246            // TODO Auto-generated catch block 
    224247            LOG.error(Tools.getStackTrace(e)); 
    225         } catch (IOException e) { 
    226             // TODO Auto-generated catch block 
    227             LOG.error(Tools.getStackTrace(e)); 
    228248        } 
    229249        return null; 
  • extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java

    r9893 r9902  
    2020import java.util.ArrayList; 
    2121 
     22import javax.xml.parsers.DocumentBuilder; 
     23import javax.xml.parsers.DocumentBuilderFactory; 
     24import javax.xml.parsers.ParserConfigurationException; 
     25import javax.xml.transform.Result; 
     26import javax.xml.transform.Source; 
     27import javax.xml.transform.Transformer; 
     28import javax.xml.transform.TransformerConfigurationException; 
     29import javax.xml.transform.TransformerException; 
     30import javax.xml.transform.TransformerFactory; 
     31import javax.xml.transform.dom.DOMSource; 
     32import javax.xml.transform.stream.StreamResult; 
     33 
    2234import org.apache.sanselan.Sanselan; 
    2335import org.apache.sanselan.common.IImageMetadata; 
     
    2840import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data; 
    2941import org.apache.sanselan.formats.tiff.write.TiffOutputSet; 
    30 import org.jdom.Document; 
    31 import org.jdom.JDOMException; 
    32 import org.jdom.input.SAXBuilder; 
    33 import org.jdom.output.XMLOutputter; 
     42import org.w3c.dom.Document; 
     43import org.w3c.dom.Element; 
     44import org.w3c.dom.Node; 
     45import org.xml.sax.InputSource; 
     46import org.xml.sax.SAXException; 
    3447 
    3548import fr.mael.jiwigo.transverse.exception.FileAlreadyExistsException; 
     
    8295     * @throws IOException 
    8396     */ 
    84     public static Document stringToDocument(String string) throws JDOMException, IOException { 
    85         SAXBuilder sb = new SAXBuilder(); 
    86         Document doc = sb.build(new StringReader(string)); 
    87         return doc; 
    88  
     97    public static Document stringToDocument(String xmlSource) throws SAXException, ParserConfigurationException, 
     98            IOException { 
     99        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
     100        DocumentBuilder builder = factory.newDocumentBuilder(); 
     101        return builder.parse(new InputSource(new StringReader(xmlSource))); 
    89102    } 
    90103 
     
    93106     * @param input the inputStream 
    94107     * @return the document 
     108     * @throws IOException 
     109     * @throws ParserConfigurationException 
     110     * @throws SAXException 
    95111     * @throws JDOMException 
    96112     * @throws IOException 
    97113     */ 
    98     public static Document readInputStreamAsDocument(InputStream input) throws JDOMException, IOException { 
     114    public static Document readInputStreamAsDocument(InputStream input) throws SAXException, 
     115            ParserConfigurationException, IOException { 
    99116        return stringToDocument(readInputStreamAsString(input)); 
    100117    } 
     
    105122     * @return the string 
    106123     */ 
    107     public static String documentToString(Document doc) { 
    108         return new XMLOutputter().outputString(doc); 
    109  
     124    public static String documentToString(Node node) { 
     125        try { 
     126            Source source = new DOMSource(node); 
     127            StringWriter stringWriter = new StringWriter(); 
     128            Result result = new StreamResult(stringWriter); 
     129            TransformerFactory factory = TransformerFactory.newInstance(); 
     130            Transformer transformer = factory.newTransformer(); 
     131            transformer.transform(source, result); 
     132            return stringWriter.getBuffer().toString(); 
     133        } catch (TransformerConfigurationException e) { 
     134            e.printStackTrace(); 
     135        } catch (TransformerException e) { 
     136            e.printStackTrace(); 
     137        } 
     138        return null; 
    110139    } 
    111140 
     
    193222     */ 
    194223    public static boolean checkOk(Document doc) throws FileAlreadyExistsException { 
    195         if (doc.getRootElement().getAttributeValue("stat").equals("ok")) { 
     224        if (doc.getDocumentElement().getAttribute("stat").equals("ok")) { 
    196225            return true; 
    197226        } else { 
    198             LOG.error("Resultat : " + doc.getRootElement().getAttributeValue("stat") + "\nDocument retourné : \n" 
     227            LOG.error("Resultat : " + doc.getDocumentElement().getAttribute("stat") + "\nDocument retourné : \n" 
    199228                    + Tools.documentToString(doc)); 
    200             if (doc.getRootElement().getChild("err").getAttributeValue("msg").equals("file already exists")) { 
     229            if (((Element) doc.getDocumentElement().getElementsByTagName("err").item(0)).getAttribute("msg").equals( 
     230                    "file already exists")) { 
    201231                throw new FileAlreadyExistsException("The file already exists on the server"); 
    202232            } 
     
    296326 
    297327    } 
     328 
     329    public static String getStringValueDom(Element element, String tagName) { 
     330        Element el = (Element) element.getElementsByTagName(tagName).item(0); 
     331        return el.getFirstChild().getNodeValue(); 
     332    } 
    298333} 
Note: See TracChangeset for help on using the changeset viewer.