You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rh...@apache.org on 2013/06/20 14:40:39 UTC
svn commit: r1494957 - in
/stanbol/trunk/commons/namespaceprefix/prefixccprovider/src:
main/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/
test/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/
Author: rharo
Date: Thu Jun 20 12:40:38 2013
New Revision: 1494957
URL: http://svn.apache.org/r1494957
Log:
Fixed STANBOL-1118
Modified:
stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/main/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProvider.java
stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/test/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProviderTest.java
Modified: stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/main/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProvider.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/main/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProvider.java?rev=1494957&r1=1494956&r2=1494957&view=diff
==============================================================================
--- stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/main/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProvider.java (original)
+++ stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/main/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProvider.java Thu Jun 20 12:40:38 2013
@@ -17,17 +17,16 @@
package org.apache.stanbol.commons.namespaceprefix.provider.prefixcc;
import java.io.IOException;
+import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URLConnection;
import java.util.Date;
import java.util.List;
import java.util.ServiceLoader;
-import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
import org.apache.stanbol.commons.namespaceprefix.NamespacePrefixProvider;
import org.apache.stanbol.commons.namespaceprefix.impl.NamespacePrefixProviderImpl;
@@ -38,13 +37,17 @@ public class PrefixccProvider implements
private static final Logger log = LoggerFactory.getLogger(PrefixccProvider.class);
- public static final URL GET_ALL;
+ public static final URLConnection GET_ALL;
static {
try {
- GET_ALL = new URL("http://prefix.cc/popular/all.file.txt");
+ URL url = new URL("http://prefix.cc/popular/all.file.txt");
+ GET_ALL = url.openConnection();
+ GET_ALL.connect();
} catch (MalformedURLException e) {
throw new IllegalStateException("Unable to create http://prefix.cc URL",e);
- }
+ } catch (IOException e) {
+ throw new IllegalStateException("Unable to open http://prefix.cc URLConnection",e);
+ }
}
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
@@ -112,9 +115,11 @@ public class PrefixccProvider implements
protected final void loadMappings() {
try {
log.info("Load Namespace Prefix Mappings form {}",GET_ALL);
- cache = new NamespacePrefixProviderImpl(GET_ALL.openStream());
- cacheStamp = System.currentTimeMillis();
- log.info(" ... completed");
+ if(GET_ALL.getContentType().equals("text/plain") && ((HttpURLConnection)GET_ALL).getResponseCode() == 200){
+ cache = new NamespacePrefixProviderImpl(GET_ALL.getInputStream());
+ cacheStamp = System.currentTimeMillis();
+ log.info(" ... completed");
+ }
} catch (IOException e) {
log.warn("Unable to load prefix.cc NamespaceMappings (Message: "
+ e.getMessage() +")",e);
Modified: stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/test/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProviderTest.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/test/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProviderTest.java?rev=1494957&r1=1494956&r2=1494957&view=diff
==============================================================================
--- stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/test/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProviderTest.java (original)
+++ stanbol/trunk/commons/namespaceprefix/prefixccprovider/src/test/java/org/apache/stanbol/commons/namespaceprefix/provider/prefixcc/PrefixccProviderTest.java Thu Jun 20 12:40:38 2013
@@ -27,7 +27,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.stanbol.commons.namespaceprefix.NamespacePrefixService;
import org.apache.stanbol.commons.namespaceprefix.service.StanbolNamespacePrefixService;
import org.junit.Assert;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -69,9 +68,18 @@ public class PrefixccProviderTest {
@Test
public void testServiceLoader() throws IOException{
- //this test works only if online
+
+ // Check if the service is down
+ PrefixccProvider pcp = new PrefixccProvider(10,TimeUnit.SECONDS);
+ if(!pcp.isAvailable()){
+ log.info("Unable to retrieve prefixes from http://prefix.cc ... deactivating "
+ + PrefixccProvider.class.getSimpleName()+ "ServiceLoader support test");
+ return;
+ }
+
+ //this test works only if online
try {
- PrefixccProvider.GET_ALL.openStream();
+ PrefixccProvider.GET_ALL.getInputStream();
} catch (IOException e) {
log.info("Unable to connect to http://prefix.cc ... deactivating "
+ PrefixccProvider.class.getSimpleName()+ "ServiceLoader support test");