10,18 → 10,26 |
* |
* Classe representant une image du carnet, |
* elle ne contient pas d'image à proprement parler mais |
* plutôt les informations associées ainsi que l'url distante |
* plutôt les informations associées ainsi que l'url distante. |
* C'est une table de hachage qui contient des paires propriété/valeur |
* |
*/ |
public class ImageCarnet extends HashMap { |
|
|
/** |
* Constructeur avec un objet JSON |
* @param image |
*/ |
public ImageCarnet(JSONObject image) |
{ |
// l'objet JSON est une table de hachage |
Set im = image.keySet() ; |
|
// on la parcourt pour chaque clé |
for (Iterator iterator = im.iterator(); iterator.hasNext();) { |
|
// si elle est associée à une valeur, on l'ajoute |
String key = (String) iterator.next(); |
if(image.get(key).isString() != null) |
{ |
30,6 → 38,7 |
} |
else |
{ |
// sinon on ajoute la clé avec une valeur vide |
String valeur = " " ; |
this.put(key, valeur) ; |
} |
38,6 → 47,9 |
|
} |
|
/** |
* Surcharge de toString qui affiche toutes les propriétés de l'image |
*/ |
public String toString() |
{ |
String valeur = " "; |
56,6 → 68,13 |
return valeur ; |
} |
|
/** |
* Pour éviter que l'on traite des valeurs nulles à l'affichage |
* on passe par cette fonction qui retire les charactères nuls qui font planter |
* l'affichage, il ne faut pas utiliser get directement |
* @param cle |
* @return la valeur associée à la clé |
*/ |
public String renvoyerValeurCorrecte(String cle) |
{ |
if(this.containsKey((cle))) |
63,7 → 82,7 |
String valeur = (String)this.get(cle) ; |
if(valeur.equals("null") || valeur == null) |
{ |
return "null" ; |
return " " ; |
} |
else |
{ |
75,65 → 94,114 |
} |
else |
{ |
return "null" ; |
return " " ; |
} |
} |
|
/** |
* Acesseur pour l'id de l'image |
* @return l'id de l'image |
*/ |
public String getId() { |
|
return renvoyerValeurCorrecte("ci_id_image") ; |
} |
|
/** |
* Acesseur pour le numero d'ordre de l'image |
* @return l'ordre de l'image |
*/ |
public String getOrdre() { |
|
return renvoyerValeurCorrecte("ci_ordre") ; |
} |
|
/** |
* Base de l'url serveur pour les images |
* @return url racine pour les images |
*/ |
public String getBaseUrl() |
{ |
return "http://162.38.234.9/Documents/images_serveur/" ; |
} |
|
/** |
* Renvoie le chemin et nom du fichier grand format |
* @return le chemin du fichier grand format |
*/ |
public String getUrl() { |
|
return getBaseUrl()+(String)this.get("ci_id_image")+".jpg" ; |
} |
|
/** |
* Renvoie le chemin et nom du fichier petit format |
* @return le chemin du fichier petit format |
*/ |
public String getSUrl() { |
|
return getBaseUrl()+(String)this.get("ci_id_image")+"_S.jpg" ; |
} |
|
/** |
* Renvoie le chemin et nom du fichier moyen format |
* @return le chemin du fichier moyen format |
*/ |
public String getMUrl() { |
|
return getBaseUrl()+(String)this.get("ci_id_image")+"_M.jpg" ; |
} |
|
|
|
/** |
* Renvoie la taille de l'image |
* @return un tableau de deux string contenant la hauteur puis la largeur |
*/ |
public String[] getTailleImage() |
{ |
String[] XY = { renvoyerValeurCorrecte("ci_meta_height") , renvoyerValeurCorrecte("ci_meta_width") } ; |
return XY ; |
} |
|
/** |
* Renvoie la date exif associée à l'image |
* @return la date associée à l'image |
*/ |
public String getDate() { |
|
return renvoyerValeurCorrecte("ci_meta_date_time") ; |
} |
|
|
/** |
* Renvoie la ville associée à l'image |
* @return la ville iptc |
*/ |
public Object getIptcCity() { |
|
return renvoyerValeurCorrecte("ci_meta_iptc_city") ; |
} |
|
|
/** |
* Renvoie le fabricant de l'appareil |
* @return le fabricant |
*/ |
public String getMake() { |
|
return renvoyerValeurCorrecte("ci_meta_make") ; |
} |
|
|
/** |
* Renvoie le modele de l'appareil |
* @return le modele |
*/ |
public String getModel() { |
|
return renvoyerValeurCorrecte("ci_meta_model") ; |
} |
|
/** |
* Renvoie un tableau nom / valeur de toutes les metadonnées Iptc |
* @return les métadonnées iptc |
*/ |
public String[][] getMetadonnesIptc() { |
|
String[][] metaIptc = new String[12][2] ; |
167,7 → 235,11 |
return metaIptc ; |
} |
|
public Object[][] getMetadonnesExif() { |
/** |
* Renvoie un tableau nom / valeur de toutes les metadonnées Exif |
* @return les métadonnées Exif |
*/ |
public String[][] getMetadonnesExif() { |
|
String[][] metaExif = new String[31][2] ; |
int elem = 0 ; |
201,7 → 273,11 |
|
} |
|
public Object[][] getInfoGenerales() { |
/** |
* Renvoie un tableau nom / valeur contenant les infos générales |
* @return les infos générales |
*/ |
public String[][] getInfoGenerales() { |
|
String[][] metaGen = new String[2][2] ; |
|
214,11 → 290,20 |
return metaGen ; |
} |
|
/** |
* Renvoie une string contenant les mots clés séparés par des ',' |
* @return les mots clés |
*/ |
public String getMotsCles() { |
|
return renvoyerValeurCorrecte("ci_meta_mots_cles") ; |
} |
|
/** |
* Met à jour le commenentaire et la date |
* @param commentaires le nouveau commentaire |
* @param date la nouvelle date |
*/ |
public void miseAJourInfoGenerales(String commentaires, String date) |
{ |
put("ci_meta_comment",commentaires) ; |
225,7 → 310,11 |
|
put("ci_meta_date",date) ; |
} |
|
|
/** |
* Met à jour les mots clés |
* @param motsClesEnCours la liste de mots clés séparés par des ',' |
*/ |
public void mettreAjourMotsCles(String motsClesEnCours) { |
|
put("ci_meta_mots_cles",motsClesEnCours) ; |