Revision 578 org.gvsig.projection.jcrs/trunk/org.gvsig.projection.jcrs/org.gvsig.projection.app.jcrs/org.gvsig.projection.app.jcrs.common/src/main/java/org/gvsig/crs/persistence/RecentCRSsPersistence.java

View differences:

RecentCRSsPersistence.java
20 20

  
21 21
import java.util.ArrayList;
22 22
import java.util.Collections;
23
import java.util.Iterator;
23 24
import java.util.List;
24 25

  
25 26
import org.gvsig.andami.PluginServices;
......
49 50
     * CrsData
50 51
     */
51 52
    public void addCrsData(CrsData crs) {
53
        //Esto es para evitar introducir un crs con errores
54
        if(crs.getAuthority()==null || crs.getCode()==0){
55
            return;
56
        }
52 57
        List crss = this.getRecentsCrsDatas();
53 58
        boolean found = false;
54 59

  
55 60
        for ( int i = 0; i < crss.size(); i++ ) {
56 61
            CrsData curcrs = (CrsData) crss.get(i);
57
            if ( curcrs.getAuthority().equals(crs.getAuthority()) && curcrs.getCode() == crs.getCode() ) {
62
            if ( crs.getAuthority().equals(curcrs.getAuthority()) && crs.getCode() == curcrs.getCode() ) {
58 63
                found = true;
59 64
                curcrs.setName(crs.getName());
60 65
                curcrs.setProperies(crs.getProperies());
......
86 91
        CrsData[] x = (CrsData[]) crss.toArray(new CrsData[crss.size()]);
87 92
        return x;
88 93
    }
89
    
94

  
90 95
    private List getRecentsCrsDatas() {
91 96
        PluginsManager manager = PluginsLocator.getManager();
92 97
        PluginServices plugin = manager.getPlugin(JCrsExtension.class);
......
97 102
            crss = new ArrayList();
98 103
            properties.setDynValue("recentCRSs", crss);
99 104
        }
105
        //Para recuperarse de un posible error en los crs recientes persistidos
106
        for (Iterator iterator = crss.iterator(); iterator.hasNext();) {
107
            CrsData crs = (CrsData) iterator.next();
108
            if(crs.getAuthority()==null){
109
                iterator.remove();
110
            }
111
        }
100 112
        return crss;
101 113
    }
102
    
114

  
103 115
}

Also available in: Unified diff