You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2011/07/21 15:58:54 UTC

svn commit: r1149184 - in /myfaces/extensions/cdi/trunk/core: api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/ api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/ impl/src/main/java/org/apache/myfaces/extensions/cd...

Author: gpetracek
Date: Thu Jul 21 13:58:50 2011
New Revision: 1149184

URL: http://svn.apache.org/viewvc?rev=1149184&view=rev
Log:
EXTCDI-198 and EXTCDI-209 cleanup

Added:
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProvider.java
      - copied, changed from r1149153, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProvider.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProviderContext.java
      - copied, changed from r1149153, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProviderContext.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/myfaces-extcdi.properties
Removed:
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProvider.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProviderContext.java
Modified:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/ServiceProvider.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/AbstractPropertyExpressionInterpreter.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ServiceLoaderResolver.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java
    myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/TestServiceProvider.java

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/ServiceProvider.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/ServiceProvider.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/ServiceProvider.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/provider/ServiceProvider.java Thu Jul 21 13:58:50 2011
@@ -39,6 +39,8 @@ import java.util.logging.Logger;
  */
 public abstract class ServiceProvider<T>
 {
+    private static final Logger LOGGER = Logger.getLogger(ServiceProvider.class.getName());
+
     protected static final String SERVICE_CONFIG = "META-INF/services/";
     protected static final String FILE_ENCODING = "UTF-8";
 
@@ -49,13 +51,15 @@ public abstract class ServiceProvider<T>
             ServiceProvider.class.getName().replace(".api.", ".custom.");
 
     private static final String DEFAULT_SERVICE_PROVIDER_NAME =
-            ServiceProvider.class.getName().replace(".api.", ".impl.");
+            ServiceProvider.class.getName().replace(".api.", ".impl.")
+                    .replace(".ServiceProvider", ".DefaultServiceProvider");
 
     private static final String CUSTOM_SERVICE_PROVIDER_CONTEXT_NAME =
             ServiceProviderContext.class.getName().replace(".api.", ".custom.");
 
     private static final String DEFAULT_SERVICE_PROVIDER_CONTEXT_NAME =
-            ServiceProviderContext.class.getName().replace(".api.", ".impl.");
+            ServiceProviderContext.class.getName().replace(".api.", ".impl.")
+                    .replace(".ServiceProviderContext", ".DefaultServiceProviderContext");
 
     protected static final Class<? extends ServiceProvider> SERVICE_PROVIDER_CLASS;
 
@@ -67,12 +71,21 @@ public abstract class ServiceProvider<T>
         Class<? extends ServiceProviderContext> serviceProviderContextClass = null;
         try
         {
-            serviceProviderClass = initServiceProvider();
-            serviceProviderContextClass = initServiceProviderContext();
+            serviceProviderClass =
+                    resolveImplementation(ServiceProvider.class, CUSTOM_SERVICE_PROVIDER_NAME);
+
+            serviceProviderContextClass =
+                    resolveImplementation(ServiceProviderContext.class, CUSTOM_SERVICE_PROVIDER_CONTEXT_NAME);
         }
         catch (Exception e)
         {
-            //fallback - TODO log a warning
+            if (LOGGER.isLoggable(Level.WARNING))
+            {
+                LOGGER.log(Level.WARNING, "An exception occurred during the initialization of the service provider", e);
+            }
+        }
+        finally
+        {
             try
             {
                 if (serviceProviderClass == null)
@@ -80,7 +93,10 @@ public abstract class ServiceProvider<T>
                     serviceProviderClass = ClassUtils.loadClassForName(DEFAULT_SERVICE_PROVIDER_NAME);
                 }
 
-                serviceProviderContextClass = ClassUtils.loadClassForName(DEFAULT_SERVICE_PROVIDER_CONTEXT_NAME);
+                if(serviceProviderContextClass == null)
+                {
+                    serviceProviderContextClass = ClassUtils.loadClassForName(DEFAULT_SERVICE_PROVIDER_CONTEXT_NAME);
+                }
             }
             catch (Exception exception)
             {
@@ -125,16 +141,8 @@ public abstract class ServiceProvider<T>
         }
         catch (Exception e)
         {
-            Logger logger = Logger.getLogger(SERVICE_PROVIDER_CLASS.getName());
-
-            if (logger.isLoggable(Level.WARNING))
-            {
-                logger.log(Level.WARNING, "Can't instantiate " + SERVICE_PROVIDER_CLASS.getName(), e);
-            }
+            throw new IllegalStateException(e);
         }
-
-        //TODO
-        return null;
     }
 
     protected ServiceProvider(Class<T> serviceType, ServiceProviderContext serviceProviderContext)
@@ -149,101 +157,48 @@ public abstract class ServiceProvider<T>
     /*
      * private
      */
-    private static Class<? extends ServiceProvider> initServiceProvider()
+    private static <S> Class<S> resolveImplementation(Class<S> type, String customName)
     {
-        List<String> serviceProviderClassNames = new ArrayList<String>();
-        serviceProviderClassNames.add(CUSTOM_SERVICE_PROVIDER_NAME);
+        List<String> classNames = new ArrayList<String>();
+        classNames.add(customName);
 
-        List<String> configuredServiceProviders =
-                ConfigUtils.getConfiguredValue("ServiceProvider." + ServiceProvider.class.getName());
+        List<String> configuredClassNames =
+                ConfigUtils.getConfiguredValue(type.getSimpleName() + "." + type.getName());
 
-        if (configuredServiceProviders != null)
+        if (configuredClassNames != null)
         {
-            serviceProviderClassNames.addAll(configuredServiceProviders);
+            classNames.addAll(configuredClassNames);
         }
 
-        List<Class<? extends ServiceProvider>> serviceProviderClassList =
-                new ArrayList<Class<? extends ServiceProvider>>(serviceProviderClassNames.size());
+        List<Class<S>> classList = new ArrayList<Class<S>>(classNames.size());
 
-        Class<? extends ServiceProvider> currentServiceProviderClass = null;
-        for (String currentServiceProviderName : serviceProviderClassNames)
+        Class<S> currentClass = null;
+        for (String currentClassName : classNames)
         {
             try
             {
-                currentServiceProviderClass =
-                        ClassUtils.tryToLoadClassForName(currentServiceProviderName);
+                currentClass = ClassUtils.tryToLoadClassForName(currentClassName);
             }
             catch (Exception e)
             {
-                //TODO logging
-            }
-
-            if (currentServiceProviderClass != null)
-            {
-                serviceProviderClassList.add(currentServiceProviderClass);
-            }
-        }
-
-        Class serviceProviderClass = null;
-        if (!serviceProviderClassList.isEmpty())
-        {
-            Collections.sort(serviceProviderClassList, new InvocationOrderComparator<Object>());
-            serviceProviderClass = serviceProviderClassList.iterator().next();
-        }
-
-        if (serviceProviderClass == null)
-        {
-            serviceProviderClass = ClassUtils.tryToLoadClassForName(DEFAULT_SERVICE_PROVIDER_NAME);
-        }
-        return serviceProviderClass;
-    }
-
-    private static Class<? extends ServiceProviderContext> initServiceProviderContext()
-    {
-        List<String> serviceProviderContextClassNames = new ArrayList<String>();
-        serviceProviderContextClassNames.add(CUSTOM_SERVICE_PROVIDER_CONTEXT_NAME);
-
-        List<String> configuredServiceProviderContextList =
-                ConfigUtils.getConfiguredValue("ServiceProviderContext." + ServiceProviderContext.class.getName());
-
-        if (configuredServiceProviderContextList != null)
-        {
-            serviceProviderContextClassNames.addAll(configuredServiceProviderContextList);
-        }
-
-        List<Class<? extends ServiceProviderContext>> serviceProviderContextClassList =
-                new ArrayList<Class<? extends ServiceProviderContext>>(serviceProviderContextClassNames.size());
-
-        Class<? extends ServiceProviderContext> currentServiceProviderContextClass = null;
-        for (String currentServiceProviderContextName : serviceProviderContextClassNames)
-        {
-            try
-            {
-                currentServiceProviderContextClass =
-                        ClassUtils.tryToLoadClassForName(currentServiceProviderContextName);
-            }
-            catch (Exception e)
-            {
-                //TODO logging
+                if(LOGGER.isLoggable(Level.WARNING))
+                {
+                    LOGGER.warning("Couldn't load class: " + currentClassName);
+                }
             }
 
-            if (currentServiceProviderContextClass != null)
+            if (currentClass != null)
             {
-                serviceProviderContextClassList.add(currentServiceProviderContextClass);
+                classList.add(currentClass);
             }
         }
 
-        Class serviceProviderContextClass = null;
-        if (!serviceProviderContextClassList.isEmpty())
-        {
-            Collections.sort(serviceProviderContextClassList, new InvocationOrderComparator<Object>());
-            serviceProviderContextClass = serviceProviderContextClassList.iterator().next();
-        }
-
-        if (serviceProviderContextClass == null)
+        Class<S> result = null;
+        if (!classList.isEmpty())
         {
-            serviceProviderContextClass = ClassUtils.tryToLoadClassForName(DEFAULT_SERVICE_PROVIDER_CONTEXT_NAME);
+            Collections.sort(classList, new InvocationOrderComparator<Object>());
+            result = classList.iterator().next();
         }
-        return serviceProviderContextClass;
+        return result;
     }
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/AbstractPropertyExpressionInterpreter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/AbstractPropertyExpressionInterpreter.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/AbstractPropertyExpressionInterpreter.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/AbstractPropertyExpressionInterpreter.java Thu Jul 21 13:58:50 2011
@@ -27,6 +27,7 @@ import javax.enterprise.inject.Typed;
  * @author Gerhard Petracek
  */
 @Typed()
+//TODO move to impl
 public abstract class AbstractPropertyExpressionInterpreter implements ExpressionInterpreter<String, Boolean>
 {
     /**

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/AbstractConfiguredValueResolver.java Thu Jul 21 13:58:50 2011
@@ -21,7 +21,7 @@ package org.apache.myfaces.extensions.cd
 import org.apache.myfaces.extensions.cdi.core.api.activation.ClassDeactivator;
 import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver;
 import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
-import org.apache.myfaces.extensions.cdi.core.impl.provider.ServiceProvider;
+import org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -39,7 +39,7 @@ public abstract class AbstractConfigured
     protected AbstractConfiguredValueResolver()
     {
         List<ClassDeactivator> serviceLoader =
-                ServiceProvider.loadServices(ClassDeactivator.class);
+                DefaultServiceProvider.loadServices(ClassDeactivator.class);
 
         for(ClassDeactivator currentInstance : serviceLoader)
         {

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ServiceLoaderResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ServiceLoaderResolver.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ServiceLoaderResolver.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ServiceLoaderResolver.java Thu Jul 21 13:58:50 2011
@@ -20,8 +20,8 @@ package org.apache.myfaces.extensions.cd
 
 import org.apache.myfaces.extensions.cdi.core.api.InvocationOrder;
 import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueDescriptor;
-import org.apache.myfaces.extensions.cdi.core.impl.provider.ServiceProvider;
-import org.apache.myfaces.extensions.cdi.core.impl.provider.ServiceProviderContext;
+import org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider;
+import org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProviderContext;
 
 import javax.enterprise.inject.Typed;
 import java.util.List;
@@ -45,7 +45,8 @@ public class ServiceLoaderResolver exten
         if(Modifier.isAbstract(targetType.getModifiers()) || Modifier.isInterface(targetType.getModifiers()))
         {
             @SuppressWarnings({"unchecked"})
-            List<T> services = ServiceProvider.loadServices(targetType, new ServiceProviderContext() {
+            List<T> services = DefaultServiceProvider.loadServices(targetType, new DefaultServiceProviderContext()
+            {
                 @Override
                 public boolean filterService(Class serviceClass)
                 {

Copied: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProvider.java (from r1149153, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProvider.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProvider.java?p2=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProvider.java&p1=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProvider.java&r1=1149153&r2=1149184&rev=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProvider.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProvider.java Thu Jul 21 13:58:50 2011
@@ -35,17 +35,18 @@ import java.util.Enumeration;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProvider;
 
 /**
  * @author Gerhard Petracek
  */
-public class ServiceProvider<T> extends org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProvider<T>
+public class DefaultServiceProvider<T> extends ServiceProvider<T>
 {
     protected List<Class<?>> foundServiceClasses = new ArrayList<Class<?>>();
     private static Map<ClassLoader, Boolean> deploymentFinished = new ConcurrentHashMap<ClassLoader, Boolean>();
     private static Map<Class<?>, List<Class<?>>> serviceCache = new ConcurrentHashMap<Class<?>, List<Class<?>>>();
 
-    protected ServiceProvider(Class<T> serviceType, ServiceProviderContext serviceProviderContext)
+    protected DefaultServiceProvider(Class<T> serviceType, ServiceProviderContext serviceProviderContext)
     {
         super(serviceType, serviceProviderContext);
     }

Copied: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProviderContext.java (from r1149153, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProviderContext.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProviderContext.java?p2=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProviderContext.java&p1=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProviderContext.java&r1=1149153&r2=1149184&rev=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/ServiceProviderContext.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/provider/DefaultServiceProviderContext.java Thu Jul 21 13:58:50 2011
@@ -25,12 +25,12 @@ import org.apache.myfaces.extensions.cdi
 
 import java.util.Collections;
 import java.util.List;
+import org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProviderContext;
 
 /**
  * @author Gerhard Petracek
  */
-public class ServiceProviderContext<T>
-        extends org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProviderContext<T>
+public class DefaultServiceProviderContext<T> extends ServiceProviderContext<T>
 {
     @Override
     public ClassLoader getClassLoader()

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/ConfiguredArtifactUtils.java Thu Jul 21 13:58:50 2011
@@ -23,7 +23,7 @@ import org.apache.myfaces.extensions.cdi
 import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver;
 import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueDescriptor;
 import org.apache.myfaces.extensions.cdi.core.api.tools.InvocationOrderComparator;
-import org.apache.myfaces.extensions.cdi.core.impl.provider.ServiceProvider;
+import org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider;
 
 import javax.enterprise.inject.Typed;
 import java.lang.reflect.Field;
@@ -205,7 +205,7 @@ public abstract class ConfiguredArtifact
     private static List<ConfiguredValueResolver> getConfiguredValueResolvers()
     {
         List<ConfiguredValueResolver> configuredValueResolvers =
-                ServiceProvider.loadServices(ConfiguredValueResolver.class);
+                DefaultServiceProvider.loadServices(ConfiguredValueResolver.class);
 
         List<ConfiguredValueResolver> resolvers = new ArrayList<ConfiguredValueResolver>();
         Comparator<ConfiguredValueResolver> comparator = new InvocationOrderComparator<ConfiguredValueResolver>();

Added: myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/myfaces-extcdi.properties
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/myfaces-extcdi.properties?rev=1149184&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/myfaces-extcdi.properties (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/resources/META-INF/myfaces-extcdi.properties Thu Jul 21 13:58:50 2011
@@ -0,0 +1,19 @@
+# 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.
+
+org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProvider=org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider
+org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProviderContext=org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProviderContext

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/ServiceProviderTest.java Thu Jul 21 13:58:50 2011
@@ -20,13 +20,14 @@ package org.apache.myfaces.extensions.cd
 
 import org.apache.myfaces.extensions.cdi.core.api.config.ConfiguredValueResolver;
 import org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider;
+import org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProvider;
+import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
 import org.apache.myfaces.extensions.cdi.core.impl.CodiDeactivatorExtension;
 import org.apache.myfaces.extensions.cdi.core.impl.activation.ActivationExtension;
 import org.apache.myfaces.extensions.cdi.core.impl.config.LocalJndiResolver;
 import org.apache.myfaces.extensions.cdi.core.impl.config.PropertyFileResolver;
 import org.apache.myfaces.extensions.cdi.core.impl.config.ServiceLoaderResolver;
 import org.apache.myfaces.extensions.cdi.core.impl.config.SystemPropertyResolver;
-import org.apache.myfaces.extensions.cdi.core.impl.provider.ServiceProvider;
 import org.apache.myfaces.extensions.cdi.core.test.impl.config.TestConfiguredValueResolver;
 import org.apache.myfaces.extensions.cdi.core.test.impl.config.TestInterface;
 import org.testng.Assert;
@@ -92,6 +93,14 @@ public class ServiceProviderTest
         Assert.assertTrue(iterator.next() instanceof ServiceLoaderResolver);
         Assert.assertTrue(iterator.next() instanceof LocalJndiResolver);
         Assert.assertTrue(iterator.next() instanceof PropertyFileResolver);
+    }
 
+    @Test
+    public void testDefaultImplementations()
+    {
+        Assert.assertNotNull(ClassUtils.tryToLoadClassForName(
+                "org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider"));
+        Assert.assertNotNull(ClassUtils.tryToLoadClassForName(
+                "org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProviderContext"));
     }
 }

Modified: myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/TestServiceProvider.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/TestServiceProvider.java?rev=1149184&r1=1149183&r2=1149184&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/TestServiceProvider.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/test/java/org/apache/myfaces/extensions/cdi/core/test/impl/serviceloader/TestServiceProvider.java Thu Jul 21 13:58:50 2011
@@ -20,13 +20,13 @@ package org.apache.myfaces.extensions.cd
 
 import org.apache.myfaces.extensions.cdi.core.api.InvocationOrder;
 import org.apache.myfaces.extensions.cdi.core.api.provider.ServiceProviderContext;
-import org.apache.myfaces.extensions.cdi.core.impl.provider.ServiceProvider;
+import org.apache.myfaces.extensions.cdi.core.impl.provider.DefaultServiceProvider;
 
 /**
  * @author Gerhard Petracek
  */
 @InvocationOrder(Integer.MIN_VALUE)
-public class TestServiceProvider extends ServiceProvider
+public class TestServiceProvider extends DefaultServiceProvider
 {
     protected TestServiceProvider(Class serviceType, ServiceProviderContext serviceProviderContext)
     {