Hi Ed,
The Dialog only gives a check box with two choices:
1. Use model from workspace
2. Use model form filesystem
and a text field with a browse button.
On the off chance the ODA Ecore DataSource wizard would maybe accept a
http url, I tried pasting in a URL for a model instance that is on a
http server, but got the exception:
org.eclipse.datatools.connectivity.oda.OdaException ;
java.lang.NullPointerException
at
org.eclipse.datatools.connectivity.oda.profile.OdaConnectionWrapper.open(OdaConnectionWrapper.java:215)
at
org.eclipse.datatools.connectivity.oda.profile.OdaConnectionWrapper.<init>(OdaConnectionWrapper.java:59)
at
org.eclipse.datatools.connectivity.oda.profile.OdaConnectionFactory.createConnection(OdaConnectionFactory.java:26)
at
org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
at
org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:355)
at
org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
at
org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSourceWizardPageCore$1.run(DataSourceWizardPageCore.java:231)
at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at
org.eclipse.datatools.connectivity.ui.wizards.ConnectionProfileDetailsPage.testConnection(ConnectionProfileDetailsPage.java:194)
at
org.eclipse.datatools.connectivity.ui.wizards.ConnectionProfileDetailsPage$2.widgetSelected(ConnectionProfileDetailsPage.java:131)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.birt.report.designer.ui.actions.NewDataSourceAction.run(NewDataSourceAction.java:126)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
Caused by: java.lang.NullPointerException
at java.io.File.<init>(File.java:222)
at org.eclipse.emf.common.util.URI.createFileURI(URI.java:832)
at
org.eclipse.datatools.enablement.oda.ecore.impl.Connection.dataSourceUriFromProperties(Connection.java:83)
at
org.eclipse.datatools.enablement.oda.ecore.impl.Connection.getModel(Connection.java:63)
at
org.eclipse.datatools.enablement.oda.ecore.impl.Connection.open(Connection.java:52)
at
org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:235)
at
org.eclipse.datatools.connectivity.oda.profile.OdaConnectionWrapper.open(OdaConnectionWrapper.java:209)
... 45 more
BTW - Welcome back from your voyage,
John
Ed Merks wrote:
John,
EMF itself definitely supports arbitrary URLs right at the core. Our
Load Resource dialog allows an arbitrary URI to be entered? Of course
there are only browse buttons for workspace and file system, but you
can enter a URL (such as an http-based one) directly in the entry
field. Maybe that the dialog you're already seeing?
John E. Conlon wrote:
I have a use case where I would like to report on Ecore model
instances that reside on remote webservers.
When creating ODA Ecore DataSources, I see that models can be browsed
for (located) in the workspace and the file system ...
but could URLs be used to identify Ecore models that are located on
web servers (etc.) as well?
If not, is this a constraint based on EMF/Ecore limitations or the
present implementation of ODA Ecore?
cheers,
John