3dcitydb / plugin-ade-manager

Importer/Exporter plugin to dynamically extend a 3D City Database instance to store and manage CityGML Application Domain Extensions (ADEs)
Apache License 2.0
2 stars 0 forks source link

NullPointerException when transforming new ADE with ADE manager #8

Closed LauraWilhelm closed 4 years ago

LauraWilhelm commented 4 years ago

Hello,

for my master thesis I developed an ADE for CityGML which I tried to transform with the ADE manager for further registration. Unfortunately I get a NullPointerException:

Exception in thread "Thread-6" java.lang.NullPointerException at org.citydb.plugins.ade_manager.transformation.graph.GraphTransformationManager.convertDbObjectNameToLowercase(GraphTransformationManager.java:141) at org.citydb.plugins.ade_manager.transformation.graph.GraphTransformationManager.executeGraphTransformation(GraphTransformationManager.java:87) at org.citydb.plugins.ade_manager.transformation.TransformationController.doProcess(TransformationController.java:70) at org.citydb.plugins.ade_manager.gui.modules.ADETransformationPanel.transformADESchema(ADETransformationPanel.java:464) at org.citydb.plugins.ade_manager.gui.modules.ADETransformationPanel.access$300(ADETransformationPanel.java:72) at org.citydb.plugins.ade_manager.gui.modules.ADETransformationPanel$5$1.run(ADETransformationPanel.java:229)

I am using 3D CityDB Exporter-Importer 4.2.2 and installed the ADE manager plugin together with the 3DCityDB Import/Export tool.

Can anyone tell me, where my problem is?

This ist my xsd-File: CityGML_EnvPlanADE.zip

Thanks a lot in advance! Laura

yaozhihang commented 4 years ago

Hi Laura,

thanks for the bug report. I've fixed the issue ce3007b7a4a5ae9f121e1e45514fac3c869df938. The the new ADE-Manager-Plugin can be downloaded from here https://github.com/3dcitydb/plugin-ade-manager/releases/tag/v1.2.0-SNAPSHOT.

How to update the plugin of your Importer-Exporter:

  1. go to the plugins folder in the Importer-Exporter's installation folder
  2. remove the subfolder plugin-ade-manager
  3. unzip the plugin-ade-manager-1.2.0-SNAPSHOT.zip fie and copy the unzipped folder to the plugins folder
  4. restart your Importer-Exporter.

Zhihang

LauraWilhelm commented 4 years ago

Hello Zhihang,

thanks so much for your fast response and for fixing the bug. The transformation works.

Sadly I get another error while trying to register the ADE: Exception in thread "Thread-14" java.lang.NoClassDefFoundError: org/citydb/database/connection/ConnectionManager at org.citydb.plugins.ade_manager.registry.schema.ADEDBSchemaManagerFactory.createADEDatabaseSchemaManager(ADEDBSchemaManagerFactory.java:56) at org.citydb.plugins.ade_manager.registry.ADERegistrationController.registerADE(ADERegistrationController.java:92) at org.citydb.plugins.ade_manager.gui.modules.ADERegistryPanel.registerADE(ADERegistryPanel.java:297) at org.citydb.plugins.ade_manager.gui.modules.ADERegistryPanel.access$100(ADERegistryPanel.java:70) at org.citydb.plugins.ade_manager.gui.modules.ADERegistryPanel$2$1.run(ADERegistryPanel.java:152) Caused by: java.lang.ClassNotFoundException: org.citydb.database.connection.ConnectionManager at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more

When I press "Fetch ADEs", the ADE is visible in the ADE information pannel. grafik

[12:44:54 WARN] The following CityGML ADEs are registered in the database but are not supported: envplan-ADE 1.0

In the user interface for checking the status of the ADE support of database and Import/Export tool I get a check at database but an X mark at Importer/Exporter.

Can you tell me, what I am doing wrong?

Thanks a lot in advance! Laura

yaozhihang commented 4 years ago

Hi Laura,

ok, I suppose that you use the Importer-Exporter v4.2.2, which is not fully compatible with the latest ADE-Manager plugin 1.2.0-SNAPSHOT.

Please follow the steps here (https://github.com/3dcitydb/importer-exporter#building) to build the latest version of the Importer-Exporter. After building the Importer-Exporter you don't need to update the ADE-Manager plugin folder. Simply start the Importer-Exporter, do the ADE transformation, again, and then register the ADE to a new 3DCiyDB databse instance.

Currently, the ADE-Manager can only automatically extend the 3DCityDB database schema for ADEs. The support for ADE Import/Export still requires additional extensions, which must be implemented and coded manually. An example and short instruction can be found here https://github.com/3dcitydb/extension-test-ade.

Zhihang

LauraWilhelm commented 4 years ago

Hello Zhihang,

thanks so much for your help! The registration of the ADE on the database level works fine now. I will now work on the support for the Import/Export tool.

Laura