You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/03/24 15:01:52 UTC
svn commit: r1304796 [7/16] - in /incubator/isis/trunk/framework:
applib/src/main/java/org/apache/isis/applib/
applib/src/test/java/org/apache/isis/applib/
core/commons/src/main/java/org/apache/isis/core/commons/config/
core/commons/src/main/java/org/a...
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOidGenerator.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOidGenerator.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOidGenerator.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOidGenerator.java Sat Mar 24 14:01:35 2012
@@ -23,78 +23,21 @@ import org.apache.log4j.Logger;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.commons.ensure.Assert;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.stringable.directly.OidStringifierDirect;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.SpecificationLookup;
import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.OidGeneratorAbstract;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
+import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.transaction.ObjectPersistenceException;
public class SqlOidGenerator extends OidGeneratorAbstract {
- private static final Logger LOG = Logger.getLogger(SqlOidGenerator.class);
-
- private static class IdNumbers {
- private static final String NUMBER_COLUMN = "number";
- private static final String TABLE_NAME = "isis_admin_serial_id";
- private static int BATCH_SIZE = 50;
- private long transientNumber = -9999999;
- private long lastId = 0;
- private long newBatchAt = 0;
-
- public synchronized long nextTransientId() {
- return transientNumber++;
- }
-
- public synchronized long nextPersistentId(final DatabaseConnectorPool connectionPool) {
- if (lastId > newBatchAt) {
- throw new SqlObjectStoreException("ID exception, last id (" + lastId + ") past new batch boundary (" + newBatchAt + ")");
- }
- if (lastId == newBatchAt) {
- prepareNewBatch(connectionPool);
- }
- lastId++;
- return lastId;
- }
-
- private void prepareNewBatch(final DatabaseConnectorPool connectionPool) {
- final DatabaseConnector db = connectionPool.acquire();
- try {
- final String tableName = Sql.tableIdentifier(TABLE_NAME);
- final String numberColumn = Sql.identifier(NUMBER_COLUMN);
- if (!db.hasTable(tableName)) {
- lastId = 1;
- newBatchAt = BATCH_SIZE;
- db.update("create table " + tableName + " (" + numberColumn + " INTEGER)");
- db.update("insert into " + tableName + " values (" + newBatchAt + ")");
- LOG.debug("Initial ID batch created, from " + lastId + " to " + newBatchAt);
- } else {
- if (db.update("update " + tableName + " set " + numberColumn + " = " + numberColumn + " + " + BATCH_SIZE) != 1) {
- throw new SqlObjectStoreException("failed to update serial id table; no rows updated");
- }
- final Results rs = db.select("select " + numberColumn + " from " + tableName);
- rs.next();
- newBatchAt = rs.getLong(NUMBER_COLUMN); // TODO here
- lastId = newBatchAt - BATCH_SIZE;
- LOG.debug("New ID batch created, from " + lastId + " to " + newBatchAt);
- rs.close();
- }
- } catch (final ObjectPersistenceException e) {
- throw e;
- } finally {
- connectionPool.release(db);
- }
- }
-
- public void debugData(final DebugBuilder debug) {
- debug.appendln("id", lastId);
- debug.appendln("transient id", transientNumber);
- }
-
- }
-
+
private final DatabaseConnectorPool connectionPool;
private final IdNumbers ids = new IdNumbers();
public SqlOidGenerator(final DatabaseConnectorPool connectionPool) {
- super(new OidStringifierDirect(SqlOid.class));
+ super(RootOidDefault.class);
this.connectionPool = connectionPool;
}
@@ -103,26 +46,30 @@ public class SqlOidGenerator extends Oid
}
@Override
- public SqlOid createTransientOid(final Object object) {
- final String className = object.getClass().getName();
- return SqlOid.createTransient(className, ids.nextTransientId());
+ public RootOid createTransientOid(final Object object) {
+ final Class<? extends Object> cls = object.getClass();
+ final ObjectSpecification objectSpec = getSpecificationLookup().loadSpecification(cls);
+ return RootOidDefault.createTransient(objectSpec.getObjectType(), ""+ids.nextTransientId());
}
@Override
- public String createAggregateId(final Object pojo) {
+ public String createAggregateLocalId(final Object pojo) {
throw new SqlObjectStoreException("Aggregated objects are not supported in this store");
}
@Override
- public void convertTransientToPersistentOid(final Oid oid) {
+ public RootOid asPersistent(final RootOid rootOid) {
Assert.assertNotNull("No connection set up", connectionPool);
- final IntegerPrimaryKey primaryKey = new IntegerPrimaryKey((int) ids.nextPersistentId(connectionPool));
- ((SqlOid) oid).setId(primaryKey);
- ((SqlOid) oid).makePersistent();
+
+ final int next = (int) ids.nextPersistentId(connectionPool);
+
+ return rootOid.asPersistent("" + next);
}
- public void convertPersistentToTransientOid(final Oid oid) {
- }
+
+ ///////////////////////////////////////////////////////
+ // Debug
+ ///////////////////////////////////////////////////////
@Override
public void debugData(final DebugBuilder debug) {
@@ -136,4 +83,75 @@ public class SqlOidGenerator extends Oid
public String debugTitle() {
return "SQL OID Generator";
}
+
+ ///////////////////////////////////////////////////////
+ // Dependencies
+ ///////////////////////////////////////////////////////
+
+ protected SpecificationLookup getSpecificationLookup() {
+ return IsisContext.getSpecificationLoader();
+ }
+}
+
+class IdNumbers {
+
+ private static final Logger LOG = Logger.getLogger(IdNumbers.class);
+
+ private static final String NUMBER_COLUMN = "number";
+ private static final String TABLE_NAME = "isis_admin_serial_id";
+ private static int BATCH_SIZE = 50;
+ private long transientNumber = -9999999;
+ private long lastId = 0;
+ private long newBatchAt = 0;
+
+ public synchronized long nextTransientId() {
+ return transientNumber++;
+ }
+
+ public synchronized long nextPersistentId(final DatabaseConnectorPool connectionPool) {
+ if (lastId > newBatchAt) {
+ throw new SqlObjectStoreException("ID exception, last id (" + lastId + ") past new batch boundary (" + newBatchAt + ")");
+ }
+ if (lastId == newBatchAt) {
+ prepareNewBatch(connectionPool);
+ }
+ lastId++;
+ return lastId;
+ }
+
+ private void prepareNewBatch(final DatabaseConnectorPool connectionPool) {
+ final DatabaseConnector db = connectionPool.acquire();
+ try {
+ final String tableName = Sql.tableIdentifier(TABLE_NAME);
+ final String numberColumn = Sql.identifier(NUMBER_COLUMN);
+ if (!db.hasTable(tableName)) {
+ lastId = 1;
+ newBatchAt = BATCH_SIZE;
+ db.update("create table " + tableName + " (" + numberColumn + " INTEGER)");
+ db.update("insert into " + tableName + " values (" + newBatchAt + ")");
+ LOG.debug("Initial ID batch created, from " + lastId + " to " + newBatchAt);
+ } else {
+ if (db.update("update " + tableName + " set " + numberColumn + " = " + numberColumn + " + " + BATCH_SIZE) != 1) {
+ throw new SqlObjectStoreException("failed to update serial id table; no rows updated");
+ }
+ final Results rs = db.select("select " + numberColumn + " from " + tableName);
+ rs.next();
+ newBatchAt = rs.getLong(NUMBER_COLUMN); // TODO here
+ lastId = newBatchAt - BATCH_SIZE;
+ LOG.debug("New ID batch created, from " + lastId + " to " + newBatchAt);
+ rs.close();
+ }
+ } catch (final ObjectPersistenceException e) {
+ throw e;
+ } finally {
+ connectionPool.release(db);
+ }
+ }
+
+ public void debugData(final DebugBuilder debug) {
+ debug.appendln("id", lastId);
+ debug.appendln("transient id", transientNumber);
+ }
+
}
+
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlPersistorInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlPersistorInstaller.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlPersistorInstaller.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlPersistorInstaller.java Sat Mar 24 14:01:35 2012
@@ -34,11 +34,13 @@ import org.apache.isis.runtimes.dflt.run
public class SqlPersistorInstaller extends ObjectStorePersistenceMechanismInstallerAbstract {
+ public static final String NAME = "sql";
+
private SqlObjectStore objectStore;
private DatabaseConnectorPool connectionPool;
public SqlPersistorInstaller() {
- super("sql");
+ super(NAME);
}
@Override
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoCollectionMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoCollectionMapper.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoCollectionMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoCollectionMapper.java Sat Mar 24 14:01:35 2012
@@ -27,6 +27,8 @@ import org.apache.log4j.Logger;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ResolveState;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -125,7 +127,8 @@ public class AutoCollectionMapper extend
sql.append("delete from ");
sql.append(tableName);
sql.append(" where ");
- idMapping.appendWhereClause(connector, sql, parent.getOid());
+ final RootOid oid = (RootOid) parent.getOid();
+ idMapping.appendWhereClause(connector, sql, oid);
connector.update(sql.toString());
sql = new StringBuffer();
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/AutoMapper.java Sat Mar 24 14:01:35 2012
@@ -29,6 +29,7 @@ import org.apache.isis.core.commons.debu
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ResolveState;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.util.InvokeUtils;
import org.apache.isis.core.metamodel.adapter.version.SerialNumberVersion;
import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
@@ -135,7 +136,7 @@ public class AutoMapper extends Abstract
sql.append(") ");
connector.insert(sql.toString());
- object.setOptimisticLock(version);
+ object.setVersion(version);
for (final CollectionMapper collectionMapper : collectionMappers) {
collectionMapper.saveInternalCollection(connector, object);
@@ -146,7 +147,8 @@ public class AutoMapper extends Abstract
public void destroyObject(final DatabaseConnector connector, final ObjectAdapter object) {
final StringBuffer sql = new StringBuffer();
sql.append("delete from " + table + " WHERE ");
- idMapping.appendWhereClause(connector, sql, object.getOid());
+ final RootOid oid = (RootOid) object.getOid();
+ idMapping.appendWhereClause(connector, sql, oid);
sql.append(" AND ");
sql.append(versionMapping.whereClause(connector, (SerialNumberVersion) object.getVersion()));
final int updateCount = connector.update(sql.toString());
@@ -261,7 +263,7 @@ public class AutoMapper extends Abstract
public ObjectAdapter getObject(final DatabaseConnector connector, final Oid oid, final ObjectSpecification hint) {
final StringBuffer sql = createSelectStatement();
sql.append(" WHERE ");
- idMapping.appendWhereClause(connector, sql, oid);
+ idMapping.appendWhereClause(connector, sql, (RootOid) oid);
final Results rs = connector.select(completeSelectStatement(sql));
if (rs.next()) {
return loadObject(connector, hint, rs);
@@ -315,7 +317,7 @@ public class AutoMapper extends Abstract
/*
* oneToManyProperties[i].get(object); }
*/
- object.setOptimisticLock(versionMapping.getLock(rs));
+ object.setVersion(versionMapping.getLock(rs));
PersistorUtil.end(object);
}
@@ -365,7 +367,8 @@ public class AutoMapper extends Abstract
sql.append(",");
sql.append(versionMapping.appendColumnNames());
sql.append(" from " + table + " WHERE ");
- idMapping.appendWhereClause(connector, sql, object.getOid());
+ final RootOid oid = (RootOid) object.getOid();
+ idMapping.appendWhereClause(connector, sql, oid);
final Results rs = connector.select(sql.toString());
if (rs.next()) {
@@ -377,7 +380,7 @@ public class AutoMapper extends Abstract
}
} else {
rs.close();
- throw new SqlObjectStoreException("Unable to load data from " + table + " with id " + idMapping.primaryKey(object.getOid()));
+ throw new SqlObjectStoreException("Unable to load data from " + table + " with id " + object.getOid().enString());
}
}
@@ -400,8 +403,8 @@ public class AutoMapper extends Abstract
}
@Override
- public void save(final DatabaseConnector connector, final ObjectAdapter object) {
- final SerialNumberVersion version = (SerialNumberVersion) object.getVersion();
+ public void save(final DatabaseConnector connector, final ObjectAdapter adapter) {
+ final SerialNumberVersion version = (SerialNumberVersion) adapter.getVersion();
final long nextSequence;
if (useVersioning) {
nextSequence = version.getSequence() + 1;
@@ -412,31 +415,32 @@ public class AutoMapper extends Abstract
final StringBuffer sql = new StringBuffer();
sql.append("UPDATE " + table + " SET ");
for (final FieldMapping mapping : fieldMappingByField.values()) {
- mapping.appendUpdateValues(connector, sql, object);
+ mapping.appendUpdateValues(connector, sql, adapter);
sql.append(", ");
}
sql.append(versionMapping.updateAssigment(connector, nextSequence));
sql.append(", ");
- titleMapping.appendUpdateAssignment(connector, sql, object);
+ titleMapping.appendUpdateAssignment(connector, sql, adapter);
sql.append(" WHERE ");
- idMapping.appendWhereClause(connector, sql, object.getOid());
+ final RootOid oid = (RootOid) adapter.getOid();
+ idMapping.appendWhereClause(connector, sql, oid);
if (useVersioning) {
sql.append(" AND ");
- sql.append(versionMapping.whereClause(connector, (SerialNumberVersion) object.getVersion()));
+ sql.append(versionMapping.whereClause(connector, (SerialNumberVersion) adapter.getVersion()));
}
final int updateCount = connector.update(sql.toString());
if (updateCount == 0) {
LOG.info("concurrency conflict object " + this + "; no update performed");
- throw new ConcurrencyException("", object.getOid());
+ throw new ConcurrencyException("", adapter.getOid());
} else {
- object.setOptimisticLock(createVersion(nextSequence));
+ adapter.setVersion(createVersion(nextSequence));
}
// TODO update collections - change only when needed rather than
// reinserting from scratch
for (final CollectionMapper collectionMapper : collectionMappers) {
- collectionMapper.saveInternalCollection(connector, object);
+ collectionMapper.saveInternalCollection(connector, adapter);
}
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ForeignKeyCollectionMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ForeignKeyCollectionMapper.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ForeignKeyCollectionMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ForeignKeyCollectionMapper.java Sat Mar 24 14:01:35 2012
@@ -30,6 +30,7 @@ import org.apache.isis.core.commons.debu
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ResolveState;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
@@ -125,12 +126,12 @@ public class ForeignKeyCollectionMapper
}
@Override
- public void startup(final DatabaseConnector connector, final FieldMappingLookup lookup) {
+ public void startup(final DatabaseConnector connector) {
if (originalMapping == null) {
originalMapping = objectMappingLookup.getMapping(specification, null);
}
originalMapping.startup(connector, objectMapperLookup2);
- super.startup(connector, lookup);
+ super.startup(connector);
}
@Override
@@ -255,7 +256,7 @@ public class ForeignKeyCollectionMapper
for (final FieldMapping mapping : fieldMappingByField.values()) {
mapping.initializeField(object, rs);
}
- object.setOptimisticLock(versionMapping.getLock(rs));
+ object.setVersion(versionMapping.getLock(rs));
if (makeResolved) {
PersistorUtil.end(object);
}
@@ -327,7 +328,8 @@ public class ForeignKeyCollectionMapper
if (count++ > 0) {
update.append(",");
}
- idMapping.appendObjectId(connector, update, element.getOid());
+ final RootOid elementOid = (RootOid) element.getOid();
+ idMapping.appendObjectId(connector, update, elementOid);
}
update.append(")");
if (count > 0) {
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/PolymorphicForeignKeyInChildCollectionBaseMapper.java Sat Mar 24 14:01:35 2012
@@ -30,6 +30,7 @@ import org.apache.log4j.Logger;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
@@ -157,8 +158,8 @@ public class PolymorphicForeignKeyInChil
update.append(") VALUES (");
// Row ID column
- final Oid transientOid = oidGenerator.createTransientOid(thisAdapter.getObject());
- oidGenerator.convertTransientToPersistentOid(transientOid);
+ final RootOid transientOid = oidGenerator.createTransientOid(thisAdapter.getObject());
+ oidGenerator.asPersistent(transientOid);
polyIdMapper.appendObjectId(connector, update, transientOid);
// polyIdMapper.appendObjectId(connector, update,
// thisAdapter.getOid());
@@ -169,7 +170,8 @@ public class PolymorphicForeignKeyInChil
update.append(",");
// item Id column
- getIdMapping().appendObjectId(connector, update, thisAdapter.getOid());
+ final RootOid oid = (RootOid) thisAdapter.getOid();
+ getIdMapping().appendObjectId(connector, update, oid);
// Class name column
update.append(",?)");
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ReversedAutoAssociationMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ReversedAutoAssociationMapper.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ReversedAutoAssociationMapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/auto/ReversedAutoAssociationMapper.java Sat Mar 24 14:01:35 2012
@@ -133,7 +133,7 @@ public class ReversedAutoAssociationMapp
* oneToManyProperties[i].get(object); }
*/
- object.setOptimisticLock(versionMapping.getLock(rs));
+ object.setVersion(versionMapping.getLock(rs));
if (makeResolved) {
PersistorUtil.end(object);
}
@@ -173,7 +173,7 @@ public class ReversedAutoAssociationMapp
insert.append(") ");
connector.insert(insert.toString());
- element.setOptimisticLock(version);
+ element.setVersion(version);
}
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceFieldMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceFieldMapping.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceFieldMapping.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceFieldMapping.java Sat Mar 24 14:01:35 2012
@@ -21,6 +21,8 @@ package org.apache.isis.runtimes.dflt.ob
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -54,13 +56,15 @@ public class JdbcObjectReferenceFieldMap
@Override
public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
final ObjectAdapter fieldValue = field.get(object);
- appendWhereClause(connector, sql, fieldValue.getOid());
+ final RootOid oid = (RootOid) fieldValue.getOid();
+ appendWhereClause(connector, sql, oid);
}
@Override
public void appendWhereObject(final DatabaseConnector connector, final ObjectAdapter objectAdapter) {
final ObjectAdapter fieldValue = field.get(objectAdapter);
- connector.addToQueryValues(primaryKeyAsObject(fieldValue.getOid()));
+ final RootOid oid = (RootOid) fieldValue.getOid();
+ connector.addToQueryValues(primaryKey(oid));
}
public JdbcObjectReferenceFieldMapping(final ObjectAssociation field) {
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceMapping.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceMapping.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcObjectReferenceMapping.java Sat Mar 24 14:01:35 2012
@@ -21,6 +21,7 @@ package org.apache.isis.runtimes.dflt.ob
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.objectstores.sql.DatabaseConnector;
import org.apache.isis.runtimes.dflt.objectstores.sql.IdMappingAbstract;
@@ -39,14 +40,15 @@ public class JdbcObjectReferenceMapping
}
@Override
- public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
+ public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter adapter) {
sql.append(getColumn());
- if (object == null) {
+ if (adapter == null) {
sql.append("= NULL ");
} else {
sql.append("= ?");
// sql.append(primaryKey(object.getOid()));
- connector.addToQueryValues(primaryKeyAsObject(object.getOid()));
+ final RootOid oid = (RootOid) adapter.getOid();
+ connector.addToQueryValues(primaryKey(oid));
}
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcPolymorphicObjectReferenceMapping.java Sat Mar 24 14:01:35 2012
@@ -21,6 +21,7 @@ package org.apache.isis.runtimes.dflt.ob
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.objectstores.sql.DatabaseConnector;
import org.apache.isis.runtimes.dflt.objectstores.sql.IdMappingAbstract;
@@ -42,14 +43,15 @@ public class JdbcPolymorphicObjectRefere
}
@Override
- public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) {
+ public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter adapter) {
sql.append(getColumn());
- if (object == null) {
+ if (adapter == null) {
sql.append("= NULL ");
} else {
sql.append("= ?");
// sql.append(primaryKey(object.getOid()));
- connector.addToQueryValues(primaryKeyAsObject(object.getOid()));
+ final RootOid oid = (RootOid) adapter.getOid();
+ connector.addToQueryValues(primaryKey(oid));
}
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/pom.xml?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/pom.xml (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/pom.xml Sat Mar 24 14:01:35 2012
@@ -101,9 +101,16 @@
<dependencies>
<dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>testsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.isis.runtimes.dflt</groupId>
<artifactId>runtime</artifactId>
</dependency>
+
<!-- Required for TestProxy -->
<!-- Isis defaults -->
<dependency>
@@ -116,6 +123,11 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt</groupId>
+ <artifactId>testsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
<!-- TODO: remove this dependency -->
<dependency>
<groupId>org.apache.isis.runtimes.dflt.bytecode</groupId>
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/common/SqlIntegrationTestCommonBase.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/common/SqlIntegrationTestCommonBase.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/common/SqlIntegrationTestCommonBase.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/common/SqlIntegrationTestCommonBase.java Sat Mar 24 14:01:35 2012
@@ -28,11 +28,22 @@ import junit.framework.TestCase;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
+import org.jmock.auto.Mock;
+import org.junit.Rule;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2.Mode;
import org.apache.isis.runtimes.dflt.objectstores.sql.singleton.SqlIntegrationTestSingleton;
+import org.apache.isis.runtimes.embedded.EmbeddedContext;
public abstract class SqlIntegrationTestCommonBase extends TestCase {
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
+ protected EmbeddedContext mockEmbeddedContext;
+
protected SqlIntegrationTestSingleton getSingletonInstance() {
return SqlIntegrationTestSingleton.getInstance();
}
@@ -70,9 +81,9 @@ public abstract class SqlIntegrationTest
if (getSingletonInstance().getState() == 0) {
final Properties properties = getProperties();
if (properties == null) {
- getSingletonInstance().initNOF("src/test/config", getPropertiesFilename());
+ getSingletonInstance().initNOF(mockEmbeddedContext, "src/test/config", getPropertiesFilename());
} else {
- getSingletonInstance().initNOF(properties);
+ getSingletonInstance().initNOF(mockEmbeddedContext, properties);
}
final String sqlSetupString = getSqlSetupString();
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/singleton/SqlIntegrationTestSingleton.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/singleton/SqlIntegrationTestSingleton.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/singleton/SqlIntegrationTestSingleton.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/singleton/SqlIntegrationTestSingleton.java Sat Mar 24 14:01:35 2012
@@ -33,23 +33,31 @@ import java.sql.Statement;
import java.util.List;
import java.util.Properties;
+import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.runtimes.dflt.objectstores.dflt.InMemoryPersistenceMechanismInstaller;
import org.apache.isis.runtimes.dflt.objectstores.sql.Sql;
import org.apache.isis.runtimes.dflt.objectstores.sql.SqlObjectStore;
+import org.apache.isis.runtimes.dflt.objectstores.sql.SqlPersistorInstaller;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.SqlDataClassFactory;
-import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.TestProxySystemIII;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.NumericTestClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.SimpleClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.SimpleClassTwo;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.SqlDataClass;
import org.apache.isis.runtimes.dflt.objectstores.sql.testsystem.dataclasses.polymorphism.PolyTestClass;
+import org.apache.isis.runtimes.dflt.objectstores.xml.XmlPersistenceMechanismInstaller;
+import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.ObjectStorePersistenceMechanismInstallerAbstract;
+import org.apache.isis.runtimes.dflt.testsupport.TestSystem;
+import org.apache.isis.runtimes.embedded.EmbeddedContext;
+import org.apache.isis.runtimes.embedded.IsisMetaModel;
/**
* @author Kevin
*
*/
public class SqlIntegrationTestSingleton {
+
static SqlIntegrationTestSingleton instance;
public static SqlIntegrationTestSingleton getInstance() {
@@ -60,48 +68,72 @@ public class SqlIntegrationTestSingleton
}
private int state = 0;
-
public int getState() {
return state;
}
-
public void setState(final int state) {
this.state = state;
}
private String persistorName;
+
private SqlDataClassFactory sqlDataClassFactory = null;
- private TestProxySystemIII system = null;
+ private TestSystem system = null;
- public void initNOF(final String propertiesDirectory, final String propertiesFileName) throws FileNotFoundException, IOException, SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
+ // JDBC
+ private Connection c = null;
+ private Statement s = null;
+ private SqlDataClass sqlDataClass;
+ private PolyTestClass polyTestClass;
+
+ public void initNOF(final EmbeddedContext embeddedContext, final String propertiesDirectory, final String propertiesFileName) throws FileNotFoundException, IOException, SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
final Properties properties = new Properties();
properties.load(new FileInputStream(propertiesDirectory + "/" + propertiesFileName));
- this.initNOF(properties);
+ this.initNOF(embeddedContext, properties);
}
- public void initNOF(final Properties properties) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
+ public void initNOF(final EmbeddedContext embeddedContext, final Properties properties) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
final IsisConfigurationDefault configuration = new IsisConfigurationDefault();
configuration.add(properties);
persistorName = configuration.getString("isis.persistor");
sqlDataClassFactory = new SqlDataClassFactory();
if (system != null) {
- system.shutDown();
+ system.closeSession();
}
- system = new TestProxySystemIII();
- system.setConfiguration(configuration);
- system.init(sqlDataClassFactory);
+
+
+ final IsisMetaModel isisMetaModel = new IsisMetaModel(embeddedContext, sqlDataClassFactory);
+ isisMetaModel.setConfiguration(configuration);
+ system = new TestSystem(isisMetaModel);
+
+ final ObjectStorePersistenceMechanismInstallerAbstract persistorInstaller = createPersistorInstaller(configuration);
+ system.openSession(null, persistorInstaller);
resetPersistorState(configuration);
-
}
- // JDBC
- private Connection c = null;
- private Statement s = null;
- private SqlDataClass sqlDataClass;
- private PolyTestClass polyTestClass;
+
+ private static ObjectStorePersistenceMechanismInstallerAbstract createPersistorInstaller(final IsisConfiguration configuration) {
+
+ final String jdbcDriver = configuration.getString(SqlObjectStore.BASE_NAME + ".jdbc.driver");
+ if (jdbcDriver != null) {
+ return new SqlPersistorInstaller();
+ }
+
+ final String persistor = configuration.getString("isis.persistor");
+ if (persistor.equals(InMemoryPersistenceMechanismInstaller.NAME)) {
+ return new InMemoryPersistenceMechanismInstaller();
+ }
+ if (persistor.equals(XmlPersistenceMechanismInstaller.NAME)) {
+ return new XmlPersistenceMechanismInstaller();
+ }
+ if (persistor.equals(SqlPersistorInstaller.NAME)) {
+ return new SqlPersistorInstaller();
+ }
+ return new InMemoryPersistenceMechanismInstaller();
+ }
@SuppressWarnings("unchecked")
private void resetPersistorState(final IsisConfigurationDefault IsisConfigurationDefault) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
@@ -187,14 +219,13 @@ public class SqlIntegrationTestSingleton
public void shutDown() {
if (system != null) {
- system.shutDown();
+ system.closeSession();
}
}
// {{ SqlDataClass support
public static void setDataClass(final SqlDataClass person) {
getInstance().setSqlDataClass(person);
-
}
public static SqlDataClass getDataClass() {
@@ -213,7 +244,6 @@ public class SqlIntegrationTestSingleton
public SqlDataClass getSqlDataClass() {
return sqlDataClass;
}
-
// }}
// {{ PolyTestClass support
Copied: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/Util.java (from r1304217, incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/TestProxySystemIII.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/Util.java?p2=incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/Util.java&p1=incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/TestProxySystemIII.java&r1=1304217&r2=1304796&rev=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/TestProxySystemIII.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-tests-common/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/testsystem/Util.java Sat Mar 24 14:01:35 2012
@@ -19,121 +19,14 @@
package org.apache.isis.runtimes.dflt.objectstores.sql.testsystem;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JUnit4Mockery;
-import org.jmock.lib.legacy.ClassImposteriser;
-
-import org.apache.isis.applib.AbstractFactoryAndRepository;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault;
-import org.apache.isis.core.runtime.authentication.AuthenticationManager;
-import org.apache.isis.core.runtime.authentication.standard.SimpleSession;
-import org.apache.isis.core.runtime.authorization.AuthorizationManager;
-import org.apache.isis.core.runtime.imageloader.TemplateImageLoader;
-import org.apache.isis.core.runtime.userprofile.UserProfileLoader;
-import org.apache.isis.progmodels.dflt.JavaReflectorInstaller;
+import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.runtimes.dflt.objectstores.dflt.InMemoryPersistenceMechanismInstaller;
import org.apache.isis.runtimes.dflt.objectstores.sql.SqlObjectStore;
import org.apache.isis.runtimes.dflt.objectstores.sql.SqlPersistorInstaller;
import org.apache.isis.runtimes.dflt.objectstores.xml.XmlPersistenceMechanismInstaller;
import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.ObjectStorePersistenceMechanismInstallerAbstract;
-import org.apache.isis.runtimes.dflt.runtime.persistence.internal.RuntimeContextFromSession;
-import org.apache.isis.runtimes.dflt.runtime.system.DeploymentType;
-import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContextStatic;
-import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSessionFactory;
-import org.apache.isis.runtimes.dflt.runtime.system.session.IsisSessionFactoryDefault;
-
-/*
- * TODO allow to be created with specific requirements for components being set up rather than using mocks.
- */
-public class TestProxySystemIII {
-
- private IsisConfigurationDefault configuration;
-
- public void setConfiguration(final IsisConfigurationDefault configuration) {
- this.configuration = configuration;
- }
-
- public IsisConfigurationDefault getConfiguration() {
- if (configuration == null) {
- configuration = new IsisConfigurationDefault();
- }
- return configuration;
- }
-
- private List<Object> servicesList;
- private final Mockery mockery = new JUnit4Mockery() {
- {
- setImposteriser(ClassImposteriser.INSTANCE);
- }
- };
- private IsisSessionFactoryDefault sessionFactory = null;
- private IsisContext context = null;
- private ObjectStorePersistenceMechanismInstallerAbstract persistenceMechanismInstaller;
-
- public void init(final AbstractFactoryAndRepository factory) {
- servicesList = new ArrayList<Object>();
- servicesList.add(factory);
-
- final TemplateImageLoader mockTemplateImageLoader = mockery.mock(TemplateImageLoader.class);
- final UserProfileLoader mockUserProfileLoader = mockery.mock(UserProfileLoader.class);
- final AuthenticationManager mockAuthenticationManager = mockery.mock(AuthenticationManager.class);
- final AuthorizationManager mockAuthorizationManager = mockery.mock(AuthorizationManager.class);
-
- mockery.checking(new Expectations() {
- {
- ignoring(mockTemplateImageLoader);
- ignoring(mockUserProfileLoader);
- ignoring(mockAuthenticationManager);
- ignoring(mockAuthorizationManager);
- }
- });
-
- SpecificationLoader mockSpecificationLoader;
- final JavaReflectorInstaller javaReflectorInstaller = new JavaReflectorInstaller();
- javaReflectorInstaller.setConfiguration(configuration);
- mockSpecificationLoader = javaReflectorInstaller.createReflector();
-
- ((ObjectReflectorDefault) mockSpecificationLoader).setRuntimeContext(new RuntimeContextFromSession());
-
- if (configuration.getString(SqlObjectStore.BASE_NAME + ".jdbc.driver") == null) {
- if (configuration.getString("isis.persistor") == "in-memory") {
- persistenceMechanismInstaller = new InMemoryPersistenceMechanismInstaller();
- } else {
- persistenceMechanismInstaller = new XmlPersistenceMechanismInstaller();
- }
- } else {
- persistenceMechanismInstaller = new SqlPersistorInstaller();
- }
-
- persistenceMechanismInstaller.setConfiguration(configuration);
- final PersistenceSessionFactory persistenceSessionFactory = persistenceMechanismInstaller.createPersistenceSessionFactory(DeploymentType.PROTOTYPE);
-
- sessionFactory = new IsisSessionFactoryDefault(DeploymentType.EXPLORATION, configuration, mockTemplateImageLoader, mockSpecificationLoader, mockAuthenticationManager, mockAuthorizationManager, mockUserProfileLoader, persistenceSessionFactory, servicesList);
- context = IsisContextStatic.createRelaxedInstance(sessionFactory);
- IsisContext.setConfiguration(sessionFactory.getConfiguration());
- sessionFactory.init();
- context.openSessionInstance(new SimpleSession("tester", new String[0], "001"));
- }
+public class Util {
- public void addToConfiguration(final String key, final String value) {
- configuration.add(key, value);
- }
- public void shutDown() {
- if (sessionFactory != null) {
- sessionFactory.shutdown();
- }
- if (persistenceMechanismInstaller != null) {
- persistenceMechanismInstaller.shutdown();
- }
- context.closeSessionInstance();
- }
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/pom.xml?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/pom.xml (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/pom.xml Sat Mar 24 14:01:35 2012
@@ -85,6 +85,11 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>testsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.isis.runtimes.dflt</groupId>
@@ -96,6 +101,11 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.isis.runtimes.dflt</groupId>
+ <artifactId>testsupport</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlObjectStore.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlObjectStore.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlObjectStore.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlObjectStore.java Sat Mar 24 14:01:35 2012
@@ -33,6 +33,7 @@ import org.apache.isis.core.commons.xml.
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ResolveState;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
@@ -62,7 +63,7 @@ import org.apache.isis.runtimes.dflt.run
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommand;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
import org.apache.isis.runtimes.dflt.runtime.persistence.query.PersistenceQueryBuiltIn;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager;
@@ -170,13 +171,13 @@ public class XmlObjectStore implements O
initObjectSetupReference(object, data, field);
}
}
- object.setOptimisticLock(data.getVersion());
+ object.setVersion(data.getVersion());
PersistorUtil.end(object);
}
}
private void initObjectSetupReference(final ObjectAdapter object, final ObjectData data, final ObjectAssociation field) {
- final SerialOid referenceOid = (SerialOid) data.get(field.getId());
+ final RootOidDefault referenceOid = (RootOidDefault) data.get(field.getId());
LOG.debug("setting up field " + field + " with " + referenceOid);
if (referenceOid == null) {
return;
@@ -231,7 +232,7 @@ public class XmlObjectStore implements O
final int size = refs == null ? 0 : refs.size();
final ObjectAdapter[] elements = new ObjectAdapter[size];
for (int j = 0; j < size; j++) {
- final SerialOid elementOid = refs.elementAt(j);
+ final RootOidDefault elementOid = refs.elementAt(j);
ObjectAdapter adapter;
adapter = getAdapterManager().getAdapterFor(elementOid);
if (adapter == null) {
@@ -303,7 +304,7 @@ public class XmlObjectStore implements O
@Override
public ObjectAdapter getObject(final Oid oid, final ObjectSpecification hint) {
LOG.debug("getObject " + oid);
- final Data data = dataManager.loadData((SerialOid) oid);
+ final Data data = dataManager.loadData((RootOidDefault) oid);
LOG.debug(" data read " + data);
ObjectAdapter object;
@@ -326,7 +327,7 @@ public class XmlObjectStore implements O
@Override
public void resolveImmediately(final ObjectAdapter object) {
- final ObjectData data = (ObjectData) dataManager.loadData((SerialOid) object.getOid());
+ final ObjectData data = (ObjectData) dataManager.loadData((RootOidDefault) object.getOid());
Assert.assertNotNull("Not able to read in data during resolve", object, data);
initObject(object, data);
}
@@ -336,7 +337,7 @@ public class XmlObjectStore implements O
* object should haves its internal collection populated by this method.
*/
private ObjectAdapter recreateObject(final ObjectData data) {
- final SerialOid oid = data.getOid();
+ final RootOidDefault oid = data.getOid();
final ObjectSpecification spec = specFor(data);
final ObjectAdapter object = getPersistenceSession().recreateAdapter(oid, spec);
initObject(object, data);
@@ -370,7 +371,7 @@ public class XmlObjectStore implements O
final ObjectData instanceData = data.element(i);
LOG.debug("instance data " + instanceData);
- final SerialOid oid = instanceData.getOid();
+ final RootOidDefault oid = instanceData.getOid();
final ObjectSpecification spec = specFor(instanceData);
final ObjectAdapter instance = getPersistenceSession().recreateAdapter(oid, spec);
@@ -396,13 +397,13 @@ public class XmlObjectStore implements O
// /////////////////////////////////////////////////////////
@Override
- public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
- return serviceManager.getOidForService(name);
+ public RootOid getOidForService(ObjectSpecification serviceSpec) {
+ return serviceManager.getOidForService(serviceSpec.getObjectType());
}
@Override
- public void registerService(final String name, final Oid oid) {
- serviceManager.registerService(name, oid);
+ public void registerService(final RootOid rootOid) {
+ serviceManager.registerService(rootOid);
}
// /////////////////////////////////////////////////////////
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlPersistenceMechanismInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlPersistenceMechanismInstaller.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlPersistenceMechanismInstaller.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/XmlPersistenceMechanismInstaller.java Sat Mar 24 14:01:35 2012
@@ -19,16 +19,12 @@
package org.apache.isis.runtimes.dflt.objectstores.xml;
-import org.apache.log4j.Logger;
-
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
-import org.apache.isis.runtimes.dflt.objectstores.xml.internal.adapter.XmlAdapterManager;
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.clock.DefaultClock;
import org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.ObjectStorePersistenceMechanismInstallerAbstract;
-import org.apache.isis.runtimes.dflt.runtime.persistence.adaptermanager.AdapterManagerExtended;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.ObjectStore;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.timebased.TimeBasedOidGenerator;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidGeneratorSeededOnCurrentTime;
import org.apache.isis.runtimes.dflt.runtime.system.DeploymentType;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.OidGenerator;
@@ -36,12 +32,12 @@ import org.apache.isis.runtimes.dflt.run
public class XmlPersistenceMechanismInstaller extends ObjectStorePersistenceMechanismInstallerAbstract {
- @SuppressWarnings("unused")
- private static final Logger LOG = Logger.getLogger(XmlPersistenceMechanismInstaller.class);
+ public static final String NAME = "xml";
+
private XmlObjectStore objectStore;
public XmlPersistenceMechanismInstaller() {
- super("xml");
+ super(NAME);
}
@Override
@@ -54,13 +50,8 @@ public class XmlPersistenceMechanismInst
}
@Override
- protected AdapterManagerExtended createAdapterManager(final IsisConfiguration configuration) {
- return new XmlAdapterManager();
- }
-
- @Override
protected OidGenerator createOidGenerator(final IsisConfiguration configuration) {
- return new TimeBasedOidGenerator();
+ return new RootOidGeneratorSeededOnCurrentTime();
}
@Override
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/AbstractXmlPersistenceCommand.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/AbstractXmlPersistenceCommand.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/AbstractXmlPersistenceCommand.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/AbstractXmlPersistenceCommand.java Sat Mar 24 14:01:35 2012
@@ -31,7 +31,7 @@ import org.apache.isis.runtimes.dflt.obj
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.data.ObjectData;
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.version.FileVersion;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommandAbstract;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
abstract class AbstractXmlPersistenceCommand extends PersistenceCommandAbstract {
private static final Logger LOG = Logger.getLogger(AbstractXmlPersistenceCommand.class);
@@ -53,7 +53,7 @@ abstract class AbstractXmlPersistenceCom
}
final ObjectSpecification adapterSpec = adapter.getSpecification();
- final ObjectData data = new ObjectData(adapterSpec, (SerialOid) adapter.getOid(), (FileVersion) adapter.getVersion());
+ final ObjectData data = new ObjectData(adapterSpec, (RootOidDefault) adapter.getOid(), (FileVersion) adapter.getVersion());
final List<ObjectAssociation> associations = adapterSpec.getAssociations();
for (final ObjectAssociation association : associations) {
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlCreateObjectCommand.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlCreateObjectCommand.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlCreateObjectCommand.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlCreateObjectCommand.java Sat Mar 24 14:01:35 2012
@@ -42,7 +42,7 @@ public final class XmlCreateObjectComman
LOG.debug(" create object " + onObject());
}
final String user = getAuthenticationSession().getUserName();
- onObject().setOptimisticLock(new FileVersion(user));
+ onObject().setVersion(new FileVersion(user));
final ObjectData data = createObjectData(onObject(), true);
getDataManager().insertObject(data);
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlDestroyObjectCommand.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlDestroyObjectCommand.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlDestroyObjectCommand.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlDestroyObjectCommand.java Sat Mar 24 14:01:35 2012
@@ -25,7 +25,7 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.data.DataManager;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
import org.apache.isis.runtimes.dflt.runtime.transaction.ObjectPersistenceException;
public final class XmlDestroyObjectCommand extends AbstractXmlPersistenceCommand implements DestroyObjectCommand {
@@ -40,9 +40,9 @@ public final class XmlDestroyObjectComma
if (LOG.isDebugEnabled()) {
LOG.debug(" destroy object " + onObject());
}
- final SerialOid oid = (SerialOid) onObject().getOid();
+ final RootOidDefault oid = (RootOidDefault) onObject().getOid();
getDataManager().remove(oid);
- onObject().setOptimisticLock(null);
+ onObject().setVersion(null);
}
@Override
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlUpdateObjectCommand.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlUpdateObjectCommand.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlUpdateObjectCommand.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/commands/XmlUpdateObjectCommand.java Sat Mar 24 14:01:35 2012
@@ -43,7 +43,7 @@ public final class XmlUpdateObjectComman
LOG.debug(" save object " + onObject());
}
final String user = getAuthenticationSession().getUserName();
- onObject().setOptimisticLock(new FileVersion(user));
+ onObject().setVersion(new FileVersion(user));
final Data data = createObjectData(onObject(), true);
getDataManager().save(data);
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/CollectionData.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/CollectionData.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/CollectionData.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/CollectionData.java Sat Mar 24 14:01:35 2012
@@ -21,7 +21,7 @@ package org.apache.isis.runtimes.dflt.ob
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.version.FileVersion;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
/**
* A logical collection of elements of a specified type
@@ -29,16 +29,16 @@ import org.apache.isis.runtimes.dflt.run
public class CollectionData extends Data {
private final ReferenceVector elements;
- public CollectionData(final ObjectSpecification noSpec, final SerialOid oid, final FileVersion version) {
+ public CollectionData(final ObjectSpecification noSpec, final RootOidDefault oid, final FileVersion version) {
super(noSpec, oid, version);
elements = new ReferenceVector();
}
- public void addElement(final SerialOid elementOid) {
+ public void addElement(final RootOidDefault elementOid) {
elements.add(elementOid);
}
- public void removeElement(final SerialOid elementOid) {
+ public void removeElement(final RootOidDefault elementOid) {
elements.remove(elementOid);
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/Data.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/Data.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/Data.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/Data.java Sat Mar 24 14:01:35 2012
@@ -21,20 +21,20 @@ package org.apache.isis.runtimes.dflt.ob
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.version.FileVersion;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
public abstract class Data {
private final ObjectSpecification noSpec;
- private final SerialOid oid;
+ private final RootOidDefault oid;
private final FileVersion version;
- Data(final ObjectSpecification noSpec, final SerialOid oid, final FileVersion version) {
+ Data(final ObjectSpecification noSpec, final RootOidDefault oid, final FileVersion version) {
this.noSpec = noSpec;
this.oid = oid;
this.version = version;
}
- public SerialOid getOid() {
+ public RootOidDefault getOid() {
return oid;
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/DataManager.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/DataManager.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/DataManager.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/DataManager.java Sat Mar 24 14:01:35 2012
@@ -20,7 +20,7 @@
package org.apache.isis.runtimes.dflt.objectstores.xml.internal.data;
import org.apache.isis.runtimes.dflt.runtime.persistence.ObjectNotFoundException;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
import org.apache.isis.runtimes.dflt.runtime.transaction.ObjectPersistenceException;
public interface DataManager {
@@ -37,14 +37,14 @@ public interface DataManager {
*/
public int numberOfInstances(final ObjectData pattern);
- public Data loadData(final SerialOid oid);
+ public Data loadData(final RootOidDefault oid);
/**
* Save the data for an object and adds the reference to a list of instances
*/
void insertObject(ObjectData data);
- void remove(SerialOid oid) throws ObjectNotFoundException, ObjectPersistenceException;
+ void remove(RootOidDefault oid) throws ObjectNotFoundException, ObjectPersistenceException;
/**
* Save the data for latter retrieval.
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ObjectData.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ObjectData.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ObjectData.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ObjectData.java Sat Mar 24 14:01:35 2012
@@ -28,7 +28,7 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.objectstores.xml.internal.version.FileVersion;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
/**
* A logical collection of elements of a specified type
@@ -36,7 +36,7 @@ import org.apache.isis.runtimes.dflt.run
public class ObjectData extends Data {
private final Map<String, Object> fieldById;
- public ObjectData(final ObjectSpecification noSpec, final SerialOid oid, final FileVersion version) {
+ public ObjectData(final ObjectSpecification noSpec, final RootOidDefault oid, final FileVersion version) {
super(noSpec, oid, version);
fieldById = new HashMap<String, Object>();
}
@@ -51,7 +51,7 @@ public class ObjectData extends Data {
public String id(final String fieldId) {
final Object field = get(fieldId);
- return field == null ? null : "" + ((SerialOid) field).getSerialNo();
+ return field == null ? null : "" + ((RootOidDefault) field).getIdentifier();
}
// ////////////////////////////////////////////////////////
@@ -98,7 +98,7 @@ public class ObjectData extends Data {
fieldById.put(fieldId, new ReferenceVector());
}
- public void addElement(final String fieldId, final SerialOid elementOid) {
+ public void addElement(final String fieldId, final RootOidDefault elementOid) {
if (!fieldById.containsKey(fieldId)) {
throw new IsisException("Field " + fieldId + " not found in hashtable");
}
@@ -141,19 +141,9 @@ public class ObjectData extends Data {
throw new IllegalStateException("Element is not persistent " + element);
}
- addElement(fieldId, (SerialOid) elementOid);
+ addElement(fieldId, (RootOidDefault) elementOid);
}
-
- /*
- * while (e.hasMoreElements()) { ObjectAdapter element = (ObjectAdapter)
- * e.nextElement(); //
- * LOG.debug("adding element to internal collection field " + fieldId
- * +" " + element); Object elementOid = element.getOid(); if (elementOid
- * == null) { throw new IllegalStateException("Element is not persistent
- * "+element); }
- *
- * addElement(fieldId, (SimpleOid) elementOid); }
- */}
+ }
// ////////////////////////////////////////////////////////
// toString
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ReferenceVector.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ReferenceVector.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ReferenceVector.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/xml/src/main/java/org/apache/isis/runtimes/dflt/objectstores/xml/internal/data/ReferenceVector.java Sat Mar 24 14:01:35 2012
@@ -22,16 +22,16 @@ package org.apache.isis.runtimes.dflt.ob
import java.util.Vector;
import org.apache.isis.core.commons.lang.ToString;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
public class ReferenceVector {
private final Vector elements = new Vector();
- public void add(final SerialOid oid) {
+ public void add(final RootOidDefault oid) {
elements.addElement(oid);
}
- public void remove(final SerialOid oid) {
+ public void remove(final RootOidDefault oid) {
elements.removeElement(oid);
}
@@ -39,8 +39,8 @@ public class ReferenceVector {
return elements.size();
}
- public SerialOid elementAt(final int index) {
- return (SerialOid) elements.elementAt(index);
+ public RootOidDefault elementAt(final int index) {
+ return (RootOidDefault) elements.elementAt(index);
}
@Override