Statistics
| Revision:

svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / gui / wms / SRSListModel.java @ 312

History | View | Annotate | Download (2.14 KB)

1
package com.iver.cit.gvsig.gui.wms;
2

    
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.HashSet;
6
import java.util.Iterator;
7

    
8
import javax.swing.AbstractListModel;
9

    
10

    
11
/**
12
 * DOCUMENT ME!
13
 *
14
 * @author Fernando Gonz?lez Cort?s
15
 */
16
public class SRSListModel extends AbstractListModel {
17
        ArrayList comunes = new ArrayList();
18
        
19
    private HashSet srsSet = new HashSet();
20
        private HashMap cuenta = new HashMap();
21
        private ArrayList nombresSRS = new ArrayList();
22

    
23
    /**
24
     * DOCUMENT ME!
25
     *
26
     * @param srs DOCUMENT ME!
27
     */
28
    public void add(String srs) {
29
            System.out.println("A?adiendo " + srs);
30
        if (!srsSet.add(srs)) {
31
            Integer i = (Integer) cuenta.get(srs);
32
            cuenta.put(srs, new Integer(i.intValue() + 1));
33
            System.out.println("Ya hab?a, llevamos " + i.intValue() + 1);
34
        } else {
35
                        nombresSRS.add(srs);
36
            cuenta.put(srs, new Integer(1));
37
                        fireContentsChanged(this, nombresSRS.size()-1,nombresSRS.size()-1);
38
        }
39
    }
40

    
41
    /**
42
     * DOCUMENT ME!
43
     *
44
     * @param srs DOCUMENT ME!
45
     */
46
    public void del(String srs) {
47
            System.out.println("Eliminando SRS: "+ srs);
48
        Integer i = (Integer) cuenta.get(srs);
49

    
50
        if (i == null) {
51
                System.out.println("Eliminando un elemento que no estaba");
52
            return;
53
        }
54

    
55
        int nuevo = i.intValue() - 1;
56

    
57
                System.out.println("quedan " + nuevo);
58
                
59
        if (nuevo == 0) {
60
            cuenta.remove(srs);
61
            srsSet.remove(srs);
62
            nombresSRS.remove(srs);
63
                        fireContentsChanged(this, 0,nombresSRS.size()-1);
64
        } else {
65
            cuenta.put(srs, new Integer(nuevo));
66
        }
67
    }
68

    
69
    /**
70
     * DOCUMENT ME!
71
     *
72
     * @return
73
     */
74
    public Iterator iterator() {
75
        return srsSet.iterator();
76
    }
77

    
78
    /**
79
     * DOCUMENT ME!
80
     *
81
     * @return
82
     */
83
    public int size() {
84
        return srsSet.size();
85
    }
86

    
87
        /**
88
         * @see javax.swing.ListModel#getSize()
89
         */
90
        public int getSize() {
91
                return nombresSRS.size();
92
        }
93

    
94
        /**
95
         * @see javax.swing.ListModel#getElementAt(int)
96
         */
97
        public Object getElementAt(int index) {
98
                return nombresSRS.get(index);
99
        }
100
}