/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() ; |
64,7 → 62,6 |
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() ; |
/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();) |
/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,11 → 107,18 |
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 |