Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/DelegatingObjectTypeMapper.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/DelegatingObjectTypeMapper.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/DelegatingObjectTypeMapper.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/DelegatingObjectTypeMapper.java
index d17ebbe6fd..04dfa6b365 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/DelegatingObjectTypeMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/DelegatingObjectTypeMapper.java
@@ -17,6 +17,7 @@ import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.server.db.IDBStoreAccessor;
import org.eclipse.emf.cdo.server.db.IIDHandler;
import org.eclipse.emf.cdo.server.internal.db.IObjectTypeMapper;
+import org.eclipse.emf.cdo.server.internal.db.IObjectTypeMapperBulkSupport;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
@@ -25,12 +26,15 @@ import org.eclipse.emf.ecore.EClass;
import java.io.IOException;
import java.sql.Connection;
+import java.util.Map;
+import java.util.Set;
/**
* @author Eike Stepper
* @since 4.0
*/
public abstract class DelegatingObjectTypeMapper extends AbstractObjectTypeMapper
+ implements IObjectTypeMapperBulkSupport
{
private IObjectTypeMapper delegate;
@@ -99,6 +103,29 @@ public abstract class DelegatingObjectTypeMapper extends AbstractObjectTypeMappe
delegate.rawImport(connection, in, monitor);
}
+ public boolean hasBulkSupport()
+ {
+ if (delegate instanceof IObjectTypeMapperBulkSupport)
+ {
+ IObjectTypeMapperBulkSupport bulkSupport = (IObjectTypeMapperBulkSupport)delegate;
+ return bulkSupport.hasBulkSupport();
+ }
+
+ return false;
+ }
+
+ public Set<CDOID> putObjectTypes(IDBStoreAccessor accessor, Map<CDOID, EClass> newObjectTypes, long timeStamp,
+ OMMonitor monitor)
+ {
+ if (delegate instanceof IObjectTypeMapperBulkSupport)
+ {
+ IObjectTypeMapperBulkSupport bulkSupport = (IObjectTypeMapperBulkSupport)delegate;
+ return bulkSupport.putObjectTypes(accessor, newObjectTypes, timeStamp, monitor);
+ }
+
+ throw new UnsupportedOperationException();
+ }
+
@Override
protected void doBeforeActivate() throws Exception
{

Back to the top