Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] access CDO from "outside"
[CDO] access CDO from "outside" [message #1113016] Fri, 20 September 2013 10:16 Go to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 752
Registered: July 2009
Senior Member
Hi, what would it take to access a CDO resource like this:

http://some.ip.address.somewhere/cdo/my_resource

which would then return it as XML ?

I guess it boils back to the CDO and REST discussion?

In my use case, it would be to use this URL in the EMF ODA drive
available for BiRT reports. It now wants locally available file resources.

Rgds Christophe
Re: [CDO] access CDO from "outside" [message #1113060 is a reply to message #1113016] Fri, 20 September 2013 11:26 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 752
Registered: July 2009
Senior Member
mmmh maybe a simpler approach is to let the emf.oda.ui Wizard integrate
with the CDO Client UI and browse the resources from one of the CDO UI
views.

I'd like to contribute this, would it be the CDO or emf project? I would
then clone the current ODA code.

What do you say?
Christophe


On 20-09-13 16:16, Christophe Bouhier wrote:
> Hi, what would it take to access a CDO resource like this:
>
> http://some.ip.address.somewhere/cdo/my_resource
>
> which would then return it as XML ?
>
> I guess it boils back to the CDO and REST discussion?
>
> In my use case, it would be to use this URL in the EMF ODA drive
> available for BiRT reports. It now wants locally available file resources.
>
> Rgds Christophe
Re: [CDO] access CDO from "outside" [message #1113100 is a reply to message #1113016] Fri, 20 September 2013 12:43 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5252
Registered: July 2009
Senior Member
Am 20.09.2013 16:16, schrieb Christophe Bouhier:
> Hi, what would it take to access a CDO resource like this:
>
> http://some.ip.address.somewhere/cdo/my_resource
>
> which would then return it as XML ?
>
> I guess it boils back to the CDO and REST discussion?
>
> In my use case, it would be to use this URL in the EMF ODA drive available for BiRT reports. It now wants locally
> available file resources.
I know that CDO can be used with ODA. Can you please elaborate what "It now wants locally available file resources" means?

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Re: [CDO] access CDO from "outside" [message #1113465 is a reply to message #1113100] Sat, 21 September 2013 02:07 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 752
Registered: July 2009
Senior Member
On 20-09-13 18:43, Eike Stepper wrote:
> Am 20.09.2013 16:16, schrieb Christophe Bouhier:
>> Hi, what would it take to access a CDO resource like this:
>>
>> http://some.ip.address.somewhere/cdo/my_resource
>>
>> which would then return it as XML ?
>>
>> I guess it boils back to the CDO and REST discussion?
>>
>> In my use case, it would be to use this URL in the EMF ODA drive
>> available for BiRT reports. It now wants locally available file
>> resources.
> I know that CDO can be used with ODA. Can you please elaborate what "It
> now wants locally available file resources" means?
>
I tried it out with BiRT. pretty much like here:
http://timezra.blogspot.nl/2008/04/oda-ecore-getting-started-guide.html

- Create DataSource
- Select EMF Ecore ODA
- Then a wizard asks for a resource which should be in the workspace or
filesystem. From here I don't see a way to select a CDO resource unless
a URI would work, but I am not sure what it should be? something with
cdo:// perhaps?

Maybe you can share what you "know"?

Thx Christophe

> Cheers
> /Eike
>
> ----
> http://www.esc-net.de
> http://thegordian.blogspot.com
> http://twitter.com/eikestepper
>
>
Re: [CDO] access CDO from "outside" [message #1113490 is a reply to message #1113465] Sat, 21 September 2013 03:01 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5252
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Am 21.09.2013 08:07, schrieb Christophe Bouhier:<br>
<blockquote cite="mid:l1jd2p$2k5$1@xxxxxxxxe.org" type="cite">I
tried it out with BiRT. pretty much like here:
<a class="moz-txt-link-freetext" href="http://timezra.blogspot.nl/2008/04/oda-ecore-getting-started-guide.html">http://timezra.blogspot.nl/2008/04/oda-ecore-getting-started-guide.html</a>
<br>
<br>
- Create DataSource
<br>
- Select EMF Ecore ODA
<br>
- Then a wizard asks for a resource which should be in the
workspace or filesystem. </blockquote>
Why should it be just there?<br>
<br>
<blockquote cite="mid:l1jd2p$2k5$1@xxxxxxxxe.org" type="cite">From
here I don't see a way to select a CDO resource unless a URI would
work, but I am not sure what it should be? something with cdo://
perhaps?
<br>
</blockquote>
CDO supports "connection-aware" URIs, for example:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; cdo.net4j.tcp://localhost:2036/repo1/resource-path<br>
<br>
From the Javadoc on CDOURIData:<br>
<br>
<style type="text/css" charset="ISO-8859-1">/* Font definitions */
html { font-family: 'Segoe UI',sans-serif; font-size: 9pt; font-style: normal; font-weight: normal; }
body, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt { font-size: 1em; }
pre { font-family: monospace; }
h1 { font-size: 1.8em; }
h2 { font-size: 1.2em; }
h3 { font-size: 1.1em; }

/* Margins */
body { overflow: auto; margin-top: 5px; margin-bottom: 4px; margin-left: 8px; margin-right: 4px; }
h1 { margin-top: 0.3em; margin-bottom: 0.04em; }
h2 { margin-top: 2em; margin-bottom: 0.25em; }
h3 { margin-top: 1.7em; margin-bottom: 0.25em; }
h4 { margin-top: 2em; margin-bottom: 0.3em; }
h5 { margin-top: 0px; margin-bottom: 0px; }
p { margin-top: 1em; margin-bottom: 1em; }
pre { margin-left: 0.6em; }
ul { margin-top: 0px; margin-bottom: 1em; margin-left: 1em; padding-left: 1em; }
li { margin-top: 0px; margin-bottom: 0px; }
li p { margin-top: 0px; margin-bottom: 0px; }
ol { margin-top: 0px; margin-bottom: 1em; margin-left: 1em; padding-left: 1em; }
dl { margin-top: 0px; margin-bottom: 1em; }
dt { margin-top: 0px; margin-bottom: 0px; font-weight: bold; }
dd { margin-top: 0px; margin-bottom: 0px; }

/* Styles and colors */
a:link { color: #0000FF; }
a:hover { color: #000080; }
a:visited { text-decoration: underline; }
a.header:link { text-decoration: none; color: #000000 }
a.header:visited { text-decoration: none; color: #000000 }
a.header:hover { text-decoration: underline; color: #000080; }
h4 { font-style: italic; }
strong { font-weight: bold; }
em { font-style: italic; }
var { font-style: italic; }
th { font-weight: bold; }
</style>
<p>Represents a CDO-specific <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82URI">URI</a></code>
in connection-aware format. </p>
<p>CDO URIs are in one of two different formats, either canonical or
connection-aware. The connection-aware format is: </p>
<blockquote><b>cdo.net4j.</b> <i>ConnectorType</i> <b>://</b> [<i>User</i>
[<b>:</b> <i>Password</i>] <b>@</b>] <i>ConnectorSpecificAuthority</i>
<b>/</b> <i>RepositoryName</i> <b>/</b> <i>ResourcePath</i> [<b>?</b>
<i>Param</i><b>=</b><i>Value</i> (<b>&amp;</b> <i>Param</i><b>=</b><i>Value</i>)*]</blockquote>
The non-terminals being:
<p>
</p>
<ul>
<li><i>ConnectorType</i>: one of <b>tcp</b> | <b>ssl</b> | <b>jvm</b>
| <b>http</b> </li>
<li><i>User/Password</i>: to be provided if the repository is
configured with an <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82IUserManager">IUserManager</a></code>
and, hence, triggers authentication on the client. Note: the
password may be stored in resources in clear text! </li>
<li><i>ConnectorSpecificAuthority</i>: examples are
<ul>
<li><i>Host</i> [<b>:</b> <i>Port</i>] (if <i>ConnectorType</i>
is <b>tcp</b>) </li>
<li><i>AcceptorName</i> (if <i>ConnectorType</i> is <b>jvm</b>)
</li>
</ul>
</li>
<li><i>RepositoryName</i>: the <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOCommonRepository%E2%98%82getName%E2%98%82">name</a></code>
of the repository (not the <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOCommonRepository%E2%98%82getUUID%E2%98%82">UUID</a></code>!).
</li>
<li><i>ResourcePath</i>: the full path of the <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOResource">resource</a></code>
within the repository, segments separated by slashes, no leading
slash. </li>
<li><i>Param</i>: one of the following
<ul>
<li><b>branch</b>: the value must be a <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOBranch%E2%98%82getPathName%E2%98%82">branch
path</a></code>, the full path of the branch in the
branch tree, segments separated by slashes, no leading
slash, defaults to <b>MAIN</b>. </li>
<li><b>time</b>: the value must be the time at which the
resource is supposed to be valid, parseable by
SimpleDateFormat. The special value <b>HEAD</b> indicates a
floating view/transaction that always shows the latest state
in the chosen branch, the default if no <i>Time</i>
parameter is specified. </li>
<li><b>transactional</b>: a boolean value. The value <b>true</b>
forces a the resource to be opened in a transaction rather
than in a read-only view. This can not be combined with a <i>Time</i>
other than <b>HEAD</b>. </li>
<li><b>prefetch</b>: a boolean value. The value <b>true</b>
attempts to load all objects contained by the resource in a
single server-round trip and cache the results. </li>
</ul>
</li>
</ul>
<p>Note: With the current design and implementation of
connection-aware URI (mainly CDONet4jViewProvider) it is still
unclear when and how the allocated "resources" (aka IConnector,
CDOSession, CDOView, etc) are supposed to be freed! </p>
<p>For a description of the canonical URI format refer to <code><a
href="eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOURIUtil">CDOURIUtil</a></code>.</p>
<base
href="file:/C:/develop/cdo/master/git/cdo/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/util/CDOURIData.java">Cheers<br>
/Eike<br>
<br>
----<br>
<a class="moz-txt-link-freetext" href="http://www.esc-net.de">http://www.esc-net.de</a><br>
<a class="moz-txt-link-freetext" href="http://thegordian.blogspot.com">http://thegordian.blogspot.com</a><br>
<a class="moz-txt-link-freetext" href="http://twitter.com/eikestepper">http://twitter.com/eikestepper</a><br>
<br>
<br>
</body>
</html>
Re: [CDO] access CDO from &quot;outside&quot; [message #1113507 is a reply to message #1113490] Sat, 21 September 2013 03:41 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 752
Registered: July 2009
Senior Member
On 21-09-13 09:01, Eike Stepper wrote:
> Am 21.09.2013 08:07, schrieb Christophe Bouhier:
>> I tried it out with BiRT. pretty much like here:
>> http://timezra.blogspot.nl/2008/04/oda-ecore-getting-started-guide.html
>>
>> - Create DataSource
>> - Select EMF Ecore ODA
>> - Then a wizard asks for a resource which should be in the workspace
>> or filesystem.
> Why should it be just there?
>
these are the options presented by the UI for browsing for an EMF
resource.

>> From here I don't see a way to select a CDO resource unless a URI
>> would work, but I am not sure what it should be? something with cdo://
>> perhaps?
> CDO supports "connection-aware" URIs, for example:
>
> cdo.net4j.tcp://localhost:2036/repo1/resource-path
>

Ah very good, I will give this a try. Still I my case I would like to
offer an option to "browse" for resources versus asking the user to
enter a complex URI. As the CDO preferences hold information about
repositories this could be used, and the resources can be browsed (Which
would also open a CDOView automatically).

This would be a simple extension to the ODA code, but increase the user
experience. I don't have to contribute it back, it's just a question if
there is any interest to have this in the CDO UI code.

> From the Javadoc on CDOURIData:
>
> Represents a CDO-specific |URI
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82URI>|
> in connection-aware format.
>
> CDO URIs are in one of two different formats, either canonical or
> connection-aware. The connection-aware format is:
>
> *cdo.net4j.* /ConnectorType/ *://* [/User/ [*:* /Password/] *@*]
> /ConnectorSpecificAuthority/ */* /RepositoryName/ */* /ResourcePath/
> [*?* /Param/*=*/Value/ (*&* /Param/*=*/Value/)*]
>
> The non-terminals being:
>
> * /ConnectorType/: one of *tcp* | *ssl* | *jvm* | *http*
> * /User/Password/: to be provided if the repository is configured with
> an |IUserManager
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82IUserManager>|
> and, hence, triggers authentication on the client. Note: the
> password may be stored in resources in clear text!
> * /ConnectorSpecificAuthority/: examples are
> o /Host/ [*:* /Port/] (if /ConnectorType/ is *tcp*)
> o /AcceptorName/ (if /ConnectorType/ is *jvm*)
> * /RepositoryName/: the |name
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOCommonRepository%E2%98%82getName%E2%98%82>|
> of the repository (not the |UUID
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOCommonRepository%E2%98%82getUUID%E2%98%82>|!).
>
> * /ResourcePath/: the full path of the |resource
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOResource>|
> within the repository, segments separated by slashes, no leading slash.
> * /Param/: one of the following
> o *branch*: the value must be a |branch path
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOBranch%E2%98%82getPathName%E2%98%82>|,
> the full path of the branch in the branch tree, segments
> separated by slashes, no leading slash, defaults to *MAIN*.
> o *time*: the value must be the time at which the resource is
> supposed to be valid, parseable by SimpleDateFormat. The special
> value *HEAD* indicates a floating view/transaction that always
> shows the latest state in the chosen branch, the default if no
> /Time/ parameter is specified.
> o *transactional*: a boolean value. The value *true* forces a the
> resource to be opened in a transaction rather than in a
> read-only view. This can not be combined with a /Time/ other
> than *HEAD*.
> o *prefetch*: a boolean value. The value *true* attempts to load
> all objects contained by the resource in a single server-round
> trip and cache the results.
>
> Note: With the current design and implementation of connection-aware URI
> (mainly CDONet4jViewProvider) it is still unclear when and how the
> allocated "resources" (aka IConnector, CDOSession, CDOView, etc) are
> supposed to be freed!
>
> For a description of the canonical URI format refer to |CDOURIUtil
> <eclipse-javadoc:%E2%98%82=org.eclipse.emf.cdo/src%3Corg.eclipse.emf.cdo.util%7BCDOURIData.java%E2%98%83CDOURIData%E2%98%82CDOURIUtil>|.
>
> Cheers
> /Eike
>
> ----
> http://www.esc-net.de
> http://thegordian.blogspot.com
> http://twitter.com/eikestepper
>
>
Re: [CDO] access CDO from &quot;outside&quot; [message #1113513 is a reply to message #1113507] Sat, 21 September 2013 03:55 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5252
Registered: July 2009
Senior Member
Am 21.09.2013 09:41, schrieb Christophe Bouhier:
>
>> CDO supports "connection-aware" URIs, for example:
>>
>> cdo.net4j.tcp://localhost:2036/repo1/resource-path
>>
>
> Ah very good, I will give this a try. Still I my case I would like to offer an option to "browse" for resources versus
> asking the user to enter a complex URI.
Where does that dialog come from? Maybe we can contribute another Load From button.

> As the CDO preferences hold information about repositories
Where?

> this could be used, and the resources can be browsed (Which would also open a CDOView automatically).
>
> This would be a simple extension to the ODA code, but increase the user experience. I don't have to contribute it
> back, it's just a question if
> there is any interest to have this in the CDO UI code.
I'm not sure how the CDO code is related to dialogs and buttons in ODA.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Re: [CDO] access CDO from &quot;outside&quot; [message #1113550 is a reply to message #1113513] Sat, 21 September 2013 05:16 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 752
Registered: July 2009
Senior Member
On 21-09-13 09:55, Eike Stepper wrote:
> Am 21.09.2013 09:41, schrieb Christophe Bouhier:
>>
>>> CDO supports "connection-aware" URIs, for example:
>>>
>>> cdo.net4j.tcp://localhost:2036/repo1/resource-path
>>>
>>
>> Ah very good, I will give this a try. Still I my case I would like to
>> offer an option to "browse" for resources versus asking the user to
>> enter a complex URI.
> Where does that dialog come from? Maybe we can contribute another Load
> From button.

I am not an expert, but what I gathered from the code is there are
extensions defined, for contributing wizards, pages etc...read on.

>
>> As the CDO preferences hold information about repositories
> Where?
this is your code dude!
Eclipse -> Preferences -> CDO -> Repository Name, User Name etc...

These preferences can be used to construct the URI, although some info
would be missing like the IP address/localhost and the connector type.
(tcp,jvm etc..)

>
>> this could be used, and the resources can be browsed (Which would also
>> open a CDOView automatically).
>>
>> This would be a simple extension to the ODA code, but increase the
>> user experience. I don't have to contribute it back, it's just a
>> question if
>> there is any interest to have this in the CDO UI code.
> I'm not sure how the CDO code is related to dialogs and buttons in ODA.

The current EMF ODA code has a UI component. (see
org.eclipse.emf.oda.ecore.ui)

below some example of the extensions in this plugin:
As you see the EcoreDataSourceWizardPage is contributed.
What I mean is adapting this class and perhaps additional ODA API
implementations to make possible to:

1. Browse to a CDO Resource (ODA Data Source Connection).
2. Prepare execute query (ODA Data Set Query), the Ecore ODA currently
supports OCL I believe, perhaps the CDO QueryHandler syntaxt can be used
to integrate better with CDO.
3. Deal with the result set.
etc...


See ODA API here:
http://www.eclipse.org/datatools/project_connectivity/connectivity_doc/OdaOverview.htm

<extension

point="org.eclipse.datatools.connectivity.oda.design.ui.dataSource">
<dataSourceUI
id="%data.source.id">
<newDataSourceWizard

pageClass="org.eclipse.emf.oda.ecore.ui.impl.EcoreDataSourceWizardPage"
includesProgressMonitor="false"
pageTitle="%wizard.data.source.page.title"
windowTitle="%wizard.window.title"/>
</dataSourceUI>
<dataSetUI
supportsOutParameters="false"
supportsInParameters="true"
initialPageId="%wizard.data.set.page.id"
id="%data.set.id">
<dataSetWizard

class="org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard"
windowTitle="%wizard.data.set.window.title"/>
<dataSetPage
displayName="%wizard.data.set.page.title"
icon="icons/full/ctool16/NewEcore.gif"

wizardPageClass="org.eclipse.emf.oda.ecore.ui.impl.EcoreDataSetWizardPage"
path="/"
id="%wizard.data.set.page.id"/>
</dataSetUI>
</extension>


>
> Cheers
> /Eike
>
> ----
> http://www.esc-net.de
> http://thegordian.blogspot.com
> http://twitter.com/eikestepper
>
>
Re: [CDO] access CDO from &quot;outside&quot; [message #1113557 is a reply to message #1113550] Sat, 21 September 2013 05:30 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5252
Registered: July 2009
Senior Member
Am 21.09.2013 11:16, schrieb Christophe Bouhier:
> On 21-09-13 09:55, Eike Stepper wrote:
>> Am 21.09.2013 09:41, schrieb Christophe Bouhier:
>>>
>>>> CDO supports "connection-aware" URIs, for example:
>>>>
>>>> cdo.net4j.tcp://localhost:2036/repo1/resource-path
>>>>
>>>
>>> Ah very good, I will give this a try. Still I my case I would like to
>>> offer an option to "browse" for resources versus asking the user to
>>> enter a complex URI.
>> Where does that dialog come from? Maybe we can contribute another Load
>> From button.
>
> I am not an expert, but what I gathered from the code is there are extensions defined, for contributing wizards, pages
> etc...read on.
>
>>
>>> As the CDO preferences hold information about repositories
>> Where?
> this is your code dude!
That's why I ask :P

> Eclipse -> Preferences -> CDO -> Repository Name, User Name etc...
These are in the "Session *Defaults*" group and nothing can be deduced from them. They're likely to be removed in future
releases, now that most dialogs remember former values in history controls.

>
> These preferences can be used to construct the URI, although some info
> would be missing like the IP address/localhost and the connector type. (tcp,jvm etc..)
No, it all boils down to finding the place in the ODA code, if available, where CDO could contribute a custom Open From
button.

>
>>
>>> this could be used, and the resources can be browsed (Which would also
>>> open a CDOView automatically).
>>>
>>> This would be a simple extension to the ODA code, but increase the
>>> user experience. I don't have to contribute it back, it's just a
>>> question if
>>> there is any interest to have this in the CDO UI code.
>> I'm not sure how the CDO code is related to dialogs and buttons in ODA.
>
> The current EMF ODA code has a UI component. (see org.eclipse.emf.oda.ecore.ui)
I don't have that in my target platform.

>
> below some example of the extensions in this plugin:
> As you see the EcoreDataSourceWizardPage is contributed.
> What I mean is adapting this class and perhaps additional ODA API implementations to make possible to:
The existing implementation can already be used transparently with CDO's connection aware URIs.

If you want to make the specification of these URIs easier (in ODA) you need to talk to the ODA guys and ask them to
make their dialog customizeable somehow. I suspect that it boils down to the
org.eclipse.emf.common.ui.dialogs.ResourceDialog class in EMF, but I'm not sure.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


>
> 1. Browse to a CDO Resource (ODA Data Source Connection).
> 2. Prepare execute query (ODA Data Set Query), the Ecore ODA currently supports OCL I believe, perhaps the CDO
> QueryHandler syntaxt can be used to integrate better with CDO.
> 3. Deal with the result set.
> etc...
>
>
> See ODA API here: http://www.eclipse.org/datatools/project_connectivity/connectivity_doc/OdaOverview.htm
>
> <extension
>
> point="org.eclipse.datatools.connectivity.oda.design.ui.dataSource">
> <dataSourceUI
> id="%data.source.id">
> <newDataSourceWizard
>
> pageClass="org.eclipse.emf.oda.ecore.ui.impl.EcoreDataSourceWizardPage"
> includesProgressMonitor="false"
> pageTitle="%wizard.data.source.page.title"
> windowTitle="%wizard.window.title"/>
> </dataSourceUI>
> <dataSetUI
> supportsOutParameters="false"
> supportsInParameters="true"
> initialPageId="%wizard.data.set.page.id"
> id="%data.set.id">
> <dataSetWizard
>
> class="org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard"
> windowTitle="%wizard.data.set.window.title"/>
> <dataSetPage
> displayName="%wizard.data.set.page.title"
> icon="icons/full/ctool16/NewEcore.gif"
>
> wizardPageClass="org.eclipse.emf.oda.ecore.ui.impl.EcoreDataSetWizardPage"
> path="/"
> id="%wizard.data.set.page.id"/>
> </dataSetUI>
> </extension>
>
>
>>
>> Cheers
>> /Eike
>>
>> ----
>> http://www.esc-net.de
>> http://thegordian.blogspot.com
>> http://twitter.com/eikestepper
>>
>>
>
Re: [CDO] access CDO from &quot;outside&quot; [message #1114911 is a reply to message #1113557] Mon, 23 September 2013 07:53 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 752
Registered: July 2009
Senior Member
On 21-09-13 11:30, Eike Stepper wrote:
> Am 21.09.2013 11:16, schrieb Christophe Bouhier:
>> On 21-09-13 09:55, Eike Stepper wrote:
>>> Am 21.09.2013 09:41, schrieb Christophe Bouhier:
>>>>
>>>>> CDO supports "connection-aware" URIs, for example:
>>>>>
>>>>> cdo.net4j.tcp://localhost:2036/repo1/resource-path
>>>>>
>>>>
>>>> Ah very good, I will give this a try. Still I my case I would like to
>>>> offer an option to "browse" for resources versus asking the user to
>>>> enter a complex URI.
>>> Where does that dialog come from? Maybe we can contribute another Load
>>> From button.
>>
>> I am not an expert, but what I gathered from the code is there are
>> extensions defined, for contributing wizards, pages etc...read on.
>>
>>>
>>>> As the CDO preferences hold information about repositories
>>> Where?
>> this is your code dude!
> That's why I ask :P
>
>> Eclipse -> Preferences -> CDO -> Repository Name, User Name etc...
> These are in the "Session *Defaults*" group and nothing can be deduced
> from them. They're likely to be removed in future releases, now that
> most dialogs remember former values in history controls.
>
>>
>> These preferences can be used to construct the URI, although some info
>> would be missing like the IP address/localhost and the connector type.
>> (tcp,jvm etc..)
> No, it all boils down to finding the place in the ODA code, if
> available, where CDO could contribute a custom Open From button.
I listed the contribution options for ODA.
>
>>
>>>
>>>> this could be used, and the resources can be browsed (Which would also
>>>> open a CDOView automatically).
>>>>
>>>> This would be a simple extension to the ODA code, but increase the
>>>> user experience. I don't have to contribute it back, it's just a
>>>> question if
>>>> there is any interest to have this in the CDO UI code.
>>> I'm not sure how the CDO code is related to dialogs and buttons in ODA.
>>
>> The current EMF ODA code has a UI component. (see
>> org.eclipse.emf.oda.ecore.ui)
> I don't have that in my target platform.
I didn't have it either, but as it is in the EMF git, it was just a
matter of cloning the EMF git, and adding the 3 emf.oda.* plugins.
>
>>
>> below some example of the extensions in this plugin:
>> As you see the EcoreDataSourceWizardPage is contributed.
>> What I mean is adapting this class and perhaps additional ODA API
>> implementations to make possible to:
> The existing implementation can already be used transparently with CDO's
> connection aware URIs.
Yes, you mentioned this and I tried it out. It works well indeed. I
could even specifiy the user/password to login through the CDO UserManager

>
> If you want to make the specification of these URIs easier (in ODA) you
> need to talk to the ODA guys and ask them to make their dialog
> customizeable somehow. I suspect that it boils down to the
> org.eclipse.emf.common.ui.dialogs.ResourceDialog class in EMF, but I'm
> not sure.
ODA already offers nice contribution points (Which is a Wizard page),
the current implementation (EcoreDataSourceWizardPage) indeed calls the
emf ResourceDialog. Do you mean ResourceDialog can "browse" to CDO
resources? What I can do with it now is just paste in a URL like this:

cdo.net4j.tcp://admin:admin@localhost:2036/repo1/metricsource

This is is not very user friendly for an integrated application,
which would allow a user to create BiRT reports. Anyway I see your
point, but I need/want more for NetXStudio.

>
> Cheers
> /Eike
>
> ----
> http://www.esc-net.de
> http://thegordian.blogspot.com
> http://twitter.com/eikestepper
>
>
>>
>> 1. Browse to a CDO Resource (ODA Data Source Connection).
>> 2. Prepare execute query (ODA Data Set Query), the Ecore ODA currently
>> supports OCL I believe, perhaps the CDO QueryHandler syntaxt can be
>> used to integrate better with CDO.
>> 3. Deal with the result set.
>> etc...
>>
>>
>> See ODA API here:
>> http://www.eclipse.org/datatools/project_connectivity/connectivity_doc/OdaOverview.htm
>>
>>
>> <extension
>>
>> point="org.eclipse.datatools.connectivity.oda.design.ui.dataSource">
>> <dataSourceUI
>> id="%data.source.id">
>> <newDataSourceWizard
>>
>> pageClass="org.eclipse.emf.oda.ecore.ui.impl.EcoreDataSourceWizardPage"
>> includesProgressMonitor="false"
>> pageTitle="%wizard.data.source.page.title"
>> windowTitle="%wizard.window.title"/>
>> </dataSourceUI>
>> <dataSetUI
>> supportsOutParameters="false"
>> supportsInParameters="true"
>> initialPageId="%wizard.data.set.page.id"
>> id="%data.set.id">
>> <dataSetWizard
>>
>> class="org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard"
>>
>> windowTitle="%wizard.data.set.window.title"/>
>> <dataSetPage
>> displayName="%wizard.data.set.page.title"
>> icon="icons/full/ctool16/NewEcore.gif"
>>
>> wizardPageClass="org.eclipse.emf.oda.ecore.ui.impl.EcoreDataSetWizardPage"
>>
>> path="/"
>> id="%wizard.data.set.page.id"/>
>> </dataSetUI>
>> </extension>
>>
>>
>>>
>>> Cheers
>>> /Eike
>>>
>>> ----
>>> http://www.esc-net.de
>>> http://thegordian.blogspot.com
>>> http://twitter.com/eikestepper
>>>
>>>
>>
>
Re: [CDO] access CDO from &quot;outside&quot; [message #1114949 is a reply to message #1114911] Mon, 23 September 2013 08:57 Go to previous message
Eike Stepper is currently offline Eike Stepper
Messages: 5252
Registered: July 2009
Senior Member
Am 23.09.2013 13:53, schrieb Christophe Bouhier:
>
>> The existing implementation can already be used transparently with CDO's
>> connection aware URIs.
> Yes, you mentioned this and I tried it out. It works well indeed. I could even specifiy the user/password to login
> through the CDO UserManager
It might not be a good idea to specify the clear text password in the URI, though. The net4j.util.ui plugin contributes
an InteractiveCredentialsProvider that the Net4jSessionFactory picks up to open a Login dialog if the password is needed
and missing.

>
>>
>> If you want to make the specification of these URIs easier (in ODA) you
>> need to talk to the ODA guys and ask them to make their dialog
>> customizeable somehow. I suspect that it boils down to the
>> org.eclipse.emf.common.ui.dialogs.ResourceDialog class in EMF, but I'm
>> not sure.
> ODA already offers nice contribution points (Which is a Wizard page), the current implementation
> (EcoreDataSourceWizardPage) indeed calls the emf ResourceDialog. Do you mean ResourceDialog can "browse" to CDO
> resources?
No, but my whole point is that it should. And could, if you contribute the respective code to EMF. I talked to Ed and
he's willing to review it. If you want Ed or me to develop the new UI logic and the underlying extension point for you
please contact us.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


> What I can do with it now is just paste in a URL like this:
>
> cdo.net4j.tcp://admin:admin@localhost:2036/repo1/metricsource
>
> This is is not very user friendly for an integrated application,
> which would allow a user to create BiRT reports. Anyway I see your point, but I need/want more for NetXStudio.
Previous Topic:Structure of p2 download site(s) for EMF
Next Topic:[CDO] Enum serialization and second-level cache enabled
Goto Forum:
  


Current Time: Mon Oct 07 08:10:41 EDT 2013

Powered by FUDForum. Page generated in 0.03889 seconds