svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extOracleSpatial / src / org / gvsig / oraclespatial / extension / NewOracleSpatialTableExtension.java @ 29579
History | View | Annotate | Download (3.61 KB)
1 | 29563 | vsanjaime | package org.gvsig.oraclespatial.extension; |
---|---|---|---|
2 | |||
3 | import javax.swing.ImageIcon; |
||
4 | |||
5 | import org.apache.log4j.Logger; |
||
6 | import org.gvsig.fmap.mapcontext.MapContext; |
||
7 | import org.gvsig.oraclespatial.gui.NewOracleSpatialTableWizard; |
||
8 | import org.gvsig.oraclespatial.gui.RepeatedChooseGeometryTypePanel; |
||
9 | import org.gvsig.oraclespatial.gui.RepeatedFieldDefinitionPanel; |
||
10 | |||
11 | import com.iver.andami.PluginServices; |
||
12 | import com.iver.andami.plugins.Extension; |
||
13 | import com.iver.andami.ui.mdiManager.IWindow; |
||
14 | import com.iver.andami.ui.wizard.WizardAndami; |
||
15 | import com.iver.cit.gvsig.project.documents.view.gui.View; |
||
16 | |||
17 | public class NewOracleSpatialTableExtension extends Extension { |
||
18 | |||
19 | 29579 | vsanjaime | private static Logger logger = Logger |
20 | .getLogger(NewOracleSpatialTableExtension.class.getName()); |
||
21 | public static boolean ORACLE_JAR_PRESENT = false; |
||
22 | |||
23 | /**
|
||
24 | * Initialize extension
|
||
25 | */
|
||
26 | 29563 | vsanjaime | public void initialize() { |
27 | 29579 | vsanjaime | // Validate if Oracle Jar is present
|
28 | 29563 | vsanjaime | ORACLE_JAR_PRESENT = isOracleJarPresent(); |
29 | } |
||
30 | |||
31 | 29579 | vsanjaime | /**
|
32 | * execute extension process
|
||
33 | *
|
||
34 | * @param event
|
||
35 | * name
|
||
36 | */
|
||
37 | 29563 | vsanjaime | public void execute(String actionCommand) { |
38 | |||
39 | 29579 | vsanjaime | // NEW ORACLE TABLE
|
40 | if (actionCommand.compareToIgnoreCase("NEW_ORACLE_SPATIAL") == 0) { |
||
41 | 29563 | vsanjaime | |
42 | 29579 | vsanjaime | IWindow w = PluginServices.getMDIManager().getActiveWindow(); |
43 | if (w instanceof View) { |
||
44 | try {
|
||
45 | String _file = createResourceUrl(
|
||
46 | "images/new_geodb_table.png").getFile();
|
||
47 | ImageIcon iicon = new ImageIcon(_file); |
||
48 | 29563 | vsanjaime | |
49 | 29579 | vsanjaime | WizardAndami wizard = new WizardAndami(iicon);
|
50 | RepeatedChooseGeometryTypePanel panelChoose = new RepeatedChooseGeometryTypePanel(
|
||
51 | wizard.getWizardComponents()); |
||
52 | RepeatedFieldDefinitionPanel panelFields = new RepeatedFieldDefinitionPanel(
|
||
53 | wizard.getWizardComponents()); |
||
54 | NewOracleSpatialTableWizard connPanel = new NewOracleSpatialTableWizard(
|
||
55 | wizard.getWizardComponents()); |
||
56 | |||
57 | wizard.getWizardComponents().addWizardPanel(panelChoose); |
||
58 | wizard.getWizardComponents().addWizardPanel(panelFields); |
||
59 | wizard.getWizardComponents().addWizardPanel(connPanel); |
||
60 | |||
61 | View theView = (View) w; |
||
62 | MapContext mc = theView.getMapControl().getMapContext(); |
||
63 | |||
64 | NewOracleSpatialTableFinishAction action = new NewOracleSpatialTableFinishAction(
|
||
65 | wizard.getWizardComponents(), wizard, connPanel, mc); |
||
66 | |||
67 | wizard.getWizardComponents().setFinishAction(action); |
||
68 | wizard.getWizardComponents().getFinishButton().setEnabled( |
||
69 | false);
|
||
70 | wizard.getWindowInfo().setWidth(640);
|
||
71 | wizard.getWindowInfo().setHeight(350);
|
||
72 | wizard.getWindowInfo().setTitle( |
||
73 | PluginServices.getText(this, "new_layer")); |
||
74 | PluginServices.getMDIManager().addWindow(wizard); |
||
75 | |||
76 | } catch (Exception ex) { |
||
77 | logger |
||
78 | .error("While showing new oracle spatial table wizard: "
|
||
79 | + ex.getMessage()); |
||
80 | } |
||
81 | } |
||
82 | } |
||
83 | 29563 | vsanjaime | } |
84 | |||
85 | 29579 | vsanjaime | /**
|
86 | * extension enable
|
||
87 | *
|
||
88 | * @return
|
||
89 | */
|
||
90 | 29563 | vsanjaime | public boolean isEnabled() { |
91 | |||
92 | 29579 | vsanjaime | if (!ORACLE_JAR_PRESENT)
|
93 | return false; |
||
94 | |||
95 | 29563 | vsanjaime | IWindow w = PluginServices.getMDIManager().getActiveWindow(); |
96 | 29579 | vsanjaime | return (w instanceof View); |
97 | 29563 | vsanjaime | } |
98 | |||
99 | 29579 | vsanjaime | /**
|
100 | * extension functionalities visible
|
||
101 | *
|
||
102 | * @return
|
||
103 | */
|
||
104 | 29563 | vsanjaime | public boolean isVisible() { |
105 | return isEnabled();
|
||
106 | } |
||
107 | 29579 | vsanjaime | |
108 | 29563 | vsanjaime | /**
|
109 | * Check presence of ojdbc14.jar.
|
||
110 | 29579 | vsanjaime | *
|
111 | 29563 | vsanjaime | * @return
|
112 | */
|
||
113 | 29579 | vsanjaime | private boolean isOracleJarPresent() { |
114 | |||
115 | try {
|
||
116 | Class rowid_class = Class.forName("oracle.sql.ROWID"); |
||
117 | } catch (Exception ex) { |
||
118 | logger.error("Unable to instantiate ROWID (oracle jar missing?) : "
|
||
119 | + ex.getMessage()); |
||
120 | return false; |
||
121 | } |
||
122 | 29563 | vsanjaime | return true; |
123 | 29579 | vsanjaime | } |
124 | 29563 | vsanjaime | |
125 | 29579 | vsanjaime | private java.net.URL createResourceUrl(String path) { |
126 | return getClass().getClassLoader().getResource(path);
|
||
127 | } |
||
128 | |||
129 | 29563 | vsanjaime | } |