You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2017/07/10 06:53:12 UTC
[10/50] polygene-java git commit: POLYGENE-260 - Fixed the "duplicate
should be allowed" for ManyAssociations. POLYGENE-261 - Documentation of "No
order is defined" for NamedAssociation Changed StringIdentity creation to use
static factory method, and ch
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
new file mode 100644
index 0000000..346f0ea
--- /dev/null
+++ b/extensions/entitystore-hazelcast/src/test/java/org/apache/polygene/entitystore/hazelcast/HazelcastEntityStoreTestSuite.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.hazelcast;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.hazelcast.assembly.HazelcastEntityStoreAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.After;
+
+public class HazelcastEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new HazelcastEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+ }
+
+ @After
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ // TODO : delete test data
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTestSuite.java b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTestSuite.java
new file mode 100644
index 0000000..d1eeb88
--- /dev/null
+++ b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsFilesystemTestSuite.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+package org.apache.polygene.entitystore.jclouds;
+
+import java.util.Collections;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.jclouds.assembly.JCloudsEntityStoreAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.jclouds.filesystem.reference.FilesystemConstants;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
+
+public class JCloudsFilesystemTestSuite extends EntityStoreTestSuite
+{
+ @Rule
+ public TemporaryFolder tmpDir = new TemporaryFolder();
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new JCloudsEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ JCloudsEntityStoreConfiguration defaults = configModule.forMixin( JCloudsEntityStoreConfiguration.class )
+ .declareDefaults();
+ defaults.provider().set( "filesystem" );
+ defaults.properties().set( Collections.singletonMap( FilesystemConstants.PROPERTY_BASEDIR,
+ tmpDir.getRoot().getAbsolutePath() ) );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3TestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3TestSuite.java b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3TestSuite.java
new file mode 100644
index 0000000..1b43c7d
--- /dev/null
+++ b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsS3TestSuite.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.jclouds;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.jclouds.assembly.JCloudsEntityStoreAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.ClassRule;
+
+public class JCloudsS3TestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule( "s3server", "server started" );
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new JCloudsEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ JCloudsEntityStoreConfiguration defaults =
+ configModule.forMixin( JCloudsEntityStoreConfiguration.class ).declareDefaults();
+
+ String host = DOCKER.getDockerHost();
+ int port = DOCKER.getExposedContainerPort( "8000/tcp" );
+ defaults.provider().set( "s3" );
+ defaults.endpoint().set( "http://" + host + ':' + port );
+ defaults.identifier().set( "dummyIdentifier" );
+ defaults.credential().set( "dummyCredential" );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTestSuite.java b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTestSuite.java
new file mode 100644
index 0000000..186d7f0
--- /dev/null
+++ b/extensions/entitystore-jclouds/src/test/java/org/apache/polygene/entitystore/jclouds/JCloudsTransientTestSuite.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+package org.apache.polygene.entitystore.jclouds;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.jclouds.assembly.JCloudsEntityStoreAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+
+public class JCloudsTransientTestSuite extends EntityStoreTestSuite
+{
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new JCloudsEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTestSuite.java b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTestSuite.java
index 597bfe3..959c83f 100644
--- a/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTestSuite.java
+++ b/extensions/entitystore-jdbm/src/test/java/org/apache/polygene/entitystore/jdbm/JdbmEntityStoreTestSuite.java
@@ -32,7 +32,6 @@ public class JdbmEntityStoreTestSuite extends EntityStoreTestSuite
{
@Rule
public final TemporaryFolder tmpDir = new TemporaryFolder();
- private ModuleAssembly configModule;
@Override
protected void defineStorageModule( ModuleAssembly module )
@@ -45,11 +44,4 @@ public class JdbmEntityStoreTestSuite extends EntityStoreTestSuite
.withConfig( configModule, Visibility.application )
.assemble( module );
}
-
- @Override
- protected void defineConfigModule( ModuleAssembly module )
- {
- configModule = module;
- super.defineConfigModule( module );
- }
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTestSuite.java b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTestSuite.java
new file mode 100644
index 0000000..70c8929
--- /dev/null
+++ b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JavaLevelDBEntityStoreTestSuite.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.leveldb;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.leveldb.assembly.LevelDBEntityStoreAssembler;
+import org.apache.polygene.library.fileconfig.FileConfigurationAssembler;
+import org.apache.polygene.library.fileconfig.FileConfigurationOverride;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
+
+public class JavaLevelDBEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @Rule
+ public final TemporaryFolder tmpDir = new TemporaryFolder();
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new FileConfigurationAssembler()
+ .withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
+ .assemble( module );
+
+ new LevelDBEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .identifiedBy( "java-leveldb-entitystore" )
+ .assemble( module );
+
+ configModule.forMixin( LevelDBEntityStoreConfiguration.class ).declareDefaults().flavour().set( "java" );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JniLevelDBEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JniLevelDBEntityStoreTest.java b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JniLevelDBEntityStoreTest.java
index 08177e1..c072f4d 100644
--- a/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JniLevelDBEntityStoreTest.java
+++ b/extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/leveldb/JniLevelDBEntityStoreTest.java
@@ -20,40 +20,33 @@
package org.apache.polygene.entitystore.leveldb;
import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.AssemblyException;
import org.apache.polygene.bootstrap.ModuleAssembly;
import org.apache.polygene.entitystore.leveldb.assembly.LevelDBEntityStoreAssembler;
import org.apache.polygene.library.fileconfig.FileConfigurationAssembler;
import org.apache.polygene.library.fileconfig.FileConfigurationOverride;
-import org.apache.polygene.test.EntityTestAssembler;
-import org.apache.polygene.test.entity.AbstractEntityStoreTest;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
-public class JniLevelDBEntityStoreTest
- extends AbstractEntityStoreTest
+public class JniLevelDBEntityStoreTest extends EntityStoreTestSuite
{
@Rule
public final TemporaryFolder tmpDir = new TemporaryFolder();
@Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
+ protected void defineStorageModule( ModuleAssembly module )
{
- super.assemble( module );
-
- ModuleAssembly config = module.layer().module( "config" );
- new EntityTestAssembler().defaultServicesVisibleIn( Visibility.layer ).assemble( config );
-
+ module.defaultServices();
new FileConfigurationAssembler()
.withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
.assemble( module );
new LevelDBEntityStoreAssembler()
- .withConfig( config, Visibility.layer )
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
.identifiedBy( "jni-leveldb-entitystore" )
.assemble( module );
- config.forMixin( LevelDBEntityStoreConfiguration.class ).declareDefaults().flavour().set( "jni" );
+ configModule.forMixin( LevelDBEntityStoreConfiguration.class ).declareDefaults().flavour().set( "jni" );
}
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTestSuite.java b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTestSuite.java
new file mode 100644
index 0000000..01d4b33
--- /dev/null
+++ b/extensions/entitystore-memory/src/test/java/org/apache/polygene/entitystore/memory/MemoryEntityStoreTestSuite.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.memory;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.memory.assembly.MemoryEntityStoreAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+
+public class MemoryEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new MemoryEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .assemble( module );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoDBMapEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoDBMapEntityStoreTestSuite.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoDBMapEntityStoreTestSuite.java
new file mode 100644
index 0000000..57c1e16
--- /dev/null
+++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/EmbedMongoDBMapEntityStoreTestSuite.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.polygene.entitystore.mongodb;
+
+import de.flapdoodle.embed.mongo.MongodExecutable;
+import de.flapdoodle.embed.mongo.MongodStarter;
+import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
+import de.flapdoodle.embed.mongo.config.Net;
+import de.flapdoodle.embed.mongo.distribution.Version;
+import de.flapdoodle.embed.process.runtime.Network;
+import java.io.IOException;
+import java.util.Collections;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.mongodb.assembly.MongoDBEntityStoreAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.apache.polygene.test.util.FreePortFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.rules.TestName;
+
+public class EmbedMongoDBMapEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ private static final MongodStarter MONGO_STARTER = MongodStarter.getDefaultInstance();
+
+ @Rule
+ public TestName testName = new TestName();
+ private static int port;
+ private static MongodExecutable mongod;
+
+ @BeforeClass
+ public static void startEmbedMongo()
+ throws IOException
+ {
+ port = FreePortFinder.findFreePortOnLoopback();
+ mongod = MONGO_STARTER.prepare( new MongodConfigBuilder()
+ .version( Version.Main.PRODUCTION )
+ .net( new Net( "localhost", port, Network.localhostIsIPv6() ) )
+ .build() );
+ mongod.start();
+ }
+
+ @AfterClass
+ public static void stopEmbedMongo()
+ {
+ if( mongod != null )
+ {
+ mongod.stop();
+ }
+ }
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new MongoDBEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ MongoDBEntityStoreConfiguration mongoConfig = configModule.forMixin( MongoDBEntityStoreConfiguration.class )
+ .declareDefaults();
+ mongoConfig.writeConcern().set( MongoDBEntityStoreConfiguration.WriteConcern.MAJORITY );
+ mongoConfig.database().set( "polygene-test" );
+ mongoConfig.collection().set( testName.getMethodName() );
+ mongoConfig.nodes().set( Collections.singletonList( "localhost:" + port ) );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
new file mode 100644
index 0000000..109ff43
--- /dev/null
+++ b/extensions/entitystore-mongodb/src/test/java/org/apache/polygene/entitystore/mongodb/MongoDBEntityStoreTestSuite.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.mongodb;
+
+import com.mongodb.Mongo;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.mongodb.assembly.MongoDBEntityStoreAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.ClassRule;
+
+/**
+ * Test the MongoDBEntityStoreService.
+ */
+public class MongoDBEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule( "mongo", 27017 );
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new MongoDBEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ MongoDBEntityStoreConfiguration mongoConfig = configModule.forMixin( MongoDBEntityStoreConfiguration.class ).declareDefaults();
+ mongoConfig.writeConcern().set( MongoDBEntityStoreConfiguration.WriteConcern.MAJORITY );
+ mongoConfig.database().set( "polygene:test" );
+ mongoConfig.collection().set( "polygene:test:entities" );
+ mongoConfig.hostname().set( DOCKER.getDockerHost() );
+ mongoConfig.port().set( DOCKER.getExposedContainerPort( "27017/tcp" ) );
+ }
+
+ private Mongo mongo;
+ private String dbName;
+
+ @Override
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
+ MongoDBEntityStoreService es = storageModule.serviceFinder().findService( MongoDBEntityStoreService.class ).get();
+ mongo = es.mongoInstanceUsed();
+ dbName = es.dbInstanceUsed().getName();
+ }
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ mongo.dropDatabase( dbName );
+ super.tearDown();
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
index 1020216..f3b0de5 100644
--- a/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
+++ b/extensions/entitystore-preferences/src/main/java/org/apache/polygene/entitystore/preferences/assembly/PreferencesEntityStoreAssembler.java
@@ -26,8 +26,7 @@ import org.apache.polygene.bootstrap.ServiceDeclaration;
import org.apache.polygene.entitystore.preferences.PreferencesEntityStoreInfo;
import org.apache.polygene.entitystore.preferences.PreferencesEntityStoreService;
-public class PreferencesEntityStoreAssembler
- extends Assemblers.VisibilityIdentityConfig<PreferencesEntityStoreAssembler>
+public class PreferencesEntityStoreAssembler extends Assemblers.VisibilityIdentityConfig<PreferencesEntityStoreAssembler>
{
@Override
public void assemble( ModuleAssembly module )
@@ -38,9 +37,9 @@ public class PreferencesEntityStoreAssembler
Preferences node = root.node( applicationName );
PreferencesEntityStoreInfo info = new PreferencesEntityStoreInfo( node );
ServiceDeclaration service = module.services( PreferencesEntityStoreService.class )
- .setMetaInfo( info )
- .visibleIn( visibility() )
- .instantiateOnStartup();
+ .setMetaInfo( info )
+ .visibleIn( visibility() )
+ .instantiateOnStartup();
if( hasIdentity() )
{
service.identifiedBy( identity() );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
new file mode 100644
index 0000000..4ca18b4
--- /dev/null
+++ b/extensions/entitystore-preferences/src/test/java/org/apache/polygene/entitystore/preferences/PreferencesEntityStoreTestSuite.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.preferences;
+
+import java.util.prefs.BackingStoreException;
+import java.util.prefs.Preferences;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.preferences.assembly.PreferencesEntityStoreAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
+
+public class PreferencesEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @Rule
+ public TemporaryFolder tmpDir = new TemporaryFolder();
+ private Preferences rootNode;
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ String applicationName = module.layer().application().name();
+ rootNode = Preferences.userRoot().node( applicationName );
+
+ new PreferencesEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .assemble( module );
+ }
+
+ @After
+ public void tearDown()
+ throws BackingStoreException
+ {
+ rootNode.removeNode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
new file mode 100644
index 0000000..6ae99a1
--- /dev/null
+++ b/extensions/entitystore-redis/src/test/java/org/apache/polygene/entitystore/redis/RedisEntityStoreTestSuite.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.redis;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.redis.assembly.RedisEntityStoreAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.ClassRule;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
+
+public class RedisEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule( "redis", 6379 );
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new RedisEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ RedisEntityStoreConfiguration redisConfig = configModule.forMixin( RedisEntityStoreConfiguration.class )
+ .declareDefaults();
+ redisConfig.host().set( DOCKER.getDockerHost() );
+ redisConfig.port().set( DOCKER.getExposedContainerPort( "6379/tcp" ) );
+ }
+
+ private JedisPool jedisPool;
+
+ @Override
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
+ RedisEntityStoreService es = storageModule.findService( RedisEntityStoreService.class ).get();
+ jedisPool = es.jedisPool();
+ }
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ try( Jedis jedis = jedisPool.getResource() )
+ {
+ jedis.flushDB();
+ }
+ super.tearDown();
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
new file mode 100644
index 0000000..14828ff
--- /dev/null
+++ b/extensions/entitystore-riak/src/test/java/org/apache/polygene/entitystore/riak/RiakEntityStoreTestSuite.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.polygene.entitystore.riak;
+
+import java.util.Collections;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.riak.assembly.RiakEntityStoreAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.ClassRule;
+
+public class RiakEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule( "riak", "riak_auth_mods started on node" );
+
+ private RiakFixture riakFixture;
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ new RiakEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ RiakEntityStoreConfiguration riakConfig = configModule.forMixin( RiakEntityStoreConfiguration.class )
+ .declareDefaults();
+ String host = DOCKER.getDockerHost();
+ int port = DOCKER.getExposedContainerPort( "8087/tcp" );
+ riakConfig.hosts().set( Collections.singletonList( host + ':' + port ) );
+ }
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ riakFixture.deleteTestData();
+ super.tearDown();
+ }
+
+ @Override
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
+ RiakEntityStoreService es = storageModule.findService( RiakEntityStoreService.class ).get();
+ riakFixture = new RiakFixture( es.riakClient(), es.riakNamespace() );
+ riakFixture.waitUntilReady();
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
index 6a41cea..c25a3cd 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
+++ b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
@@ -36,7 +36,7 @@ import org.jooq.conf.Settings;
public abstract class AbstractSQLEntityStoreAssembler<AssemblerType>
extends Assemblers.VisibilityIdentityConfig<AssemblerType>
{
- public static final Identity DEFAULT_ENTITYSTORE_IDENTITY = StringIdentity.identity( "entitystore-sql" );
+ public static final Identity DEFAULT_ENTITYSTORE_IDENTITY = StringIdentity.identityOf( "entitystore-sql" );
private static final String DEFAULT_CHANGELOG_PATH = "org/apache/polygene/entitystore/sql/changelog.xml";
private String changelogPath = DEFAULT_CHANGELOG_PATH;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
new file mode 100644
index 0000000..7fbfb2a
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.sql;
+
+import java.sql.Connection;
+import java.sql.Statement;
+import javax.sql.DataSource;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
+import org.apache.polygene.api.usecase.UsecaseBuilder;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sql.assembly.DerbySQLEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+
+import static org.apache.polygene.entitystore.sql.assembly.DerbySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
+
+public class DerbySQLEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "derby-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "derby-datasource-service" )
+ .identifiedBy( "derby-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new DerbySQLEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+ }
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ Module storageModule = application.findModule( "Infrastructure Layer","Storage Module" );
+ UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
+ UnitOfWork uow = uowf.newUnitOfWork( UsecaseBuilder.newUsecase(
+ "Delete " + getClass().getSimpleName() + " test data" ) );
+ try
+ {
+ SQLEntityStoreConfiguration config = uow.get( SQLEntityStoreConfiguration.class,
+ DEFAULT_ENTITYSTORE_IDENTITY );
+ Connection connection = storageModule.serviceFinder().findService( DataSource.class ).get().getConnection();
+ connection.setAutoCommit( false );
+ try( Statement stmt = connection.createStatement() )
+ {
+ stmt.execute( String.format( "DELETE FROM %s.%s",
+ config.schemaName().get(),
+ config.entityTableName().get() ) );
+ connection.commit();
+ }
+ }
+ finally
+ {
+ uow.discard();
+ super.tearDown();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
new file mode 100644
index 0000000..f763238
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.sql;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sql.assembly.H2SQLEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+
+public class H2SQLEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "h2-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "h2-datasource-service" )
+ .identifiedBy( "h2-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new H2SQLEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
new file mode 100644
index 0000000..e2b0564
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.sql;
+
+import java.sql.Connection;
+import java.sql.Statement;
+import java.util.HashMap;
+import javax.sql.DataSource;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.service.ServiceFinder;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
+import org.apache.polygene.api.usecase.UsecaseBuilder;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.ClassRule;
+
+import static org.apache.polygene.entitystore.sql.assembly.MySQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
+
+public class MySQLEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule(
+ "mysql",
+ new HashMap<String, String>()
+ {{
+ put( "MYSQL_ROOT_PASSWORD", "" );
+ put( "MYSQL_ALLOW_EMPTY_PASSWORD", "yes" );
+ put( "MYSQL_DATABASE", "jdbc_test_db" );
+ put( "MYSQL_ROOT_HOST", "172.17.0.1" );
+ }},
+ 30000L
+// , "mysqld: ready for connections" TODO: add this after next release of tdomzal/junit-docker-rule
+ );
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "mysql-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "mysql-datasource-service" )
+ .identifiedBy( "mysql-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new MySQLEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ String mysqlHost = DOCKER.getDockerHost();
+ int mysqlPort = DOCKER.getExposedContainerPort( "3306/tcp" );
+ configModule.forMixin( DataSourceConfiguration.class ).declareDefaults()
+ .url().set( "jdbc:mysql://" + mysqlHost + ":" + mysqlPort
+ + "/jdbc_test_db?profileSQL=false&useLegacyDatetimeCode=false&serverTimezone=UTC"
+ + "&nullCatalogMeansCurrent=true&nullNamePatternMatchesAll=true" );
+ }
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
+ UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
+ ServiceFinder serviceFinder = storageModule.serviceFinder();
+ UnitOfWork uow = uowf.newUnitOfWork(
+ UsecaseBuilder.newUsecase( "Delete " + getClass().getSimpleName() + " test data" )
+ );
+ try
+ {
+ Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
+ SQLEntityStoreConfiguration configuration = uow.get( SQLEntityStoreConfiguration.class,
+ DEFAULT_ENTITYSTORE_IDENTITY );
+ connection.setAutoCommit( false );
+ try( Statement stmt = connection.createStatement() )
+ {
+ stmt.execute( String.format( "TRUNCATE %s.%s",
+ configuration.schemaName().get(),
+ configuration.entityTableName().get() ) );
+ connection.commit();
+ }
+ }
+ finally
+ {
+ uow.discard();
+ super.tearDown();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
index d3342b8..daa9949 100644
--- a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
@@ -39,40 +39,6 @@ import org.junit.ClassRule;
import static org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
-/**
- * WARN This test run only if localhost:5432 is listening.
- *
- * To run it you need to have a user & database set up in postgresql. Here are two snippets to create and drop the
- * needed test environment.
- *
- * Use 'password' as password for the jdbc_test_login user.
- *
- * Eventually create a database cluster:
- *
- * <pre>
- * initdb -D /usr/local/pgsql/data
- * </pre>
- *
- * Start PostgreSQL. Then, create test user and database:
- *
- * <pre>
- * createuser -A -D -P -E -W jdbc_test_login
- * createdb -O jdbc_test_login -W jdbc_test_db
- * </pre>
- *
- * To clear the data:
- *
- * <pre>
- * dropdb -W jdbc_test_db
- * createdb -O jdbc_test_login -W jdbc_test_db
- * </pre>
- *
- * To remove the test user:
- *
- * <pre>
- * dropuser -W jdbc_test_login
- * </pre>
- */
public class PostgreSQLEntityStoreTest
extends AbstractEntityStoreTest
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
new file mode 100644
index 0000000..d1dd952
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.sql;
+
+import java.sql.Connection;
+import java.sql.Statement;
+import javax.sql.DataSource;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.api.service.ServiceFinder;
+import org.apache.polygene.api.structure.Module;
+import org.apache.polygene.api.unitofwork.UnitOfWork;
+import org.apache.polygene.api.unitofwork.UnitOfWorkFactory;
+import org.apache.polygene.api.usecase.UsecaseBuilder;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.common.SQLConfiguration;
+import org.apache.polygene.library.sql.datasource.DataSourceConfiguration;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.docker.DockerRule;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.ClassRule;
+
+import static org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY;
+
+public class PostgreSQLEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @ClassRule
+ public static final DockerRule DOCKER = new DockerRule( "postgres",
+ 3000L,
+ "PostgreSQL init process complete; ready for start up." );
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "postgresql-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "postgresql-datasource-service" )
+ .identifiedBy( "postgresql-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new PostgreSQLEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ String host = DOCKER.getDockerHost();
+ int port = DOCKER.getExposedContainerPort( "5432/tcp" );
+ configModule.forMixin( DataSourceConfiguration.class ).declareDefaults()
+ .url().set( "jdbc:postgresql://" + host + ":" + port + "/jdbc_test_db" );
+ // START SNIPPET: assembly
+ }
+ // END SNIPPET: assembly
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ Module storageModule = application.findModule( "Infrastructure Layer", "Storage Module" );
+ UnitOfWorkFactory uowf = storageModule.unitOfWorkFactory();
+ ServiceFinder serviceFinder = storageModule.serviceFinder();
+ UnitOfWork uow = uowf.newUnitOfWork(
+ UsecaseBuilder.newUsecase( "Delete " + getClass().getSimpleName() + " test data" )
+ );
+ try
+ {
+ SQLConfiguration config = uow.get( SQLConfiguration.class, DEFAULT_ENTITYSTORE_IDENTITY );
+ Connection connection = serviceFinder.findService( DataSource.class ).get().getConnection();
+ connection.setAutoCommit( false );
+ String schemaName = config.schemaName().get();
+ try( Statement stmt = connection.createStatement() )
+ {
+ stmt.execute( String.format( "DROP SCHEMA \"%s\" CASCADE", schemaName ) );
+ connection.commit();
+ }
+ }
+ finally
+ {
+ uow.discard();
+ super.tearDown();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
----------------------------------------------------------------------
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
new file mode 100644
index 0000000..6dc5fbe
--- /dev/null
+++ b/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+package org.apache.polygene.entitystore.sql;
+
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.sql.assembly.SQLiteEntityStoreAssembler;
+import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
+import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
+import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
+import org.junit.BeforeClass;
+
+import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk;
+
+public class SQLiteEntityStoreTestSuite extends EntityStoreTestSuite
+{
+ @BeforeClass
+ public static void beforeClass_IBMJDK()
+ {
+ assumeNoIbmJdk();
+ }
+
+ @Override
+ protected void defineStorageModule( ModuleAssembly module )
+ {
+ module.defaultServices();
+ // DataSourceService
+ new DBCPDataSourceServiceAssembler()
+ .identifiedBy( "sqlite-datasource-service" )
+ .visibleIn( Visibility.module )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+
+ // DataSource
+ new DataSourceAssembler()
+ .withDataSourceServiceIdentity( "sqlite-datasource-service" )
+ .identifiedBy( "sqlite-datasource" )
+ .visibleIn( Visibility.module )
+ .withCircuitBreaker()
+ .assemble( module );
+
+ // SQL EntityStore
+ new SQLiteEntityStoreAssembler()
+ .visibleIn( Visibility.application )
+ .withConfig( configModule, Visibility.application )
+ .assemble( module );
+ }
+}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java
index 08e1db4..86bd8e3 100644
--- a/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java
+++ b/extensions/indexing-rdf/src/test/java/org/apache/polygene/index/rdf/RDFPerformanceTest.java
@@ -102,7 +102,7 @@ public class RDFPerformanceTest extends AbstractPolygeneTest
List<ExampleEntity> entities = new ArrayList<ExampleEntity>();
for (Integer x = 0; x < howMany; ++x)
{
- ExampleEntity exampleEntity = this.unitOfWorkFactory.currentUnitOfWork().newEntity( ExampleEntity.class, StringIdentity.identity( "entity" + x ) );
+ ExampleEntity exampleEntity = this.unitOfWorkFactory.currentUnitOfWork().newEntity( ExampleEntity.class, StringIdentity.identityOf( "entity" + x ) );
for (ExampleEntity entity : entities)
{
@@ -188,7 +188,7 @@ public class RDFPerformanceTest extends AbstractPolygeneTest
UnitOfWork uow = this.unitOfWorkFactory.newUnitOfWork();
for (int i = 0; i < 1000; i++)
{
- ExampleEntity entity50 = uow.get(ExampleEntity.class, StringIdentity.identity( "entity50" ) );
+ ExampleEntity entity50 = uow.get(ExampleEntity.class, StringIdentity.identityOf( "entity50" ) );
Query<ExampleEntity> query = uow.newQuery( this.queryBuilderFactory.newQueryBuilder( ExampleEntity.class ).
where( QueryExpressions.contains( QueryExpressions.templateFor( ExampleEntity.class ).manyAssoc(), entity50) ));
System.out.println(query.count());
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
index 86790c9..b5e861c 100644
--- a/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
+++ b/extensions/indexing-sql/src/main/java/org/apache/polygene/index/sql/assembly/AbstractSQLIndexQueryAssembler.java
@@ -35,7 +35,7 @@ import org.apache.polygene.library.sql.generator.vendor.SQLVendorProvider;
public abstract class AbstractSQLIndexQueryAssembler<AssemblerType> extends Assemblers.VisibilityIdentityConfig<AssemblerType>
{
- public static final Identity DEFAULT_IDENTITY = StringIdentity.identity( "indexing-sql" );
+ public static final Identity DEFAULT_IDENTITY = StringIdentity.identityOf( "indexing-sql" );
private Class<? extends ReindexingStrategy> reindexingStrategy = ReindexingStrategy.NeverNeed.class;
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystem.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystem.java b/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystem.java
index 1b42452..0b90143 100644
--- a/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystem.java
+++ b/libraries/alarm/src/main/java/org/apache/polygene/library/alarm/AlarmSystem.java
@@ -214,7 +214,7 @@ public interface AlarmSystem
public AlarmPoint createAlarm( String name, AlarmCategory category )
{
UnitOfWork uow = uowf.currentUnitOfWork();
- EntityBuilder<AlarmPoint> builder = uow.newEntityBuilder( AlarmPoint.class, StringIdentity.identity( name ) );
+ EntityBuilder<AlarmPoint> builder = uow.newEntityBuilder( AlarmPoint.class, StringIdentity.identityOf( name ) );
builder.instance().category().set( category );
AlarmPoint.AlarmState state = builder.instanceFor( AlarmPoint.AlarmState.class );
state.systemName().set( name );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmProxyTest.java
----------------------------------------------------------------------
diff --git a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmProxyTest.java b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmProxyTest.java
index 5ec2236..cd6c292 100644
--- a/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmProxyTest.java
+++ b/libraries/alarm/src/test/java/org/apache/polygene/library/alarm/AlarmProxyTest.java
@@ -60,7 +60,7 @@ public class AlarmProxyTest extends AbstractPolygeneTest
try
{
// START SNIPPET: documentation
- myAlarmPoint = factory.create( StringIdentity.identity( "This Alarm Identity" ), "ProActiveCRM", "Sales", AlarmClass.B );
+ myAlarmPoint = factory.create( StringIdentity.identityOf( "This Alarm Identity" ), "ProActiveCRM", "Sales", AlarmClass.B );
myAlarmPoint.history().maxSize().set( 20 );
// END SNIPPET: documentation
@@ -71,7 +71,7 @@ public class AlarmProxyTest extends AbstractPolygeneTest
assertThat( myAlarmPoint.history().activateCounter(), equalTo( 1 ) );
AlarmEvent event = myAlarmPoint.history().firstEvent();
assertThat( event, notNullValue() );
- assertThat( event.identity().get(), equalTo( StringIdentity.identity( "This Alarm Identity" ) ) );
+ assertThat( event.identity().get(), equalTo( StringIdentity.identityOf( "This Alarm Identity" ) ) );
assertThat( event.newStatus().get().name( null ), equalTo( "Activated" ) );
assertThat( event.oldStatus().get().name( null ), equalTo( "Normal" ) );
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/jmx/src/main/java/org/apache/polygene/library/jmx/ConfigurationManagerService.java
----------------------------------------------------------------------
diff --git a/libraries/jmx/src/main/java/org/apache/polygene/library/jmx/ConfigurationManagerService.java b/libraries/jmx/src/main/java/org/apache/polygene/library/jmx/ConfigurationManagerService.java
index 91025f0..ed5964d 100644
--- a/libraries/jmx/src/main/java/org/apache/polygene/library/jmx/ConfigurationManagerService.java
+++ b/libraries/jmx/src/main/java/org/apache/polygene/library/jmx/ConfigurationManagerService.java
@@ -243,7 +243,7 @@ public interface ConfigurationManagerService
EditableConfiguration( MBeanInfo info, String identity, Map<String, AccessibleObject> propertyNames )
{
this.info = info;
- this.identity = StringIdentity.identity( identity );
+ this.identity = StringIdentity.identityOf( identity );
this.propertyNames = propertyNames;
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntitySerializerTest.java
----------------------------------------------------------------------
diff --git a/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntitySerializerTest.java b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntitySerializerTest.java
index a48e272..64512cb 100644
--- a/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntitySerializerTest.java
+++ b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntitySerializerTest.java
@@ -109,14 +109,14 @@ public class EntitySerializerTest
valueBuilder.prototype().test3().set( valueBuilder2.newInstance() );
TestValue testValue = valueBuilder.newInstance();
- EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identity( "test1" ) );
+ EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identityOf( "test1" ) );
TestEntity rickardTemplate = builder.instance();
rickardTemplate.name().set( "Rickard" );
rickardTemplate.title().set( "Mr" );
rickardTemplate.value().set( testValue );
TestEntity testEntity = builder.newInstance();
- EntityBuilder<TestEntity> builder2 = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identity( "test2" ) );
+ EntityBuilder<TestEntity> builder2 = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identityOf( "test2" ) );
TestEntity niclasTemplate = builder2.instance();
niclasTemplate.name().set( "Niclas" );
niclasTemplate.title().set( "Mr" );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntityTypeSerializerTest.java
----------------------------------------------------------------------
diff --git a/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntityTypeSerializerTest.java b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntityTypeSerializerTest.java
index ae4c56e..8e8d8d7 100644
--- a/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntityTypeSerializerTest.java
+++ b/libraries/rdf/src/test/java/org/apache/polygene/library/rdf/entity/EntityTypeSerializerTest.java
@@ -95,14 +95,14 @@ public class EntityTypeSerializerTest
valueBuilder.prototype().test3().set( vb2.newInstance() );
TestValue testValue = valueBuilder.newInstance();
- EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder(TestEntity.class, StringIdentity.identity( "test1" ) );
+ EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder(TestEntity.class, StringIdentity.identityOf( "test1" ) );
TestEntity rickardTemplate = builder.instance();
rickardTemplate.name().set( "Rickard" );
rickardTemplate.title().set( "Mr" );
rickardTemplate.value().set( testValue );
TestEntity testEntity = builder.newInstance();
- EntityBuilder<TestEntity> builder2 = unitOfWork.newEntityBuilder(TestEntity.class, StringIdentity.identity( "test2" ) );
+ EntityBuilder<TestEntity> builder2 = unitOfWork.newEntityBuilder(TestEntity.class, StringIdentity.identityOf( "test2" ) );
TestEntity niclasTemplate = builder2.instance();
niclasTemplate.name().set( "Niclas" );
niclasTemplate.title().set( "Mr" );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/RequestReaderDelegator.java
----------------------------------------------------------------------
diff --git a/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/RequestReaderDelegator.java b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/RequestReaderDelegator.java
index 50db549..33b69b8 100644
--- a/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/RequestReaderDelegator.java
+++ b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/RequestReaderDelegator.java
@@ -51,7 +51,7 @@ public class RequestReaderDelegator
public void init( @Service Iterable<ServiceReference<RequestReader>> requestReaderReferences )
{
Logger logger = LoggerFactory.getLogger( getClass() );
- Identity requestreaderdelegator = StringIdentity.identity( "requestreaderdelegator" );
+ Identity requestreaderdelegator = StringIdentity.identityOf( "requestreaderdelegator" );
// Add custom readers first
for( ServiceReference<RequestReader> requestReader : requestReaderReferences )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/ResponseWriterDelegator.java
----------------------------------------------------------------------
diff --git a/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/ResponseWriterDelegator.java b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/ResponseWriterDelegator.java
index 5809f66..29da261 100644
--- a/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/ResponseWriterDelegator.java
+++ b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/ResponseWriterDelegator.java
@@ -48,7 +48,7 @@ public class ResponseWriterDelegator
public void init( @Service Iterable<ServiceReference<ResponseWriter>> resultWriters )
{
Logger logger = LoggerFactory.getLogger( getClass() );
- Identity responsewriterdelegator = StringIdentity.identity( "responsewriterdelegator" );
+ Identity responsewriterdelegator = StringIdentity.identityOf( "responsewriterdelegator" );
// Add custom writers first
for( ServiceReference<ResponseWriter> resultWriter : resultWriters )
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/requestreader/DefaultRequestReader.java
----------------------------------------------------------------------
diff --git a/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/requestreader/DefaultRequestReader.java b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/requestreader/DefaultRequestReader.java
index 65b31af..60f26c8 100644
--- a/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/requestreader/DefaultRequestReader.java
+++ b/libraries/rest-server/src/main/java/org/apache/polygene/library/rest/server/restlet/requestreader/DefaultRequestReader.java
@@ -251,7 +251,7 @@ public class DefaultRequestReader
entityAsForm = new Form();
}
- Identity entityIdentity = StringIdentity.identity( getValue( "entity", queryAsForm, entityAsForm ) );
+ Identity entityIdentity = StringIdentity.identityOf( getValue( "entity", queryAsForm, entityAsForm ) );
args[0] = uowf.currentUnitOfWork().get( method.getParameterTypes()[0], entityIdentity );
return args;
@@ -480,7 +480,7 @@ public class DefaultRequestReader
}
else if( parameterType.isInterface() )
{
- arg = uowf.currentUnitOfWork().get( parameterType, StringIdentity.identity( argString ) );
+ arg = uowf.currentUnitOfWork().get( parameterType, StringIdentity.identityOf( argString ) );
}
else
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntityResource.java
----------------------------------------------------------------------
diff --git a/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntityResource.java b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntityResource.java
index a81e682..17d4ae1 100644
--- a/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntityResource.java
+++ b/libraries/rest/src/main/java/org/apache/polygene/library/rest/admin/EntityResource.java
@@ -106,7 +106,7 @@ public class EntityResource
{
// /entity/{reference}
Map<String, Object> attributes = getRequest().getAttributes();
- identity = StringIdentity.identity( (String) attributes.get( "reference" ) );
+ identity = StringIdentity.identityOf( (String) attributes.get( "reference" ) );
}
@Override
@@ -474,7 +474,6 @@ public class EntityResource
try
{
unitOfWork.entityStateOf( module, reference );
-
namedAssociation.remove( name );
namedAssociation.put( name, reference );
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/DummyDataService.java
----------------------------------------------------------------------
diff --git a/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/DummyDataService.java b/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/DummyDataService.java
index 56004c4..1d5a2ad 100644
--- a/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/DummyDataService.java
+++ b/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/DummyDataService.java
@@ -77,13 +77,13 @@ public interface DummyDataService
valueBuilder.prototype().string().set( "Foo bar value" );
valueBuilder.prototype().map().set( new HashMap() );
- EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identity( "test1" ) );
+ EntityBuilder<TestEntity> builder = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identityOf( "test1" ) );
builder.instance().name().set( "Foo bar" );
builder.instance().age().set( 42 );
builder.instance().value().set( valueBuilder.newInstance() );
TestEntity testEntity = builder.newInstance();
- EntityBuilder<TestEntity> builder2 = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identity( "test2" ) );
+ EntityBuilder<TestEntity> builder2 = unitOfWork.newEntityBuilder( TestEntity.class, StringIdentity.identityOf( "test2" ) );
builder2.instance().name().set( "Xyzzy" );
builder2.instance().age().set( 12 );
builder2.instance().association().set( testEntity );
@@ -98,7 +98,7 @@ public interface DummyDataService
}
{
- EntityBuilder<TestEntity2> builder = unitOfWork.newEntityBuilder( TestEntity2.class, StringIdentity.identity( "test3" ) );
+ EntityBuilder<TestEntity2> builder = unitOfWork.newEntityBuilder( TestEntity2.class, StringIdentity.identityOf( "test3" ) );
builder.instance().name().set( "Test3" );
builder.newInstance();
}
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/RestTest.java
----------------------------------------------------------------------
diff --git a/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/RestTest.java b/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/RestTest.java
index 206c0ef..db6db80 100644
--- a/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/RestTest.java
+++ b/libraries/rest/src/test/java/org/apache/polygene/library/rest/admin/RestTest.java
@@ -111,13 +111,13 @@ public class RestTest extends AbstractPolygeneTest
UnitOfWork uow = unitOfWorkFactory.newUnitOfWork();
try
{
- EntityBuilder<PersonEntity> builder1 = uow.newEntityBuilder( PersonEntity.class, StringIdentity.identity( "P2" ) );
+ EntityBuilder<PersonEntity> builder1 = uow.newEntityBuilder( PersonEntity.class, StringIdentity.identityOf( "P2" ) );
PersonEntity maryDoe = builder1.instance();
maryDoe.firstname().set( "Mary" );
maryDoe.lastname().set( "Doe" );
maryDoe = builder1.newInstance();
- EntityBuilder<PersonEntity> builder2 = uow.newEntityBuilder( PersonEntity.class, StringIdentity.identity( "P1" ) );
+ EntityBuilder<PersonEntity> builder2 = uow.newEntityBuilder( PersonEntity.class, StringIdentity.identityOf( "P1" ) );
PersonEntity joeDoe = builder2.instance();
joeDoe.firstname().set( "Joe" );
joeDoe.lastname().set( "Doe" );
@@ -162,7 +162,7 @@ public class RestTest extends AbstractPolygeneTest
UnitOfWork work = unitOfWorkFactory.newUnitOfWork();
try
{
- PersonEntity entity = work.get( PersonEntity.class, StringIdentity.identity( "P1" ) );
+ PersonEntity entity = work.get( PersonEntity.class, StringIdentity.identityOf( "P1" ) );
assertEquals( "FirstName not changed.", "Jack", entity.firstname().get() );
assertEquals( "LastName not changed.", "Doe", entity.lastname().get() );
work.complete();
@@ -185,7 +185,7 @@ public class RestTest extends AbstractPolygeneTest
PersonEntity entity = null;
try
{
- entity = work.get( PersonEntity.class, StringIdentity.identity( "P1" ) );
+ entity = work.get( PersonEntity.class, StringIdentity.identityOf( "P1" ) );
}
catch( NoSuchEntityException expected )
{
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/0d9e8a1b/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/crud/EntityResource.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/crud/EntityResource.java b/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/crud/EntityResource.java
index c822892..965a33a 100644
--- a/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/crud/EntityResource.java
+++ b/libraries/restlet/src/main/java/org/apache/polygene/library/restlet/crud/EntityResource.java
@@ -97,7 +97,7 @@ public interface EntityResource<T extends HasIdentity> extends ServerResource<T>
{
Class entityType = parameters.entityType().get();
String idOfEntity = parameters.id().get();
- locator.find( entityType ).delete( StringIdentity.identity( idOfEntity ) );
+ locator.find( entityType ).delete( StringIdentity.identityOf( idOfEntity ) );
}
@Override
@@ -137,7 +137,7 @@ public interface EntityResource<T extends HasIdentity> extends ServerResource<T>
throw new RuntimeException( message, e );
}
Reference base = parameters.request().get().getResourceRef();
- return resourceBuilder.createRestLink( StringIdentity.identity( "" ), base, org.restlet.data.Method.GET );
+ return resourceBuilder.createRestLink( StringIdentity.identityOf( "" ), base, org.restlet.data.Method.GET );
}
private Object createParametersComposite( RestForm form, Class argType )