4,8 → 4,6 |
import java.util.Iterator; |
import java.util.Set; |
|
import com.google.appengine.api.memcache.MemcacheServicePb.MemcacheDeleteRequest.Item; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.xml.client.Document; |
import com.google.gwt.xml.client.Node; |
309,50 → 307,7 |
* @return les métadonnées iptc |
*/ |
public String[][] getMetadonnesIptc() { |
|
String[][] metaIptc = {{},{}}; |
|
String xml = renvoyerValeurCorrecte("meta_iptc"); |
String invalidXmlPattern = "[^" |
+ "\\u0009\\u000A\\u000D" |
+ "\\u0020-\\uD7FF" |
+ "\\uE000-\\uFFFD" |
+ "\\u10000-\\u10FFFF" |
+ "]+"; |
xml = xml.replaceAll(invalidXmlPattern, " "); |
|
//FIXME: pq ça marche pour exif et pas pour iptc ? |
try { |
Document d = XMLParser.parse(xml); |
if(d.hasChildNodes()) { |
NodeList attributs = d.getFirstChild().getChildNodes(); |
|
int taille = attributs.getLength(); |
metaIptc = new String[taille][2]; |
|
for(int i = 0; i < taille; i++) { |
if(attributs.item(i) != null) { |
XMLParser.removeWhitespace(attributs.item(i)); |
attributs.item(i).normalize(); |
metaIptc[i][0] = attributs.item(i).getNodeName(); |
if(attributs.item(i).hasChildNodes()) { |
Node valeur = attributs.item(i).getFirstChild(); |
if(valeur.getNodeType() == Node.TEXT_NODE) { |
metaIptc[i][1] = ((Text)valeur).getData(); |
} else { |
metaIptc[i][1] = ""; |
} |
} |
} |
} |
} |
|
return metaIptc; |
} catch(DOMParseException e) { |
|
} |
|
return metaIptc; |
return getMetadonneesXml("meta_iptc"); |
} |
|
/** |
361,10 → 316,14 |
* @return les métadonnées Exif |
*/ |
public String[][] getMetadonnesExif() { |
return getMetadonneesXml("meta_exif"); |
} |
|
private String[][] getMetadonneesXml(String type) { |
|
String[][] metaExif = {{},{}}; |
String[][] metadonnees = {{},{}}; |
|
String xml = renvoyerValeurCorrecte("meta_exif"); |
String xml = renvoyerValeurCorrecte(type); |
|
String invalidXmlPattern = "[^" |
+ "\\u0009\\u000A\\u000D" |
380,32 → 339,29 |
NodeList attributs = d.getFirstChild().getChildNodes(); |
|
int taille = attributs.getLength(); |
metaExif = new String[taille][2]; |
metadonnees = new String[taille][2]; |
|
for(int i = 0; i < taille; i++) { |
if(attributs.item(i) != null) { |
XMLParser.removeWhitespace(attributs.item(i)); |
attributs.item(i).normalize(); |
metaExif[i][0] = attributs.item(i).getNodeName(); |
metadonnees[i][0] = attributs.item(i).getNodeName(); |
if(attributs.item(i).hasChildNodes()) { |
Node valeur = attributs.item(i).getFirstChild(); |
if(valeur.getNodeType() == Node.TEXT_NODE) { |
metaExif[i][1] = ((Text)valeur).getData(); |
metadonnees[i][1] = ((Text)valeur).getData(); |
} else { |
metaExif[i][1] = ""; |
metadonnees[i][1] = ""; |
} |
} |
} |
} |
} |
|
return metaExif; |
} catch(DOMParseException e) { |
|
} |
|
return metaExif; |
|
return metadonnees; |
} |
|
/** |