Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.app.document.table.app / org.gvsig.app.document.table.app.mainplugin / src / main / java / org / gvsig / app / extension / CreateDefaultFormDefinitionExtension.java @ 42775

History | View | Annotate | Download (2.74 KB)

1
package org.gvsig.app.extension;
2

    
3
import javax.swing.JOptionPane;
4
import org.slf4j.Logger;
5
import org.slf4j.LoggerFactory;
6

    
7
import org.gvsig.andami.plugins.Extension;
8
import org.gvsig.app.ApplicationLocator;
9
import org.gvsig.app.ApplicationManager;
10
import org.gvsig.app.project.documents.table.TableDocument;
11
import org.gvsig.app.project.documents.table.TableManager;
12
import org.gvsig.fmap.dal.DALLocator;
13
import org.gvsig.fmap.dal.feature.FeatureStore;
14
import org.gvsig.fmap.dal.feature.FeatureType;
15
import org.gvsig.fmap.dal.feature.FeatureTypeDefinitionsManager;
16

    
17
/**
18
 *
19
 * @author jjdelcerro
20
 */
21
public class CreateDefaultFormDefinitionExtension extends Extension {
22

    
23
    private static final Logger logger = LoggerFactory.getLogger(CreateDefaultFormDefinitionExtension.class);
24

    
25
    @Override
26
    public void initialize() {
27
    }
28

    
29
    @Override
30
    public void execute(String actionCommand) {
31
        if ("table-create-default-form-definition".equalsIgnoreCase(actionCommand)) {
32
            ApplicationManager application = ApplicationLocator.getManager();
33
            TableDocument tableDoc = (TableDocument) application.getActiveDocument(TableManager.TYPENAME);
34
            if (tableDoc == null) {
35
                return;
36
            }
37
            FeatureTypeDefinitionsManager featureTypeDefinitionsManager = DALLocator.getFeatureTypeDefinitionsManager();
38
            try {
39
                FeatureStore store = tableDoc.getFeatureStore();
40
                FeatureType featureType = store.getDefaultFeatureType();
41
                featureTypeDefinitionsManager.add(store, featureType, featureType); 
42
                application.messageDialog(
43
                        "Se creado la definicion de formulario asociada a la table '" + tableDoc.getName() + "'.",
44
                        "Definicion de formulario",
45
                        JOptionPane.INFORMATION_MESSAGE
46
                );
47
            } catch (Exception ex) {
48
                logger.warn("Can't save form definition for layer '" + tableDoc.getName() + "'.", ex);
49
                application.messageDialog(
50
                        "No se ha podido crear la definicion de formulario asociada a la capa '" + tableDoc.getName() + "'.\n\n(Consulte el registro de errores si desea mas informacion)",
51
                        "Definicion de formulario",
52
                        JOptionPane.INFORMATION_MESSAGE
53
                );
54
            }
55
        }
56
    }
57

    
58
    @Override
59
    public boolean isEnabled() {
60
        return true;
61
    }
62

    
63
    @Override
64
    public boolean isVisible() {
65
       ApplicationManager application = ApplicationLocator.getManager();
66
       TableDocument tableDoc = (TableDocument) application.getActiveDocument(TableManager.TYPENAME);
67
       if (tableDoc == null) {
68
           return false;
69
       }
70
       return true;
71
    }
72

    
73
}