summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2007-08-22 13:20:12 (EDT)
committerEike Stepper2007-08-22 13:20:12 (EDT)
commite387d081334198c83a1e6eb5d4377477687fc273 (patch)
treec67731a633d307cd6736bf5f10c1a52629d43375
parent0c15b2074e24a142bbceeee2f86021912724d92a (diff)
downloadcdo-e387d081334198c83a1e6eb5d4377477687fc273.zip
cdo-e387d081334198c83a1e6eb5d4377477687fc273.tar.gz
cdo-e387d081334198c83a1e6eb5d4377477687fc273.tar.bz2
*** empty log message ***
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF4
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/plugin.xml4
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMapping.java33
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMappingStrategy.java20
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ClassServerInfo.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/ClassServerInfo.java)14
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FeatureMapper.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AttributeMapper.java)24
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FeatureServerInfo.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/FeatureServerInfo.java)5
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FullInfoMapping.java38
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java33
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMappingStrategy.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/HorizontalMappingStrategy.java)9
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/IDInfoMapping.java36
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java57
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/MappingStrategy.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/MappingStrategy.java)22
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NoMapping.java53
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/PackageServerInfo.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/PackageServerInfo.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Precedence.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/Precedence.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ClassMapper.java)13
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ServerInfo.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/ServerInfo.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/StandardMappingStrategy.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/StandardMappingStrategy.java)39
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ToMany.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ToMany.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ToOne.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ToOne.java)2
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMappingStrategy.java (renamed from plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/VerticalMappingStrategy.java)9
24 files changed, 433 insertions, 104 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF
index 7ddee3f..e14b998 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF
@@ -9,7 +9,5 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.net4j.db;visibility:=reexport,
org.eclipse.emf.cdo.server;visibility:=reexport
Export-Package: org.eclipse.emf.cdo.server.db;version="0.8.0",
- org.eclipse.emf.cdo.server.internal.db;version="0.8.0",
- org.eclipse.emf.cdo.server.internal.db.info;version="0.8.0",
- org.eclipse.emf.cdo.server.internal.db.mapping;version="0.8.0"
+ org.eclipse.emf.cdo.server.internal.db;version="0.8.0"
Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.emf.cdo.server.db/plugin.xml b/plugins/org.eclipse.emf.cdo.server.db/plugin.xml
index 3ff96e7..11f901f 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/plugin.xml
+++ b/plugins/org.eclipse.emf.cdo.server.db/plugin.xml
@@ -15,11 +15,11 @@
<extension
point="org.eclipse.emf.cdo.server.db.mappingStrategies">
<mappingStrategy
- class="org.eclipse.emf.cdo.server.internal.db.mapping.HorizontalMappingStrategy"
+ class="org.eclipse.emf.cdo.server.internal.db.HorizontalMappingStrategy"
type="horizontal">
</mappingStrategy>
<mappingStrategy
- class="org.eclipse.emf.cdo.server.internal.db.mapping.VerticalMappingStrategy"
+ class="org.eclipse.emf.cdo.server.internal.db.VerticalMappingStrategy"
type="vertical">
</mappingStrategy>
</extension>
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMapping.java
new file mode 100644
index 0000000..8010982
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMapping.java
@@ -0,0 +1,33 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.db;
+
+import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.IStoreWriter;
+
+import org.eclipse.net4j.db.IDBTable;
+
+import java.util.Set;
+
+/**
+ * @author Eike Stepper
+ */
+public interface IMapping
+{
+ public IMappingStrategy getMappingStrategy();
+
+ public CDOClass getCDOClass();
+
+ public Set<IDBTable> getAffectedTables();
+
+ public void writeRevision(IStoreWriter writer, CDORevisionImpl revision);
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMappingStrategy.java
index c6f828a..1508d1e 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMappingStrategy.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IMappingStrategy.java
@@ -11,15 +11,11 @@
package org.eclipse.emf.cdo.server.db;
import org.eclipse.emf.cdo.internal.protocol.model.CDOPackageImpl;
-import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
-import org.eclipse.emf.cdo.protocol.CDOID;
-import org.eclipse.emf.cdo.protocol.model.CDOClassRef;
-import org.eclipse.emf.cdo.protocol.revision.CDORevision;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
import org.eclipse.net4j.db.IDBSchema;
import org.eclipse.net4j.db.IDBTable;
-import java.sql.Connection;
import java.util.Map;
import java.util.Set;
@@ -40,20 +36,10 @@ public interface IMappingStrategy
public void setProperties(Map<String, String> properties);
+ public IMapping getMapping(CDOClass cdoClass);
+
/**
* @return A collection of the affected tables.
*/
public Set<IDBTable> map(CDOPackageImpl[] cdoPackages);
-
- public void writeRevision(Connection connection, CDORevisionImpl revision);
-
- public CDORevision readRevision(Connection connection, CDOID id);
-
- public CDORevision readRevision(Connection connection, CDOID id, long timeStamp);
-
- public CDOID readResourceID(Connection connection, String path);
-
- public String readResourcePath(Connection connection, CDOID id);
-
- public CDOClassRef readObjectType(Connection connection, CDOID id);
}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/ClassServerInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ClassServerInfo.java
index 07825c7..332b190 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/ClassServerInfo.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ClassServerInfo.java
@@ -8,30 +8,30 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.info;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.protocol.model.CDOClass;
-import org.eclipse.emf.cdo.server.internal.db.mapping.ClassMapper;
+import org.eclipse.emf.cdo.server.db.IMapping;
/**
* @author Eike Stepper
*/
public final class ClassServerInfo extends ServerInfo
{
- private ClassMapper mapper;
+ private IMapping mapping;
public ClassServerInfo(int id)
{
super(id);
}
- public static ClassMapper getMapper(CDOClass cdoClass)
+ public static IMapping getMapping(CDOClass cdoClass)
{
- return ((ClassServerInfo)cdoClass.getServerInfo()).mapper;
+ return ((ClassServerInfo)cdoClass.getServerInfo()).mapping;
}
- public static void setMapper(CDOClass cdoClass, ClassMapper mapper)
+ public static void setMapping(CDOClass cdoClass, IMapping mapping)
{
- ((ClassServerInfo)cdoClass.getServerInfo()).mapper = mapper;
+ ((ClassServerInfo)cdoClass.getServerInfo()).mapping = mapping;
}
}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java
index d03e2fc..087d1b5 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java
@@ -28,12 +28,9 @@ import org.eclipse.emf.cdo.server.ISession;
import org.eclipse.emf.cdo.server.IStoreReader;
import org.eclipse.emf.cdo.server.IStoreWriter;
import org.eclipse.emf.cdo.server.IView;
+import org.eclipse.emf.cdo.server.db.IMapping;
import org.eclipse.emf.cdo.server.db.IMappingStrategy;
import org.eclipse.emf.cdo.server.internal.db.bundle.OM;
-import org.eclipse.emf.cdo.server.internal.db.info.ClassServerInfo;
-import org.eclipse.emf.cdo.server.internal.db.info.FeatureServerInfo;
-import org.eclipse.emf.cdo.server.internal.db.info.PackageServerInfo;
-import org.eclipse.emf.cdo.server.internal.db.info.ServerInfo;
import org.eclipse.net4j.db.DBException;
import org.eclipse.net4j.db.DBUtil;
@@ -176,7 +173,7 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
store.getDBAdapter().createTables(affectedTables, connection);
}
- public void writeClass(CDOClassImpl cdoClass)
+ protected void writeClass(CDOClassImpl cdoClass)
{
int id = store.getNextClassID();
cdoClass.setServerInfo(new ClassServerInfo(id));
@@ -199,14 +196,14 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
}
}
- public void writeSuperType(int type, CDOClassProxy superType)
+ protected void writeSuperType(int type, CDOClassProxy superType)
{
String packageURI = superType.getPackageURI();
int classifierID = superType.getClassifierID();
DBUtil.insertRow(connection, CDODBSchema.SUPERTYPES, type, packageURI, classifierID);
}
- public void writeFeature(CDOFeatureImpl feature)
+ protected void writeFeature(CDOFeatureImpl feature)
{
int id = store.getNextFeatureID();
feature.setServerInfo(new FeatureServerInfo(id));
@@ -225,11 +222,6 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
many, containment, idx);
}
- public void writeRevision(CDORevisionImpl revision)
- {
- store.getMappingStrategy().writeRevision(connection, revision);
- }
-
public Collection<CDOPackageInfo> readPackageInfos()
{
final Collection<CDOPackageInfo> result = new ArrayList(0);
@@ -266,7 +258,7 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
store.getMappingStrategy().map(cdoPackages);
}
- public void readClasses(final CDOPackageImpl cdoPackage)
+ protected void readClasses(final CDOPackageImpl cdoPackage)
{
IDBRowHandler rowHandler = new IDBRowHandler()
{
@@ -290,7 +282,7 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
CDODBSchema.CLASSES_NAME, CDODBSchema.CLASSES_ABSTRACT);
}
- public void readSuperTypes(final CDOClassImpl cdoClass, int classID)
+ protected void readSuperTypes(final CDOClassImpl cdoClass, int classID)
{
IDBRowHandler rowHandler = new IDBRowHandler()
{
@@ -308,7 +300,7 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
CDODBSchema.SUPERTYPES_SUPERTYPE_CLASSIFIER);
}
- public void readFeatures(final CDOClassImpl cdoClass, int classID)
+ protected void readFeatures(final CDOClassImpl cdoClass, int classID)
{
IDBRowHandler rowHandler = new IDBRowHandler()
{
@@ -346,29 +338,47 @@ public class DBStoreAccessor implements IStoreReader, IStoreWriter
CDODBSchema.FEATURES_REFERENCE_CLASSIFIER, CDODBSchema.FEATURES_MANY, CDODBSchema.FEATURES_CONTAINMENT);
}
+ public void writeRevision(CDORevisionImpl revision)
+ {
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Inserting revision: {0}", revision);
+ }
+
+ CDOClassImpl cdoClass = revision.getCDOClass();
+ IMapping mapping = ClassServerInfo.getMapping(cdoClass);
+
+ mapping.writeRevision(this, revision);
+ }
+
public CDORevision readRevision(CDOID id)
{
- return store.getMappingStrategy().readRevision(connection, id);
+ // TODO Implement method DBStoreAccessor.readRevision()
+ throw new UnsupportedOperationException("Not yet implemented");
}
public CDORevision readRevision(CDOID id, long timeStamp)
{
- return store.getMappingStrategy().readRevision(connection, id, timeStamp);
+ // TODO Implement method DBStoreAccessor.enclosing_method()
+ throw new UnsupportedOperationException("Not yet implemented");
}
public CDOID readResourceID(String path)
{
- return store.getMappingStrategy().readResourceID(connection, path);
+ // TODO Implement method DBStoreAccessor.readResourceID()
+ throw new UnsupportedOperationException("Not yet implemented");
}
public String readResourcePath(CDOID id)
{
- return store.getMappingStrategy().readResourcePath(connection, id);
+ // TODO Implement method DBStoreAccessor.readResourcePath()
+ throw new UnsupportedOperationException("Not yet implemented");
}
public CDOClassRef readObjectType(CDOID id)
{
- return store.getMappingStrategy().readObjectType(connection, id);
+ // TODO Implement method DBStoreAccessor.readObjectType()
+ throw new UnsupportedOperationException("Not yet implemented");
}
/**
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AttributeMapper.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FeatureMapper.java
index f69e675..66599d0 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AttributeMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FeatureMapper.java
@@ -8,12 +8,32 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.protocol.model.CDOFeature;
/**
* @author Eike Stepper
*/
-public final class AttributeMapper
+public class FeatureMapper
{
+ private CDOFeature feature;
+
+ private int index;
+
+ public FeatureMapper(CDOFeature feature, int index)
+ {
+ this.feature = feature;
+ this.index = index;
+ }
+
+ public CDOFeature getFeature()
+ {
+ return feature;
+ }
+ public int getIndex()
+ {
+ return index;
+ }
}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/FeatureServerInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FeatureServerInfo.java
index 2f395a8..ecd595a 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/FeatureServerInfo.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FeatureServerInfo.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.info;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.net4j.db.IDBField;
@@ -27,11 +27,13 @@ public final class FeatureServerInfo extends ServerInfo
super(id);
}
+ @Deprecated
public IDBField getField(Object context)
{
return fields == null ? null : fields.get(context);
}
+ @Deprecated
public void addField(Object context, IDBField field)
{
if (fields == null)
@@ -49,6 +51,7 @@ public final class FeatureServerInfo extends ServerInfo
fields.put(context, field);
}
+ @Deprecated
public IDBField removeField(Object context)
{
if (fields == null)
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FullInfoMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FullInfoMapping.java
new file mode 100644
index 0000000..bc5f2ab
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/FullInfoMapping.java
@@ -0,0 +1,38 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.IStoreWriter;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
+
+/**
+ * @author Eike Stepper
+ */
+public abstract class FullInfoMapping extends IDInfoMapping
+{
+ public FullInfoMapping(IMappingStrategy mappingStrategy, CDOClass cdoClass)
+ {
+ super(mappingStrategy, cdoClass);
+ }
+
+ @Override
+ public void writeRevision(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ super.writeRevision(writer, revision);
+ writeFullInfo(writer, revision);
+ }
+
+ protected void writeFullInfo(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java
new file mode 100644
index 0000000..436b731
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java
@@ -0,0 +1,33 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.IStoreWriter;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
+
+/**
+ * @author Eike Stepper
+ */
+public class HorizontalMapping extends FullInfoMapping
+{
+ public HorizontalMapping(IMappingStrategy mappingStrategy, CDOClass cdoClass)
+ {
+ super(mappingStrategy, cdoClass);
+ }
+
+ @Override
+ public void writeRevision(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ super.writeRevision(writer, revision);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/HorizontalMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMappingStrategy.java
index ddcc465..6cb9e3f 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/HorizontalMappingStrategy.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMappingStrategy.java
@@ -8,10 +8,11 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.protocol.model.CDOClass;
import org.eclipse.emf.cdo.protocol.model.CDOFeature;
+import org.eclipse.emf.cdo.server.db.IMapping;
import org.eclipse.net4j.db.IDBField;
import org.eclipse.net4j.db.IDBTable;
@@ -33,6 +34,12 @@ public class HorizontalMappingStrategy extends StandardMappingStrategy
}
@Override
+ protected IMapping createMapping(CDOClass cdoClass)
+ {
+ return new HorizontalMapping(this, cdoClass);
+ }
+
+ @Override
protected IDBField mapFeature(CDOClass cdoClass, CDOFeature cdoFeature, Set<IDBTable> affectedTables)
{
if (cdoClass.isAbstract())
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/IDInfoMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/IDInfoMapping.java
new file mode 100644
index 0000000..6d960c5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/IDInfoMapping.java
@@ -0,0 +1,36 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.IStoreWriter;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
+
+/**
+ * @author Eike Stepper
+ */
+public abstract class IDInfoMapping extends Mapping
+{
+ public IDInfoMapping(IMappingStrategy mappingStrategy, CDOClass cdoClass)
+ {
+ super(mappingStrategy, cdoClass);
+ }
+
+ public void writeRevision(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ writeIDInfo(writer, revision);
+ }
+
+ protected void writeIDInfo(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java
new file mode 100644
index 0000000..ae78a0a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.db.IMapping;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
+
+import org.eclipse.net4j.db.IDBTable;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author Eike Stepper
+ */
+public abstract class Mapping implements IMapping
+{
+ private IMappingStrategy mappingStrategy;
+
+ private CDOClass cdoClass;
+
+ private Set<IDBTable> affectedTables = new HashSet();
+
+ public Mapping(IMappingStrategy mappingStrategy, CDOClass cdoClass)
+ {
+ this.mappingStrategy = mappingStrategy;
+ this.cdoClass = cdoClass;
+ }
+
+ public IMappingStrategy getMappingStrategy()
+ {
+ return mappingStrategy;
+ }
+
+ public CDOClass getCDOClass()
+ {
+ return cdoClass;
+ }
+
+ public Set<IDBTable> getAffectedTables()
+ {
+ return affectedTables;
+ }
+
+ // protected abstract List<FeatureMapper> getAttributeMappers();
+ //
+ // protected abstract List<FeatureMapper> getReferenceMappers();
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/MappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/MappingStrategy.java
index 5d43ec0..c3af05f 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/MappingStrategy.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/MappingStrategy.java
@@ -8,12 +8,13 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.protocol.model.CDOClass;
import org.eclipse.emf.cdo.protocol.model.CDOFeature;
import org.eclipse.emf.cdo.protocol.model.CDOType;
import org.eclipse.emf.cdo.server.db.IDBStore;
+import org.eclipse.emf.cdo.server.db.IMapping;
import org.eclipse.emf.cdo.server.db.IMappingStrategy;
import org.eclipse.emf.cdo.server.internal.db.bundle.OM;
@@ -83,6 +84,25 @@ public abstract class MappingStrategy implements IMappingStrategy
return schema;
}
+ public IMapping getMapping(CDOClass cdoClass)
+ {
+ IMapping mapping = ClassServerInfo.getMapping(cdoClass);
+ if (mapping == NoMapping.INSTANCE)
+ {
+ return null;
+ }
+
+ if (mapping == null)
+ {
+ mapping = createMapping(cdoClass);
+ ClassServerInfo.setMapping(cdoClass, mapping == null ? NoMapping.INSTANCE : mapping);
+ }
+
+ return mapping;
+ }
+
+ protected abstract IMapping createMapping(CDOClass cdoClass);
+
@Override
public String toString()
{
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NoMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NoMapping.java
new file mode 100644
index 0000000..7dcbf63
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NoMapping.java
@@ -0,0 +1,53 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.IStoreWriter;
+import org.eclipse.emf.cdo.server.db.IMapping;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
+
+import org.eclipse.net4j.db.IDBTable;
+
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * @author Eike Stepper
+ */
+public class NoMapping implements IMapping
+{
+ public static final IMapping INSTANCE = new NoMapping();
+
+ private NoMapping()
+ {
+ }
+
+ public IMappingStrategy getMappingStrategy()
+ {
+ return null;
+ }
+
+ public CDOClass getCDOClass()
+ {
+ return null;
+ }
+
+ public Set<IDBTable> getAffectedTables()
+ {
+ return Collections.emptySet();
+ }
+
+ public void writeRevision(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/PackageServerInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/PackageServerInfo.java
index 6c0e451..8bc6132 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/PackageServerInfo.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/PackageServerInfo.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.info;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.protocol.model.CDOPackage;
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/Precedence.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Precedence.java
index f5354c6..e8830f6 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/Precedence.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Precedence.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ClassMapper.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java
index f050ea7..d3f3c46 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ClassMapper.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java
@@ -8,19 +8,18 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
-import java.util.List;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
/**
* @author Eike Stepper
*/
-public final class ClassMapper
+public class RootMapping extends FullInfoMapping
{
- private List<AttributeMapper> attributeMappers;
-
- public List<AttributeMapper> getAttributeMappers()
+ public RootMapping(IMappingStrategy mappingStrategy, CDOClass cdoClass)
{
- return attributeMappers;
+ super(mappingStrategy, cdoClass);
}
}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/ServerInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ServerInfo.java
index f162fa8..d0b02f9 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/info/ServerInfo.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ServerInfo.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.info;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.protocol.model.CDOModelElement;
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/StandardMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/StandardMappingStrategy.java
index eb87430..f45cd46 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/StandardMappingStrategy.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/StandardMappingStrategy.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.internal.protocol.model.CDOClassImpl;
import org.eclipse.emf.cdo.internal.protocol.model.CDOFeatureImpl;
@@ -16,15 +16,10 @@ import org.eclipse.emf.cdo.internal.protocol.model.CDOPackageImpl;
import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
import org.eclipse.emf.cdo.protocol.CDOID;
import org.eclipse.emf.cdo.protocol.model.CDOClass;
-import org.eclipse.emf.cdo.protocol.model.CDOClassRef;
import org.eclipse.emf.cdo.protocol.model.CDOFeature;
import org.eclipse.emf.cdo.protocol.model.CDOPackage;
-import org.eclipse.emf.cdo.protocol.revision.CDORevision;
import org.eclipse.emf.cdo.server.IRepository;
import org.eclipse.emf.cdo.server.internal.db.bundle.OM;
-import org.eclipse.emf.cdo.server.internal.db.info.FeatureServerInfo;
-import org.eclipse.emf.cdo.server.internal.db.info.PackageServerInfo;
-import org.eclipse.emf.cdo.server.internal.db.info.ServerInfo;
import org.eclipse.net4j.db.DBUtil;
import org.eclipse.net4j.db.IDBField;
@@ -221,6 +216,7 @@ public abstract class StandardMappingStrategy extends MappingStrategy
return classMapping;
}
+ @Deprecated
public void writeRevision(Connection connection, CDORevisionImpl revision)
{
if (TRACER.isEnabled())
@@ -229,12 +225,6 @@ public abstract class StandardMappingStrategy extends MappingStrategy
}
CDOClassImpl cdoClass = revision.getCDOClass();
- // ClassMapper classMapper = ClassServerInfo.getMapper(cdoClass);
- // List<AttributeMapper> attributeMappers =
- // classMapper.getAttributeMappers();
- //
- // Map<IDBTable, FeatureMapper[]> featureMappers = classMapping.getTables();
-
ClassMapping classMapping = getClassMapping(cdoClass);
Map<IDBTable, FeatureMapping[]> tables = classMapping.getTables();
Entry<IDBTable, FeatureMapping[]> entry = tables.entrySet().iterator().next();
@@ -267,31 +257,6 @@ public abstract class StandardMappingStrategy extends MappingStrategy
DBUtil.insertRow(connection, table, values);
}
- public CDORevision readRevision(Connection connection, CDOID id)
- {
- return null;
- }
-
- public CDORevision readRevision(Connection connection, CDOID id, long timeStamp)
- {
- return null;
- }
-
- public CDOID readResourceID(Connection connection, String path)
- {
- return null;
- }
-
- public String readResourcePath(Connection connection, CDOID id)
- {
- return null;
- }
-
- public CDOClassRef readObjectType(Connection connection, CDOID id)
- {
- return null;
- }
-
/**
* @author Eike Stepper
*/
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ToMany.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ToMany.java
index 54374c8..d80ed73 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ToMany.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ToMany.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ToOne.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ToOne.java
index a4b2f84..4fd27d6 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/ToOne.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ToOne.java
@@ -8,7 +8,7 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java
new file mode 100644
index 0000000..7ca02dc
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java
@@ -0,0 +1,64 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.cdo.server.internal.db;
+
+import org.eclipse.emf.cdo.internal.protocol.revision.CDORevisionImpl;
+import org.eclipse.emf.cdo.protocol.model.CDOClass;
+import org.eclipse.emf.cdo.server.IStoreWriter;
+import org.eclipse.emf.cdo.server.db.IMapping;
+import org.eclipse.emf.cdo.server.db.IMappingStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Eike Stepper
+ */
+public class VerticalMapping extends IDInfoMapping
+{
+ private List<IMapping> superMappings;
+
+ public VerticalMapping(IMappingStrategy mappingStrategy, CDOClass cdoClass)
+ {
+ super(mappingStrategy, cdoClass);
+ for (CDOClass superType : cdoClass.getSuperTypes())
+ {
+ IMapping superMapping = mappingStrategy.getMapping(superType);
+ if (superMapping != null)
+ {
+ if (superMappings == null)
+ {
+ superMappings = new ArrayList(0);
+ }
+
+ superMappings.add(superMapping);
+ }
+ }
+ }
+
+ public List<IMapping> getSuperMappings()
+ {
+ return superMappings;
+ }
+
+ @Override
+ public void writeRevision(IStoreWriter writer, CDORevisionImpl revision)
+ {
+ super.writeRevision(writer, revision);
+ if (superMappings != null)
+ {
+ for (IMapping superMapping : superMappings)
+ {
+ superMapping.writeRevision(writer, revision);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/VerticalMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMappingStrategy.java
index 61807d5..79f8790 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/VerticalMappingStrategy.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMappingStrategy.java
@@ -8,10 +8,11 @@
* Contributors:
* Eike Stepper - initial API and implementation
**************************************************************************/
-package org.eclipse.emf.cdo.server.internal.db.mapping;
+package org.eclipse.emf.cdo.server.internal.db;
import org.eclipse.emf.cdo.protocol.model.CDOClass;
import org.eclipse.emf.cdo.protocol.model.CDOFeature;
+import org.eclipse.emf.cdo.server.db.IMapping;
import org.eclipse.net4j.db.IDBField;
import org.eclipse.net4j.db.IDBSchema;
@@ -35,6 +36,12 @@ public class VerticalMappingStrategy extends StandardMappingStrategy
}
@Override
+ protected IMapping createMapping(CDOClass cdoClass)
+ {
+ return new VerticalMapping(this, cdoClass);
+ }
+
+ @Override
protected IDBSchema createSchema()
{
IDBSchema schema = super.createSchema();