You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2017/03/06 11:35:30 UTC

[1/4] polygene-java git commit: ehcache: upgrade to 3.3 ; optional use of FileConfig for disk overflow

Repository: polygene-java
Updated Branches:
  refs/heads/develop f09636df1 -> 46e26e665


ehcache: upgrade to 3.3 ; optional use of FileConfig for disk overflow


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/4d726251
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/4d726251
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/4d726251

Branch: refs/heads/develop
Commit: 4d7262518a0b3fac29f7f8217cf09856e485ecf2
Parents: f09636d
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 11:21:50 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 11:21:50 2017 +0100

----------------------------------------------------------------------
 dependencies.gradle                             |  2 +-
 extensions/cache-ehcache/build.gradle           |  1 +
 .../cache-ehcache/src/docs/cache-ehcache.txt    |  3 +
 .../cache/ehcache/EhCachePoolMixin.java         | 87 ++++++++++++--------
 .../polygene/cache/ehcache/EhCacheTest.java     | 20 +++--
 5 files changed, 73 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index adb7bb6..1188eb0 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -46,7 +46,7 @@ def codahaleMetricsVersion = '3.1.2'
 def commonsDbcpVersion = '2.1.1'
 def commonsLangVersion = '3.5'
 def derbyVersion = '10.13.1.1'
-def ehcacheVersion = '3.1.3'
+def ehcacheVersion = '3.3.0'
 def elasticsearchVersion = '5.0.1'
 def freemarkerVersion = '2.3.25-incubating'
 def geodeVersion = '1.0.0-incubating'

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/build.gradle
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/build.gradle b/extensions/cache-ehcache/build.gradle
index 279ed20..48bd5a5 100644
--- a/extensions/cache-ehcache/build.gradle
+++ b/extensions/cache-ehcache/build.gradle
@@ -26,6 +26,7 @@ jar { manifest { name = "Apache Polygene\u2122 Extension: EhCache" } }
 
 dependencies {
   api polygene.core.bootstrap
+  api polygene.library( 'fileconfig' )
 
   implementation polygene.library( 'constraints' )
   implementation libraries.ehcache

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/src/docs/cache-ehcache.txt
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/docs/cache-ehcache.txt b/extensions/cache-ehcache/src/docs/cache-ehcache.txt
index 3ffcfbd..ca462d3 100644
--- a/extensions/cache-ehcache/src/docs/cache-ehcache.txt
+++ b/extensions/cache-ehcache/src/docs/cache-ehcache.txt
@@ -54,3 +54,6 @@ Here are the configuration properties for the EhCache EntityStore Cache:
 source=extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCacheConfiguration.java
 tag=config
 ----
+
+Cache overflow to disk may be configured using the <<library-fileconfig>>.
+If the FileConfig library is not in use, then it defaults to a temporary directory in `java.io.tmpdir`.

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java b/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
index ab9c593..dbf9ed4 100644
--- a/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
+++ b/extensions/cache-ehcache/src/main/java/org/apache/polygene/cache/ehcache/EhCachePoolMixin.java
@@ -19,13 +19,16 @@
  */
 package org.apache.polygene.cache.ehcache;
 
+import java.io.File;
 import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
-
+import org.apache.polygene.api.common.Optional;
 import org.apache.polygene.api.configuration.Configuration;
 import org.apache.polygene.api.identity.HasIdentity;
+import org.apache.polygene.api.injection.scope.Service;
 import org.apache.polygene.api.injection.scope.This;
+import org.apache.polygene.library.fileconfig.FileConfiguration;
 import org.apache.polygene.spi.cache.Cache;
 import org.ehcache.CacheManager;
 import org.ehcache.config.CacheConfiguration;
@@ -34,7 +37,8 @@ import org.ehcache.config.builders.CacheManagerBuilder;
 import org.ehcache.config.builders.ResourcePoolsBuilder;
 import org.ehcache.config.units.MemoryUnit;
 import org.ehcache.expiry.Duration;
-import org.ehcache.expiry.Expirations;
+
+import static org.ehcache.expiry.Expirations.*;
 
 public abstract class EhCachePoolMixin
     implements EhCachePoolService
@@ -48,30 +52,46 @@ public abstract class EhCachePoolMixin
     @This
     private Configuration<EhCacheConfiguration> configuration;
 
+    @Optional
+    @Service
+    private FileConfiguration fileConfiguration;
+
     private CacheManager cacheManager;
 
     @Override
     public void activateService()
-            throws Exception
+        throws Exception
     {
-        cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
-                .withDefaultDiskStoreThreadPool( cacheManagerThreadPoolName( "disk-store" ) )
-                .withDefaultEventListenersThreadPool( cacheManagerThreadPoolName( "event-listeners" ) )
-                .withDefaultWriteBehindThreadPool( cacheManagerThreadPoolName( "write-behind" ) )
-                .build();
+        cacheManager = CacheManagerBuilder
+            .newCacheManagerBuilder()
+            .with( CacheManagerBuilder.persistence( diskStorePath().getAbsolutePath() ) )
+            .withDefaultDiskStoreThreadPool( cacheManagerThreadPoolName( "disk-store" ) )
+            .withDefaultEventListenersThreadPool( cacheManagerThreadPoolName( "event-listeners" ) )
+            .withDefaultWriteBehindThreadPool( cacheManagerThreadPoolName( "write-behind" ) )
+            .build();
         cacheManager.init();
     }
 
+    private File diskStorePath()
+    {
+        String stringIdentity = identity.identity().get().toString();
+        if( fileConfiguration != null )
+        {
+            return new File( fileConfiguration.cacheDirectory(), stringIdentity );
+        }
+        return new File( System.getProperty( "java.io.tmpdir" ), stringIdentity );
+    }
+
     @Override
     public void passivateService()
-            throws Exception
+        throws Exception
     {
         cacheManager.close();
         cacheManager = null;
     }
 
     @Override
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings( "unchecked" )
     public <T> Cache<T> fetchCache( String cacheId, Class<T> valueType )
     {
         // Note: Small bug in Ehcache; If the cache name is an empty String it will actually work until
@@ -92,51 +112,52 @@ public abstract class EhCachePoolMixin
         configuration.refresh();
         EhCacheConfiguration config = configuration.get();
 
-        ResourcePoolsBuilder poolsBuilder = ResourcePoolsBuilder.newResourcePoolsBuilder()
-                .heap( config.heapSize().get(), MemoryUnit.valueOf( config.heapUnit().get() ) );
+        ResourcePoolsBuilder poolsBuilder = ResourcePoolsBuilder.newResourcePoolsBuilder();
+
+        poolsBuilder = poolsBuilder.heap( config.heapSize().get(), MemoryUnit.valueOf( config.heapUnit().get() ) );
+
         if( config.offHeapSize().get() != null )
         {
-            poolsBuilder = poolsBuilder
-                    .offheap( config.offHeapSize().get(), MemoryUnit.valueOf( config.offHeapUnit().get() ) );
+            poolsBuilder = poolsBuilder.offheap( config.offHeapSize().get(),
+                                                 MemoryUnit.valueOf( config.offHeapUnit().get() ) );
         }
         if( config.diskSize().get() != null )
         {
-            poolsBuilder = poolsBuilder
-                    .disk( config.diskSize().get(), MemoryUnit.valueOf( config.diskUnit().get() ), config.diskPersistent().get() );
+            poolsBuilder = poolsBuilder.disk( config.diskSize().get(),
+                                              MemoryUnit.valueOf( config.diskUnit().get() ),
+                                              config.diskPersistent().get() );
         }
 
         CacheConfigurationBuilder<String, T> configBuilder = CacheConfigurationBuilder
-                .newCacheConfigurationBuilder( String.class, valueType, poolsBuilder );
+            .newCacheConfigurationBuilder( String.class, valueType, poolsBuilder );
         if( config.maxObjectSize().get() != null )
         {
-            configBuilder = configBuilder
-                    .withSizeOfMaxObjectSize( config.maxObjectSize().get(), MemoryUnit.valueOf( config.maxObjectSizeUnit().get() ) );
+            configBuilder = configBuilder.withSizeOfMaxObjectSize( config.maxObjectSize().get(),
+                                                                   MemoryUnit.valueOf( config.maxObjectSizeUnit().get() ) );
         }
         if( config.maxObjectGraphDepth().get() != null )
         {
-            configBuilder = configBuilder
-                    .withSizeOfMaxObjectGraph( config.maxObjectGraphDepth().get() );
+            configBuilder = configBuilder.withSizeOfMaxObjectGraph( config.maxObjectGraphDepth().get() );
         }
-        switch( config.expiry().get() ) {
+        switch( config.expiry().get() )
+        {
             case "TIME_TO_IDLE":
-                configBuilder = configBuilder.withExpiry( Expirations.timeToIdleExpiration( Duration.of(
-                    config.expiryLength().get() == null ? -1L : config.expiryLength().get(),
-                    TimeUnit.valueOf( config.expiryTimeUnit().get() )
-                ) ) );
+                configBuilder = configBuilder.withExpiry( timeToIdleExpiration( Duration.of(
+                    config.expiryLength().get() == null ? - 1L : config.expiryLength().get(),
+                    TimeUnit.valueOf( config.expiryTimeUnit().get() ) ) ) );
                 break;
             case "TIME_TO_LIVE":
-                configBuilder = configBuilder.withExpiry( Expirations.timeToLiveExpiration( Duration.of(
-                    config.expiryLength().get() == null ? -1L : config.expiryLength().get(),
-                    TimeUnit.valueOf( config.expiryTimeUnit().get() )
-                ) ) );
+                configBuilder = configBuilder.withExpiry( timeToLiveExpiration( Duration.of(
+                    config.expiryLength().get() == null ? - 1L : config.expiryLength().get(),
+                    TimeUnit.valueOf( config.expiryTimeUnit().get() ) ) ) );
                 break;
             case "NONE":
             default:
-                configBuilder = configBuilder.withExpiry( Expirations.noExpiration() );
+                configBuilder = configBuilder.withExpiry( noExpiration() );
                 break;
         }
         CacheConfiguration<String, T> cacheConfig = configBuilder.build();
-        org.ehcache.Cache<String,T> cache =  cacheManager.createCache( cacheId, cacheConfig );
+        org.ehcache.Cache<String, T> cache = cacheManager.createCache( cacheId, cacheConfig );
         return new EhCacheImpl<>( cacheId, cache, valueType );
     }
 
@@ -154,6 +175,6 @@ public abstract class EhCachePoolMixin
 
     private String cacheManagerThreadPoolName( String name )
     {
-        return identity.identity().getClass() + "-" + name;
+        return identity.identity().get().toString() + "-" + name;
     }
 }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4d726251/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java b/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
index f52ba1c..52e6291 100644
--- a/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
+++ b/extensions/cache-ehcache/src/test/java/org/apache/polygene/cache/ehcache/EhCacheTest.java
@@ -20,28 +20,36 @@
 package org.apache.polygene.cache.ehcache;
 
 import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.AssemblyException;
 import org.apache.polygene.bootstrap.ModuleAssembly;
 import org.apache.polygene.cache.ehcache.assembly.EhCacheAssembler;
+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.cache.AbstractCachePoolTest;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
 
 public class EhCacheTest
     extends AbstractCachePoolTest
 {
+    @Rule
+    public final TemporaryFolder tmpDir = new TemporaryFolder();
+
     @Override
     // START SNIPPET: assembly
     public void assemble( ModuleAssembly module )
-        throws AssemblyException
     {
-	    // END SNIPPET: assembly
+        // END SNIPPET: assembly
         ModuleAssembly confModule = module.layer().module( "confModule" );
         new EntityTestAssembler().visibleIn( Visibility.layer ).assemble( confModule );
+        new FileConfigurationAssembler()
+            .withOverride( new FileConfigurationOverride().withConventionalRoot( tmpDir.getRoot() ) )
+            .assemble( module );
 
         // START SNIPPET: assembly
-        new EhCacheAssembler().
-            withConfig( confModule, Visibility.layer ).
-            assemble( module );
+        new EhCacheAssembler()
+            .withConfig( confModule, Visibility.layer )
+            .assemble( module );
     }
     // END SNIPPET: assembly
 }


[3/4] polygene-java git commit: upgrade a bunch of libraries, extensions, tools and tests dependencies

Posted by pa...@apache.org.
upgrade a bunch of libraries, extensions, tools and tests dependencies


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/4bca3d7f
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/4bca3d7f
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/4bca3d7f

Branch: refs/heads/develop
Commit: 4bca3d7fb9a9750ae26e58160004d3f858c0ba41
Parents: 98010b4
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 11:35:05 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 11:35:05 2017 +0100

----------------------------------------------------------------------
 dependencies.gradle | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/4bca3d7f/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index 09b2c5a..61f2b2a 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -41,39 +41,39 @@ dependencies.libraries << [
 // Extensions, Libraries and Tools dependencies
 def bonecpVersion = '0.8.0.RELEASE'
 def bouncyVersion = '1.55'
-def cassandraClientVersion = '3.1.3'
-def codahaleMetricsVersion = '3.1.2'
+def cassandraClientVersion = '3.1.4'
+def codahaleMetricsVersion = '3.2.0'
 def commonsDbcpVersion = '2.1.1'
 def commonsLangVersion = '3.5'
 def derbyVersion = '10.13.1.1'
 def ehcacheVersion = '3.3.0'
-def elasticsearchVersion = '5.0.1'
+def elasticsearchVersion = '5.2.2'
 def freemarkerVersion = '2.3.25-incubating'
-def geodeVersion = '1.0.0-incubating'
-def groovyVersion = '2.4.7'
-def hazelcastVersion = '3.7.3'
-def httpClientVersion = '4.5.2'
-def jacksonVersion = '2.8.5'
+def geodeVersion = '1.1.0'
+def groovyVersion = '2.4.9'
+def hazelcastVersion = '3.8'
+def httpClientVersion = '4.5.3'
+def jacksonVersion = '2.8.7'
 def javascriptVersion = '1.7.7.1'
 def javasqlgeneratorVersion = '0.3.2'
 def jaxbApiVersion = '2.2.12'
-def jcloudsVersion = '2.0.0'
+def jcloudsVersion = '2.0.1'
 def jdbmVersion = '2.4'
 def jedisVersion = '2.9.0'
 def jettyVersion = '9.2.17.v20160517' // 9.3.x Tests fail!
 def leveldbVersion = '0.9'
 def leveldbJniVersion = '1.8'
 def liquibaseVersion = '3.5.3'
-def mongodbVersion = '3.4.0'
-def restletVersion = '2.3.7'
+def mongodbVersion = '3.4.2'
+def restletVersion = '2.3.9'
 def rdfVersion = '2.7.16' // 2.8.x change query results!! 4.x exists
 def riakVersion = '2.1.1'
 def servletVersion = '3.1.0'
 def shiroVersion = '1.3.2'
-def slf4jVersion = '1.7.21'
+def slf4jVersion = '1.7.24'
 def solrVersion = "1.4.1" // 4.x Fails to compile!
-def springVersion = '4.3.4.RELEASE'
-def spymemcachedVersion = '2.12.1'
+def springVersion = '4.3.7.RELEASE'
+def spymemcachedVersion = '2.12.2'
 def velocityVersion = '1.7'
 dependencies.libraries << [
   bonecp              : "com.jolbox:bonecp:$bonecpVersion",
@@ -160,7 +160,7 @@ dependencies.libraries << [
 
 // Tools dependencies
 def jgoodiesLooksVersion = '2.7.0'
-def pdfboxVersion = '2.0.3'
+def pdfboxVersion = '2.0.4'
 def prefuseVersion = '1.0.1'
 dependencies.libraries << [
   jgoodies_looks: "com.jgoodies:jgoodies-looks:$jgoodiesLooksVersion",
@@ -170,19 +170,19 @@ dependencies.libraries << [
 
 // Runtime, Test and Samples dependencies
 def awaitilityVersion = '2.0.0'
-def dnsJavaVersion = '2.1.7'
+def dnsJavaVersion = '2.1.8'
 def dockerJUnitVersion = '0.3'
 def easyMockVersion = '3.4'
-def embedMongoVersion = '1.50.5'
+def embedMongoVersion = '1.50.5' // 2.0.0 exists
 def h2Version = '1.4.193'
 def hamcrestVersion = '1.3'
 def jaxRsApiVersion = '2.0.1'
 def junitVersion = '4.12'
-def logbackVersion = '1.1.7'
-def mockitoVersion = '2.2.9'
-def mysqlVersion = '6.0.4'
-def postgresqlVersion = '9.4.1211'
-def sqliteVersion = '3.14.2.1'
+def logbackVersion = '1.2.1'
+def mockitoVersion = '2.7.14'
+def mysqlVersion = '6.0.5'
+def postgresqlVersion = '42.0.0'
+def sqliteVersion = '3.16.1'
 dependencies.libraries << [
   awaitility        : "org.awaitility:awaitility:$awaitilityVersion",
   derby             : "org.apache.derby:derby:$derbyVersion",
@@ -254,7 +254,7 @@ dependencies.dependencySubstitutionSpec = { DependencySubstitution substitution,
 
 // Build Tools
 dependencies.buildToolsVersions << [
-  jacoco: '0.7.8'
+  jacoco: '0.7.9'
 ]
 
 // Docker Images


[2/4] polygene-java git commit: upgrade ASM from 5.1 to 5.2

Posted by pa...@apache.org.
upgrade ASM from 5.1 to 5.2


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/98010b43
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/98010b43
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/98010b43

Branch: refs/heads/develop
Commit: 98010b4343290124c8b7d46f9673a1cf7d89c2c3
Parents: 4d72625
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 11:34:04 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 11:34:04 2017 +0100

----------------------------------------------------------------------
 dependencies.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/98010b43/dependencies.gradle
----------------------------------------------------------------------
diff --git a/dependencies.gradle b/dependencies.gradle
index 1188eb0..09b2c5a 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -27,7 +27,7 @@ dependencies.repositoriesUrls << [
 ]
 
 // Core dependencies
-def asmVersion = '5.1'
+def asmVersion = '5.2'
 def orgJsonVersion = '20130213'
 def osgiVersion = '4.3.1'
 dependencies.libraries << [


[4/4] polygene-java git commit: Add node_modules to .gitignore

Posted by pa...@apache.org.
Add node_modules to .gitignore


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/46e26e66
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/46e26e66
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/46e26e66

Branch: refs/heads/develop
Commit: 46e26e66527a9e2dbd06cc1925b3aefda1a98976
Parents: 4bca3d7
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Mar 6 12:34:55 2017 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Mar 6 12:34:55 2017 +0100

----------------------------------------------------------------------
 .gitignore | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/46e26e66/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 9a8a6de..b1c086c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ derby.log
 .nb-gradle
 .gradletasknamecache
 private/cache
+node_modules