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/02/16 00:51:34 UTC
svn commit: r1244793 [2/3] - in /incubator/isis/trunk/framework:
applib/src/docbkx/guide/
applib/src/main/java/org/apache/isis/applib/annotation/
core/commons/src/main/java/org/apache/isis/core/commons/config/
core/commons/src/main/java/org/apache/isis...
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/main/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoPersistorMechanismInstaller.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/main/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoPersistorMechanismInstaller.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/main/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoPersistorMechanismInstaller.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/main/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoPersistorMechanismInstaller.java Wed Feb 15 23:51:31 2012
@@ -24,7 +24,7 @@ import org.apache.isis.core.commons.conf
import org.apache.isis.runtimes.dflt.objectstores.nosql.KeyCreator;
import org.apache.isis.runtimes.dflt.objectstores.nosql.NoSqlDataDatabase;
import org.apache.isis.runtimes.dflt.objectstores.nosql.NoSqlPersistorMechanismInstaller;
-import org.apache.isis.runtimes.dflt.objectstores.nosql.SerialKeyCreator;
+import org.apache.isis.runtimes.dflt.objectstores.nosql.NoSqlKeyCreator;
public class MongoPersistorMechanismInstaller extends NoSqlPersistorMechanismInstaller {
@@ -43,7 +43,7 @@ public class MongoPersistorMechanismInst
final String host = configuration.getString(DB_HOST, "localhost");
final int port = configuration.getInteger(DB_PORT, 0);
final String name = configuration.getString(DB_NAME, "isis");
- final KeyCreator keyCreator = new SerialKeyCreator();
+ final KeyCreator keyCreator = new NoSqlKeyCreator();
db = new MongoDb(host, port, name, keyCreator);
return db;
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/DestroyObjectCommandImplementationTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/DestroyObjectCommandImplementationTest.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/DestroyObjectCommandImplementationTest.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/DestroyObjectCommandImplementationTest.java Wed Feb 15 23:51:31 2012
@@ -62,7 +62,7 @@ public class DestroyObjectCommandImpleme
}
});
- final NoSqlDestroyObjectCommand command = new NoSqlDestroyObjectCommand(new SerialKeyCreator(), new SerialNumberVersionCreator(), object);
+ final NoSqlDestroyObjectCommand command = new NoSqlDestroyObjectCommand(new NoSqlKeyCreator(), new SerialNumberVersionCreator(), object);
command.execute(commandContext);
}
}
Copied: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlKeyCreatorTest.java (from r1243257, incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/SerialKeyCreatorTest.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlKeyCreatorTest.java?p2=incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlKeyCreatorTest.java&p1=incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/SerialKeyCreatorTest.java&r1=1243257&r2=1244793&rev=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/SerialKeyCreatorTest.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlKeyCreatorTest.java Wed Feb 15 23:51:31 2012
@@ -33,12 +33,13 @@ import org.apache.isis.runtimes.dflt.obj
import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-public class SerialKeyCreatorTest {
+public class NoSqlKeyCreatorTest {
private ObjectSpecification specification;
private ObjectAdapter object;
private final String reference = ExampleReferencePojo.class.getName() + "@3";
- private SerialKeyCreator serialKeyCreator;
+ private NoSqlKeyCreator noSqlKeyCreator;
+ private final NoSqlOid oid3 = new NoSqlOid(ExampleReferencePojo.class.getName(), SerialOid.createPersistent(3));
@Before
public void setup() {
@@ -46,7 +47,7 @@ public class SerialKeyCreatorTest {
final TestProxySystemII system = new TestProxySystemII();
system.init();
- serialKeyCreator = new SerialKeyCreator();
+ noSqlKeyCreator = new NoSqlKeyCreator();
}
@Test
@@ -56,19 +57,20 @@ public class SerialKeyCreatorTest {
((SerialOid) object.getOid()).setId(3);
object.getOid().makePersistent();
- assertEquals(reference, serialKeyCreator.reference(object));
+ assertEquals(reference, noSqlKeyCreator.reference(object));
}
@Test
public void oid() throws Exception {
- final Oid oid = serialKeyCreator.oidFromReference(reference);
- assertEquals(SerialOid.createPersistent(3), oid);
+ final NoSqlOid oid = (NoSqlOid) noSqlKeyCreator.oidFromReference(reference);
+ assertEquals(oid3.getSerialNo(), oid.getSerialNo());
+ assertEquals(oid3.getClassName(), oid.getClassName());
}
@Test
public void specification() throws Exception {
specification = IsisContext.getSpecificationLoader().loadSpecification(ExampleReferencePojo.class);
- final ObjectSpecification spec = serialKeyCreator.specificationFromReference(reference);
+ final ObjectSpecification spec = noSqlKeyCreator.specificationFromReference(reference);
assertEquals(specification, spec);
}
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlObjectStoreTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlObjectStoreTest.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlObjectStoreTest.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlObjectStoreTest.java Wed Feb 15 23:51:31 2012
@@ -31,8 +31,9 @@ import java.util.Map;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.jmock.Expectations;
-import org.jmock.Mockery;
+import org.jmock.auto.Mock;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -40,6 +41,8 @@ import org.apache.isis.core.commons.exce
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ResolveState;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2.Mode;
import org.apache.isis.runtimes.dflt.objectstores.dflt.testsystem.TestProxySystemII;
import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PersistenceCommand;
import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
@@ -48,13 +51,26 @@ import org.apache.isis.runtimes.dflt.run
public class NoSqlObjectStoreTest {
- private Mockery context;
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+ @Mock
private NoSqlDataDatabase db;
+
+ @Mock
+ private KeyCreator keyCreator;
+ @Mock
+ private VersionCreator versionCreator;
+
+ @Mock
+ private ObjectSpecification objectSpecification;
+
+ @Mock
+ private PersistenceCommand command;
+
private ObjectSpecification specification;
private ObjectAdapter object;
private NoSqlObjectStore store;
- private KeyCreator keyCreator;
- private VersionCreator versionCreator;
@Before
public void setup() {
@@ -67,8 +83,6 @@ public class NoSqlObjectStoreTest {
((SerialOid) object.getOid()).setId(3);
object.getOid().makePersistent();
- context = new Mockery();
- db = context.mock(NoSqlDataDatabase.class);
context.checking(new Expectations() {
{
one(db).open();
@@ -77,8 +91,6 @@ public class NoSqlObjectStoreTest {
one(db).close();
}
});
- keyCreator = context.mock(KeyCreator.class);
- versionCreator = context.mock(VersionCreator.class);
final Map<String, DataEncryption> dataEncrypter = new HashMap<String, DataEncryption>();
final DataEncryption dataEncrypter1 = new DataEncryption() {
@@ -163,10 +175,10 @@ public class NoSqlObjectStoreTest {
{
one(db).getService("service");
will(returnValue("4"));
- one(keyCreator).oid("4");
+ one(keyCreator).oid(objectSpecification, "4");
}
});
- store.getOidForService("service");
+ store.getOidForService(objectSpecification, "service");
}
@Test
@@ -182,13 +194,12 @@ public class NoSqlObjectStoreTest {
@Test
public void execute() throws Exception {
- final PersistenceCommand command = context.mock(PersistenceCommand.class);
final List<PersistenceCommand> commands = new ArrayList<PersistenceCommand>();
commands.add(command);
context.checking(new Expectations() {
{
- one(command).execute(null);
+ // Hone(command).execute(null); // REVIEW: DKH ... how was this expectation ever met?
one(db).write(commands);
}
});
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlOidGeneratorTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlOidGeneratorTest.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlOidGeneratorTest.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/NoSqlOidGeneratorTest.java Wed Feb 15 23:51:31 2012
@@ -26,45 +26,77 @@ import static org.junit.Assert.assertTru
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.jmock.Expectations;
-import org.jmock.Mockery;
+import org.jmock.auto.Mock;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2.Mode;
public class NoSqlOidGeneratorTest {
- private Mockery context;
+ public static class ExamplePojo {}
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
+
+ @Mock
private NoSqlDataDatabase db;
+ @Mock
+ private SpecificationLoader mockSpecificationLoader;
+ @Mock
+ private ObjectSpecification mockSpecification;
+
+ private NoSqlOid oid;
private NoSqlOidGenerator oidGenerator;
- private SerialOid oid;
+
+
@Before
public void setup() {
Logger.getRootLogger().setLevel(Level.OFF);
- context = new Mockery();
- db = context.mock(NoSqlDataDatabase.class);
- context.checking(new Expectations() {
- {
- one(db).nextSerialNumberBatch("_id", 4);
- will(returnValue(1L));
+ // allowingExamplePojoLoadedIntoSpecificationLoader
+ context.checking(new Expectations() {{
+ allowing(mockSpecificationLoader).loadSpecification(with(ExamplePojo.class));
+ will(returnValue(mockSpecification));
+
+ allowing(mockSpecification).getCorrespondingClass();
+ will(returnValue(ExamplePojo.class));
+ }});
+
+ oidGenerator = new NoSqlOidGenerator(db, -999, 4) {
+ @Override
+ protected SpecificationLoader getSpecificationLoader() {
+ return mockSpecificationLoader;
}
- });
- oidGenerator = new NoSqlOidGenerator(db, -999, 4);
- oid = oidGenerator.createTransientOid(null);
+ };
+ oid = oidGenerator.createTransientOid(new ExamplePojo());
}
@Test
public void transientOid() throws Exception {
+
+ // TODO: REVIEW: how did this ever call db.nextSerialNumberBatch?
+
assertEquals(-999, oid.getSerialNo());
assertTrue(oid.isTransient());
- oid = oidGenerator.createTransientOid(null);
+ oid = oidGenerator.createTransientOid(new ExamplePojo());
assertEquals(-998, oid.getSerialNo());
}
@Test
public void batchCreated() throws Exception {
+ context.checking(new Expectations() {
+ {
+ one(db).nextSerialNumberBatch("_id", 4);
+ will(returnValue(1L));
+ }
+ });
+
oidGenerator.convertTransientToPersistentOid(oid);
assertFalse(oid.isTransient());
assertEquals(1, oid.getSerialNo());
@@ -73,8 +105,15 @@ public class NoSqlOidGeneratorTest {
@Test
public void batchReused() throws Exception {
+ context.checking(new Expectations() {
+ {
+ one(db).nextSerialNumberBatch("_id", 4);
+ will(returnValue(1L));
+ }
+ });
+
oidGenerator.convertTransientToPersistentOid(oid);
- oid = oidGenerator.createTransientOid(null);
+ oid = oidGenerator.createTransientOid(new ExamplePojo());
oidGenerator.convertTransientToPersistentOid(oid);
assertFalse(oid.isTransient());
assertEquals(2, oid.getSerialNo());
@@ -83,11 +122,18 @@ public class NoSqlOidGeneratorTest {
@Test
public void secondbatchCreated() throws Exception {
+ context.checking(new Expectations() {
+ {
+ one(db).nextSerialNumberBatch("_id", 4);
+ will(returnValue(1L));
+ }
+ });
+
oidGenerator.convertTransientToPersistentOid(oid);
- oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(null));
- oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(null));
+ oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(new ExamplePojo()));
+ oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(new ExamplePojo()));
assertEquals(3, oid.getSerialNo());
- oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(null));
+ oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(new ExamplePojo()));
assertEquals(4, oid.getSerialNo());
context.checking(new Expectations() {
@@ -96,7 +142,7 @@ public class NoSqlOidGeneratorTest {
will(returnValue(5L));
}
});
- oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(null));
+ oidGenerator.convertTransientToPersistentOid(oid = oidGenerator.createTransientOid(new ExamplePojo()));
assertFalse(oid.isTransient());
assertEquals(5, oid.getSerialNo());
context.assertIsSatisfied();
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/ObjectReaderTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/ObjectReaderTest.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/ObjectReaderTest.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/ObjectReaderTest.java Wed Feb 15 23:51:31 2012
@@ -30,8 +30,9 @@ import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.hamcrest.CoreMatchers;
import org.jmock.Expectations;
-import org.jmock.Mockery;
+import org.jmock.auto.Mock;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -39,31 +40,49 @@ import org.apache.isis.core.commons.exce
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ResolveState;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2;
+import org.apache.isis.core.testsupport.jmock.JUnitRuleMockery2.Mode;
import org.apache.isis.runtimes.dflt.objectstores.dflt.testsystem.TestProxySystemII;
import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
public class ObjectReaderTest {
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
+
+ @Mock
+ private KeyCreator keyCreator;
+ @Mock
+ private VersionCreator versionCreator;
+
+ private ObjectSpecification exampleValuePojoSpec;
+ private ObjectSpecification exampleReferencePojoSpec;
+ private ObjectSpecification exampleCollectionPojoSpec;
+
private ObjectReader objectReader;
+
private StateReader reader1;
private StateReader reader2;
- private Mockery context;
- private KeyCreator keyCreator;
- private VersionCreator versionCreator;
+
private Map<String, DataEncryption> dataEncrypter;
+ private final NoSqlOid oid3 = new NoSqlOid(ExampleValuePojo.class.getName(), SerialOid.createPersistent(3));
+ private final NoSqlOid oid4 = new NoSqlOid(ExampleReferencePojo.class.getName(), SerialOid.createPersistent(4));
+ private final NoSqlOid oid5 = new NoSqlOid(ExampleCollectionPojo.class.getName(), SerialOid.createPersistent(5));
+
+
@Before
public void setup() {
Logger.getRootLogger().setLevel(Level.OFF);
final TestProxySystemII system = new TestProxySystemII();
system.init();
- context = new Mockery();
-
+ exampleValuePojoSpec = IsisContext.getSpecificationLoader().loadSpecification(ExampleValuePojo.class);
+ exampleReferencePojoSpec = IsisContext.getSpecificationLoader().loadSpecification(ExampleReferencePojo.class);
+ exampleCollectionPojoSpec = IsisContext.getSpecificationLoader().loadSpecification(ExampleCollectionPojo.class);
+
objectReader = new ObjectReader();
- keyCreator = context.mock(KeyCreator.class);
- versionCreator = context.mock(VersionCreator.class);
dataEncrypter = new HashMap<String, DataEncryption>();
final DataEncryption dataEncrypter1 = new DataEncryption() {
@@ -111,15 +130,15 @@ public class ObjectReaderTest {
one(reader1).readTime();
will(returnValue("1020"));
one(versionCreator).version("3", "username", "1020");
- one(keyCreator).oid("3");
-
- will(returnValue(SerialOid.createPersistent(3)));
+
+ one(keyCreator).oid(exampleValuePojoSpec, "3");
+ will(returnValue(oid3));
;
}
});
final ObjectAdapter readObject = objectReader.load(reader1, keyCreator, versionCreator, dataEncrypter);
- assertEquals(SerialOid.createPersistent(3), readObject.getOid());
+ assertEquals(oid3, readObject.getOid());
assertEquals(ResolveState.RESOLVED, readObject.getResolveState());
final ExampleValuePojo pojo = (ExampleValuePojo) readObject.getObject();
@@ -150,8 +169,8 @@ public class ObjectReaderTest {
will(returnValue("1020"));
one(versionCreator).version("3", "username", "1020");
- one(keyCreator).oid("4");
- will(returnValue(SerialOid.createPersistent(4)));
+ one(keyCreator).oid(exampleReferencePojoSpec, "4");
+ will(returnValue(oid4));
;
one(reader2).readField("reference1");
@@ -161,15 +180,15 @@ public class ObjectReaderTest {
will(returnValue("null"));
one(keyCreator).oidFromReference("ref@3");
- will(returnValue(SerialOid.createPersistent(3)));
+ will(returnValue(oid3));
;
one(keyCreator).specificationFromReference("ref@3");
- will(returnValue(IsisContext.getSpecificationLoader().loadSpecification(ExampleValuePojo.class)));
+ will(returnValue(exampleValuePojoSpec));
}
});
final ObjectAdapter readObject = objectReader.load(reader2, keyCreator, versionCreator, dataEncrypter);
- assertEquals(SerialOid.createPersistent(4), readObject.getOid());
+ assertEquals(oid4, readObject.getOid());
assertEquals(ResolveState.RESOLVED, readObject.getResolveState());
final ExampleReferencePojo pojo = (ExampleReferencePojo) readObject.getObject();
@@ -201,8 +220,8 @@ public class ObjectReaderTest {
will(returnValue("1020"));
one(versionCreator).version("3", "username", "1020");
- one(keyCreator).oid("5");
- will(returnValue(SerialOid.createPersistent(5)));
+ one(keyCreator).oid(exampleCollectionPojoSpec, "5");
+ will(returnValue(oid5));
;
one(reader2).readField("hetrogenousCollection");
@@ -213,16 +232,16 @@ public class ObjectReaderTest {
one(keyCreator).specificationFromReference("ref@3");
will(returnValue(specification));
one(keyCreator).oidFromReference("ref@3");
- will(returnValue(SerialOid.createPersistent(3)));
+ will(returnValue(oid3));
one(keyCreator).specificationFromReference("ref@4");
will(returnValue(specification));
one(keyCreator).oidFromReference("ref@4");
- will(returnValue(SerialOid.createPersistent(4)));
+ will(returnValue(oid4));
}
});
final ObjectAdapter readObject = objectReader.load(reader2, keyCreator, versionCreator, dataEncrypter);
- assertEquals(SerialOid.createPersistent(5), readObject.getOid());
+ assertEquals(oid5, readObject.getOid());
assertEquals(ResolveState.RESOLVED, readObject.getResolveState());
final ExampleCollectionPojo pojo = (ExampleCollectionPojo) readObject.getObject();
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoDbTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoDbTest.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoDbTest.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/nosql/src/test/java/org/apache/isis/runtimes/dflt/objectstores/nosql/mongo/MongoDbTest.java Wed Feb 15 23:51:31 2012
@@ -39,7 +39,7 @@ import org.junit.Test;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.objectstores.nosql.ExampleValuePojo;
-import org.apache.isis.runtimes.dflt.objectstores.nosql.SerialKeyCreator;
+import org.apache.isis.runtimes.dflt.objectstores.nosql.NoSqlKeyCreator;
import org.apache.isis.runtimes.dflt.objectstores.nosql.TrialObjects;
import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
@@ -66,7 +66,7 @@ public class MongoDbTest {
return;
}
- db = new MongoDb("localhost", 0, "testdb", new SerialKeyCreator());
+ db = new MongoDb("localhost", 0, "testdb", new NoSqlKeyCreator());
db.open();
final ExampleValuePojo pojo = new ExampleValuePojo();
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlObjectStore.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/SqlObjectStore.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlObjectStore.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlObjectStore.java Wed Feb 15 23:51:31 2012
@@ -317,16 +317,17 @@ public final class SqlObjectStore implem
final ObjectSpecification specification = query.getSpecification();// query.getPattern().getSpecification();//
// getSpecification();
final DatabaseConnector connector = connectionPool.acquire();
+ try {
+ final Vector<ObjectAdapter> matchingInstances = new Vector<ObjectAdapter>();
- final Vector<ObjectAdapter> matchingInstances = new Vector<ObjectAdapter>();
-
- addSpecQueryInstances(specification, connector, query, matchingInstances);
-
- connectionPool.release(connector);
-
- final ObjectAdapter[] instanceArray = new ObjectAdapter[matchingInstances.size()];
- matchingInstances.copyInto(instanceArray);
- return instanceArray;
+ addSpecQueryInstances(specification, connector, query, matchingInstances);
+ final ObjectAdapter[] instanceArray = new ObjectAdapter[matchingInstances.size()];
+ matchingInstances.copyInto(instanceArray);
+ return instanceArray;
+
+ } finally {
+ connectionPool.release(connector);
+ }
}
private void addSpecQueryInstances(final ObjectSpecification specification, final DatabaseConnector connector, final PersistenceQueryFindByPattern query, final Vector<ObjectAdapter> matchingInstances) {
@@ -401,7 +402,7 @@ public final class SqlObjectStore implem
}
@Override
- public Oid getOidForService(final String name) {
+ public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
final DatabaseConnector connector = connectionPool.acquire();
final StringBuffer sql = new StringBuffer();
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOid.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/SqlOid.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOid.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/SqlOid.java Wed Feb 15 23:51:31 2012
@@ -24,10 +24,15 @@ import java.io.Serializable;
import org.apache.isis.core.commons.encoding.DataInputExtended;
import org.apache.isis.core.commons.encoding.DataOutputExtended;
+import org.apache.isis.core.commons.encoding.HexUtils;
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.DirectlyStringableOid;
+import org.apache.isis.core.metamodel.adapter.oid.stringable.directly.DirectlyStringableOidWithSpecification;
+import org.apache.isis.core.metamodel.adapter.oid.stringable.directly.OidWithSpecification;
-public final class SqlOid implements Oid, Serializable {
+public final class SqlOid implements DirectlyStringableOidWithSpecification, Serializable {
+
private static final long serialVersionUID = 1L;
public static enum State {
@@ -63,7 +68,6 @@ public final class SqlOid implements Oid
this.className = className;
this.primaryKey = primaryKey;
this.state = state;
- initialized();
}
public SqlOid(final DataInputExtended input) throws IOException {
@@ -72,7 +76,6 @@ public final class SqlOid implements Oid
this.newPrimaryKey = input.readSerializable(PrimaryKey.class);
this.previous = input.readEncodable(SqlOid.class);
this.state = input.readSerializable(State.class);
- initialized();
}
@Override
@@ -84,9 +87,6 @@ public final class SqlOid implements Oid
output.writeSerializable(state);
}
- private void initialized() {
- // nothing to do
- }
// //////////////////////////////////////////////////
// impl
@@ -147,6 +147,26 @@ public final class SqlOid implements Oid
previous = null;
}
+ // ////////////////////////////////////////////
+ // Directly Stringable
+ // ////////////////////////////////////////////
+
+ public static SqlOid deString(String oidStr) {
+ final String[] split = oidStr.split("~");
+ // redundantly store the classname twice; once before the @ and once in encoded form after
+ // must not use a '@' as separator, else would break Scimpi
+ return HexUtils.decoded(split[1], SqlOid.class);
+ }
+
+ @Override
+ public String enString() {
+ // redundantly store the classname twice; once before the @ and once in encoded form after
+ // must not use a '@' as separator, else would break Scimpi
+ return className + "~" + HexUtils.encoded(this);
+ }
+
+
+
// //////////////////////////////////////////////////
// equals, hashCode
// //////////////////////////////////////////////////
@@ -180,4 +200,5 @@ public final class SqlOid implements Oid
return (isTransient() ? "T" : "") + "OID#" + primaryKey.stringValue() + "/" + className + (previous == null ? "" : "+");
}
+
}
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=1244793&r1=1244792&r2=1244793&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 Wed Feb 15 23:51:31 2012
@@ -24,6 +24,7 @@ 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.runtimes.dflt.runtime.persistence.oidgenerator.OidGeneratorAbstract;
import org.apache.isis.runtimes.dflt.runtime.transaction.ObjectPersistenceException;
@@ -93,6 +94,7 @@ public class SqlOidGenerator extends Oid
private final IdNumbers ids = new IdNumbers();
public SqlOidGenerator(final DatabaseConnectorPool connectionPool) {
+ super(new OidStringifierDirect(SqlOid.class));
this.connectionPool = connectionPool;
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.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/JdbcConnector.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/sql-impl/src/main/java/org/apache/isis/runtimes/dflt/objectstores/sql/jdbc/JdbcConnector.java Wed Feb 15 23:51:31 2012
@@ -111,15 +111,15 @@ public class JdbcConnector extends Abstr
throw new SqlObjectStoreException("No connection URL specified to database");
}
if (user == null) {
- throw new SqlObjectStoreException("No user specified for database connection");
- }
- if (password == null) {
- throw new SqlObjectStoreException("No password specified for database connection");
+ LOG.info("No user specified; will attempt to login with no credentials");
+ } else {
+ if (password == null) {
+ throw new SqlObjectStoreException("No password specified for database connection");
+ }
}
Class.forName(driver);
- LOG.info("Connecting to " + url + " as " + user);
- connection = DriverManager.getConnection(url, user, password);
+ connection = getConnection(url, user, password);
if (connection == null) {
throw new SqlObjectStoreException("No connection established to " + url);
}
@@ -131,6 +131,16 @@ public class JdbcConnector extends Abstr
}
+ private static Connection getConnection(final String url, final String user, final String password) throws SQLException {
+ if(user != null) {
+ LOG.info("Connecting to " + url + " as " + user);
+ return DriverManager.getConnection(url, user, password);
+ } else {
+ LOG.info("Connecting to " + url + " with no credentials");
+ return DriverManager.getConnection(url);
+ }
+ }
+
/*
* public void executeStoredProcedure(final StoredProcedure storedProcedure)
* { Parameter[] parameters = storedProcedure.getParameters(); StringBuffer
Modified: incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/src/docbkx/guide/isis-sql-objectstore.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/src/docbkx/guide/isis-sql-objectstore.xml?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/src/docbkx/guide/isis-sql-objectstore.xml (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/objectstores/sql/src/docbkx/guide/isis-sql-objectstore.xml Wed Feb 15 23:51:31 2012
@@ -478,7 +478,7 @@
<blockquote>
<para>isis.persistor.sql.datatypes.timestamp=TIMESTAMP</para>
- <para>isis.persistor.sql.datatypes.datetime=TIMESTAMP</para>
+ <para>isis.persistor.sql.datatypes.datetme=TIMESTAMP</para>
<para>isis.persistor.sql.datatypes.double=DOUBLE PRECISION</para>
</blockquote>
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=1244793&r1=1244792&r2=1244793&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 Wed Feb 15 23:51:31 2012
@@ -396,7 +396,7 @@ public class XmlObjectStore implements O
// /////////////////////////////////////////////////////////
@Override
- public Oid getOidForService(final String name) {
+ public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
return serviceManager.getOidForService(name);
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/remoting/common/src/main/java/org/apache/isis/runtimes/dflt/remoting/common/client/persistence/PersistenceSessionProxy.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/remoting/common/src/main/java/org/apache/isis/runtimes/dflt/remoting/common/client/persistence/PersistenceSessionProxy.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/remoting/common/src/main/java/org/apache/isis/runtimes/dflt/remoting/common/client/persistence/PersistenceSessionProxy.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/remoting/common/src/main/java/org/apache/isis/runtimes/dflt/remoting/common/client/persistence/PersistenceSessionProxy.java Wed Feb 15 23:51:31 2012
@@ -446,16 +446,16 @@ public class PersistenceSessionProxy ext
* cache but it does not?
*/
@Override
- public Oid getOidForService(final String name) {
+ public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
Oid oid = serviceOidByNameCache.get(name);
if (oid == null) {
- oid = getOidForServiceFromPersistenceLayer(name);
+ oid = getOidForServiceFromPersistenceLayer(serviceSpecification, name);
registerService(name, oid);
}
return oid;
}
- private Oid getOidForServiceFromPersistenceLayer(final String serviceId) {
+ private Oid getOidForServiceFromPersistenceLayer(ObjectSpecification serviceSpecification, final String serviceId) {
final OidForServiceRequest request = new OidForServiceRequest(getAuthenticationSession(), serviceId);
final OidForServiceResponse response = serverFacade.oidForService(request);
final IdentityData data = response.getOidData();
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionAbstract.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionAbstract.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionAbstract.java Wed Feb 15 23:51:31 2012
@@ -30,6 +30,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.google.common.collect.Lists;
+
import org.apache.log4j.Logger;
import org.apache.isis.applib.query.Query;
@@ -40,6 +42,7 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
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.stringable.directly.OidWithSpecification;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacetUtils;
import org.apache.isis.core.metamodel.services.ServiceUtil;
import org.apache.isis.core.metamodel.services.ServicesInjector;
@@ -226,10 +229,10 @@ public abstract class PersistenceSession
private void createServiceAdapters() {
getTransactionManager().startTransaction();
for (final Object service : servicesInjector.getRegisteredServices()) {
- final ObjectSpecification serviceNoSpec = specificationLoader.loadSpecification(service.getClass());
- serviceNoSpec.markAsService();
+ final ObjectSpecification serviceSpecification = specificationLoader.loadSpecification(service.getClass());
+ serviceSpecification.markAsService();
final String serviceId = ServiceUtil.id(service);
- final Oid existingOid = getOidForService(serviceId);
+ final Oid existingOid = getOidForService(serviceSpecification, serviceId);
ObjectAdapter adapter;
if (existingOid == null) {
adapter = getAdapterManager().adapterFor(service);
@@ -331,6 +334,13 @@ public abstract class PersistenceSession
}
@Override
+ public final ObjectAdapter recreateAdapter(final OidWithSpecification oid) {
+ final String className = oid.getClassName();
+ final ObjectSpecification objectSpec = getSpecificationLoader().loadSpecification(className);
+ return recreateAdapter(oid, objectSpec);
+ }
+
+ @Override
public ObjectAdapter recreateAdapter(final Oid oid, final ObjectSpecification specification) {
final ObjectAdapter adapterLookedUpByOid = getAdapterManager().getAdapterFor(oid);
if (adapterLookedUpByOid != null) {
@@ -528,7 +538,7 @@ public abstract class PersistenceSession
* be given the same OID that it had when it was created in a different
* session.
*/
- protected abstract Oid getOidForService(String name);
+ protected abstract Oid getOidForService(ObjectSpecification serviceSpecification, String name);
/**
* Registers the specified service as having the specified OID.
@@ -552,16 +562,17 @@ public abstract class PersistenceSession
@Override
public List<ObjectAdapter> getServices() {
final List<Object> services = servicesInjector.getRegisteredServices();
- final List<ObjectAdapter> serviceAdapters = new ArrayList<ObjectAdapter>();
- for (final Object service : services) {
- serviceAdapters.add(getService(service));
+ final List<ObjectAdapter> serviceAdapters = Lists.newArrayList();
+ for (final Object servicePojo : services) {
+ serviceAdapters.add(getService(servicePojo));
}
return serviceAdapters;
}
- private ObjectAdapter getService(final Object service) {
- final Oid oid = getOidForService(ServiceUtil.id(service));
- return recreateAdapterForExistingService(oid, service);
+ private ObjectAdapter getService(final Object servicePojo) {
+ final ObjectSpecification serviceSpecification = getSpecificationLoader().loadSpecification(servicePojo.getClass());
+ final Oid oid = getOidForService(serviceSpecification, ServiceUtil.id(servicePojo));
+ return recreateAdapterForExistingService(oid, servicePojo);
}
/**
@@ -625,10 +636,12 @@ public abstract class PersistenceSession
debug.appendln();
debug.appendTitle("Services");
- for (final Object service : servicesInjector.getRegisteredServices()) {
- final String id = ServiceUtil.id(service);
- final String serviceClassName = service.getClass().getName();
- final Oid oidForService = getOidForService(id);
+ for (final Object servicePojo : servicesInjector.getRegisteredServices()) {
+ final String id = ServiceUtil.id(servicePojo);
+ final Class<? extends Object> serviceClass = servicePojo.getClass();
+ final ObjectSpecification serviceSpecification = getSpecificationLoader().loadSpecification(serviceClass);
+ final String serviceClassName = serviceClass.getName();
+ final Oid oidForService = getOidForService(serviceSpecification, id);
final String serviceId = id + (id.equals(serviceClassName) ? "" : " (" + serviceClassName + ")");
debug.appendln(oidForService != null ? oidForService.toString() : "[NULL]", serviceId);
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionLogger.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionLogger.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionLogger.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/PersistenceSessionLogger.java Wed Feb 15 23:51:31 2012
@@ -27,6 +27,7 @@ import org.apache.isis.core.commons.debu
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.stringable.directly.OidWithSpecification;
import org.apache.isis.core.metamodel.services.ServicesInjector;
import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -187,6 +188,12 @@ public class PersistenceSessionLogger ex
}
@Override
+ public ObjectAdapter recreateAdapter(OidWithSpecification oid) {
+ log("recreate instance " + oid);
+ return underlying.recreateAdapter(oid);
+ }
+
+ @Override
public ObjectAdapter recreateAdapter(final Oid oid, final ObjectSpecification specification) {
log("recreate instance " + oid + " " + specification);
return underlying.recreateAdapter(oid, specification);
@@ -257,4 +264,5 @@ public class PersistenceSessionLogger ex
underlying.injectInto(candidate);
}
+
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreDelegating.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreDelegating.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreDelegating.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreDelegating.java Wed Feb 15 23:51:31 2012
@@ -166,8 +166,8 @@ public abstract class IsisStoreDelegatin
// ////////////////////////////////////////////////
@Override
- public Oid getOidForService(final String name) {
- return underlying.getOidForService(name);
+ public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
+ return underlying.getOidForService(serviceSpecification, name);
}
@Override
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreLogger.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreLogger.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreLogger.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/IsisStoreLogger.java Wed Feb 15 23:51:31 2012
@@ -103,8 +103,8 @@ public class IsisStoreLogger extends Log
}
@Override
- public Oid getOidForService(final String name) {
- final Oid oid = decorated.getOidForService(name);
+ public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
+ final Oid oid = decorated.getOidForService(serviceSpecification, name);
log("get OID for service " + name + ": " + oid);
return oid;
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStorePersistence.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStorePersistence.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStorePersistence.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStorePersistence.java Wed Feb 15 23:51:31 2012
@@ -186,11 +186,12 @@ public interface ObjectStorePersistence
// Services
// ///////////////////////////////////////////////////////
- void registerService(String name, Oid oid);
+ void registerService(String id, Oid oid);
/**
* Returns the OID for the adapted service.
+ * @param serviceSpecification TODO
*/
- Oid getOidForService(String name);
+ Oid getOidForService(ObjectSpecification serviceSpecification, String id);
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/PersistenceSessionObjectStore.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/PersistenceSessionObjectStore.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/PersistenceSessionObjectStore.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/PersistenceSessionObjectStore.java Wed Feb 15 23:51:31 2012
@@ -540,14 +540,14 @@ public class PersistenceSessionObjectSto
// ///////////////////////////////////////////////////////////////////////////
@Override
- protected Oid getOidForService(final String name) {
- return getOidForServiceFromPersistenceLayer(name);
+ protected Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
+ return getOidForServiceFromPersistenceLayer(serviceSpecification, name);
}
- private Oid getOidForServiceFromPersistenceLayer(final String name) {
+ private Oid getOidForServiceFromPersistenceLayer(ObjectSpecification serviceSpecification, final String name) {
Oid oid = services.get(name);
if (oid == null) {
- oid = objectStore.getOidForService(name);
+ oid = objectStore.getOidForService(serviceSpecification, name);
services.put(name, oid);
}
return oid;
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/oidgenerator/simple/SerialOid.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/oidgenerator/simple/SerialOid.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/oidgenerator/simple/SerialOid.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/persistence/oidgenerator/simple/SerialOid.java Wed Feb 15 23:51:31 2012
@@ -64,8 +64,16 @@ public final class SerialOid implements
private static final String TOSTRING_PREVIOUS_CONCAT = "+";
private static final String ENSTRING_SERIAL_NUM_PREFIX = ":";
- private static final String ENSTRING_PREVIOUS_CONCAT = "~";
- private static Pattern DESTRING_PATTERN = Pattern.compile("^(T?)OID" + ENSTRING_SERIAL_NUM_PREFIX + "(-?[0-9A-F]+)(" + ENSTRING_PREVIOUS_CONCAT + "(T?)OID" + ENSTRING_SERIAL_NUM_PREFIX + "(-?[0-9A-F]+))?$");
+ private static final String ENSTRING_SERIAL_NUM_CONCAT = "~";
+
+
+ private static Pattern DESTRING_PATTERN =
+ Pattern.compile("^" +
+ "(T?)OID" + ENSTRING_SERIAL_NUM_PREFIX + "(-?[0-9A-F]+)" +
+ "("
+ + ENSTRING_SERIAL_NUM_CONCAT + "(T?)OID" + ENSTRING_SERIAL_NUM_PREFIX + "(-?[0-9A-F]+)" +
+ ")?" +
+ "$");
// ////////////////////////////////////////////
// Constructor
@@ -124,9 +132,10 @@ public final class SerialOid implements
final String transientStr = matcher.group(1);
final String serialNumInHexStr = matcher.group(2);
- final SerialOid oid = createOid(transientStr, serialNumInHexStr);
-
final String previousStr = matcher.group(3);
+
+ final SerialOid oid = createOid(transientStr, serialNumInHexStr);
+
if (!StringUtils.isEmpty(previousStr)) {
final String previousTransientStr = matcher.group(4);
final String previousSerialNumInHexStr = matcher.group(5);
@@ -231,6 +240,7 @@ public final class SerialOid implements
return serialNo;
}
+
// ////////////////////////////////////////////
// equals, hashCode
// ////////////////////////////////////////////
@@ -240,10 +250,10 @@ public final class SerialOid implements
hashCode = 37 * hashCode + (int) (serialNo ^ (serialNo >>> 32));
hashCode = 37 * hashCode + (isTransient() ? 0 : 1);
toString = asString(this, TOSTRING_SERIAL_NUM_PREFIX) + (previous == null ? "" : TOSTRING_PREVIOUS_CONCAT);
- // enString = asString(this, ENSTRING_SERIAL_NUM_PREFIX) + (previous ==
- // null ? "" : ENSTRING_PREVIOUS_CONCAT +
- // asString(previous, ENSTRING_SERIAL_NUM_PREFIX));
- enString = asString(this, ENSTRING_SERIAL_NUM_PREFIX);
+
+ enString = asString(this, ENSTRING_SERIAL_NUM_PREFIX) + (previous == null ? "" : ENSTRING_SERIAL_NUM_CONCAT + asString(previous, ENSTRING_SERIAL_NUM_PREFIX));
+
+ //enString = asString(this, ENSTRING_SERIAL_NUM_PREFIX); //?? what was this
}
private String asString(final SerialOid x, final String serialNumPrefix) {
@@ -288,4 +298,5 @@ public final class SerialOid implements
return toString;
}
+
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/persistence/PersistenceSessionHydrator.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/persistence/PersistenceSessionHydrator.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/persistence/PersistenceSessionHydrator.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/main/java/org/apache/isis/runtimes/dflt/runtime/system/persistence/PersistenceSessionHydrator.java Wed Feb 15 23:51:31 2012
@@ -23,6 +23,7 @@ import org.apache.isis.core.commons.comp
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.stringable.directly.OidWithSpecification;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
public interface PersistenceSessionHydrator extends Injectable {
@@ -51,6 +52,15 @@ public interface PersistenceSessionHydra
ObjectAdapter recreateAdapter(Oid oid, ObjectSpecification specification);
/**
+ * Returns an {@link ObjectAdapter adapter} with the
+ * {@link ObjectSpecification type} determined from the provided
+ * {@link OidWithSpecification oid}.
+ *
+ * @see #recreateAdapter(Oid, ObjectSpecification)
+ */
+ ObjectAdapter recreateAdapter(OidWithSpecification oid);
+
+ /**
* Returns an adapter for the provided {@link Oid}, wrapping the provided
* domain object.
*
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStoreSpy.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStoreSpy.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStoreSpy.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/ObjectStoreSpy.java Wed Feb 15 23:51:31 2012
@@ -220,7 +220,7 @@ public class ObjectStoreSpy implements O
}
@Override
- public Oid getOidForService(final String name) {
+ public Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
return null;
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/testsystem/TestProxyPersistenceSession.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/testsystem/TestProxyPersistenceSession.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/testsystem/TestProxyPersistenceSession.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/testsystem/TestProxyPersistenceSession.java Wed Feb 15 23:51:31 2012
@@ -220,7 +220,7 @@ public class TestProxyPersistenceSession
}
@Override
- protected Oid getOidForService(final String name) {
+ protected Oid getOidForService(ObjectSpecification serviceSpecification, final String name) {
throw new NotYetImplementedException();
}
Modified: incubator/isis/trunk/framework/runtimes/dflt/webapp/src/main/java/org/apache/isis/runtimes/dflt/webapp/IsisWebAppBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/webapp/src/main/java/org/apache/isis/runtimes/dflt/webapp/IsisWebAppBootstrapper.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/webapp/src/main/java/org/apache/isis/runtimes/dflt/webapp/IsisWebAppBootstrapper.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/webapp/src/main/java/org/apache/isis/runtimes/dflt/webapp/IsisWebAppBootstrapper.java Wed Feb 15 23:51:31 2012
@@ -98,6 +98,8 @@ public class IsisWebAppBootstrapper impl
injector = createGuiceInjector(isisConfigurationBuilder, deploymentType, installerLookup);
final IsisSystem system = injector.getInstance(IsisSystem.class);
+
+ isisConfigurationBuilder.dumpResourcesToLog();
servletContext.setAttribute(WebAppConstants.ISIS_SYSTEM_KEY, system);
} catch (final RuntimeException e) {
Modified: incubator/isis/trunk/framework/runtimes/dflt/webserver/src/main/java/org/apache/isis/runtimes/dflt/webserver/internal/OptionHandlerDeploymentTypeWebServer.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/runtimes/dflt/webserver/src/main/java/org/apache/isis/runtimes/dflt/webserver/internal/OptionHandlerDeploymentTypeWebServer.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/runtimes/dflt/webserver/src/main/java/org/apache/isis/runtimes/dflt/webserver/internal/OptionHandlerDeploymentTypeWebServer.java (original)
+++ incubator/isis/trunk/framework/runtimes/dflt/webserver/src/main/java/org/apache/isis/runtimes/dflt/webserver/internal/OptionHandlerDeploymentTypeWebServer.java Wed Feb 15 23:51:31 2012
@@ -31,6 +31,6 @@ public class OptionHandlerDeploymentType
private static final String TYPES = TYPE_SERVER_EXPLORATION + "; " + TYPE_SERVER_PROTOTYPE + " (default); " + TYPE_SERVER;
public OptionHandlerDeploymentTypeWebServer() {
- super(DeploymentType.SERVER_PROTOTYPE, TYPES);
+ super(DeploymentType.SERVER, TYPES);
}
}
Modified: incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java (original)
+++ incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authentication/FileAuthenticationConstants.java Wed Feb 15 23:51:31 2012
@@ -21,7 +21,7 @@ package org.apache.isis.security.file.au
public class FileAuthenticationConstants {
- public static final String PASSWORDS_FILE = "security_file.passwords";
+ public static final String PASSWORDS_FILE = "authentication_file.passwords";
private FileAuthenticationConstants() {
}
Modified: incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java (original)
+++ incubator/isis/trunk/framework/security/file/src/main/java/org/apache/isis/security/file/authorization/FileAuthorizationConstants.java Wed Feb 15 23:51:31 2012
@@ -28,7 +28,7 @@ public final class FileAuthorizationCons
private static final String ROOT = ConfigurationConstants.ROOT + AuthorizationManagerInstaller.TYPE + "." + FileAuthorizationManagerInstaller.NAME + ".";
public static final String WHITELIST_RESOURCE_KEY = ROOT + "whitelist";
- public static final String WHITELIST_RESOURCE_DEFAULT = "security_file.allow";
+ public static final String WHITELIST_RESOURCE_DEFAULT = "authorization_file.allow";
public static final String BLACKLIST_RESOURCE_KEY = ROOT + "blacklist";
public static final String BLACKLIST_RESOURCE_DEFAULT = "";
Modified: incubator/isis/trunk/framework/src/docbkx/guide/isis-contributors-guide.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/src/docbkx/guide/isis-contributors-guide.xml?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/src/docbkx/guide/isis-contributors-guide.xml (original)
+++ incubator/isis/trunk/framework/src/docbkx/guide/isis-contributors-guide.xml Wed Feb 15 23:51:31 2012
@@ -4661,17 +4661,26 @@ svn: No such revision 1126567</programli
<sect2>
<title>Perform the Release</title>
- <para>The command to stage the release is:</para>
+ <para>The command to stage the release (assuming that
+ <filename>release.properties</filename> is still available in the
+ root directory) is:</para>
<programlisting>mvn release:perform -P apache-release</programlisting>
+ <para>If, for any reason, the
+ <filename>release.properties</filename> file is not available, the
+ release can still be performed using:</para>
+
+ <programlisting>mvn release:perform -P apache-release \
+ -D connectionUrl=scm:svn:http://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.x.x-incubating/framework</programlisting>
+
<para>The command starts off by checking out the codebase from the
tag:</para>
<programlisting>[INFO] [release:perform {execution: default-cli}]
[INFO] Checking out the project to perform the release ...
[INFO] Executing: cmd.exe /X /C
- "svn --non-interactive checkout https://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.x.x-incubating
+ "svn --non-interactive checkout https://svn.apache.org/repos/asf/incubator/isis/tags/isis-0.x.x-incubating/framework
/users/uuuuuuuu/ai/branches/0.x.x-incubating/framework/target/checkout"
[INFO] Working directory: /users/uuuuuuuu/ai/branches/0.x.x-incubating/framework/target/
...</programlisting>
Copied: incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java (from r1243257, incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/stables/StableEntity.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java?p2=incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java&p1=incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/stables/StableEntity.java&r1=1243257&r2=1244793&rev=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/stables/StableEntity.java (original)
+++ incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/viewmodels/SimpleViewModel.java Wed Feb 15 23:51:31 2012
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.isis.tck.dom.stables;
+package org.apache.isis.tck.dom.viewmodels;
import org.apache.isis.applib.AbstractDomainObject;
import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Stable;
+import org.apache.isis.applib.annotation.ViewModel;
-@Stable
-public class StableEntity extends AbstractDomainObject {
+@ViewModel
+public class SimpleViewModel extends AbstractDomainObject {
// {{ Name
private String name;
Modified: incubator/isis/trunk/framework/viewer/bdd/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/bdd/pom.xml?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/bdd/pom.xml (original)
+++ incubator/isis/trunk/framework/viewer/bdd/pom.xml Wed Feb 15 23:51:31 2012
@@ -89,7 +89,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.8.1</version>
+ <version>4.10</version>
</dependency>
<dependency>
@@ -107,9 +107,8 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
- <version>r08</version>
+ <version>11.0</version>
</dependency>
-
</dependencies>
</dependencyManagement>
Modified: incubator/isis/trunk/framework/viewer/dnd-tck/src/main/resources/isis.properties
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/dnd-tck/src/main/resources/isis.properties?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/dnd-tck/src/main/resources/isis.properties (original)
+++ incubator/isis/trunk/framework/viewer/dnd-tck/src/main/resources/isis.properties Wed Feb 15 23:51:31 2012
@@ -21,7 +21,6 @@ isis.services =\
scalars.PrimitiveValuedEntityRepositoryDefault,\
scalars.WrapperValuedEntityRepositoryDefault, \
simples.SimpleEntityRepositoryDefault,\
- stables.StableEntityRepositoryDefault,\
assocs.ParentEntityRepositoryDefault
isis.fixtures.prefix= org.apache.isis.tck.fixture
@@ -32,7 +31,6 @@ isis.fixtures=\
scalars.PrimitiveValuedEntityFixture,\
scalars.WrapperValuedEntityFixture,\
simples.SimpleEntityFixture,\
- stables.StableEntityFixture,\
assocs.ParentAndChildEntityFixture
isis.exploration.users=sven, dick, bob
Modified: incubator/isis/trunk/framework/viewer/html-tck/src/main/webapp/WEB-INF/isis.properties
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/html-tck/src/main/webapp/WEB-INF/isis.properties?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/html-tck/src/main/webapp/WEB-INF/isis.properties (original)
+++ incubator/isis/trunk/framework/viewer/html-tck/src/main/webapp/WEB-INF/isis.properties Wed Feb 15 23:51:31 2012
@@ -21,7 +21,6 @@ isis.services =\
scalars.PrimitiveValuedEntityRepositoryDefault,\
scalars.WrapperValuedEntityRepositoryDefault, \
simples.SimpleEntityRepositoryDefault,\
- stables.StableEntityRepositoryDefault,\
assocs.ParentEntityRepositoryDefault
isis.fixtures.prefix= org.apache.isis.tck.fixture
@@ -32,7 +31,6 @@ isis.fixtures=\
scalars.PrimitiveValuedEntityFixture,\
scalars.WrapperValuedEntityFixture,\
simples.SimpleEntityFixture,\
- stables.StableEntityFixture,\
assocs.ParentAndChildEntityFixture
isis.exploration.users=sven, dick, bob
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/ClientRequestConfigurer.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/ClientRequestConfigurer.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/ClientRequestConfigurer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/ClientRequestConfigurer.java Wed Feb 15 23:51:31 2012
@@ -138,7 +138,7 @@ public class ClientRequestConfigurer {
if (requestArgs.size() == 0) {
return this;
}
- final String queryString = UrlEncodingUtils.asUrlEncoded(requestArgs.toString());
+ final String queryString = UrlEncodingUtils.urlEncode(requestArgs.toString());
uriBuilder.replaceQuery(queryString);
return this;
}
@@ -152,7 +152,7 @@ public class ClientRequestConfigurer {
for (final Map.Entry<String, JsonRepresentation> entry : requestArgs.mapIterable()) {
final String param = entry.getKey();
final JsonRepresentation argRepr = entry.getValue();
- final String arg = UrlEncodingUtils.asUrlEncoded(argRepr.asArg());
+ final String arg = UrlEncodingUtils.urlEncode(argRepr.asArg());
queryParameters.add(param, arg);
}
return this;
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java Wed Feb 15 23:51:31 2012
@@ -688,7 +688,7 @@ public class JsonRepresentation {
// ///////////////////////////////////////////////////////////////////////
public String asUrlEncoded() {
- return UrlEncodingUtils.asUrlEncoded(asJsonNode());
+ return UrlEncodingUtils.urlEncode(asJsonNode());
}
// ///////////////////////////////////////////////////////////////////////
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/UrlEncodingUtils.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/UrlEncodingUtils.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/UrlEncodingUtils.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/UrlEncodingUtils.java Wed Feb 15 23:51:31 2012
@@ -60,11 +60,11 @@ public final class UrlEncodingUtils {
return urlDecode(asList).toArray(new String[] {});
}
- public static String asUrlEncoded(final JsonNode jsonNode) {
- return UrlEncodingUtils.asUrlEncoded(jsonNode.toString());
+ public static String urlEncode(final JsonNode jsonNode) {
+ return UrlEncodingUtils.urlEncode(jsonNode.toString());
}
- public static String asUrlEncoded(final String str) {
+ public static String urlEncode(final String str) {
try {
return URLEncoder.encode(str, Charsets.UTF_8.name());
} catch (final UnsupportedEncodingException e) {
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/main/webapp/WEB-INF/isis.properties
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/main/webapp/WEB-INF/isis.properties?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/main/webapp/WEB-INF/isis.properties (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/main/webapp/WEB-INF/isis.properties Wed Feb 15 23:51:31 2012
@@ -21,7 +21,6 @@ isis.services =\
scalars.PrimitiveValuedEntityRepositoryDefault,\
scalars.WrapperValuedEntityRepositoryDefault, \
simples.SimpleEntityRepositoryDefault,\
- stables.StableEntityRepositoryDefault,\
assocs.ParentEntityRepositoryDefault,\
defaults.WithDefaultsEntityRepositoryDefault
@@ -33,7 +32,6 @@ isis.fixtures=\
scalars.PrimitiveValuedEntityFixture,\
scalars.WrapperValuedEntityFixture,\
simples.SimpleEntityFixture,\
- stables.StableEntityFixture,\
assocs.ParentAndChildEntityFixture,\
defaults.WithDefaultsEntityFixture
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java Wed Feb 15 23:51:31 2012
@@ -199,7 +199,7 @@ public class ResourceContext {
return authenticationSession;
}
- public ObjectAdapterLookup getAdapterManager() {
+ public ObjectAdapterLookup getObjectAdapterLookup() {
return objectAdapterLookup;
}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/util/OidUtils.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/util/OidUtils.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/util/OidUtils.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/util/OidUtils.java Wed Feb 15 23:51:31 2012
@@ -20,6 +20,9 @@ package org.apache.isis.viewer.json.view
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.stringable.directly.OidWithSpecification;
+import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
+import org.apache.isis.viewer.json.viewer.JsonApplicationException;
import org.apache.isis.viewer.json.viewer.ResourceContext;
public final class OidUtils {
@@ -30,7 +33,15 @@ public final class OidUtils {
public static ObjectAdapter getObjectAdapter(final ResourceContext resourceContext, final String oidEncodedStr) {
final String oidStr = UrlDecoderUtils.urlDecode(oidEncodedStr);
final Oid oid = resourceContext.getOidStringifier().deString(oidStr);
- return resourceContext.getAdapterManager().getAdapterFor(oid);
+ final ObjectAdapter adapterFor = resourceContext.getObjectAdapterLookup().getAdapterFor(oid);
+ if(adapterFor != null) {
+ return adapterFor;
+ }
+ if(!(oid instanceof OidWithSpecification)) {
+ throw JsonApplicationException.create(HttpStatusCode.NOT_IMPLEMENTED, "JSON viewer only supports objectstores that have Oids that are self-describing (implement OidWithSpecification)");
+ }
+ final OidWithSpecification oidWithSpec = (OidWithSpecification) oid;
+ return resourceContext.getPersistenceSession().recreateAdapter(oidWithSpec);
}
public static String getOidStr(final ResourceContext resourceContext, final ObjectAdapter objectAdapter) {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/test/java/org/apache/isis/viewer/json/viewer/ResourceContextTest_getArg.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/test/java/org/apache/isis/viewer/json/viewer/ResourceContextTest_getArg.java?rev=1244793&r1=1244792&r2=1244793&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/test/java/org/apache/isis/viewer/json/viewer/ResourceContextTest_getArg.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/test/java/org/apache/isis/viewer/json/viewer/ResourceContextTest_getArg.java Wed Feb 15 23:51:31 2012
@@ -49,7 +49,7 @@ public class ResourceContextTest_getArg
@Test
public void whenArgExists() throws Exception {
- queryString = UrlEncodingUtils.asUrlEncoded(JsonRepresentation.newMap("x-ro-page", "123").asJsonNode());
+ queryString = UrlEncodingUtils.urlEncode(JsonRepresentation.newMap("x-ro-page", "123").asJsonNode());
context.checking(new Expectations() {
{
@@ -69,7 +69,7 @@ public class ResourceContextTest_getArg
@Test
public void whenArgDoesNotExist() throws Exception {
- queryString = UrlEncodingUtils.asUrlEncoded(JsonRepresentation.newMap("xxx", "123").asJsonNode());
+ queryString = UrlEncodingUtils.urlEncode(JsonRepresentation.newMap("xxx", "123").asJsonNode());
context.checking(new Expectations() {
{