Community
Participate
Working Groups
I'm trying to deploy BIRT 3.7.1 to tomcat and I'm having a problem with: SEVERE: Unable to determine the default workspace location. Check your OSGi-less platform configuration of the plugin or datatools workspace path. even though I added the following to the catalina.sh java_io_tmpdir=$CATALINA_HOME/temp org_eclipse_datatools_workspacepath=$java_io_tmpdir/workspace_dtp mkdir -p $org_eclipse_datatools_workspacepath JAVA_OPTS="$JAVA_OPTS -Dorg.eclipse.datatools_workspacepath=$org_eclipse_datatools_workspacepath" I traced the problem down to org.eclipse.datatools.connectivity.internal.services.PluginResourceLocatorImpl.encode(): encodedLocation = encodedLocation.replace( target, EMPTY_STRING ); return new URI( encodedLocation ).toURL(); which takes the absolute path and makes it relative. It then creates a URI and attempts to create a URL. Creating a URL from a relative path is not allowed and an exception is thrown. I've worked around the problem by commenting out the transformation to the relative path and letting the debugger hot-plug the change.
(In reply to comment #0) Bryan, I'm not able to reproduce the problem in my environment. For your use case, what was the value of the input argument to PluginResourceLocatorImpl#encode( String ) ? And what were the values of the 2 variables (encodedLocation and target) *before* the call to encodedLocation = encodedLocation.replace( target, EMPTY_STRING ); Also, what was the resolved value set for $org_eclipse_datatools_workspacepath in your test environment?
See comment #1. Feel free to re-open when more bug info is available.
I am seeing similar problem in my attempt to run BIRT reports in WebviewerExample webapp (3.7.1) on tomcat. here is how my tomcat is running: # ps -eF | grep tomcat tomcat 20778 1 10 3375393 2049128 13 15:14 pts/2 00:00:56 /usr/java/jre1.6.0_29/bin/java -Djava.util.logging.config.file=/usr/share/apache-tomcat-7.0.23/conf/logging.properties -Xmx6144m -Xms6144m -Xmn2048m -XX:MaxPermSize=3072m -XX:+UseParallelGC -Djava.security.egd=file:/dev/./urandom -Dorg.eclipse.datatools_workspacepath=/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/apache-tomcat-7.0.23/endorsed -classpath /usr/share/apache-tomcat-7.0.23/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.23/bin/tomcat-juli.jar -Dcatalina.base=/usr/share/apache-tomcat-7.0.23 -Dcatalina.home=/usr/share/apache-tomcat-7.0.23 -Djava.io.tmpdir=/usr/share/apache-tomcat-7.0.23/temp org.apache.catalina.startup.Bootstrap start As can be seen, -Dorg.eclipse.datatools_workspacepath is pointing to a valid directory (which gets created if not already existing). Still I see errors: Jan 24, 2012 2:14:34 PM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: URI is not absolute Jan 24, 2012 2:14:34 PM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log SEVERE: Unable to determine the default workspace location. Check your OSGi-less platform configuration of the plugin or datatools workspace path.
(In reply to comment #2) > See comment #1. Feel free to re-open when more bug info is available. Hi Linda, I am trying to migrate to 3.7.1 I have set the org.eclipse.datatools_workspacepath in catalina.sh, still I am getting the error. I am trying to open report giving a relative path to file (all my .rptdesign files are in rptfiles directory in WebViewerExample webapp) , with a request similar to: http://my.domain.com:8080/WebViewerExample/frameset?__report=rptfiles/birt_file_1020.rptdesign&some_other_params Please help/guide/resolve, my catalina.sh settings as below: java_io_tmpdir=/usr/share/apache-tomcat-7.0.23/temp org_eclipse_datatools_workspacepath=$java_io_tmpdir/workspace_dtp JAVA_OPTS="$JAVA_OPTS -Xmx6144m -Xms6144m -Xmn2048m -XX:MaxPermSize=3072m -XX:+UseParallelGC -Djava.security.egd=file:/dev/./urandom -Dorg.eclipse.datatools_workspacepath=$org_eclipse_datatools_workspacepath" ----- The workspace_dtp directory gets created on tomcat start (if not already existing). Also (maybe unrelated), another directory gets auto created with random trailing chars, eg: workspace_96b2d888-2145-4848-9dc1-69a420db4a8c ----- error: Jan 24, 2012 2:14:34 PM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: URI is not absolute Jan 24, 2012 2:14:34 PM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log SEVERE: Unable to determine the default workspace location. Check your OSGi-less platform configuration of the plugin or datatools workspace path.
(In reply to comment #4) I'd committed a patch to add some more logging to collect additional debugging info. It also has an interim workaround to skip the encoding step if an exception occurs. Git commmit log: http://git.eclipse.org/c/datatools/org.eclipse.datatools.connectivity.git/commit/?h=DTP_1_9_2_Branch&id=3ff54cfb2b0b41d6fd33a4c428f341205bfaa770 Please provide feedback with the additional logging info from your deployment environment, so the encoding bug can be addressed for your use case. The patch is in the latest DTP 1.9.2 RC2 Nightly build, available for download at: http://www.eclipse.org/datatools/downloads.php Note that DTP 1.9.2 works with BIRT 3.7.2. To try out the patch with BIRT, download BIRT 3.7.2 RC1 release: http://download.eclipse.org/birt/downloads/build.php?build=M-R1-3.7.2RC1-201201171144 You can extract just the bundle jar (org.eclipse.datatools.connectivity_1.2.4.v201201260252.jar or later) from the DTP 1.9.2 RC2 nightly build download package. And copy the bundle jar into the BIRT 3.7.2 RC1 installation, e.g. in the ReportEngine/lib and WebViewerExample/WEB-INF/lib folders of the BIRT runtime Report Engine. To avoid any version conflict, it would be better to remove the older bundle version (org.eclipse.datatools.connectivity_1.2.4.v201110141251.jar) from the installation.
Hi Linda, Thanks for the quick patch.. The reports are working now, though it gave the following error/warning in the log when running a report for the first time, but even the first time, the report did open without any problem. Also, the message was not printed when same (or any other) report was accessed again. A directory /usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.datatools.connectivity was auto-created containing driverManagerPreferences.xml driverStorage.xml ServerProfiles.bak ServerProfiles.dat ---- this is the error/warning log ---- Jan 30, 2012 10:13:23 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/); Exception message: URI is not absolute Jan 30, 2012 10:13:23 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.datatools.connectivity); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.datatools.connectivity); Exception message: URI is not absolute Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/); Exception message: URI is not absolute Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb); Exception message: URI is not absolute java.lang.IllegalArgumentException: Unable to create sample database in /usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb. at org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb.internal.impl.SampleDbFactory.initSampleDb(SampleDbFactory.java:113) at org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb.internal.impl.SampleDbFactory.setInitializationData(SampleDbFactory.java:77) at org.eclipse.birt.core.framework.jar.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:51) at org.eclipse.datatools.connectivity.internal.InternalProfileManager.initializeLocalDatabase(InternalProfileManager.java:1380) at org.eclipse.datatools.connectivity.internal.InternalProfileManager.loadLocalRegisteredDatabases(InternalProfileManager.java:1360) at org.eclipse.datatools.connectivity.internal.InternalProfileManager.loadProfiles(InternalProfileManager.java:1070) at org.eclipse.datatools.connectivity.internal.InternalProfileManager.getProfiles(InternalProfileManager.java:150) at org.eclipse.datatools.connectivity.internal.InternalProfileManager.saveChanges(InternalProfileManager.java:1018) at org.eclipse.datatools.connectivity.VersionProviderConnection.updateVersionCache(VersionProviderConnection.java:91) at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:114) at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54) at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:73) at org.eclipse.datatools.enablement.internal.mysql.connection.JDBCMySQLConnectionFactory.createConnection(JDBCMySQLConnectionFactory.java:28) at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83) at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359) at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionInfoImpl.initializeJDBCConnection(ConnectionInfoImpl.java:705) at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionInfoImpl.<init>(ConnectionInfoImpl.java:690) at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionFactory.createConnection(ConnectionFactory.java:38) at org.eclipse.datatools.connectivity.sqm.core.SQMConnectionFactory.createConnection(SQMConnectionFactory.java:45) at org.eclipse.datatools.connectivity.sqm.internal.core.connection.ConnectionFactory.createConnection(ConnectionFactory.java:59) at org.eclipse.datatools.connectivity.internal.ConnectionFactoryAdapterProvider.createConnection(ConnectionFactoryAdapterProvider.java:114) at org.eclipse.datatools.connectivity.internal.ManagedConnection.createConnection(ManagedConnection.java:163) at org.eclipse.datatools.connectivity.internal.CreateConnectionJob.run(CreateConnectionJob.java:56) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log SEVERE: Unable to create sample database in /usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb. Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/); Exception message: URI is not absolute Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.report.data.oda.jdbc.dbprofile.sampledb); Exception message: URI is not absolute Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/); Exception message: URI is not absolute Jan 30, 2012 10:13:25 AM org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log WARNING: PluginResourceLocatorImpl#encode(String): Unable to encode workspace location (/usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.runtime); invalid encodedLocation (usr/share/apache-tomcat-7.0.23/temp/workspace_dtp/org.eclipse.birt.runtime); Exception message: URI is not absolute -- So using the BIRT Runtime 3.7.2_RC1 with org.eclipse.datatools.connectivity_1.2.4.v201201260252.jar, the reports are working fine in the WebViewerExample (using connection profile data source)
(In reply to comment #6) Thanks for the feedback and the log messages. It was very helpful. I have now replaced the interim workaround with a fix for the original encoding bug, which apparently occurred when running on Linus and MacOS. http://git.eclipse.org/c/datatools/org.eclipse.datatools.connectivity.git/commit/?h=DTP_1_9_2_Branch&id=9fb21c5295cf9a9d22f90ef52e9efae4751a1b05 With the latest fix, you should no longer see the warning log message. It would be great if you can help try out the latest fix patch, available in the DTP 1.9.2 RC3 Integration build: http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/drops/N_DTP_1.9.2/dtp-1.9.2RC3-201202050500.zip You can extract just the bundle jar (org.eclipse.datatools.connectivity_1.2.4.v201202041105.jar or later) from the RC3 build download package. And copy the bundle jar into the BIRT 3.7.2 RC1 installation (or later), like before for the test.
Build Identifier: eclipse indigo and galileo,birt 3.7.2 all in one,birt runtime 3.7.2,linux 10.4,postgresql 9i,apache 5.5.34 hi i have installed birt 3.7.2 all in one with indigo . i have correctly make 2 report on db postgresql : 1 with jdbc data source and 1 with jdbc database connection with query builder . All project works correcly. I have connect my apache 5.5.34 in eclipse galileo and i have make a folder on workspace that contain all file of birt runtime 3.7.2 and i have insert my two report designer into this folder , so an ant file deploy all file into webapp folder of tomcat. when i start the server the first project with jdbc data source work correctly , but the second dont' work and show that errors: Table (id = 1778): + An exception occurred during processing. Please see the following message for details: Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.dbprofile. org.eclipse.datatools.connectivity.oda.OdaException ; java.lang.IllegalStateException: Unable to determine the default workspace location. Check your OSGi-less platform configuration of the plugin or datatools workspace path. (Element ID:1778) 7-mag-2012 11.31.02 org.eclipse.datatools.connectivity.oda.profile.provider.ProfilePropertyProviderImpl getConnectionProfile AVVERTENZA: No connection profile is found by its specified name: null 7-mag-2012 11.31.02 org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log GRAVE: Unable to determine the default workspace location. Check your OSGi-less platform configuration of the plugin or datatools workspace path. 7-mag-2012 11.31.02 org.eclipse.datatools.connectivity.internal.ConnectivityPlugin log GRAVE: Unable to determine the default workspace location. Check your OSGi-less platform configuration of the plugin or datatools workspace path. i don't know how can i resolve this problem please help me if you can thank you