Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBClassInfo.java43
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBFeatureInfo.java43
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBPackageInfo.java43
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreReader.java21
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreWriter.java6
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreReader.java8
6 files changed, 148 insertions, 16 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBClassInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBClassInfo.java
new file mode 100644
index 0000000000..518b7df9e8
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBClassInfo.java
@@ -0,0 +1,43 @@
+/***************************************************************************
+ * 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.net4j.db.IDBTable;
+
+/**
+ * @author Eike Stepper
+ */
+public final class DBClassInfo
+{
+ private int id;
+
+ private IDBTable table;
+
+ public DBClassInfo(int id)
+ {
+ this.id = id;
+ }
+
+ public int getID()
+ {
+ return id;
+ }
+
+ public IDBTable getTable()
+ {
+ return table;
+ }
+
+ public void setTable(IDBTable table)
+ {
+ this.table = table;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBFeatureInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBFeatureInfo.java
new file mode 100644
index 0000000000..17ea744320
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBFeatureInfo.java
@@ -0,0 +1,43 @@
+/***************************************************************************
+ * 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.net4j.db.IDBField;
+
+/**
+ * @author Eike Stepper
+ */
+public final class DBFeatureInfo
+{
+ private int id;
+
+ private IDBField field;
+
+ public DBFeatureInfo(int id)
+ {
+ this.id = id;
+ }
+
+ public int getID()
+ {
+ return id;
+ }
+
+ public IDBField getField()
+ {
+ return field;
+ }
+
+ public void setField(IDBField field)
+ {
+ this.field = field;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBPackageInfo.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBPackageInfo.java
new file mode 100644
index 0000000000..55686408c2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBPackageInfo.java
@@ -0,0 +1,43 @@
+/***************************************************************************
+ * 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.net4j.db.IDBSchema;
+
+/**
+ * @author Eike Stepper
+ */
+public final class DBPackageInfo
+{
+ private int id;
+
+ private IDBSchema schema;
+
+ public DBPackageInfo(int id)
+ {
+ this.id = id;
+ }
+
+ public int getID()
+ {
+ return id;
+ }
+
+ public IDBSchema getSchema()
+ {
+ return schema;
+ }
+
+ public void setSchema(IDBSchema schema)
+ {
+ this.schema = schema;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreReader.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreReader.java
index b8d26de743..83fee5d170 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreReader.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreReader.java
@@ -101,7 +101,7 @@ public class DBStoreReader implements IStoreReader
String where = CDODBSchema.PACKAGES_URI.toString() + " = '" + cdoPackage.getPackageURI() + "'";
Object[] values = DBUtil.select(connection, where, CDODBSchema.PACKAGES_ID, CDODBSchema.PACKAGES_NAME,
CDODBSchema.PACKAGES_ECORE);
- cdoPackage.setServerInfo(values[0]);
+ cdoPackage.setServerInfo(new DBPackageInfo((Integer)values[0]));
cdoPackage.setName((String)values[1]);
cdoPackage.setEcore((String)values[2]);
readClasses(cdoPackage);
@@ -118,7 +118,7 @@ public class DBStoreReader implements IStoreReader
String name = (String)values[2];
boolean isAbstract = getBoolean(values[3]);
CDOClassImpl cdoClass = new CDOClassImpl(cdoPackage, classifierID, name, isAbstract);
- cdoClass.setServerInfo(classID);
+ cdoClass.setServerInfo(new DBClassInfo(classID));
cdoPackage.addClass(cdoClass);
readSuperTypes(cdoClass, classID);
readFeatures(cdoClass, classID);
@@ -175,7 +175,7 @@ public class DBStoreReader implements IStoreReader
feature = new CDOFeatureImpl(cdoClass, featureID, name, type, many);
}
- feature.setServerInfo(values[0]);
+ feature.setServerInfo(new DBFeatureInfo((Integer)values[0]));
cdoClass.addFeature(feature);
return true;
}
@@ -187,6 +187,12 @@ public class DBStoreReader implements IStoreReader
CDODBSchema.FEATURES_REFERENCE_CLASSIFIER, CDODBSchema.FEATURES_MANY, CDODBSchema.FEATURES_CONTAINMENT);
}
+ public CDORevision readRevision(CDOID id)
+ {
+ // TODO Implement method DBStoreReader.readRevision()
+ throw new UnsupportedOperationException("Not yet implemented");
+ }
+
public CDORevision readRevision(CDOID id, long timeStamp)
{
// TODO Implement method DBStoreReader.readRevision()
@@ -205,18 +211,15 @@ public class DBStoreReader implements IStoreReader
throw new UnsupportedOperationException("Not yet implemented");
}
- public CDORevision readRevision(CDOID id)
- {
- // TODO Implement method DBStoreReader.readRevision()
- throw new UnsupportedOperationException("Not yet implemented");
- }
-
public CDOClassRef readObjectType(CDOID id)
{
// TODO Implement method DBStoreReader.readObjectType()
throw new UnsupportedOperationException("Not yet implemented");
}
+ /**
+ * TODO Move this somehow to DBAdapter
+ */
protected Boolean getBoolean(Object value)
{
if (value == null)
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreWriter.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreWriter.java
index 3de3349dc3..eabb3c80f2 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreWriter.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreWriter.java
@@ -69,7 +69,7 @@ public class DBStoreWriter extends DBStoreReader implements IStoreWriter
public void writePackage(CDOPackageImpl cdoPackage)
{
int id = store.getNextPackageID();
- cdoPackage.setServerInfo(id);
+ cdoPackage.setServerInfo(new DBPackageInfo(id));
String packageURI = cdoPackage.getPackageURI();
String name = cdoPackage.getName();
@@ -89,7 +89,7 @@ public class DBStoreWriter extends DBStoreReader implements IStoreWriter
public void writeClass(CDOClassImpl cdoClass)
{
int id = store.getNextClassID();
- cdoClass.setServerInfo(id);
+ cdoClass.setServerInfo(new DBClassInfo(id));
CDOPackageImpl cdoPackage = cdoClass.getContainingPackage();
int packageID = (Integer)cdoPackage.getServerInfo();
@@ -119,7 +119,7 @@ public class DBStoreWriter extends DBStoreReader implements IStoreWriter
public void writeFeature(CDOFeatureImpl feature)
{
int id = store.getNextFeatureID();
- feature.setServerInfo(id);
+ feature.setServerInfo(new DBFeatureInfo(id));
int classID = (Integer)feature.getContainingClass().getServerInfo();
String name = feature.getName();
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreReader.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreReader.java
index a95c259269..dc15fff255 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreReader.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreReader.java
@@ -34,13 +34,13 @@ public interface IStoreReader extends IStoreAccessor
*/
public void readPackage(CDOPackageImpl cdoPackage);
- public CDOID readResourceID(String path);
-
- public String readResourcePath(CDOID id);
-
public CDORevision readRevision(CDOID id);
public CDORevision readRevision(CDOID id, long timeStamp);
+ public CDOID readResourceID(String path);
+
+ public String readResourcePath(CDOID id);
+
public CDOClassRef readObjectType(CDOID id);
}

Back to the top