This is an automated email from the ASF dual-hosted git repository.

kaspersor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metamodel-membrane.git

commit 05dfed4a0190d24e9d3f77889f48a01ea74d64bb
Author: Kasper Sørensen <[email protected]>
AuthorDate: Sat Jan 12 19:01:31 2019 -0800

    Made use of a slight improvement wrt. DataContextFactoryRegistry build
---
 .../membrane/app/registry/DataContextSupplier.java       | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git 
a/core/src/main/java/org/apache/metamodel/membrane/app/registry/DataContextSupplier.java
 
b/core/src/main/java/org/apache/metamodel/membrane/app/registry/DataContextSupplier.java
index 2297dca..c58499f 100644
--- 
a/core/src/main/java/org/apache/metamodel/membrane/app/registry/DataContextSupplier.java
+++ 
b/core/src/main/java/org/apache/metamodel/membrane/app/registry/DataContextSupplier.java
@@ -18,11 +18,9 @@
  */
 package org.apache.metamodel.membrane.app.registry;
 
-import java.util.Collection;
 import java.util.function.Supplier;
 
 import org.apache.metamodel.DataContext;
-import org.apache.metamodel.factory.DataContextFactory;
 import org.apache.metamodel.factory.DataContextFactoryRegistry;
 import org.apache.metamodel.factory.DataContextFactoryRegistryImpl;
 import org.apache.metamodel.factory.DataContextProperties;
@@ -52,17 +50,13 @@ public class DataContextSupplier implements 
Supplier<DataContext> {
 
     private DataContextFactoryRegistry getRegistryForTenant() {
         final ResourceFactoryRegistry resourceFactoryRegistry = 
ResourceFactoryRegistryImpl.getDefaultInstance();
-        final DataContextFactoryRegistry registry = new 
DataContextFactoryRegistryImpl(resourceFactoryRegistry);
-
-        // Add default/standard factories. This is pretty cumbersome. New 
constructor/cloning options in MetaModel
-        // should make this easier: 
https://github.com/apache/metamodel/pull/192
         final DataContextFactoryRegistry defaultRegistry = 
DataContextFactoryRegistryImpl.getDefaultInstance();
-        final Collection<DataContextFactory> defaultFactories = 
defaultRegistry.getFactories();
-        for (DataContextFactory factory : defaultFactories) {
-            registry.addFactory(factory);
-        }
 
-        // add tenant-specific factories
+        // create a new registry with all the default factories in it
+        final DataContextFactoryRegistry registry =
+                new 
DataContextFactoryRegistryImpl(defaultRegistry.getFactories(), 
resourceFactoryRegistry);
+
+        // add tenant-specific factory
         registry.addFactory(new FederatedDataContextFactory(tenantContext));
         return registry;
     }

Reply via email to