diff options
9 files changed, 55 insertions, 26 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStoreAccessor.java new file mode 100644 index 0000000000..5581180bc9 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/IDBStoreAccessor.java @@ -0,0 +1,24 @@ +/*************************************************************************** + * 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.server.IStoreReader; +import org.eclipse.emf.cdo.server.IStoreWriter; + +import java.sql.Connection; + +/** + * @author Eike Stepper + */ +public interface IDBStoreAccessor extends IStoreReader, IStoreWriter +{ + public Connection getConnection(); +} 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 index 8010982ea3..a3f5398b93 100644 --- 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 @@ -12,7 +12,6 @@ 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; @@ -29,5 +28,5 @@ public interface IMapping public Set<IDBTable> getAffectedTables(); - public void writeRevision(IStoreWriter writer, CDORevisionImpl revision); + public void writeRevision(IDBStoreAccessor storeAccessor, CDORevisionImpl revision); } 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 087d1b5a62..3584bb883d 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 @@ -25,9 +25,8 @@ import org.eclipse.emf.cdo.protocol.model.CDOPackageInfo; import org.eclipse.emf.cdo.protocol.model.CDOType; import org.eclipse.emf.cdo.protocol.revision.CDORevision; 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.IDBStoreAccessor; 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; @@ -46,7 +45,7 @@ import java.util.Collection; /** * @author Eike Stepper */ -public class DBStoreAccessor implements IStoreReader, IStoreWriter +public class DBStoreAccessor implements IDBStoreAccessor { private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DBStoreAccessor.class); 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 index bc5f2ab443..7efcb84c78 100644 --- 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 @@ -12,7 +12,7 @@ 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.IDBStoreAccessor; import org.eclipse.emf.cdo.server.db.IMappingStrategy; /** @@ -26,13 +26,13 @@ public abstract class FullInfoMapping extends IDInfoMapping } @Override - public void writeRevision(IStoreWriter writer, CDORevisionImpl revision) + public void writeRevision(IDBStoreAccessor storeAccessor, CDORevisionImpl revision) { - super.writeRevision(writer, revision); - writeFullInfo(writer, revision); + super.writeRevision(storeAccessor, revision); + writeFullInfo(storeAccessor, revision); } - protected void writeFullInfo(IStoreWriter writer, CDORevisionImpl revision) + protected void writeFullInfo(IDBStoreAccessor storeAccessor, 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 index 436b73174c..00174a2405 100644 --- 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 @@ -12,7 +12,7 @@ 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.IDBStoreAccessor; import org.eclipse.emf.cdo.server.db.IMappingStrategy; /** @@ -26,8 +26,8 @@ public class HorizontalMapping extends FullInfoMapping } @Override - public void writeRevision(IStoreWriter writer, CDORevisionImpl revision) + public void writeRevision(IDBStoreAccessor storeAccessor, CDORevisionImpl revision) { - super.writeRevision(writer, revision); + super.writeRevision(storeAccessor, revision); } } 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 index 6d960c5c14..6d90f77827 100644 --- 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 @@ -12,7 +12,7 @@ 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.IDBStoreAccessor; import org.eclipse.emf.cdo.server.db.IMappingStrategy; /** @@ -25,12 +25,12 @@ public abstract class IDInfoMapping extends Mapping super(mappingStrategy, cdoClass); } - public void writeRevision(IStoreWriter writer, CDORevisionImpl revision) + public void writeRevision(IDBStoreAccessor storeAccessor, CDORevisionImpl revision) { - writeIDInfo(writer, revision); + writeIDInfo(storeAccessor, revision); } - protected void writeIDInfo(IStoreWriter writer, CDORevisionImpl revision) + protected void writeIDInfo(IDBStoreAccessor storeAccessor, 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 index ae78a0acc9..889c8ab614 100644 --- 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 @@ -50,8 +50,4 @@ public abstract class Mapping implements IMapping { 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/NoMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/NoMapping.java index 7dcbf63f20..234f5496cf 100644 --- 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 @@ -12,7 +12,7 @@ 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.IDBStoreAccessor; import org.eclipse.emf.cdo.server.db.IMapping; import org.eclipse.emf.cdo.server.db.IMappingStrategy; @@ -47,7 +47,7 @@ public class NoMapping implements IMapping return Collections.emptySet(); } - public void writeRevision(IStoreWriter writer, CDORevisionImpl revision) + public void writeRevision(IDBStoreAccessor storeAccessor, CDORevisionImpl revision) { } } 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 index 7ca02dcba7..209816b3a3 100644 --- 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 @@ -13,6 +13,7 @@ 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.IDBStoreAccessor; import org.eclipse.emf.cdo.server.db.IMapping; import org.eclipse.emf.cdo.server.db.IMappingStrategy; @@ -50,15 +51,25 @@ public class VerticalMapping extends IDInfoMapping } @Override - public void writeRevision(IStoreWriter writer, CDORevisionImpl revision) + public void writeRevision(IDBStoreAccessor storeAccessor, CDORevisionImpl revision) { - super.writeRevision(writer, revision); + super.writeRevision(storeAccessor, revision); + writeAttributes(storeAccessor, revision); + writeReferences(storeAccessor, revision); if (superMappings != null) { for (IMapping superMapping : superMappings) { - superMapping.writeRevision(writer, revision); + superMapping.writeRevision(storeAccessor, revision); } } } + + protected void writeAttributes(IStoreWriter writer, CDORevisionImpl revision) + { + } + + protected void writeReferences(IStoreWriter writer, CDORevisionImpl revision) + { + } } |