Revision 2145 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/persistence/impl/DefaultPersistentContext.java
DefaultPersistentContext.java | ||
---|---|---|
56 | 56 |
import java.util.List; |
57 | 57 |
import java.util.Map; |
58 | 58 |
import java.util.Map.Entry; |
59 |
import org.apache.commons.lang3.mutable.MutableInt; |
|
59 | 60 |
|
60 | 61 |
import org.gvsig.tools.persistence.PersistenceFactory; |
61 | 62 |
import org.gvsig.tools.persistence.PersistenceManager; |
... | ... | |
74 | 75 |
import org.slf4j.LoggerFactory; |
75 | 76 |
|
76 | 77 |
public class DefaultPersistentContext implements PersistentContextServices { |
77 |
private static int IdentifiersCounter = 1; |
|
78 | 78 |
|
79 | 79 |
private static Logger LOG = LoggerFactory.getLogger(DefaultPersistentContext.class); |
80 | 80 |
|
... | ... | |
85 | 85 |
private boolean collectErrors; |
86 | 86 |
private PersistenceException errors; |
87 | 87 |
private boolean validated; |
88 |
private MutableInt referenceCounter; |
|
88 | 89 |
|
89 |
public DefaultPersistentContext(PersistenceManager manager) { |
|
90 |
public DefaultPersistentContext(PersistenceManager manager, MutableInt referenceCounter) {
|
|
90 | 91 |
this.manager = manager; |
91 | 92 |
this.collectErrors = false; |
92 | 93 |
this.errors = null; |
93 | 94 |
this.validated = false; |
95 |
this.referenceCounter = referenceCounter; |
|
94 | 96 |
|
95 | 97 |
// Use LinkedHashMap for predictable order when save to a file |
96 | 98 |
this.idToReference = new LinkedHashMap(); |
... | ... | |
232 | 234 |
|
233 | 235 |
@Override |
234 | 236 |
public PersistentIdentifier getNewIdentifier() { |
235 |
return new DefaultPersistentIdentifier(String.valueOf( IdentifiersCounter++));
|
|
237 |
return new DefaultPersistentIdentifier(String.valueOf(referenceCounter.getAndIncrement()));
|
|
236 | 238 |
} |
237 | 239 |
|
238 | 240 |
@Override |
Also available in: Unified diff