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
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