Revision 46873 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.newlayer.app/org.gvsig.newlayer.app.mainplugin/src/main/java/org/gvsig/newlayer/app/extension/NewLayerExtension.java

View differences:

NewLayerExtension.java
29 29
import org.gvsig.app.ApplicationManager;
30 30
import org.gvsig.app.project.documents.view.ViewDocument;
31 31
import org.gvsig.app.project.documents.view.ViewManager;
32
import org.gvsig.fmap.dal.DALLocator;
33
import org.gvsig.fmap.dal.DataManager;
34
import org.gvsig.fmap.dal.DataStore;
35
import org.gvsig.fmap.dal.DataStoreParameters;
36
import org.gvsig.fmap.mapcontext.MapContextLocator;
37
import org.gvsig.fmap.mapcontext.MapContextManager;
38
import org.gvsig.fmap.mapcontext.layers.FLayer;
32 39
import org.gvsig.i18n.Messages;
33 40
import org.gvsig.newlayer.NewLayerLocator;
34 41
import org.gvsig.newlayer.NewLayerManager;
35 42
import org.gvsig.newlayer.NewLayerService;
43
import org.gvsig.newlayer.NewLayerService.NewLayerServiceAdapter;
36 44
import org.gvsig.newlayer.NewLayerWizard;
45
import org.gvsig.tools.ToolsLocator;
46
import org.gvsig.tools.i18n.I18nManager;
37 47
import org.gvsig.tools.swing.api.ToolsSwingLocator;
38 48
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
39 49

  
40 50
/**
41 51
 * @author gvSIG Team
42 52
 * @version $Id$
43
 * 
53
 *
44 54
 */
45 55
public class NewLayerExtension extends Extension {
46
	
47
	private ViewDocument view = null;
48 56

  
49
	public void initialize() {
50
	}
57
    public void initialize() {
58
    }
51 59

  
52
	@Override
53
	public void postInitialize() {
54
		super.postInitialize();
55
	}
60
    @Override
61
    public void postInitialize() {
62
        super.postInitialize();
63
    }
56 64

  
57
	public void execute(String actionCommand) {
58
		
59
		ApplicationManager application = ApplicationLocator.getManager();
60
		ViewDocument view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
65
    @Override
66
    public void execute(String actionCommand) {
67
        I18nManager i18n = ToolsLocator.getI18nManager();
68
        ApplicationManager application = ApplicationLocator.getManager();
69
        final ViewDocument view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
61 70

  
62
		if (view != null) {
63
			NewLayerManager manager = NewLayerLocator.getManager();
64
			NewLayerService service = manager.createNewLayerService(view.getMapContext());
65
			NewLayerWizard wizard = manager.createNewLayerWizard(service);
66
			
67
			WindowManager windowMgr = ToolsSwingLocator.getWindowManager();
68
			windowMgr.showWindow(
69
			    wizard,
70
			    Messages.getText("_New_layer_wizard"),
71
			    WindowManager.MODE.WINDOW);
72
		}
73
	}
71
        if (view != null) {
72
            NewLayerManager manager = NewLayerLocator.getManager();
73
            NewLayerService service = manager.createNewLayerService();
74
            service.addNewLayerServiceListener(new NewLayerServiceAdapter() {
75
                @Override
76
                public void postCreateTable(NewLayerService service) {
77
                    if( !service.isAddTableToProject() ) {
78
                        return;
79
                    }
80
                    try {
81
                        if (service.getFeatureType().getDefaultGeometryAttribute() == null) {
82
                            return;
83
                        }
84
                        DataStoreParameters storeParameters = service.getOpenStoreParameters();
85
                        DataManager dataManager = DALLocator.getDataManager();
86
                        DataStore store = dataManager.openStore(storeParameters.getProviderName(), storeParameters);
87
                        String layerName = store.getName();
74 88

  
75
	public boolean isEnabled() {
76
		
77
		ApplicationManager application = ApplicationLocator.getManager();
78
		view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
79
		return (view != null);
80
		
81
	}
89
                        MapContextManager mapContextManager = MapContextLocator.getMapContextManager();
90
                        FLayer lyr = mapContextManager.createLayer(layerName, store);
91
                        lyr.setActive(true);
92
                        lyr.setVisible(true);
93
                        view.getMapContext().getLayers().addLayer(lyr);
82 94

  
83
	public boolean isVisible() {
84
		
85
		ApplicationManager application = ApplicationLocator.getManager();
86
		view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
87
		return (view != null);
88
		
89
	}
90
	
91
	public ViewDocument getView() {
92
		return view;
93
	}
94
	
95
                        lyr.dispose();
96
                    } catch (Exception e) {
97

  
98
                    }
99
                }
100
            });
101
            NewLayerWizard wizard = manager.createNewLayerWizard(service);
102
            wizard.setAddTableToProjectTitle(i18n.getTranslation("_Adding_layer"));
103
            wizard.setAddTableToProjectLabel(i18n.getTranslation("_Add_layer_to_view"));
104

  
105
            WindowManager windowMgr = ToolsSwingLocator.getWindowManager();
106
            windowMgr.showWindow(
107
                    wizard,
108
                    Messages.getText("_New_layer_wizard"),
109
                    WindowManager.MODE.WINDOW);
110
        }
111
    }
112

  
113
    @Override
114
    public boolean isEnabled() {
115
        return isVisible();
116
    }
117

  
118
    @Override
119
    public boolean isVisible() {
120
        ApplicationManager application = ApplicationLocator.getManager();
121
        ViewDocument view = (ViewDocument) application.getActiveDocument(ViewManager.TYPENAME);
122
        return (view != null);
123
    }
124

  
95 125
}

Also available in: Unified diff