Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 46 → Rev 48

/trunk/src/org/tela_botanica/client/modeles/ImageCarnet.java
50,6 → 50,7
/**
* Surcharge de toString qui affiche toutes les propriétés de l'image
*/
public String toString()
{
String valeur = " ";
242,7 → 243,7
*/
public String[][] getMetadonnesIptc() {
String[][] metaIptc = new String[12][2] ;
String[][] metaIptc = new String[14][2] ;
int elem = 0 ;
for (Iterator it = this.keySet().iterator(); it.hasNext();)
278,7 → 279,7
* @return les métadonnées Exif
*/
public String[][] getMetadonnesExif() {
String[][] metaExif = new String[31][2] ;
int elem = 0 ;
/trunk/src/org/tela_botanica/client/modeles/ImageAsynchroneDAO.java
3,10 → 3,11
import java.util.Iterator;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.image.ImageModele;
 
import com.google.gwt.user.client.HTTPRequest;
import com.google.gwt.user.client.ResponseTextHandler;
import com.google.gwt.user.client.Window;
import com.gwtext.client.widgets.Window;
 
/**
* DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la lecture des images
16,6 → 17,18
*/
public class ImageAsynchroneDAO {
 
ImageModele iModele = null ;
public ImageAsynchroneDAO(ImageModele im)
{
iModele = im ;
}
public void setIModele(ImageModele im)
{
iModele = im ;
}
/**
* Met à jour la base de données avec toutes les données d'une image
* @param ic l'image à mettre à jour
35,10 → 48,17
}
 
// et on envoie une requête asynchrone
HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {
public void onCompletion(String responseText) {
//TODO: ajouter une vérification de la mise à jour
if(responseText.equals("OK"))
{
return ;
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
}
}
59,10 → 79,17
postData += "&ci_id_image="+id+"&ci_meta_mots_cles="+motsCles ;
 
// on envoie une requête asynchrone
HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {
public void onCompletion(String responseText) {
//TODO: ajouter une vérification de la mise à jour
if(responseText.equals("OK"))
{
return ;
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des mots clés") ;
}
}
80,10 → 107,17
postData += "&action=DELETE" ;
// on envoie un post avec l'id de l'image à supprimer
HTTPRequest.asyncPost("jrest/inventoryImage/0/"+ic.getId(), postData, new ResponseTextHandler() {
HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/"+ic.getId(), postData, new ResponseTextHandler() {
public void onCompletion(String responseText) {
//TODO: ajouter une vérification de la mise à jour
if(responseText.equals("OK"))
{
return ;
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la suppression des images ") ;
}
}
}) ;
/trunk/src/org/tela_botanica/client/modeles/ListeImageCarnet.java
1,7 → 1,6
package org.tela_botanica.client.modeles;
 
import java.util.HashMap;
import java.util.Vector;
 
/**
* table de hachage composée d'ImageCarnet, renvoyé par les objets de type DAO
/trunk/src/org/tela_botanica/client/modeles/ListeImageAsynchroneDAO.java
2,7 → 2,6
 
import java.util.Iterator;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.image.ImageModele;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
9,17 → 8,9
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.HTTPRequest;
import com.google.gwt.user.client.ResponseTextHandler;
import com.google.gwt.user.client.Window;
import com.gwtext.client.data.ArrayReader;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.MemoryProxy;
import com.gwtext.client.data.RecordDef;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
 
/**
* Data Object Access communiquant avec le serveur jrest fournissant la liste des images
34,6 → 25,11
*/
ImageModele iModele = null ;
public ListeImageAsynchroneDAO(ImageModele im)
{
iModele = im ;
}
/**
* Setteur pour le modèle
* @param im le modèle à associer
71,7 → 67,7
}
// on envoie le get asynchrone
HTTPRequest.asyncGet("jrest/InventoryImageList/0/"+requete, new ResponseTextHandler() {
HTTPRequest.asyncGet("jrest/InventoryImageList/"+iModele.getIdentifiant()+"/"+requete, new ResponseTextHandler() {
// si tout se passe bien on reçoit une réponse JSON
public void onCompletion(String responseText) {
148,10 → 144,17
}
// on fait un post asynchrone et on les envoie à jrest
HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {
public void onCompletion(String responseText) {
//TODO: vérifier mieux le succès del a requête
if(responseText.equals("OK"))
{
return ;
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
}
}
/trunk/src/org/tela_botanica/client/modeles/NombreImageAsynchroneDAO.java
1,18 → 1,13
package org.tela_botanica.client.modeles;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.image.ImageModele;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.HTTPRequest;
import com.google.gwt.user.client.ResponseTextHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Image;
 
/**
* DAO qui renvoie le nombre d'image associées à différents critères donnés (utile pour la pagination)
26,6 → 21,11
*/
private ImageModele iModele = null ;
public NombreImageAsynchroneDAO(ImageModele im)
{
iModele = im ;
}
/**
* Setteur pour le modèle
* @param im le modèlme à associer
77,7 → 77,7
// qui contient une valeur : le nombre d'images correspondant au critères
JSONValue res = responseValue.isArray().get(0) ;
JSONString reponseNombre = res.isString() ;
int maxImages = (int)Integer.parseInt(reponseNombre.stringValue()) ;
int maxImages = Integer.parseInt(reponseNombre.stringValue()) ;
int[] nbImages = {maxImages} ;
// on le met dans un tableau d'entiers qu'on tranmset au demandeur de la mise à jour
r.rafraichir(nbImages, true) ;
/trunk/src/org/tela_botanica/client/modeles/MotsClesAsynchroneDAO.java
1,9 → 1,9
package org.tela_botanica.client.modeles;
 
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.image.ImageModele;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;
23,6 → 23,11
*/
private ImageModele iModele = null ;
public MotsClesAsynchroneDAO(ImageModele im)
{
iModele = im ;
}
/**
* Setteur pour le modèle
* @param im le modèle à associer
/trunk/src/org/tela_botanica/client/modeles/ImageUploaderAsynchroneDAO.java
1,20 → 1,13
package org.tela_botanica.client.modeles;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.image.ImageModele;
import org.tela_botanica.client.interfaces.iMediateur;
 
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.user.client.Timer;
import com.gwtext.client.core.UrlParam;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Window;
import com.gwtext.client.widgets.event.WindowListener;
import com.gwtext.client.widgets.event.WindowListenerAdapter;
import com.gwtextux.client.widgets.upload.UploadDialog;
import com.gwtextux.client.widgets.upload.UploadDialogListener;
import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
 
 
31,6 → 24,11
*/
private static ImageModele iModele ;
public ImageUploaderAsynchroneDAO(ImageModele im)
{
iModele = im ;
}
/**
* Setteur pour le modele
* @param im le modèle à associer au DAO
52,10 → 50,10
UrlParam id = new UrlParam("identifiant",iModele.getIdentifiant()) ;
UrlParam[] params = {id} ;
up.setBaseParams(params);
up.setModal(true) ;
up.addListener(new UploadDialogListenerAdapter() {
 
 
public void onClose(Panel panel) {
iModele.requeteTerminee() ;
63,8 → 61,7
});
up.show();
}
/**
73,9 → 70,12
*/
private static void appelerUploadMultiple()
{
final Window nPan = new Window("Upload multiple");
nPan.setWidth(640) ;
 
final String warning = "<p class=\"warning_upload\"> A la fin de l'envoi, veuillez fermer la fenêtre pour accéder aux images. </p>" ;
final String applet = "<applet code=\"wjhk.jupload2.JUploadApplet\" archive=\"wjhk.jupload.jar\" alt=\"\" mayscript=\"\" height=\"350\" width=\"625\">";
final String paramPostTarget = "<param name=\"postURL\" value=\"jrest/InventoryImage/\">";
final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
107,11 → 107,14
+"<input type=\"hidden\" name=\"identifiant\" value=\""+iModele.getIdentifiant()+"\">"
+"</form>" ;
 
nPan.setHtml(appelApplet+htmlForm);
nPan.setHtml(warning+appelApplet+htmlForm);
nPan.setModal(true) ;
nPan.addListener(new WindowListenerAdapter() {
 
 
public void onClose(Panel panel) {
iModele.requeteTerminee() ;