Revision 44436
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportLayerExtension.java | ||
---|---|---|
27 | 27 |
import javax.swing.JComponent; |
28 | 28 |
import javax.swing.JOptionPane; |
29 | 29 |
import javax.swing.SwingUtilities; |
30 |
import org.apache.commons.lang3.StringUtils; |
|
30 | 31 |
import org.cresques.cts.ICoordTrans; |
31 | 32 |
import org.cresques.cts.IProjection; |
32 | 33 |
|
... | ... | |
62 | 63 |
import org.gvsig.fmap.dal.OpenDataStoreParameters; |
63 | 64 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
64 | 65 |
import org.gvsig.fmap.mapcontext.MapContextManager; |
66 |
import org.gvsig.tools.dynobject.DynObject; |
|
67 |
import org.gvsig.tools.observer.Notification; |
|
68 |
import org.gvsig.tools.observer.Observable; |
|
69 |
import org.gvsig.tools.observer.Observer; |
|
65 | 70 |
|
66 | 71 |
|
67 | 72 |
/** |
... | ... | |
83 | 88 |
ProjectManager projectManager = ApplicationLocator.getProjectManager(); |
84 | 89 |
ViewManager viewManager = (ViewManager) projectManager.getDocumentManager(ViewManager.TYPENAME); |
85 | 90 |
viewManager.addTOCContextAction("layer-exportto"); |
86 |
|
|
91 |
registerInCatalog(); |
|
87 | 92 |
} |
88 | 93 |
|
89 | 94 |
@Override |
... | ... | |
262 | 267 |
return view != null; |
263 | 268 |
} |
264 | 269 |
|
270 |
private void registerInCatalog() { |
|
271 |
final ApplicationManager application = ApplicationLocator.getApplicationManager(); |
|
272 |
application.addPropertiesObserver(new Observer() { |
|
273 |
@Override |
|
274 |
public void update(Observable observable, Object notification) { |
|
275 |
if( !(notification instanceof Notification) ) { |
|
276 |
return; |
|
277 |
} |
|
278 |
String propertyName = (String) ((Notification)notification).getValue(0); |
|
279 |
if( !StringUtils.equalsIgnoreCase(propertyName, "Catalog.Manager") ) { |
|
280 |
return; |
|
281 |
} |
|
282 |
DynObject catalogManager = (DynObject) application.getProperty("Catalog.Manager"); |
|
283 |
if (catalogManager == null) { |
|
284 |
return; |
|
285 |
} |
|
286 |
try { |
|
287 |
String[] catalogNodes = new String[]{ |
|
288 |
"STORES_REPOSITORY_TABLE", |
|
289 |
"DATABASE_TABLE", |
|
290 |
"FOLDERS_FILE", |
|
291 |
"BOOKMARKS_BOOKMARK" |
|
292 |
}; |
|
293 |
for (String catalogNode : catalogNodes) { |
|
294 |
Object action = catalogManager.invokeDynMethod( |
|
295 |
"getAction", |
|
296 |
new Object[]{ |
|
297 |
ExportStoreFromCatalogAction.NAME, |
|
298 |
catalogNode |
|
299 |
} |
|
300 |
); |
|
301 |
if (action == null) { |
|
302 |
catalogManager.invokeDynMethod( |
|
303 |
"addAction", |
|
304 |
new Object[]{ |
|
305 |
ExportStoreFromCatalogAction.NAME, |
|
306 |
catalogNode, |
|
307 |
new ExportStoreFromCatalogAction() |
|
308 |
} |
|
309 |
); |
|
310 |
} |
|
311 |
} |
|
312 |
} catch (Exception ex) { |
|
313 |
logger.warn("Can't add action to catalog", ex); |
|
314 |
} |
|
315 |
} |
|
316 |
}); |
|
317 |
} |
|
318 |
|
|
319 |
|
|
265 | 320 |
} |
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportStoreFromCatalogAction.java | ||
---|---|---|
1 |
package org.gvsig.export.app.extension; |
|
2 |
|
|
3 |
import java.awt.event.ActionEvent; |
|
4 |
import javax.swing.AbstractAction; |
|
5 |
import javax.swing.Action; |
|
6 |
import org.gvsig.fmap.dal.DALLocator; |
|
7 |
import org.gvsig.fmap.dal.DataManager; |
|
8 |
import org.gvsig.fmap.dal.DataStore; |
|
9 |
import org.gvsig.fmap.dal.OpenDataStoreParameters; |
|
10 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
11 |
import org.gvsig.tools.ToolsLocator; |
|
12 |
import org.gvsig.tools.i18n.I18nManager; |
|
13 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
|
14 |
import org.slf4j.Logger; |
|
15 |
import org.slf4j.LoggerFactory; |
|
16 |
|
|
17 |
/** |
|
18 |
* |
|
19 |
* @author jjdelcerro |
|
20 |
*/ |
|
21 |
public class ExportStoreFromCatalogAction extends AbstractAction { |
|
22 |
|
|
23 |
private static final Logger LOGGER = LoggerFactory.getLogger(ExportStoreFromCatalogAction.class); |
|
24 |
|
|
25 |
public static final String NAME = "Export"; |
|
26 |
|
|
27 |
public ExportStoreFromCatalogAction() { |
|
28 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
|
29 |
this.putValue( |
|
30 |
Action.ACTION_COMMAND_KEY, |
|
31 |
NAME |
|
32 |
); |
|
33 |
this.putValue( |
|
34 |
Action.NAME, |
|
35 |
i18n.getTranslation("_Export") |
|
36 |
); |
|
37 |
this.putValue( |
|
38 |
Action.SMALL_ICON, |
|
39 |
ToolsSwingLocator.getIconThemeManager().getCurrent().get("table-export") |
|
40 |
); |
|
41 |
|
|
42 |
} |
|
43 |
|
|
44 |
@Override |
|
45 |
public void actionPerformed(ActionEvent e) { |
|
46 |
try { |
|
47 |
OpenDataStoreParameters storeParams = (OpenDataStoreParameters) e.getSource(); |
|
48 |
DataManager dataManager = DALLocator.getDataManager(); |
|
49 |
DataStore store = dataManager.openStore(storeParams.getProviderName(), storeParams); |
|
50 |
ExportTable exportTable = new ExportTable(); |
|
51 |
exportTable.showExport( |
|
52 |
(FeatureStore) store, |
|
53 |
null |
|
54 |
); |
|
55 |
} catch (Exception ex) { |
|
56 |
LOGGER.warn("Can't export store.", ex); |
|
57 |
} |
|
58 |
} |
|
59 |
|
|
60 |
|
|
61 |
} |
Also available in: Unified diff