Revision 2145 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/persistence/impl/DefaultPersistentContext.java

View differences:

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