You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2014/02/07 14:40:54 UTC

svn commit: r1565646 - /wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java

Author: scottbw
Date: Fri Feb  7 13:40:53 2014
New Revision: 1565646

URL: http://svn.apache.org/r1565646
Log:
if no service provider is defined, use the default provider

Modified:
    wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java

Modified: wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java?rev=1565646&r1=1565645&r2=1565646&view=diff
==============================================================================
--- wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java (original)
+++ wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/PreferencesService.java Fri Feb  7 13:40:53 2014
@@ -19,7 +19,8 @@ package org.apache.wookie.services;
 import java.util.Collection;
 import java.util.ServiceLoader;
 
-import org.apache.wookie.w3c.IPreference;
+import org.apache.wookie.beans.IPreference;
+import org.apache.wookie.services.impl.DefaultPreferencesService;
 
 /**
  * The PreferencesService is the SPI for plugins that implement a preferences service; this service
@@ -55,16 +56,24 @@ public interface PreferencesService {
 		private static PreferencesService provider;
 		
 	    public static PreferencesService getInstance() {
+	    	//
+	    	// Use the service loader to load an implementation if one is available
+	    	//
 	    	if (provider == null){
 	    		ServiceLoader<PreferencesService> ldr = ServiceLoader.load(PreferencesService.class);
 	    		for (PreferencesService service : ldr) {
 	    			// We are only expecting one
 	    			provider = service;
 	    		}
-	    	}if (provider != null){
-	    		return provider;
 	    	}
-	    	throw new Error ("No Preferences Service Provider registered");
+	    	//
+	    	// If no service provider is found, use the default
+	    	//
+	    	if (provider == null){
+	    		provider = new DefaultPreferencesService();
+	    	}
+	    	
+	    	return provider;
 	    }
 	}
 }