Configure and launch gvSIG Mobile from Eclipse
Run Workspace
=============
* First of all make a new OSGI application launcher:
Run Configurations -> New OSGI Framework...
* Now select all the workspace bundles just clicking on the *Workspace* check at *Bundles* Tab. Once all the bundles are selected we have to set the right *Start Level* to each one:
CORE GVSIG MOBILE START LEVELS:
- *org.gvsig.mobile.core.GvSigCore* -> **Start Level 2**
- *org.gvsig.mobile.dll* -> **Start Level 1**
- *org.gvsig.mobile.extension.base* -> **Start Level 5**
- *org.gvsig.mobile.libProjection* -> **Start Level 3**
- *org.gvsig.mobile.core.libraries* -> **Start Level 1**
- *org.gvsig.mobile.logging* -> **Start Level 1**
- *org.gvsig.mobile.logging.configure* -> **Start Level 1**
- *org.gvsig.mobile.symbology* -> **Start Level 3**
* Then must select the OSGI dependencies from the Target Platform check, checking next bundles as active and setting the right Start Level if allowed.
OSGI START LEVELS:
- *javax.servlet - Servlet API Bundle* -> **Start Level 1**
- *org.eclipse.osgi - OSGi System Bundle* -> **Start level 2 or Default**
- *org.eclipse.osgi.services - OSGi Release 4.0.1 Services* -> **Start level 2**
- *org.eclipse.osgi.util - OSGi Release 4.0.1 Utility Classes* -> **Start level 2**
- *org.eclipse.equinox.util - Equinox Util Bundle* -> **Start level 2**
- *org.eclipse.equinox.wireadmin - Wire Admin Service* -> **Start level 2**
* The other gvSIG Mobile functionalities have to set the right start level to launch the application bundles in a right order. The Start Level for those extra functionalities are:
SHAPEFILE START LEVEL:
- *org.gvsig.mobile.dal.dalfile* -> **Start Level 3**
ECW START LEVEL:
- *org.gvsig.mobile.extension.ecw* -> **Start Level 6**
WMS START LEVEL:
- *org.gvsig.mobile.extension.wms* -> **Start Level 6**
GML, KML FILE START LEVEL:
- *org.gvsig.mobile.gpe* -> **Start Level 4**
WFS START LEVELS:
- *org.gvsig.mobile.extension.wfs* -> **Start Level 6**
- *org.gvsig.mobile.wfs* -> **Start Level 4**
EDITING START LEVELS:
- *org.gvsig.mobile.extension.editing* -> **Start Level 6**
- *org.gvsig.mobile.extension.editing.gps* -> **Start Level 6**
GPS START LEVELS:
- *org.gvsig.mobile.extension.gps* -> **Start Level 6**
- *org.gvsig.mobile.bundle.libLocation* -> **Start Level 1**
PROJECTION START LEVEL:
- *org.gvsig.mobile.extension.wkprojection* -> **Start Level 4**
* Then click on *Validate Bundles* button. If there are lost dependencies we can click on *Add Required Bundles* and validate again, no problems must be detected.
* Save configuration and Run...
Once OSGI is launched, we can launch Equinox orders from Eclipse Console. Equinox show the console commands typing the command ‘help’.
The most used commands are **ss, start y stop**:
**ss**: List the bundles installed on the Equinox framework.
It's possible stop and start bundles with the ‘start’ and ‘stop’ commands with the bundle number id. For instance to stop the *org.gvsig.mobile.extension.base* just type ‘stop 13’. Those commands are useful when one bundle don't START (It shows ‘ACTIVE’ status) correctly then starting them with the ‘start’ command the console shows all the launched exceptions.
When is activated *org.gvsig.mobile.dll* it look for the jni libraries in the paths defined at the *java.library.path*. You can set this library path with
-Djava.library.path = *your_libraries_path* option setted as *VM arguments* at the Arguments Tab from Run Configurations. If the *java.library.path* doesn't contain the JNI libraries then *UnsatisfiedLinkError* is launched at the app start.