Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.h2spatial / org.gvsig.h2spatial.h2gis132 / org.gvsig.h2spatial.h2gis132.app / org.gvsig.h2spatial.h2gis132.app.mainplugin / src / main / java / org / gvsig / h2spatial / ShutdownCompact.java @ 46542

History | View | Annotate | Download (2.8 KB)

1
package org.gvsig.h2spatial;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5
import javax.swing.JComboBox;
6
import org.apache.commons.lang3.StringUtils;
7
import org.gvsig.fmap.dal.DALLocator;
8
import org.gvsig.fmap.dal.DataManager;
9
import org.gvsig.fmap.dal.DataServerExplorerParameters;
10
import org.gvsig.fmap.dal.DataServerExplorerPool;
11
import org.gvsig.fmap.dal.DataServerExplorerPoolEntry;
12
import org.gvsig.fmap.dal.DataStore;
13
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorer;
14
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParametersBase;
15
import org.gvsig.tools.util.LabeledValue;
16
import org.gvsig.tools.util.LabeledValueImpl;
17
import org.slf4j.Logger;
18
import org.slf4j.LoggerFactory;
19

    
20
/**
21
 *
22
 * @author jjdelcerro
23
 */
24
public class ShutdownCompact extends ShutdownCompactView {
25

    
26
    private static Logger LOGGER = LoggerFactory.getLogger(ShutdownCompact.class);
27
    
28
    public ShutdownCompact() {
29
        this.initComponents();
30
    }
31

    
32
    private void initComponents() {
33
        fillConnections(cboCconnections);
34
    }
35

    
36
    private void fillConnections(JComboBox combo) {
37
        DataManager dataManager = DALLocator.getDataManager();
38
        DataServerExplorerPool pool = dataManager.getDataServerExplorerPool();
39

    
40
        DataServerExplorerParameters params;
41
        combo.removeAllItems();
42

    
43
        List<DataServerExplorerPoolEntry> entries = new ArrayList<>();
44
        pool.iterator().forEachRemaining((DataServerExplorerPoolEntry e) -> {
45
            entries.add(e);
46
        });
47
        entries.sort((DataServerExplorerPoolEntry o1, DataServerExplorerPoolEntry o2) -> {
48
            return StringUtils.compare(o1.getName(), o2.getName());
49
        });
50

    
51
        for (DataServerExplorerPoolEntry entry : entries) {
52
            if (StringUtils.equalsIgnoreCase(DataStore.H2SPATIAL_PROVIDER_NAME, entry.getExplorerParameters().getProviderName())) {
53
                JDBCServerExplorerParametersBase dbParams = (JDBCServerExplorerParametersBase) entry.getExplorerParameters();
54
                combo.addItem(
55
                        new LabeledValueImpl<>(entry.getName(), dbParams)
56
                );
57
            }
58
        }
59
        combo.setSelectedIndex(-1);
60
    }
61

    
62
    public void shutdownAndCompact() {
63
        LabeledValue<JDBCServerExplorerParametersBase> value = (LabeledValue<JDBCServerExplorerParametersBase>) this.cboCconnections.getSelectedItem();
64
        if (value == null) {
65
            return;
66
        }
67
        try {
68
            DataManager dataManager = DALLocator.getManager();
69
            JDBCServerExplorer server = (JDBCServerExplorer) dataManager.openServerExplorer(
70
                    DataStore.H2SPATIAL_PROVIDER_NAME, 
71
                    value.getValue()
72
            );
73
            server.execute("!SHUTDOWN");
74
        } catch (Exception ex) {
75
            LOGGER.warn("Can't shutdown/compact database",ex);
76
        }
77

    
78
    }
79
}