Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.doc/new/new.htm')
-rw-r--r--plugins/org.eclipse.emf.cdo.doc/new/new.htm172
1 files changed, 0 insertions, 172 deletions
diff --git a/plugins/org.eclipse.emf.cdo.doc/new/new.htm b/plugins/org.eclipse.emf.cdo.doc/new/new.htm
deleted file mode 100644
index edd38df51d..0000000000
--- a/plugins/org.eclipse.emf.cdo.doc/new/new.htm
+++ /dev/null
@@ -1,172 +0,0 @@
-<HTML
-xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>CDO - New Features</TITLE>
-
-<BODY bgColor=#ffffff>
-<H2>New &amp; Noteworthy</H2>
-<TABLE id=table415 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><B>Create save point</B></P></TD>
- <TD vAlign=top>
- <P align=left>
- Creates a save point in the <i>CDOTransaction, </i>that can be used to roll back a part of the
- transaction and
- specifies the save point.<p>
- <b>Note:</b> Save points do not involve the server side, everything is done on
- the client side.</P></TD></TR>
- </TBODY></TABLE>
-<HR>
-
-<TABLE id=table417 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><B>Make remote invalidation configurable</B></P></TD>
- <TD vAlign=top>
- <P align=left>Specifies whether an object will be invalidated by others
- users' changes.<br>
- e.g. : <i>session.setPassiveUpdateEnabled(false);</i></P>
- <P align=left>By default this property is enabled. If this property is
- disabled the latest versions of objects can still be obtained by calling <i>{@link #refresh()}</i>.<br>
- e.g. : <i>session.refresh();</i></P>
- <P align=left>Passive update can be disabled in cases where more
- performance is needed and/or more control over when objects will be
- refreshed.</P>
- <P align=left>When the feature is turned on, it will automatically performs a refresh
- to be in sync with the server.</P></TD></TR>
- </TBODY></TABLE>
-<HR>
-
-<TABLE id=table403 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><b>Change subscription</b></P></TD>
- <TD vAlign=top>
- <P align=left>Allows listeners to be
- notified when objects are modified from other <i>CDOTransaction</i>
- (remotely or not). It uses adapters for the notification process (see
- CDONotification).</P>
- <P align=left>To activate the policy, you must to do the following: <br>
- e.g.: <i>
- transaction.setChangeSubscriptionPolicy(CDOChangeSubscriptionPolicy.ALL);</i></P>
- <P align=left>To register an object, you must add an adapter to the
- object in which you are interested.<br>
- e.g.: <i>eObject.eAdapters().add(anAdapter);</i></P>
- <P align=left>If <i>anAdapter</i> matches the current policy, <i>
- eObject</i> will be registered to the server and<br>
- you will receive all changes from others <i>{@link CDOTransaction}.</i></P>
- <P align=left>By default, the
- value is set to <i>{@link CDOChangeSubscriptionPolicy#NONE}</i>.</P>
- <P align=left>When this feature is activated, every object that has at
- least one adapter matching the current policy will be registered to
- the server and will be notified for every change happening in any other
- <i>CDOTransaction</i>.</P>
- <P align=left><i>{@link CDOChangeSubscriptionPolicy#NONE}</i> -
- Disabled.<br>
- <i>{@link CDOChangeSubscriptionPolicy#ALL}</i> - Enabled for all
- adapters used.<br>
- <i>{@link CDOChangeSubscriptionPolicy#ONLY_CDOADAPTER} </i>- Enabled
- only for adapters that implement {@link CDOAdapter}.</P>
- <P align=left>Any other classes that implement <i>{@link
- CDOChangeSubscriptionPolicy}</i> will enable the feature for whatever
- rules defined in that class. </P></TD></TR>
- </TBODY></TABLE>
-<HR>
-
-<TABLE id=table410 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><b>Query</b></P></TD>
- <TD vAlign=top>
- <P align=left>The <i>query</i> feature allows you to retrieve objects from the
- repository in a native way. It could support as many languages as the <i>
- Store&nbsp;</i>wants to support.<i><br>
- </i>e.g.: <i>CDOQuery query = view.createQuery(&lt;LANGUAGE&gt;, &lt;QUERY
- STRING&gt;);</i></P>
- <P align=left>At this point, it can set parameters that are going to be
- transferred to the server. (Eclass, EObject or primitive)<br>
- e.g.: <i>query.setParameter(key, value);</i></P>
- <P align=left>Once all your parameters are set, you can retrieve the
- results in a standard way.<br>
- e.g.: <i>List&lt;SalesOrder&gt; salesOrders = query.getResult(SalesOrder.class);</i></P>
- <P align=left>or asynchronously <br>
- e.g.<i>:CloseableIterator</i><i>&lt;SalesOrder&gt; salesOrders =
- query.getResultAsync(SalesOrder.class);</i></P>
- <P align=left>In asynchronous mode, objects are returned as soon as they
- are retrieved from the <i>Server</i>. The query feature does not keep any reference to
- the results. This means that you could possibly return millions of
- objects.</P>
- <P align=left>The iterator could be closed at any time, resulting in the
- query being cancelled at the server side.<br>
- e.g.: <i>salesOrders.close();</i></P></TD></TR>
- </TBODY></TABLE>
-<HR>
-
-<TABLE id=table418 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><b>Support getURIFragment and getEObject</b></P></TD>
- <TD vAlign=top>
- <P align=left>CDOResource now supports the getURIFragment and getEObject methods. </P>
- <P align=left><b>Note:</b> The URIs of temporary objects will
- change when the <i>CDOTransaction</i> is committed. Objects will no
- longer be accessible using their temporary URI once the <i>CDOTransaction</i> is
- committed.</P></TD></TR>
- </TBODY></TABLE>
- <HR>
-
-<TABLE id=table418 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><b>Support external references</b></P></TD>
- <TD vAlign=top>
- <p>CDO supports many resources from different sources in the same resource set. Objects can refer to each other even if they are not from the same store or source.</p>
- <ul>
- <li>An object from XMIResource can refer to objects from CDOResource.</li>
- <li>An object from CDOResource can refer to objects from XMIResource.</li>
- <li>An object from CDOResourceA (repositoryA) can refer to objects from another CDOResourceB(repositoryB)</li>
- </ul>
- <p>Each resource set has a CDOViewSet. A CDOViewSet could have many CDOViews but each CDOView refers to one CDOViewSet only.</p>
- <p>To use that feature, the same resource set must be used when opening CDOView.</p>
- <p>e.g.:
- <i>ResourceSet resourceSet = new ResourceSetImpl();</i><br>
- <i>CDOTransaction transactionA1 = sessionA.openTransaction(resourceSet);</i><br>
- <i>CDOTransaction transactionB1 = sessionB.openTransaction(resourceSet);</i>
- </p>
- <p><b>Note:</b> Two CDOViews from the same repository cannot belong to the same resource set.</p></TD></TR>
- </TBODY></TABLE>
- <HR>
-
-<TABLE id=table418 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><b>XATransaction</b></P></TD>
- <TD vAlign=top></i><p>This feature provides the ability to use many transactions from many repositories as a whole instead of individually. Its three-phase commit allows the clients to commit circular graphs and complex graphs that are from multiple repositories or CDOTransactions.</p>
- <p>e.g.:<br>
- <i>CDOXATransaction xaTransaction = CDOUtil.createXATransaction();</i><br>
- <i>CDOUtil.prepareResourceSet(resourceSet);</i><br>
- <i>xaTransaction.add(CDOUtil.getViewSet(resourceSet));</i><br>
- <i>xaTransaction.setSavepoint();</i><br>
- <i>xaTransaction.rollback();</i><br>
- <i>xaTransaction.commit();</i>
-</TD></TR>
- </TBODY></TABLE>
- <HR>
-
-<TABLE id=table418 cellSpacing=0 cellPadding=10>
- <TBODY>
- <TR>
- <TD vAlign=top align=left width="200" bgColor=#e0d0e6>
- <P align=right><b>Support containment proxies</b></P></TD>
- <TD vAlign=top></i><p>This feature provides the ability to have an object that is in resourceA and its container could be in another resource. The object and container are in different resource and it does support external references as wellThis is to be in line with EMF. However, it needs to be define in your model.</p>
- <p>
-</TD></TR>
- </TBODY></TABLE>
-</BODY>
-</HTML> \ No newline at end of file

Back to the top