Revision 5073

View differences:

org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.api/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspaceChanges.java
24 24
import java.util.Iterator;
25 25
import java.util.List;
26 26
import java.util.function.Predicate;
27
import org.gvsig.tools.dispose.Disposable;
27 28
import org.gvsig.tools.swing.api.ChangeListenerSupport;
28 29
import org.gvsig.tools.util.GetItemWithSize64;
29 30
import org.gvsig.vcsgis.lib.VCSGisEntity;
......
33 34
 * @author gvSIG Team
34 35
 * @param <CHANGE>
35 36
 */
36
public interface VCSGisWorkspaceChanges<CHANGE> extends GetItemWithSize64<CHANGE>, ChangeListenerSupport {
37
public interface VCSGisWorkspaceChanges<CHANGE> extends GetItemWithSize64<CHANGE>, ChangeListenerSupport, Disposable{
37 38

  
38 39
    public void addSelectionInterval(long start, long end);
39 40

  
org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/pom.xml
83 83
        </dependency>-->
84 84
        <dependency>
85 85
            <groupId>org.gvsig</groupId>
86
            <artifactId>org.gvsig.tools.lib</artifactId>
87
            <scope>test</scope>
88
            <type>test-jar</type>
89
        </dependency>
90
        <dependency>
91
            <groupId>org.gvsig</groupId>
86 92
            <artifactId>org.gvsig.tools.util.impl</artifactId>
87 93
            <scope>test</scope>
88 94
        </dependency>
org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/test/java/org/gvsig/vcsgis/lib/impl/h2spatial/Test08Update.java
1 1
package org.gvsig.vcsgis.lib.impl.h2spatial;
2 2

  
3
import org.gvsig.vcsgis.lib.impl.AbstractTest02Initws;
4 3
import org.gvsig.vcsgis.lib.impl.AbstractTest08Update;
5 4
import org.gvsig.vcsgis.lib.impl.AbstractTestUtils;
6 5

  
org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/test/java/org/gvsig/vcsgis/lib/impl/AbstractTest08Update.java
3 3
import java.io.File;
4 4
import java.util.List;
5 5
import java.util.Locale;
6
import static junit.framework.Assert.assertNotNull;
7
import static junit.framework.Assert.assertTrue;
6 8
import junit.framework.TestCase;
7 9
import static junit.framework.TestCase.assertEquals;
8 10
import org.apache.commons.io.FileUtils;
......
14 16
import org.gvsig.fmap.dal.feature.FeatureStore;
15 17
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
16 18
import org.gvsig.tools.dispose.DisposeUtils;
19
import org.gvsig.tools.junit.AbstractCheckDisposablesTestCase;
17 20
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
18 21
import org.gvsig.vcsgis.lib.SequentialCodeGenerator;
19 22
import org.gvsig.vcsgis.lib.VCSGisLocator;
......
30 33
import org.slf4j.Logger;
31 34
import org.slf4j.LoggerFactory;
32 35

  
33
public abstract class AbstractTest08Update extends TestCase {
36
public abstract class AbstractTest08Update extends AbstractCheckDisposablesTestCase {
34 37

  
35 38
    protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractTest08Update.class);
36 39

  
......
45 48
    @Override
46 49
    protected void setUp() throws Exception {
47 50
        super.setUp();
48
        new DefaultLibrariesInitializer().fullInitialize();
49 51
    }
50 52

  
51 53
    @Override
......
59 61
    // public void testHello() {}
60 62

  
61 63
    protected void testUpdate1() throws Exception {
62
        utils().disposablesCheck_init();            
63 64
        
64 65
        utils().cleanRepositoryDatabase();
65 66
        
......
328 329
        repo.dispose();
329 330
        server.dispose();
330 331
        manager.clean();
331
        utils().disposablesCheck_test();            
332 332
    }
333 333

  
334 334

  
......
364 364

  
365 365
    protected void testUpdate2() throws Exception {
366 366
        try {
367
            utils().disposablesCheck_init();            
368
            
369 367
            utils().cleanRepositoryDatabase();
370 368

  
371 369
            VCSGisManager manager = VCSGisLocator.getVCSGisManager();
......
600 598
            repo.dispose();
601 599
            server.dispose();
602 600
            manager.clean();
603
            utils().disposablesCheck_test();            
604 601
        } catch (Exception e) {
605 602
            LOGGER.warn("", e);
606 603
            throw e;
org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/test/java/org/gvsig/vcsgis/lib/impl/AbstractTest09CommitOutdated.java
12 12
import org.gvsig.fmap.dal.feature.FeatureStore;
13 13
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
14 14
import org.gvsig.tools.dispose.DisposeUtils;
15
import org.gvsig.tools.junit.AbstractCheckDisposablesTestCase;
15 16
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
16 17
import org.gvsig.vcsgis.lib.SequentialCodeGenerator;
17 18
import org.gvsig.vcsgis.lib.VCSGisLocator;
......
26 27
import org.slf4j.Logger;
27 28
import org.slf4j.LoggerFactory;
28 29

  
29
public abstract class AbstractTest09CommitOutdated extends TestCase {
30
public abstract class AbstractTest09CommitOutdated extends AbstractCheckDisposablesTestCase {
30 31

  
31 32
    protected static final Logger LOGGER = LoggerFactory.getLogger(AbstractTest09CommitOutdated.class);
32 33

  
......
36 37

  
37 38
    public AbstractTest09CommitOutdated(String testName) {
38 39
        super(testName);
40
        showDisposablesAtFinish = true;
39 41
    }
40 42

  
41 43
    @Override
42 44
    protected void setUp() throws Exception {
43 45
        super.setUp();
44
        new DefaultLibrariesInitializer().fullInitialize();
45 46
    }
46 47

  
47 48
    @Override
......
124 125
        assertEquals(3    , features.get(2).getInt("id"));
125 126
        assertEquals("CCC", features.get(2).getString("text"));
126 127
        
128
        DisposeUtils.disposeQuietly(features);
127 129
        DisposeUtils.disposeQuietly(store2);
128 130
        
129 131
        // ------------------------------------------------------------
......
175 177
        entity = ws2.getWorkspaceEntityByName("test");
176 178
        assertEquals("State must be local modified", STATE_LOCAL_MODIFIED, entity.getState());
177 179

  
178
        DisposeUtils.disposeQuietly(store2);
180
        DisposeUtils.disposeQuietly(ws1);
181
        DisposeUtils.disposeQuietly(ws2);
182
        DisposeUtils.disposeQuietly(server);
183
        DisposeUtils.disposeQuietly(repo);
179 184

  
180 185
        
181 186
    }
187

  
188
    @Override
189
    protected void disposablesCheck_init() {
190
//        super.disposablesCheck_init(); //To change body of generated methods, choose Tools | Templates.
191
    }
192

  
193
    @Override
194
    protected void disposablesCheck_test() {
195
//        super.disposablesCheck_test(); //To change body of generated methods, choose Tools | Templates.
196
    }
197
    
198
    
182 199
}
org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/java/org/gvsig/vcsgis/lib/workspace/VCSGisWorkspaceImpl.java
1656 1656
            }
1657 1657
        }
1658 1658
        RemoteChangesTable changesTable = new RemoteChangesTable();
1659
        ChangesImpl changes = new ChangesImpl<RemoteChangeRow>(changesTable.getByEntityCode(this, entityCodes), RemoteChangesTable.SELECTED) {
1659
        GetItemWithSize64<Feature> changesByEntity = changesTable.getByEntityCode(this, entityCodes);
1660
        ChangesImpl changes = new ChangesImpl<RemoteChangeRow>(changesByEntity, RemoteChangesTable.SELECTED) {
1660 1661
            @Override
1661 1662
            protected RemoteChangeRow createChange(Feature f) {
1662 1663
                return new RemoteChangeRow(VCSGisWorkspaceImpl.this, f);
......
1668 1669
            }
1669 1670

  
1670 1671
        };
1672
        DisposeUtils.disposeQuietly(changesByEntity);
1671 1673
        return changes;
1672 1674
    }
1673 1675

  
org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.lib/org.gvsig.vcsgis.lib.impl/src/main/java/org/gvsig/vcsgis/lib/workspace/ChangesImpl.java
31 31
import org.gvsig.fmap.dal.feature.FeatureStore;
32 32
import org.gvsig.fmap.dal.feature.paging.FeaturePagingHelper;
33 33
import org.gvsig.tools.ToolsLocator;
34
import org.gvsig.tools.dispose.DisposeUtils;
35
import org.gvsig.tools.dispose.impl.AbstractDisposable;
34 36
import org.gvsig.tools.exception.BaseException;
35 37
import org.gvsig.tools.swing.api.ChangeListenerHelper;
36 38
import org.gvsig.tools.swing.api.ToolsSwingLocator;
......
48 50
 * @param <CHANGE>
49 51
 */
50 52
@SuppressWarnings("UseSpecificCatch")
51
public abstract class ChangesImpl<CHANGE extends VCSGisChange> implements VCSGisWorkspaceChanges<CHANGE> {
53
public abstract class ChangesImpl<CHANGE extends VCSGisChange> extends AbstractDisposable implements VCSGisWorkspaceChanges<CHANGE> {
52 54
    
53 55
    private static final Logger LOGGER = LoggerFactory.getLogger(ChangesImpl.class);
54 56
    
......
57 59
    private final String selectedFieldName;
58 60

  
59 61
    public ChangesImpl(GetItemWithSize64<Feature> changes, String selectedFieldName) {
62
        super();
60 63
        this.changes = (FeaturePagingHelper) changes;
64
        DisposeUtils.bind(this.changes);
61 65
        this.changeListernerHelper = ToolsSwingLocator.getToolsSwingManager().createChangeListenerHelper();
62 66
        this.selectedFieldName = selectedFieldName;
63 67
        
......
325 329
    public boolean hasChangeListeners() {
326 330
        return changeListernerHelper.hasChangeListeners();
327 331
    }
332

  
333
    @Override
334
    protected void doDispose() throws BaseException {
335
        DisposeUtils.disposeQuietly(this.changes);
336
    }
337

  
328 338
    
329 339
    
330
    
331 340
}

Also available in: Unified diff