Changeset 9902


Ignore:
Timestamp:
Mar 27, 2011, 6:18:38 PM (13 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.