Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 18 | Rev 20 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7 aperonnet 1
package org.tela_botanica.client.image;
2
 
16 aperonnet 3
import java.util.Iterator;
4
 
7 aperonnet 5
import org.tela_botanica.client.interfaces.Rafraichissable;
19 aperonnet 6
import org.tela_botanica.client.modeles.ImageAsynchroneDAO;
16 aperonnet 7
import org.tela_botanica.client.modeles.ImageCarnet;
12 aperonnet 8
import org.tela_botanica.client.modeles.ImageUploaderAsynchroneDAO;
19 aperonnet 9
import org.tela_botanica.client.modeles.ListeImageCarnet;
7 aperonnet 10
import org.tela_botanica.client.modeles.ListeImageAsynchroneDAO;
11
 
12 aperonnet 12
/**
13
 * Modèle d'accès aux données pour les images.
14
 * C'est un singleton
15
 * @author aurelien
16
 *
17
 */
7 aperonnet 18
public class ImageModele {
19
 
12 aperonnet 20
	private static boolean estInstancie = false ;
21
 
7 aperonnet 22
	private ImageMediateur iMediateur = null ;
23
 
19 aperonnet 24
	private ListeImageCarnet cacheImage = new ListeImageCarnet(0) ;
16 aperonnet 25
 
12 aperonnet 26
	static ImageModele Instance(ImageMediateur im)
27
	{
28
		if(!estInstancie)
29
		{
30
			return new ImageModele(im);
31
		}
32
		else
33
		{
34
			return null ;
35
		}
36
	}
37
 
38
	private ImageModele(ImageMediateur im) {
7 aperonnet 39
 
40
		iMediateur = im ;
41
	}
42
 
18 aperonnet 43
	public ImageMediateur getIMediateur()
44
	{
45
		return iMediateur ;
46
	}
47
 
7 aperonnet 48
	public void obtenirPhotoGalerie(Rafraichissable r)
49
	{
50
		ListeImageAsynchroneDAO liaDAO = new ListeImageAsynchroneDAO();
51
		liaDAO.ObtenirListeImages(r);
52
	}
12 aperonnet 53
 
54
	public void uploaderImages()
55
	{
18 aperonnet 56
		ImageUploaderAsynchroneDAO IuADaO = new ImageUploaderAsynchroneDAO() ;
57
		IuADaO.setIMediateur(getIMediateur());
58
		IuADaO.choisirMethodeUpload() ;
12 aperonnet 59
	}
16 aperonnet 60
 
61
	public void rafraichirListeImage(Object o)
62
	{
19 aperonnet 63
		cacheImage = (ListeImageCarnet)o ;
16 aperonnet 64
	}
65
 
66
	public void obtenirMetadonnees(Rafraichissable r, String id)
67
	{
68
 
18 aperonnet 69
		for(Iterator it = cacheImage.keySet().iterator() ; it.hasNext() ;)
16 aperonnet 70
		{
18 aperonnet 71
			ImageCarnet im = (ImageCarnet)cacheImage.get(it.next()) ;
16 aperonnet 72
 
73
			if(im.getOrdre().equals(id))
74
			{
75
 
18 aperonnet 76
				Object meta[] = new Object[3] ;
16 aperonnet 77
				meta[0] = im.getMetadonnesExif() ;
78
				meta[1] = im.getMetadonnesIptc() ;
18 aperonnet 79
				meta[2] = im.getInfoGenerales() ;
16 aperonnet 80
 
81
				r.rafraichir(meta,false) ;
82
			}
83
		}
84
 
85
	}
18 aperonnet 86
 
87
	public void mettreAJourCacheImage(String commentaires, String date, String ids[])
88
	{
89
			for (int i = 0; i < ids.length; i++) {
90
 
91
				String key = ids[i] ;
92
 
93
				ImageCarnet ic = (ImageCarnet)cacheImage.get(key) ;
94
				ic.miseAJourInfoGenerales(commentaires, date) ;
19 aperonnet 95
				mettreAjourImageCarnet(ic) ;
96
 
18 aperonnet 97
			}
98
	}
19 aperonnet 99
 
100
	public void mettreAJourBaseDeDonnees()
101
	{
102
		ListeImageAsynchroneDAO liDaO = new ListeImageAsynchroneDAO();
103
		liDaO.setIMediateur(iMediateur);
104
 
105
		liDaO.SynchroniserBaseDeDonnees(cacheImage);
106
	}
107
 
108
	public void mettreAjourImageCarnet(ImageCarnet ic)
109
	{
110
		ImageAsynchroneDAO iaDaO = new ImageAsynchroneDAO();
111
		iaDaO.setIMediateur(iMediateur);
112
		iaDaO.SynchroniserBaseDeDonnees(ic) ;
113
	}
7 aperonnet 114
 
115
}