Changeset 9902
- Timestamp:
- Mar 27, 2011, 6:18:38 PM (13 years ago)
- Location:
- extensions/jiwigo-ws-api
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/jiwigo-ws-api/.classpath
r9392 r9902 8 8 <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/> 9 9 <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"/> 12 11 <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar"/> 13 12 <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"/> 15 15 <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar"/> 16 16 <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar"/> … … 18 18 <classpathentry kind="var" path="M2_REPO/com/drew/metadata-extractor/2.3.1/metadata-extractor-2.3.1.jar"/> 19 19 <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"/> 21 21 </classpath> -
extensions/jiwigo-ws-api/.project
r9392 r9902 1 <?xml version="1.0" encoding="UTF-8"?> 1 2 <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> 17 23 </projectDescription> -
extensions/jiwigo-ws-api/pom.xml
r9879 r9902 3 3 <groupId>fr.mael.jiwigo</groupId> 4 4 <artifactId>jiwigo-ws-api</artifactId> 5 <version>0. 13.1.2</version>5 <version>0.2b</version> 6 6 7 7 … … 11 11 12 12 <dependency> 13 <groupId>org.jdom</groupId>14 <artifactId>jdom</artifactId>15 <version>1.1</version>16 </dependency>17 <dependency>18 13 <groupId>commons-lang</groupId> 19 14 <artifactId>commons-lang</artifactId> … … 21 16 </dependency> 22 17 <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> 26 21 </dependency> 27 22 <dependency> -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CategoryDao.java
r9893 r9902 5 5 import java.util.List; 6 6 7 import org.jdom.Document; 8 import org.jdom.Element; 7 import org.w3c.dom.Document; 8 import org.w3c.dom.Element; 9 import org.w3c.dom.Node; 10 import org.w3c.dom.NodeList; 9 11 10 12 import fr.mael.jiwigo.om.Category; … … 72 74 Document doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_CATEGORIES.getLabel(), "recursive", 73 75 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"); 76 78 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 } 90 96 } 97 myCat.setIdParentCategories(idCategoriesMeres); 98 categories.add(myCat); 91 99 } 92 myCat.setIdParentCategories(idCategoriesMeres);93 categories.add(myCat);94 100 } 95 101 return categories; -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CommentDao.java
r9893 r9902 5 5 import java.util.List; 6 6 7 import org.jdom.Document; 8 import org.jdom.Element; 7 import org.w3c.dom.Document; 8 import org.w3c.dom.Element; 9 import org.w3c.dom.Node; 10 import org.w3c.dom.NodeList; 9 11 10 12 import fr.mael.jiwigo.om.Comment; … … 72 74 Document doc = (sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String 73 75 .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"); 76 79 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 } 84 91 } 85 92 return comments; … … 96 103 Document doc = (sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String 97 104 .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"); 100 109 } 101 110 -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/ImageDao.java
r9893 r9902 8 8 import java.util.List; 9 9 10 import org.jdom.Document; 11 import org.jdom.Element; 10 import org.w3c.dom.Document; 11 import org.w3c.dom.Element; 12 import org.w3c.dom.Node; 13 import org.w3c.dom.NodeList; 12 14 13 15 import sun.misc.BASE64Encoder; … … 103 105 if (refresh || cache.get(categoryId) == null) { 104 106 Document doc = null; 105 106 107 if (categoryId != null) { 107 108 doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel(), "cat_id", String … … 110 111 doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel()); 111 112 } 112 Element element = doc.getRootElement().getChild("images");113 Element element = (Element) doc.getDocumentElement().getElementsByTagName("images").item(0); 113 114 List<Image> images = getImagesFromElement(element); 114 115 cache.remove(categoryId); … … 222 223 */ 223 224 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"); 225 227 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 } 242 249 } 243 250 return images; … … 254 261 Document doc = sessionManager.executeReturnDocument(MethodsEnum.SEARCH.getLabel(), "query", searchString); 255 262 LOG.debug(doc); 256 Element element = doc.getRootElement().getChild("images");263 Element element = (Element) doc.getDocumentElement().getElementsByTagName("images").item(0); 257 264 return getImagesFromElement(element); 258 265 -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/TagDao.java
r9893 r9902 5 5 import java.util.List; 6 6 7 import org.jdom.Document; 8 import org.jdom.Element; 7 import org.w3c.dom.Document; 8 import org.w3c.dom.Element; 9 import org.w3c.dom.Node; 10 import org.w3c.dom.NodeList; 9 11 10 12 import fr.mael.jiwigo.om.Image; … … 71 73 Document doc = sessionManager.executeReturnDocument(MethodsEnum.TAGS_ADMIN_LIST.getLabel()); 72 74 // System.out.println(Outil.documentToString(doc)); 73 return getTagsFromDocument(doc.getRootElement().getChild("tags")); 75 76 return getTagsFromDocument((Element) doc.getDocumentElement().getElementsByTagName("tags")); 74 77 75 78 } … … 81 84 */ 82 85 private List<Tag> getTagsFromDocument(Element element) { 86 NodeList listTags = element.getElementsByTagName("tag"); 83 87 84 List<Element> listElement = (List<Element>) element.getChildren("tag");88 // List<Element> listElement = (List<Element>) element.getChildren("tag"); 85 89 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 } 91 99 } 92 100 return tags; … … 122 130 Document doc = sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String 123 131 .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); 125 135 } 126 136 -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Category.java
r9879 r9902 3 3 import java.util.ArrayList; 4 4 5 import org. jdom.Element;5 import org.w3c.dom.Element; 6 6 7 7 /* -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java
r9879 r9902 4 4 import java.io.InputStream; 5 5 import 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; 6 import java.util.ArrayList; 7 import java.util.List; 8 14 9 import org.apache.commons.lang.StringUtils; 15 import org.jdom.Document; 16 import org.jdom.JDOMException; 10 import org.apache.http.HttpHost; 11 import org.apache.http.HttpResponse; 12 import org.apache.http.NameValuePair; 13 import org.apache.http.auth.AuthScope; 14 import org.apache.http.auth.UsernamePasswordCredentials; 15 import org.apache.http.client.entity.UrlEncodedFormEntity; 16 import org.apache.http.client.methods.HttpPost; 17 import org.apache.http.conn.params.ConnRoutePNames; 18 import org.apache.http.impl.client.DefaultHttpClient; 19 import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; 20 import org.apache.http.message.BasicNameValuePair; 21 import org.w3c.dom.Document; 17 22 18 23 import fr.mael.jiwigo.transverse.enumeration.MethodsEnum; … … 58 63 * the http client 59 64 */ 60 private HttpClient client;65 private DefaultHttpClient client; 61 66 62 67 /** … … 100 105 this.password = password; 101 106 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); 104 111 //Using of a Linux user agent. cause... it's better 8) 105 112 client.getParams().setParameter("http.useragent", … … 119 126 //configures the proxy 120 127 if (usesProxy) { 121 HostConfiguration config = client.getHostConfiguration();122 config.setProxy(urlProxy, portProxy);128 // HostConfiguration config = client.getHostConfiguration(); 129 // config.setProxy(urlProxy, portProxy); 123 130 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 127 139 } 128 140 } … … 162 174 } 163 175 } 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)); 166 179 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)); 171 183 //begin bug:0001833 172 method.set RequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");184 method.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 173 185 //end 174 186 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(); 185 208 } catch (IOException e) { 186 209 … … 203 226 String returnedString = executeReturnString(methode, parametres); 204 227 return Tools.stringToDocument(returnedString); 205 } catch ( JDOMException e) {228 } catch (Exception e) { 206 229 // TODO Auto-generated catch block 207 230 LOG.error(Tools.getStackTrace(e)); … … 220 243 try { 221 244 return Tools.stringToDocument(executeReturnString(methode)); 222 } catch ( JDOMException e) {245 } catch (Exception e) { 223 246 // TODO Auto-generated catch block 224 247 LOG.error(Tools.getStackTrace(e)); 225 } catch (IOException e) {226 // TODO Auto-generated catch block227 LOG.error(Tools.getStackTrace(e));228 248 } 229 249 return null; -
extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java
r9893 r9902 20 20 import java.util.ArrayList; 21 21 22 import javax.xml.parsers.DocumentBuilder; 23 import javax.xml.parsers.DocumentBuilderFactory; 24 import javax.xml.parsers.ParserConfigurationException; 25 import javax.xml.transform.Result; 26 import javax.xml.transform.Source; 27 import javax.xml.transform.Transformer; 28 import javax.xml.transform.TransformerConfigurationException; 29 import javax.xml.transform.TransformerException; 30 import javax.xml.transform.TransformerFactory; 31 import javax.xml.transform.dom.DOMSource; 32 import javax.xml.transform.stream.StreamResult; 33 22 34 import org.apache.sanselan.Sanselan; 23 35 import org.apache.sanselan.common.IImageMetadata; … … 28 40 import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data; 29 41 import 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; 42 import org.w3c.dom.Document; 43 import org.w3c.dom.Element; 44 import org.w3c.dom.Node; 45 import org.xml.sax.InputSource; 46 import org.xml.sax.SAXException; 34 47 35 48 import fr.mael.jiwigo.transverse.exception.FileAlreadyExistsException; … … 82 95 * @throws IOException 83 96 */ 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))); 89 102 } 90 103 … … 93 106 * @param input the inputStream 94 107 * @return the document 108 * @throws IOException 109 * @throws ParserConfigurationException 110 * @throws SAXException 95 111 * @throws JDOMException 96 112 * @throws IOException 97 113 */ 98 public static Document readInputStreamAsDocument(InputStream input) throws JDOMException, IOException { 114 public static Document readInputStreamAsDocument(InputStream input) throws SAXException, 115 ParserConfigurationException, IOException { 99 116 return stringToDocument(readInputStreamAsString(input)); 100 117 } … … 105 122 * @return the string 106 123 */ 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; 110 139 } 111 140 … … 193 222 */ 194 223 public static boolean checkOk(Document doc) throws FileAlreadyExistsException { 195 if (doc.get RootElement().getAttributeValue("stat").equals("ok")) {224 if (doc.getDocumentElement().getAttribute("stat").equals("ok")) { 196 225 return true; 197 226 } else { 198 LOG.error("Resultat : " + doc.get RootElement().getAttributeValue("stat") + "\nDocument retourné : \n"227 LOG.error("Resultat : " + doc.getDocumentElement().getAttribute("stat") + "\nDocument retourné : \n" 199 228 + 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")) { 201 231 throw new FileAlreadyExistsException("The file already exists on the server"); 202 232 } … … 296 326 297 327 } 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 } 298 333 }
Note: See TracChangeset
for help on using the changeset viewer.