Added Documentation for Berkeley DB (Java Edition) Entity Store.
Changed names to support the Polygene Generator Tool.
diff --git a/NOTICE.txt b/NOTICE.txt
index de8a58e..585d2f7 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -4,6 +4,9 @@
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
+This product includes Berkeley DB (Java Edition) from
+Oracle Corp (http://www.oracle.com/), licensed under Apache License 2.0
+
 IMPORTANT:
 This distribution may include cryptographic software. The country in which you
 currently reside may have restrictions on the import, possession, use, and/or
diff --git a/extensions/entitystore-bdbje/build.gradle b/extensions/entitystore-berkeleydb/build.gradle
similarity index 100%
rename from extensions/entitystore-bdbje/build.gradle
rename to extensions/entitystore-berkeleydb/build.gradle
diff --git a/extensions/entitystore-bdbje/dev-status.xml b/extensions/entitystore-berkeleydb/dev-status.xml
similarity index 94%
rename from extensions/entitystore-bdbje/dev-status.xml
rename to extensions/entitystore-berkeleydb/dev-status.xml
index fcc2930..762e250 100644
--- a/extensions/entitystore-bdbje/dev-status.xml
+++ b/extensions/entitystore-berkeleydb/dev-status.xml
@@ -24,10 +24,10 @@
         http://polygene.apache.org/schemas/2008/dev-status/1/dev-status.xsd">
   <status>
         <!--none,early,beta,stable,mature-->
-        <codebase>beta</codebase>
+        <codebase>stable</codebase>
 
         <!-- none, brief, good, complete -->
-        <documentation>none</documentation>
+        <documentation>brief</documentation>
 
         <!-- none, some, good, complete -->
         <unittests>good</unittests>
diff --git a/extensions/entitystore-berkeleydb/src/docs/es-bdbje.txt b/extensions/entitystore-berkeleydb/src/docs/es-bdbje.txt
new file mode 100644
index 0000000..8e9d631
--- /dev/null
+++ b/extensions/entitystore-berkeleydb/src/docs/es-bdbje.txt
@@ -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.
+///////////////////////////////////////////////////////////////
+
+[[extension-es-bdbje,Berkeley DB (Java Edition) EntityStore]]
+= Berkeley DB EntityStore =
+
+[devstatus]
+--------------
+source=extensions/entitystore-bdbje/dev-status.xml
+--------------
+
+EntityStore service backed by Berkeley DB (Java Edition) embedded database from Oracle.
+
+The Berkeley DB is a classic among the embedded key-value databases, and for many years was not acceptable to the
+Apache community and downstream users due to a restrictive license (Sleepycat license). Oracle has re-license this
+to the Apache License 2.0, and enabled many projects around the world to leverage this technology.
+
+include::../../build/docs/buildinfo/artifact.txt[]
+
+== Assembly ==
+
+Assembly is done using the provided Assembler:
+
+[snippet,java]
+----
+source=extensions/entitystore-leveldb/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTest.java
+tag=assembly
+----
+
+== Configuration ==
+
+Here are the configuration properties for the Berkeley DB (Java Edition) EntityStore:
+
+[snippet,java]
+----
+source=extensions/entitystore-leveldb/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreConfiguration.java
+tag=config
+----
+
+All configuration properties are defaulted to the implementation defaults meaning that you can use this EntityStore
+service without configuration.
+
+The data directory is determined as follows
+
+1. if +dataDirectory()+ in configuration is specified, use that by passig the string to +new File(dataDir).getAbsoluteFile()+,
+2. if the <<library-fileconfig>> is present, use the DATA directory of the operating system, followed by the +Application.name()+ and the identity of this entity store followed by +/data+,
+3. otherwise, use current working directory, followed by +/data+
+
+
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreActivation.java b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreActivation.java
similarity index 73%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreActivation.java
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreActivation.java
index 92b829a..72992c4 100644
--- a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreActivation.java
+++ b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreActivation.java
@@ -17,17 +17,17 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje;
+package org.apache.polygene.entitystore.berkeleydb;
 
 import org.apache.polygene.api.activation.ActivatorAdapter;
 import org.apache.polygene.api.activation.Activators;
 import org.apache.polygene.api.service.ServiceReference;
 
 /**
- * Activation for BdbJeEntityStoreMixin.
+ * Activation for BerkeleyDBEntityStoreMixin.
  */
-@Activators( { BdbJeEntityStoreActivation.Activator.class } )
-public interface BdbJeEntityStoreActivation
+@Activators( { BerkeleyDBEntityStoreActivation.Activator.class } )
+public interface BerkeleyDBEntityStoreActivation
 {
 
     void setUpBdbJe()
@@ -37,18 +37,18 @@
             throws Exception;
 
     class Activator
-            extends ActivatorAdapter<ServiceReference<BdbJeEntityStoreActivation>>
+            extends ActivatorAdapter<ServiceReference<BerkeleyDBEntityStoreActivation>>
     {
 
         @Override
-        public void afterActivation( ServiceReference<BdbJeEntityStoreActivation> activated )
+        public void afterActivation( ServiceReference<BerkeleyDBEntityStoreActivation> activated )
                 throws Exception
         {
             activated.get().setUpBdbJe();
         }
 
         @Override
-        public void beforePassivation( ServiceReference<BdbJeEntityStoreActivation> passivating )
+        public void beforePassivation( ServiceReference<BerkeleyDBEntityStoreActivation> passivating )
                 throws Exception
         {
             passivating.get().tearDownBdbJe();
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreConfiguration.java b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreConfiguration.java
similarity index 94%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreConfiguration.java
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreConfiguration.java
index 82fb682..0701e5c 100644
--- a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreConfiguration.java
+++ b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreConfiguration.java
@@ -17,41 +17,50 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje;
+package org.apache.polygene.entitystore.berkeleydb;
 
 import com.sleepycat.je.CacheMode;
-import com.sleepycat.je.Durability;
 import org.apache.polygene.api.common.Optional;
 import org.apache.polygene.api.common.UseDefaults;
 import org.apache.polygene.api.property.Property;
 
 /**
- * Configuration for the BdbJeEntityStoreService.
+ * Configuration for the BerkeleyDBEntityStoreService.
+ * <p>
+ * <strong>NOTE:</strong> Most of the documentation for all the properties are copied from the Berkeley DB javadocs.
+ * </p>
  */
 // START SNIPPET: config
-public interface BdbJeEntityStoreConfiguration
+public interface BerkeleyDBEntityStoreConfiguration
 {
     /**
      * Name of the database containing the Polygene entities.
      */
-    @UseDefaults("polygene")
+    @UseDefaults( "polygene" )
     Property<String> databaseName();
 
     /**
-     * The file where the BDB JE data will be stored
+     * The directory where the BDB JE data (files) will be stored
      * <p>
-     * Default: System.getProperty( "user.dir" ) + "/polygene/bdbjestore.data";
+     * Default:
      * </p>
+     * <pre><code>
+     * if( fileConfiguration != null )
+     *     dataDir = new File( fileConfiguration.dataDirectory(), application.name() + "/" + descriptor.identity() );
+     * else
+     *     dataDir = new File( System.getProperty( "user.dir" ) );
+     * dataDir = new File( dataDir, "data" );
+     * </code></pre>
      *
-     * @return path to data file relative to current path
+     * @return path to data directory, by passing the string to {@code new File(dataDirectory()).getAbsoluteFile() }
      */
     @Optional
-    Property<String> homeDirectory();
+    Property<String> dataDirectory();
 
     /**
      * If true, creates the database environment if it doesn't already exist.
      */
-    @UseDefaults("true")
+    @UseDefaults( "true" )
     Property<Boolean> allowCreate();
 
     /**
@@ -67,7 +76,7 @@
      * the cleaner is running.
      * </p>
      */
-    @UseDefaults("true")
+    @UseDefaults( "true" )
     Property<Boolean> locking();
 
     /**
@@ -82,7 +91,7 @@
      * Expressed in milliseconds. Default: 500ms
      * </p>
      */
-    @UseDefaults("500")
+    @UseDefaults( "500" )
     Property<Long> lockTimeout();
 
     /**
@@ -178,7 +187,7 @@
      * environment.
      * </p>
      */
-    @UseDefaults("true")
+    @UseDefaults( "true" )
     Property<Boolean> transactional();
 
     /**
@@ -211,7 +220,7 @@
      * WriteOptions.setCacheMode(CacheMode).
      * </p>
      */
-    @UseDefaults("DEFAULT")
+    @UseDefaults( "DEFAULT" )
     Property<CacheMode> cacheMode();
 
     /**
@@ -254,7 +263,7 @@
      * calculating cache memory sizes.
      * </p>
      */
-    @UseDefaults("60")
+    @UseDefaults( "60" )
     Property<Integer> cachePercent();
 
     /**
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreMixin.java b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreMixin.java
similarity index 90%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreMixin.java
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreMixin.java
index 8459161..104744a 100644
--- a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreMixin.java
+++ b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreMixin.java
@@ -17,7 +17,7 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje;
+package org.apache.polygene.entitystore.berkeleydb;
 
 import com.sleepycat.je.Cursor;
 import com.sleepycat.je.Database;
@@ -47,9 +47,11 @@
 import org.apache.polygene.api.entity.EntityDescriptor;
 import org.apache.polygene.api.entity.EntityReference;
 import org.apache.polygene.api.injection.scope.Service;
+import org.apache.polygene.api.injection.scope.Structure;
 import org.apache.polygene.api.injection.scope.This;
 import org.apache.polygene.api.injection.scope.Uses;
 import org.apache.polygene.api.service.ServiceDescriptor;
+import org.apache.polygene.api.structure.Application;
 import org.apache.polygene.library.fileconfig.FileConfiguration;
 import org.apache.polygene.library.locking.ReadLock;
 import org.apache.polygene.library.locking.WriteLock;
@@ -60,19 +62,22 @@
 /**
  * BDB JE implementation of MapEntityStore.
  */
-public class BdbJeEntityStoreMixin
-    implements BdbJeEntityStoreActivation, MapEntityStore
+public class BerkeleyDBEntityStoreMixin
+    implements BerkeleyDBEntityStoreActivation, MapEntityStore
 {
     @Optional
     @Service
     private FileConfiguration fileConfiguration;
 
     @This
-    private Configuration<BdbJeEntityStoreConfiguration> config;
+    private Configuration<BerkeleyDBEntityStoreConfiguration> config;
 
     @Uses
     private ServiceDescriptor descriptor;
 
+    @Structure
+    private Application application;
+
     private Database database;
     private Environment envHandle;
 
@@ -205,27 +210,29 @@
         return StreamSupport.stream( new RecordIterable( database ).spliterator(), false );
     }
 
-    private File getDatabaseHome()
+    private File getDataDirectory()
     {
-        String pathname = config.get().homeDirectory().get();
-        if( pathname == null )
+        File dataDir;
+        String pathname = config.get().dataDirectory().get();
+        if( pathname != null )
+        {
+            dataDir = new File( pathname );
+        }
+        else
         {
             if( fileConfiguration != null )
             {
-                File dataDir = fileConfiguration.dataDirectory();
-                File bdbJeDir = new File( dataDir, descriptor.identity() + "/bdbje_data" );
-                pathname = bdbJeDir.getAbsolutePath();
+                dataDir = new File( fileConfiguration.dataDirectory(), application.name() + "/" + descriptor.identity() );
             }
             else
             {
-                pathname = System.getProperty( "user.dir" ) + "/polygene/bdbje_data";
+                dataDir = new File( System.getProperty( "user.dir" ) );
             }
+            dataDir = new File( dataDir, "data" );
         }
-
-        File directory = new File( pathname ).getAbsoluteFile();
         //noinspection ResultOfMethodCallIgnored
-        directory.mkdirs();
-        return directory;
+        dataDir.mkdirs();
+        return dataDir;
     }
 
     private void closeDown()
@@ -243,10 +250,10 @@
     private void initialize()
         throws IOException
     {
-        File homeDir = getDatabaseHome();
+        File dataDirectory = getDataDirectory();
         EnvironmentConfig configuration = createConfiguration();
 
-        envHandle = new Environment( homeDir, configuration );
+        envHandle = new Environment( dataDirectory, configuration );
         DatabaseConfig dbConfig = new DatabaseConfig();
         dbConfig.setAllowCreate( configuration.getAllowCreate() );
         dbConfig.setTransactional( configuration.getTransactional() );
@@ -256,7 +263,7 @@
     private EnvironmentConfig createConfiguration()
     {
         EnvironmentConfig environmentConfig = new EnvironmentConfig();
-        BdbJeEntityStoreConfiguration storeConfiguration = config.get();
+        BerkeleyDBEntityStoreConfiguration storeConfiguration = config.get();
         Boolean allowCreate = storeConfiguration.allowCreate().get();
         environmentConfig.setAllowCreate( allowCreate );
         environmentConfig.setLocking( storeConfiguration.locking().get() );
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreService.java b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreService.java
similarity index 86%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreService.java
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreService.java
index a45994f..e809c8e 100644
--- a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreService.java
+++ b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/BerkeleyDBEntityStoreService.java
@@ -17,7 +17,7 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje;
+package org.apache.polygene.entitystore.berkeleydb;
 
 import org.apache.polygene.api.concern.Concerns;
 import org.apache.polygene.api.configuration.Configuration;
@@ -25,7 +25,6 @@
 import org.apache.polygene.library.locking.LockingAbstractComposite;
 import org.apache.polygene.library.locking.ReadLockConcern;
 import org.apache.polygene.library.locking.WriteLockConcern;
-import org.apache.polygene.spi.entitystore.BackupRestore;
 import org.apache.polygene.spi.entitystore.ConcurrentModificationCheckConcern;
 import org.apache.polygene.spi.entitystore.EntityStateVersions;
 import org.apache.polygene.spi.entitystore.EntityStore;
@@ -39,14 +38,14 @@
  * <p>Based on @{@link JSONMapEntityStoreMixin}.</p>
  */
 @Concerns( { StateChangeNotificationConcern.class, ConcurrentModificationCheckConcern.class, ReadLockConcern.class, WriteLockConcern.class } )
-@Mixins( { JSONMapEntityStoreMixin.class, BdbJeEntityStoreMixin.class } )
-public interface BdbJeEntityStoreService
-    extends BdbJeEntityStoreActivation,
+@Mixins( { JSONMapEntityStoreMixin.class, BerkeleyDBEntityStoreMixin.class } )
+public interface BerkeleyDBEntityStoreService
+    extends BerkeleyDBEntityStoreActivation,
             JSONMapEntityStoreActivation,
             EntityStore,
             EntityStateVersions,
             StateStore,
             LockingAbstractComposite,
-            Configuration<BdbJeEntityStoreConfiguration>
+            Configuration<BerkeleyDBEntityStoreConfiguration>
 {
 }
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/assembly/BdbJeEntityStoreAssembler.java b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/assembly/BerkeleyDBEntityStoreAssembler.java
similarity index 67%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/assembly/BdbJeEntityStoreAssembler.java
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/assembly/BerkeleyDBEntityStoreAssembler.java
index db029a3..97deffe 100644
--- a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/assembly/BdbJeEntityStoreAssembler.java
+++ b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/assembly/BerkeleyDBEntityStoreAssembler.java
@@ -17,29 +17,29 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje.assembly;
+package org.apache.polygene.entitystore.berkeleydb.assembly;
 
 import org.apache.polygene.bootstrap.Assemblers;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.bootstrap.ServiceDeclaration;
-import org.apache.polygene.entitystore.bdbje.BdbJeEntityStoreConfiguration;
-import org.apache.polygene.entitystore.bdbje.BdbJeEntityStoreService;
+import org.apache.polygene.entitystore.berkeleydb.BerkeleyDBEntityStoreConfiguration;
+import org.apache.polygene.entitystore.berkeleydb.BerkeleyDBEntityStoreService;
 
-public class BdbJeEntityStoreAssembler
-    extends Assemblers.VisibilityIdentityConfig<BdbJeEntityStoreAssembler>
+public class BerkeleyDBEntityStoreAssembler
+    extends Assemblers.VisibilityIdentityConfig<BerkeleyDBEntityStoreAssembler>
 {
     @Override
     public void assemble( ModuleAssembly module )
     {
         super.assemble( module );
-        ServiceDeclaration service = module.services( BdbJeEntityStoreService.class ).visibleIn( visibility() );
+        ServiceDeclaration service = module.services( BerkeleyDBEntityStoreService.class ).visibleIn( visibility() );
         if( hasIdentity() )
         {
             service.identifiedBy( identity() );
         }
         if( hasConfig() )
         {
-            configModule().entities( BdbJeEntityStoreConfiguration.class ).visibleIn( configVisibility() );
+            configModule().entities( BerkeleyDBEntityStoreConfiguration.class ).visibleIn( configVisibility() );
         }
     }
 }
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/assembly/package.html b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/assembly/package.html
similarity index 100%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/assembly/package.html
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/assembly/package.html
diff --git a/extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/package.html b/extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/package.html
similarity index 100%
rename from extensions/entitystore-bdbje/src/main/java/org/apache/polygene/entitystore/bdbje/package.html
rename to extensions/entitystore-berkeleydb/src/main/java/org/apache/polygene/entitystore/berkeleydb/package.html
diff --git a/extensions/entitystore-bdbje/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTest.java b/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
similarity index 88%
rename from extensions/entitystore-bdbje/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTest.java
rename to extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
index c2a590f..b85eb19 100644
--- a/extensions/entitystore-bdbje/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTest.java
+++ b/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTest.java
@@ -17,12 +17,12 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje;
+package org.apache.polygene.entitystore.berkeleydb;
 
 import org.apache.polygene.api.common.Visibility;
 import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.bdbje.assembly.BdbJeEntityStoreAssembler;
+import org.apache.polygene.entitystore.berkeleydb.assembly.BerkeleyDBEntityStoreAssembler;
 import org.apache.polygene.library.fileconfig.FileConfigurationAssembler;
 import org.apache.polygene.library.fileconfig.FileConfigurationOverride;
 import org.apache.polygene.test.EntityTestAssembler;
@@ -49,7 +49,7 @@
         new FileConfigurationAssembler()
             .withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
             .assemble( module );
-        new BdbJeEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module );
+        new BerkeleyDBEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module );
     }
 
     @After
diff --git a/extensions/entitystore-bdbje/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTestSuite.java b/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTestSuite.java
similarity index 80%
rename from extensions/entitystore-bdbje/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTestSuite.java
rename to extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTestSuite.java
index 6fb54bd..2bf1521 100644
--- a/extensions/entitystore-bdbje/src/test/java/org/apache/polygene/entitystore/bdbje/BdbJeEntityStoreTestSuite.java
+++ b/extensions/entitystore-berkeleydb/src/test/java/org/apache/polygene/entitystore/berkeleydb/BdbJeEntityStoreTestSuite.java
@@ -17,11 +17,11 @@
  *
  *
  */
-package org.apache.polygene.entitystore.bdbje;
+package org.apache.polygene.entitystore.berkeleydb;
 
 import org.apache.polygene.api.common.Visibility;
 import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.bdbje.assembly.BdbJeEntityStoreAssembler;
+import org.apache.polygene.entitystore.berkeleydb.assembly.BerkeleyDBEntityStoreAssembler;
 import org.apache.polygene.library.fileconfig.FileConfigurationAssembler;
 import org.apache.polygene.library.fileconfig.FileConfigurationOverride;
 import org.apache.polygene.test.entity.model.EntityStoreTestSuite;
@@ -40,8 +40,8 @@
         new FileConfigurationAssembler()
             .withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
             .assemble( module );
-        new BdbJeEntityStoreAssembler().visibleIn( Visibility.application )
-                                       .withConfig( configModule, Visibility.application )
-                                       .assemble( module );
+        new BerkeleyDBEntityStoreAssembler().visibleIn( Visibility.application )
+                                            .withConfig( configModule, Visibility.application )
+                                            .assemble( module );
     }
 }
diff --git a/settings.gradle b/settings.gradle
index 3fa0179..d9704ff 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -55,7 +55,7 @@
         'libraries:uowfile',
         'extensions:cache-ehcache',
         'extensions:cache-memcache',
-        'extensions:entitystore-bdbje',
+        'extensions:entitystore-berkeleydb',
         'extensions:entitystore-cassandra',
         'extensions:entitystore-file',
         'extensions:entitystore-geode',
diff --git a/tools/generator-polygene/app/index.js b/tools/generator-polygene/app/index.js
index 565f455..32b4ef5 100644
--- a/tools/generator-polygene/app/index.js
+++ b/tools/generator-polygene/app/index.js
@@ -103,6 +103,7 @@
                             type: 'list',
                             name: 'entitystore',
                             choices: [
+                                'BerkeleyDB',
                                 'Cassandra',
                                 'File',
                                 'DerbySQL',
@@ -112,7 +113,6 @@
                                 'JClouds',
                                 'Jdbm',
                                 'LevelDB',
-                                'MariaDbSQL',
                                 'Memory',
                                 'MongoDB',
                                 'MySQL',
diff --git a/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl b/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
index 7a0174e..453a598 100644
--- a/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
+++ b/tools/generator-polygene/app/templates/RestAPIApplication/bootstrap-test.tmpl
@@ -126,6 +126,12 @@
                                                          .waitForTimeout( 120 )
                                                          .waitFor( WaitFor.logMessageSequence( "Starting listening for CQL clients" ) ) );
 <% }
+if(  polygene.entitystore === 'BerkeleyDB' ) {
+%>
+    private void entityStoreSetup(ApplicationAssembly assembly )
+    {
+    }
+<% }
 if(  polygene.entitystore === 'DerbySQL' ) {
 %>
     private void entityStoreSetup(ApplicationAssembly assembly )
diff --git a/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl b/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
index 6d2a6bf..e128f16 100644
--- a/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
+++ b/tools/generator-polygene/app/templates/buildtool/gradle-root.tmpl
@@ -70,6 +70,8 @@
     maven { name 'restlet-repo'; url 'http://maven.restlet.org/' }
 <% if( polygene.entitystore == 'Jdbm' ) {
 -%>    maven { name 'clojure-repo'; url 'http://clojars.org/repo/' }<% } -%>
+<% if( polygene.entitystore == 'BerkeleyDB' ) {
+-%>    maven { name 'oracle-repo'; url 'http://download.oracle.com/maven/' }<% } -%>
   }
 
   dependencies {
diff --git a/tools/generator-polygene/test/generator_test.js b/tools/generator-polygene/test/generator_test.js
index 1afd9a1..5c045dd 100644
--- a/tools/generator-polygene/test/generator_test.js
+++ b/tools/generator-polygene/test/generator_test.js
@@ -32,6 +32,7 @@
 ];
 
 var entityStores = [
+    'BerkeleyDB',
     'Cassandra',
     'File',
     'DerbySQL',