Revision: 4558
http://sourceforge.net/p/jump-pilot/code/4558
Author: edso
Date: 2015-12-03 17:26:12 +0000 (Thu, 03 Dec 2015)
Log Message:
-----------
* added Nicolas Ribot's Oracle Spatial Datastore Extension to CORE
activates in PLUS as it needs DBQuery's *gt2-oracle-spatial-2.x.jar*
also *ojdbc6.jar* must be downloaded and installed manually because
of licensing restrictions
* extensions can hold messages now (eg. tell why they are not activated)
Modified Paths:
--------------
core/trunk/ChangeLog
core/trunk/etc/readme.txt
core/trunk/scripts/default-plugins.xml
core/trunk/src/com/vividsolutions/jump/workbench/plugin/Extension.java
core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java
core/trunk/src/de/latlon/deejump/wfs/WFSExtension.java
Added Paths:
-----------
core/trunk/src/com/vividsolutions/jump/datastore/OracleDataStoreExtension.java
core/trunk/src/com/vividsolutions/jump/datastore/oracle/
Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog 2015-12-03 12:43:38 UTC (rev 4557)
+++ core/trunk/ChangeLog 2015-12-03 17:26:12 UTC (rev 4558)
@@ -1,5 +1,12 @@
# for display continuity sake please use 2 spaces instead of tabs
+2015-12-03 ede
+ * added Nicolas Ribot's Oracle Spatial Datastore Extension to CORE
+ activates in PLUS as it needs DBQuery's *gt2-oracle-spatial-2.x.jar*
+ also *ojdbc6.jar* must be downloaded and installed manually because
+ of licensing restrictions
+ * extensions can hold messages now (eg. tell why they are not activated)
+
2015-11-23 mmichaud <[email protected]>
* Fix bug #411 : plugins in attributeTable context menu was deactivated
Modified: core/trunk/etc/readme.txt
===================================================================
--- core/trunk/etc/readme.txt 2015-12-03 12:43:38 UTC (rev 4557)
+++ core/trunk/etc/readme.txt 2015-12-03 17:26:12 UTC (rev 4558)
@@ -61,10 +61,12 @@
and the following plugins
( Component name - License name - License file in "licenses/" folder
list of files and dependencies with license if any )
+ Oracle Datastore (Nicolas Ribot) - GPL2 - gpl-2.txt
SkyPrinter - GPL2 - gpl-2.txt
SkyPrinterPlugIn-*.jar
itext-*.jar - LGPL2.1 - lgpl-2.1.txt
+
Additionally PLUS distribution contains
( Component name - License name - License file in "licenses/" folder
list of files and dependencies with license if any )
@@ -129,6 +131,11 @@
Vertex Symbols (com.cadplan.jump) - GPL2 - gpl-2.txt
VertexSymbols.jar
itext-*.jar - LGPL2.1 - lgpl-2.1.txt
+ WFS Plugin
+ commons-httpclient-3.1.jar
+ deegree2-core-2.6-pre2-20140511.220246-596.jar
+ jaxen-1.1.1.jar
+ vecmath-1.5.2.jar
2. Installation instructions
Modified: core/trunk/scripts/default-plugins.xml
===================================================================
--- core/trunk/scripts/default-plugins.xml 2015-12-03 12:43:38 UTC (rev
4557)
+++ core/trunk/scripts/default-plugins.xml 2015-12-03 17:26:12 UTC (rev
4558)
@@ -25,6 +25,9 @@
<plug-in>
org.openjump.core.ui.plugin.datastore.postgis.SaveToPostGISPlugIn
</plug-in>
+ <extension>
+ com.vividsolutions.jump.datastore.OracleDataStoreExtension
+ </extension>
<plug-in>
org.openjump.core.ccordsys.srid.EnsureAllLayersHaveSRIDStylePlugIn
</plug-in>
Added:
core/trunk/src/com/vividsolutions/jump/datastore/OracleDataStoreExtension.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/datastore/OracleDataStoreExtension.java
(rev 0)
+++
core/trunk/src/com/vividsolutions/jump/datastore/OracleDataStoreExtension.java
2015-12-03 17:26:12 UTC (rev 4558)
@@ -0,0 +1,51 @@
+package com.vividsolutions.jump.datastore;
+
+import static
com.vividsolutions.jump.datastore.oracle.OracleDataStoreDriver.JDBC_CLASS;
+
+import com.vividsolutions.jump.datastore.oracle.OracleDataStoreDriver;
+import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.plugin.Extension;
+import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+
+public class OracleDataStoreExtension extends Extension {
+ private static boolean disabled = false;
+
+ public String getName() {
+ return "Oracle Spatial Datastore Extension (Nicolas Ribot)";
+ }
+
+ public String getVersion() {
+ return "0.2 (3.12.2015)";
+ }
+
+ public String getMessage() {
+ return disabled ? "Disabled: Missing either ojdbc6.jar or
gt2-oracle-spatial-2.x.jar"
+ : "";
+ }
+
+ public void configure(PlugInContext context) throws Exception {
+ WorkbenchContext wbc = context.getWorkbenchContext();
+
+ // registers the OracleDataStore driver to the system:
+ try {
+ ClassLoader pluginLoader = wbc.getWorkbench().getPlugInManager()
+ .getClassLoader();
+ // check for ojdbc6.jar
+ Class.forName(JDBC_CLASS, true, pluginLoader).newInstance();
+ // check for gt2-oracle-spatial-2.x.jar
+ Class.forName("org.geotools.data.oracle.sdo.SDO", true, pluginLoader)
+ .newInstance();
+ // register the datastore
+ wbc.getRegistry().createEntry(DataStoreDriver.REGISTRY_CLASSIFICATION,
+ new OracleDataStoreDriver());
+
+ } catch (Exception e) {
+ disabled = true;
+ wbc.getWorkbench()
+ .getFrame()
+ .log(
+ "Oracle Spatial Data Store disabled:\n" + e.toString() );
+ }
+ }
+
+}
\ No newline at end of file
Property changes on:
core/trunk/src/com/vividsolutions/jump/datastore/OracleDataStoreExtension.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: core/trunk/src/com/vividsolutions/jump/workbench/plugin/Extension.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/workbench/plugin/Extension.java
2015-12-03 12:43:38 UTC (rev 4557)
+++ core/trunk/src/com/vividsolutions/jump/workbench/plugin/Extension.java
2015-12-03 17:26:12 UTC (rev 4558)
@@ -46,7 +46,12 @@
? ""
: " (" + getClass().getPackage().getName() + ")");
}
+
public String getVersion() {
return "";
}
+
+ public String getMessage() {
+ return "";
+ }
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
2015-12-03 12:43:38 UTC (rev 4557)
+++ core/trunk/src/com/vividsolutions/jump/workbench/plugin/PlugInManager.java
2015-12-03 17:26:12 UTC (rev 4558)
@@ -141,9 +141,13 @@
+ version(configuration));
long start = secondsSince(0);
try {
+ // make sure we use the plugin classloader for extensions
+ configuration = (Configuration) classLoader.loadClass(
+ configuration.getClass().getName()).newInstance();
configuration.configure(pc);
+
//System.out.println(Arrays.toString(((URLClassLoader)classLoader).getURLs()));
System.out
- .println("Loading " + name(configuration) + " "
+ .println("Loading Config " + name(configuration) + " "
+ version(configuration) + " took " + secondsSinceString(start)
+ "s");
}
@@ -168,14 +172,17 @@
if (initSetting instanceof String
&& initSetting.equals(WorkbenchProperties.ATTR_VALUE_FALSE))
continue;
-
+
monitor.report(LOADING + " " + className);
Class plugInClass = null;
try {
long start = secondsSince(0);
- plugInClass = Class.forName(className);
+
+ // make sure we use the plugin classloader for plugins
+ plugInClass = classLoader.loadClass(className);
PlugIn plugIn = (PlugIn) plugInClass.newInstance();
+
plugIn.initialize(pc);
// get plugin's menu settings
@@ -220,8 +227,8 @@
.getWorkbench()
.getFrame()
.log(
- "Loading " + className + " took " + secondsSinceString(start)
- + "s");
+ "Loading Plugin " + className + " took " +
secondsSinceString(start)
+ + "s " );
} catch (Throwable e) {
context.getErrorHandler().handleThrowable(e);
@@ -256,6 +263,13 @@
return "";
}
+ public static String message(Configuration configuration) {
+ if (configuration instanceof Extension) {
+ return ((Extension) configuration).getMessage();
+ }
+ return "";
+ }
+
/**
* filter all Configurations from a list of Class objects
* @param classes
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java
2015-12-03 12:43:38 UTC (rev 4557)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/ExtensionsAboutPanel.java
2015-12-03 17:26:12 UTC (rev 4558)
@@ -65,11 +65,13 @@
// user extensions
for (Iterator i = plugInManager.getConfigurations().iterator();
i.hasNext();) {
Configuration configuration = (Configuration) i.next();
+ String msg = PlugInManager.message(configuration);
sb.append(
"<b>"
+ GUIUtil.escapeHTML(PlugInManager.name(configuration),
false, false)
+ "</b> "
+ GUIUtil.escapeHTML(PlugInManager.version(configuration),
false, false)
+ + GUIUtil.escapeHTML(!msg.isEmpty()?" -> "+msg:"", false,
false)
+ "<br>");
}
sb.append("</body></html>");
Modified: core/trunk/src/de/latlon/deejump/wfs/WFSExtension.java
===================================================================
--- core/trunk/src/de/latlon/deejump/wfs/WFSExtension.java 2015-12-03
12:43:38 UTC (rev 4557)
+++ core/trunk/src/de/latlon/deejump/wfs/WFSExtension.java 2015-12-03
17:26:12 UTC (rev 4558)
@@ -8,8 +8,6 @@
*/
package de.latlon.deejump.wfs;
-import org.python.modules.thread;
-
import com.vividsolutions.jump.workbench.plugin.Extension;
import com.vividsolutions.jump.workbench.plugin.PlugInContext;
@@ -23,21 +21,34 @@
*
*/
public class WFSExtension extends Extension {
+ private static String msg = "Disabled because deegree2-core is missing. Try
OJ PLUS!";
+ private static boolean disabled = false;
+
+ public String getName() {
+ return "WFS(-T) 1.0/1.1 Extension (Lat/Lon)";
+ }
- public void configure( PlugInContext context )
- throws Exception {
- // only install WFS in PLUS, where the lib/wfs.plus/*.jar are packaged in
- try {
- Class.forName("org.deegree.ogcwebservices.wfs.WFService", false,
- this.getClass().getClassLoader());
- } catch (ClassNotFoundException e) {
- context.getWorkbenchFrame().log(
- "WFS extension disabled because deegree2-core is missing.");
- return;
- }
+ public String getVersion() {
+ return "1.1.1 (22.12.2014)";
+ }
- new WFSPlugIn().initialize(context);
- new UpdateWFSLayerPlugIn().initialize(context);
+ public String getMessage() {
+ return disabled ? msg : "";
+ }
+
+ public void configure(PlugInContext context) throws Exception {
+ // only install WFS in PLUS, where the lib/wfs.plus/*.jar are packaged in
+ try {
+ Class.forName("org.deegree.ogcwebservices.wfs.WFService", false, this
+ .getClass().getClassLoader());
+ } catch (ClassNotFoundException e) {
+ disabled = true;
+ context.getWorkbenchFrame().log( msg );
+ return;
}
+ new WFSPlugIn().initialize(context);
+ new UpdateWFSLayerPlugIn().initialize(context);
+ }
+
}
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel