Author: andy
Date: Wed Aug 28 15:11:17 2013
New Revision: 1518255
URL: http://svn.apache.org/r1518255
Log:
JENA-525 : Add cloning operation for the (new) LocationMapper.
Reformat.
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/LocationMapper.java
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/adapters/TestFileManager.java
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java?rev=1518255&r1=1518254&r2=1518255&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java
(original)
+++
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/adapters/AdapterFileManager.java
Wed Aug 28 15:11:17 2013
@@ -98,251 +98,262 @@ public class AdapterFileManager extends
// These are in the FileManager for legacy reasons.
private FileManagerModelCache modelCache = new FileManagerModelCache() ;
- /** Get the global file manager.
+ /**
+ * Get the global file manager.
+ *
* @return the global file manager
*/
- public static AdapterFileManager get()
- {
+ public static AdapterFileManager get() {
if ( instance == null )
instance = makeGlobal() ;
return instance ;
}
-
- /** Set the global file manager (as returned by get())
- * If called before any call to get(), then the usual default filemanager
is not created
+
+ /**
+ * Set the global file manager (as returned by get()) If called before any
+ * call to get(), then the usual default filemanager is not created
+ *
* @param globalFileManager
*/
- public static void setGlobalFileManager(AdapterFileManager
globalFileManager)
- {
+ public static void setGlobalFileManager(AdapterFileManager
globalFileManager) {
instance = globalFileManager ;
}
-
+
/** Create an uninitialized FileManager */
- private AdapterFileManager()
- {
+ private AdapterFileManager() {
streamManager = new StreamManager() ;
}
-
-// /** Create a new file manager that is a copy of another.
-// * Location mapper and locators chain are copied (the locators are not
cloned).
-// * @param filemanager
-// */
-// public AdapterFileManager(com.hp.hpl.jena.util.FileManager filemanager)
-// {
-// this() ;
-// Iterator<com.hp.hpl.jena.util.Locator> iter = filemanager.locators()
;
-// while ( iter.hasNext() )
-// streamManager.addLocator(AdapterLib.convert(iter.next())) ;
-//
-// com.hp.hpl.jena.util.LocationMapper locmap =
filemanager.getLocationMapper() ;
-// streamManager.setLocationMapper(AdapterLib.copyConvert(locmap)) ;
-// }
-
- @Override
- public FileManager clone() {
- StreamManager sm = new StreamManager(streamManager) ;
- // clone LM
+
+ @Override
+ public FileManager clone() {
+ StreamManager sm = streamManager.clone() ;
AdapterFileManager x = new AdapterFileManager(sm) ;
return x ;
-
+
+ }
+
+ public AdapterFileManager(StreamManager streamManager) {
+ this(streamManager, streamManager == null ? null :
streamManager.getLocationMapper()) ;
}
- public AdapterFileManager(StreamManager streamManager)
- {
- this(streamManager,
- streamManager == null ? null : streamManager.getLocationMapper()
) ;
- }
-
- /** Create a FileManger using a RIOT StreamManager and RIOT LocationMapper
*/
- public AdapterFileManager(StreamManager streamManager, LocationMapper
mapper)
- {
+ /** Create a FileManger using a RIOT StreamManager and RIOT LocationMapper
*/
+ public AdapterFileManager(StreamManager streamManager, LocationMapper
mapper) {
if ( streamManager == null )
streamManager = new StreamManager() ;
- this.streamManager = streamManager ;
+ this.streamManager = streamManager ;
streamManager.setLocationMapper(mapper) ;
}
-
+
/** Create a "standard" FileManager. */
- public static AdapterFileManager makeGlobal()
- {
+ public static AdapterFileManager makeGlobal() {
AdapterFileManager fMgr = new AdapterFileManager(StreamManager.get()) ;
return fMgr ;
}
-
- /** Return the associate stream manager */
- public StreamManager getStreamManager() { return streamManager ; }
-
+
+ /** Return the associate stream manager */
+ public StreamManager getStreamManager() {
+ return streamManager ;
+ }
+
/** Set the location mapping */
@Override
- public void setLocationMapper(com.hp.hpl.jena.util.LocationMapper mapper)
{ streamManager.setLocationMapper(AdapterLib.copyConvert(mapper)) ; }
-
+ public void setLocationMapper(com.hp.hpl.jena.util.LocationMapper mapper) {
+ streamManager.setLocationMapper(AdapterLib.copyConvert(mapper)) ;
+ }
+
/** Get the location mapping */
@Override
- public com.hp.hpl.jena.util.LocationMapper getLocationMapper()
{ return new AdapterLocationMapper(streamManager.getLocationMapper()) ; }
-
+ public com.hp.hpl.jena.util.LocationMapper getLocationMapper() {
+ return new AdapterLocationMapper(streamManager.getLocationMapper()) ;
+ }
+
/** Return an iterator over all the handlers */
@Override
- public Iterator<com.hp.hpl.jena.util.Locator> locators() { throw new
UnsupportedOperationException() ; }
+ public Iterator<com.hp.hpl.jena.util.Locator> locators() {
+ throw new UnsupportedOperationException() ;
+ }
- /** Remove a locator */
+ /** Remove a locator */
@Override
- public void remove(com.hp.hpl.jena.util.Locator loc)
{ throw new UnsupportedOperationException() ; }
+ public void remove(com.hp.hpl.jena.util.Locator loc) {
+ throw new UnsupportedOperationException() ;
+ }
- /** Add a locator to the end of the locators list */
+ /** Add a locator to the end of the locators list */
@Override
- public void addLocator(com.hp.hpl.jena.util.Locator oldloc)
- {
+ public void addLocator(com.hp.hpl.jena.util.Locator oldloc) {
Locator loc = AdapterLib.convert(oldloc) ;
- log.debug("Add location: "+loc.getName()) ;
- streamManager.addLocator(loc) ; }
+ log.debug("Add location: " + loc.getName()) ;
+ streamManager.addLocator(loc) ;
+ }
/** Add a file locator */
@Override
- public void addLocatorFile() { addLocatorFile(null) ; }
+ public void addLocatorFile() {
+ addLocatorFile(null) ;
+ }
- /** Add a file locator which uses dir as its working directory */
+ /** Add a file locator which uses dir as its working directory */
@Override
- public void addLocatorFile(String dir)
- {
+ public void addLocatorFile(String dir) {
LocatorFile fLoc = new LocatorFile(dir) ;
streamManager.addLocator(fLoc) ;
}
-
- /** Add a class loader locator */
+
+ /** Add a class loader locator */
@Override
- public void addLocatorClassLoader(ClassLoader cLoad)
- {
+ public void addLocatorClassLoader(ClassLoader cLoad) {
LocatorClassLoader cLoc = new LocatorClassLoader(cLoad) ;
streamManager.addLocator(cLoc) ;
}
/** Add a URL locator */
@Override
- public void addLocatorURL()
- {
+ public void addLocatorURL() {
Locator loc = new LocatorURL() ;
streamManager.addLocator(loc) ;
}
/** Add a zip file locator */
@Override
- public void addLocatorZip(String zfn)
- {
+ public void addLocatorZip(String zfn) {
Locator loc = new LocatorZip(zfn) ;
streamManager.addLocator(loc) ;
}
-
+
// -------- Cache operations (start)
/** Reset the model cache */
@Override
- public void resetCache() { modelCache.resetCache()
; }
+ public void resetCache() {
+ modelCache.resetCache() ;
+ }
- /** Change the state of model cache : does not clear the cache */
+ /** Change the state of model cache : does not clear the cache */
@Override
- public void setModelCaching(boolean state) {
modelCache.setModelCaching(state) ; }
-
+ public void setModelCaching(boolean state) {
+ modelCache.setModelCaching(state) ;
+ }
+
/** return whether caching is on of off */
@Override
- public boolean isCachingModels() { return
modelCache.isCachingModels() ; }
-
- /** Read out of the cache - return null if not in the cache */
+ public boolean isCachingModels() {
+ return modelCache.isCachingModels() ;
+ }
+
+ /** Read out of the cache - return null if not in the cache */
@Override
- public Model getFromCache(String filenameOrURI) { return
modelCache.getFromCache(filenameOrURI) ; }
+ public Model getFromCache(String filenameOrURI) {
+ return modelCache.getFromCache(filenameOrURI) ;
+ }
@Override
- public boolean hasCachedModel(String filenameOrURI)
- { return modelCache.hasCachedModel(filenameOrURI) ; }
-
+ public boolean hasCachedModel(String filenameOrURI) {
+ return modelCache.hasCachedModel(filenameOrURI) ;
+ }
+
@Override
- public void addCacheModel(String uri, Model m) {
modelCache.addCacheModel(uri, m) ; }
+ public void addCacheModel(String uri, Model m) {
+ modelCache.addCacheModel(uri, m) ;
+ }
@Override
- public void removeCacheModel(String uri) {
modelCache.removeCacheModel(uri) ; }
+ public void removeCacheModel(String uri) {
+ modelCache.removeCacheModel(uri) ;
+ }
+
// -------- Cache operations (end)
@Override
- protected Model readModelWorker(Model model, String filenameOrURI, String
baseURI, String syntax)
- {
- // Doesn't call open() - we want to make the synatx guess based on the
mapped URI.
+ protected Model readModelWorker(Model model, String filenameOrURI, String
baseURI, String syntax) {
+ // Doesn't call open() - we want to make the synatx guess based on the
+ // mapped URI.
String mappedURI = mapURI(filenameOrURI) ;
- if ( log.isDebugEnabled() && ! mappedURI.equals(filenameOrURI) )
- log.debug("Map: "+filenameOrURI+" => "+mappedURI) ;
+ if ( log.isDebugEnabled() && !mappedURI.equals(filenameOrURI) )
+ log.debug("Map: " + filenameOrURI + " => " + mappedURI) ;
- if ( syntax == null && baseURI == null && mappedURI.startsWith(
"http:" ) )
- {
+ if ( syntax == null && baseURI == null &&
mappedURI.startsWith("http:") ) {
// No syntax, no baseURI, HTTP URL ==> use content negotiation
model.read(mappedURI) ;
return model ;
}
-
- if ( syntax == null )
- {
+
+ if ( syntax == null ) {
syntax = FileUtils.guessLang(mappedURI) ;
if ( syntax == null || syntax.equals("") )
syntax = FileUtils.langXML ;
- if ( log.isDebugEnabled() )
- log.debug("Syntax guess: "+syntax);
+ if ( log.isDebugEnabled() )
+ log.debug("Syntax guess: " + syntax) ;
}
if ( baseURI == null )
baseURI = chooseBaseURI(filenameOrURI) ;
TypedInputStream in = streamManager.openNoMapOrNull(mappedURI) ;
- if ( in == null )
- {
+ if ( in == null ) {
if ( log.isDebugEnabled() )
- log.debug("Failed to locate '"+mappedURI+"'") ;
- throw new NotFoundException("Not found: "+filenameOrURI) ;
+ log.debug("Failed to locate '" + mappedURI + "'") ;
+ throw new NotFoundException("Not found: " + filenameOrURI) ;
}
- if ( in.getMediaType() != null )
- {
+ if ( in.getMediaType() != null ) {
// XXX
- //syntax
+ // syntax
}
model.read(in, baseURI, syntax) ;
- try { in.close(); } catch (IOException ex) {}
+ try {
+ in.close() ;
+ } catch (IOException ex) {}
return model ;
}
- private static String chooseBaseURI(String baseURI)
- {
+ private static String chooseBaseURI(String baseURI) {
// Use IRILib.filenameToIRI
String scheme = FileUtils.getScheme(baseURI) ;
-
- if ( scheme != null && ! scheme.equals("file") )
+
+ if ( scheme != null && !scheme.equals("file") )
// Not file: - leave alone.
return baseURI ;
-
+
return IRILib.filenameToIRI(baseURI) ;
}
-
- /** Open a file using the locators of this FileManager
- * Throws RiotNotFoundException if not found.*/
+
+ /**
+ * Open a file using the locators of this FileManager Throws
+ * RiotNotFoundException if not found.
+ */
@Override
- public InputStream open(String filenameOrURI)
- {
+ public InputStream open(String filenameOrURI) {
return streamManager.open(filenameOrURI) ;
}
-
+
/** Apply the mapping of a filename or URI */
@Override
- public String mapURI(String filenameOrURI) { return
streamManager.mapURI(filenameOrURI) ; }
-
- /** Open a file using the locators of this FileManager
- * but without location mapping. Throws RiotNotFoundException if not
found.*/
- @Override
- public InputStream openNoMap(String filenameOrURI) { return
streamManager.openNoMap(filenameOrURI) ; }
-
- /** Open a file using the locators of this FileManager
- * without location mapping. Return null if not found
- */
+ public String mapURI(String filenameOrURI) {
+ return streamManager.mapURI(filenameOrURI) ;
+ }
+
+ /**
+ * Open a file using the locators of this FileManager but without location
+ * mapping. Throws RiotNotFoundException if not found.
+ */
+ @Override
+ public InputStream openNoMap(String filenameOrURI) {
+ return streamManager.openNoMap(filenameOrURI) ;
+ }
+
+ /**
+ * Open a file using the locators of this FileManager without location
+ * mapping. Return null if not found
+ */
@Override
- public TypedStream openNoMapOrNull(String filenameOrURI) { return
AdapterLib.convert(streamManager.openNoMapOrNull(filenameOrURI)) ; }
-
+ public TypedStream openNoMapOrNull(String filenameOrURI) {
+ return
AdapterLib.convert(streamManager.openNoMapOrNull(filenameOrURI)) ;
+ }
+
/** @deprecated Use mapURI */
@Deprecated
@Override
- public String remap(String filenameOrURI)
- { return mapURI(filenameOrURI) ; }
+ public String remap(String filenameOrURI) {
+ return mapURI(filenameOrURI) ;
+ }
}
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/LocationMapper.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/LocationMapper.java?rev=1518255&r1=1518254&r2=1518255&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/LocationMapper.java
(original)
+++
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/LocationMapper.java
Wed Aug 28 15:11:17 2013
@@ -51,162 +51,152 @@ public class LocationMapper
/** Create a LocationMapper with no mapping yet */
public LocationMapper() { }
- /** Create a LocationMapper made like another one
- * This is a deep copy of the location and prefix maps..*/
- public LocationMapper(LocationMapper locMapper)
- {
- altLocations.putAll(locMapper.altLocations) ;
- altPrefixes.putAll(locMapper.altPrefixes) ;
+ /** Deep copy of location and prefix maps */
+ @Override
+ public LocationMapper clone() {
+ return clone(this) ;
}
-
- public void copyFrom(LocationMapper lmap2)
- {
+
+ private static LocationMapper clone(LocationMapper other) {
+ LocationMapper mapper = new LocationMapper() ;
+ mapper.altLocations.putAll(other.altLocations) ;
+ mapper.altPrefixes.putAll(other.altPrefixes) ;
+ return mapper ;
+ }
+
+ public void copyFrom(LocationMapper lmap2) {
this.altLocations.putAll(lmap2.altLocations) ;
this.altPrefixes.putAll(lmap2.altPrefixes) ;
}
-
- public String altMapping(String uri)
- {
+
+ public String altMapping(String uri) {
return altMapping(uri, uri) ;
}
- /** Apply mappings: first try for an exact alternative location, then
- * try to remap by prefix, finally, try the special case of filenames
- * in a specific base directory.
+ /**
+ * Apply mappings: first try for an exact alternative location, then try to
+ * remap by prefix, finally, try the special case of filenames in a
specific
+ * base directory.
+ *
* @param uri
* @param otherwise
* @return The alternative location choosen
*/
- public String altMapping(String uri, String otherwise)
- {
- if ( altLocations.containsKey(uri))
+ public String altMapping(String uri, String otherwise) {
+ if ( altLocations.containsKey(uri) )
return altLocations.get(uri) ;
String newStart = null ;
String oldStart = null ;
- for ( Iterator<String> iter = altPrefixes.keySet().iterator() ;
iter.hasNext() ;)
- {
+ for (Iterator<String> iter = altPrefixes.keySet().iterator();
iter.hasNext();) {
String prefix = iter.next() ;
- if ( uri.startsWith(prefix) )
- {
+ if ( uri.startsWith(prefix) ) {
String s = altPrefixes.get(prefix) ;
- if ( newStart == null || newStart.length() < s.length() )
- {
+ if ( newStart == null || newStart.length() < s.length() ) {
oldStart = prefix ;
newStart = s ;
}
}
}
-
+
if ( newStart != null )
- return newStart+uri.substring(oldStart.length()) ;
-
+ return newStart + uri.substring(oldStart.length()) ;
+
return otherwise ;
}
-
- public void addAltEntry(String uri, String alt)
- {
+ public void addAltEntry(String uri, String alt) {
altLocations.put(uri, alt) ;
}
- public void addAltPrefix(String uriPrefix, String altPrefix)
- {
+ public void addAltPrefix(String uriPrefix, String altPrefix) {
altPrefixes.put(uriPrefix, altPrefix) ;
}
- /** Iterate over all the entries registered */
- public Iterator<String> listAltEntries() { return
altLocations.keySet().iterator() ; }
- /** Iterate over all the prefixes registered */
- public Iterator<String> listAltPrefixes() { return
altPrefixes.keySet().iterator() ; }
-
- public void removeAltEntry(String uri)
- {
+ /** Iterate over all the entries registered */
+ public Iterator<String> listAltEntries() {
+ return altLocations.keySet().iterator() ;
+ }
+
+ /** Iterate over all the prefixes registered */
+ public Iterator<String> listAltPrefixes() {
+ return altPrefixes.keySet().iterator() ;
+ }
+
+ public void removeAltEntry(String uri) {
altLocations.remove(uri) ;
}
- public void removeAltPrefix(String uriPrefix)
- {
+ public void removeAltPrefix(String uriPrefix) {
altPrefixes.remove(uriPrefix) ;
}
- public String getAltEntry(String uri)
- {
+
+ public String getAltEntry(String uri) {
return altLocations.get(uri) ;
}
- public String getAltPrefix(String uriPrefix)
- {
+ public String getAltPrefix(String uriPrefix) {
return altPrefixes.get(uriPrefix) ;
}
-
+
@Override
- public int hashCode()
- {
+ public int hashCode() {
int x = 0 ;
x = x ^ altLocations.hashCode() ;
x = x ^ altPrefixes.hashCode() ;
return x ;
}
-
+
@Override
- public boolean equals(Object obj)
- {
- if ( ! ( obj instanceof LocationMapper ) )
+ public boolean equals(Object obj) {
+ if ( !(obj instanceof LocationMapper) )
return false ;
LocationMapper other = (LocationMapper)obj ;
-
- if ( ! this.altLocations.equals(other.altLocations) )
+
+ if ( !this.altLocations.equals(other.altLocations) )
return false ;
-
- if ( ! this.altPrefixes.equals(other.altPrefixes) )
+
+ if ( !this.altPrefixes.equals(other.altPrefixes) )
return false ;
- return true ;
+ return true ;
}
-
+
@Override
- public String toString()
- {
+ public String toString() {
String s = "" ;
- for ( Iterator<String> iter = altLocations.keySet().iterator() ;
iter.hasNext() ; )
- {
+ for (Iterator<String> iter = altLocations.keySet().iterator();
iter.hasNext();) {
String k = iter.next() ;
String v = altLocations.get(k) ;
- s = s+"(Loc:"+k+"=>"+v+") " ;
+ s = s + "(Loc:" + k + "=>" + v + ") " ;
}
- for ( Iterator<String> iter = altPrefixes.keySet().iterator() ;
iter.hasNext() ; )
- {
+ for (Iterator<String> iter = altPrefixes.keySet().iterator();
iter.hasNext();) {
String k = iter.next() ;
String v = altPrefixes.get(k) ;
- s = s+"(Prefix:"+k+"=>"+v+") " ;
+ s = s + "(Prefix:" + k + "=>" + v + ") " ;
}
return s ;
}
-
- public Model toModel()
- {
+
+ public Model toModel() {
Model m = ModelFactory.createDefaultModel() ;
m.setNsPrefix("lmap",
"http://jena.hpl.hp.com/2004/08/location-mapping#") ;
toModel(m) ;
return m ;
}
-
- public void toModel(Model model)
- {
-
- for ( Iterator<String> iter = altLocations.keySet().iterator() ;
iter.hasNext() ; )
- {
+
+ public void toModel(Model model) {
+ for (Iterator<String> iter = altLocations.keySet().iterator();
iter.hasNext();) {
Resource r = model.createResource() ;
Resource e = model.createResource() ;
model.add(r, LocationMappingVocab.mapping, e) ;
-
+
String k = iter.next() ;
String v = altLocations.get(k) ;
model.add(e, LocationMappingVocab.name, k) ;
model.add(e, LocationMappingVocab.altName, v) ;
}
- for ( Iterator<String> iter = altPrefixes.keySet().iterator() ;
iter.hasNext() ; )
- {
+ for (Iterator<String> iter = altPrefixes.keySet().iterator();
iter.hasNext();) {
Resource r = model.createResource() ;
Resource e = model.createResource() ;
model.add(r, LocationMappingVocab.mapping, e) ;
Modified:
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java?rev=1518255&r1=1518254&r2=1518255&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java
(original)
+++
jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/stream/StreamManager.java
Wed Aug 28 15:11:17 2013
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package org.apache.jena.riot.stream;
+package org.apache.jena.riot.stream ;
import java.util.ArrayList ;
import java.util.Collections ;
@@ -27,38 +27,44 @@ import org.apache.jena.riot.RiotNotFound
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
-/** Management of stream opening, including redirecting through a location
mapper
+/**
+ * Management of stream opening, including redirecting through a location
mapper
* whereby a name (e.g. URL) is redirected to another name (e.g. local file).
* Includes filename to IRI, handling ".gz" and "-"
*/
-public class StreamManager
-{
+public class StreamManager {
// Need to combine with IO to do the .gz and "-" things.
-
- private static Logger log = LoggerFactory.getLogger(StreamManager.class) ;
-
- public static boolean logAllLookups = true ;
-
- private List<Locator> handlers = new ArrayList<Locator>() ;
- private LocationMapper mapper = null ;
-
+
+ private static Logger log =
LoggerFactory.getLogger(StreamManager.class) ;
+
+ public static boolean logAllLookups = true ;
+
+ private List<Locator> handlers = new ArrayList<Locator>() ;
+ private LocationMapper mapper = null ;
+
private static StreamManager globalStreamManager ;
-
+
public StreamManager() {}
-
- public StreamManager(StreamManager other) {
- handlers.addAll(other.handlers) ;
- mapper = other.mapper ;
- }
-
- /** Return a default configuration StreamManager
- * with a {@link LocatorFile},
- * {@link LocatorURL},
- * and {@link LocatorClassLoader}
+
+ /** Create a deep copy of this StreamManager */
+ @Override
+ public StreamManager clone() {
+ return clone(this) ;
+ }
+
+ private static StreamManager clone(StreamManager other) {
+ StreamManager sm = new StreamManager() ;
+ sm.handlers.addAll(other.handlers) ;
+ sm.mapper = other.mapper == null ? null : other.mapper.clone() ;
+ return sm ;
+ }
+
+ /**
+ * Return a default configuration StreamManager with a {@link LocatorFile},
+ * {@link LocatorURL}, and {@link LocatorClassLoader}
*/
- public static StreamManager makeDefaultStreamManager()
- {
+ public static StreamManager makeDefaultStreamManager() {
StreamManager streamManager = new StreamManager() ;
streamManager.addLocator(new LocatorFile(null)) ;
streamManager.addLocator(new LocatorURL()) ;
@@ -66,99 +72,106 @@ public class StreamManager
streamManager.setLocationMapper(JenaIOEnvironment.getLocationMapper())
;
return streamManager ;
}
+
+ public static StreamManager get() {
+ return globalStreamManager ;
+ }
+
+ public static void setGlobal(StreamManager streamManager) {
+ globalStreamManager = streamManager ;
+ }
- public static StreamManager get() { return
globalStreamManager ; }
- public static void setGlobal(StreamManager streamManager) {
globalStreamManager = streamManager; }
static { setGlobal(makeDefaultStreamManager()) ; }
-
- /** Open a file using the locators of this FileManager.
- * Returns null if not found.
+
+ /**
+ * Open a file using the locators of this FileManager. Returns null if not
+ * found.
*/
- public TypedInputStream open(String filenameOrURI)
- {
- if ( log.isDebugEnabled())
- log.debug("open("+filenameOrURI+")") ;
-
+ public TypedInputStream open(String filenameOrURI) {
+ if ( log.isDebugEnabled() )
+ log.debug("open(" + filenameOrURI + ")") ;
+
String uri = mapURI(filenameOrURI) ;
-
- if ( log.isDebugEnabled() && ! uri.equals(filenameOrURI) )
- log.debug("open: mapped to "+uri) ;
-
+
+ if ( log.isDebugEnabled() && !uri.equals(filenameOrURI) )
+ log.debug("open: mapped to " + uri) ;
+
return openNoMapOrNull(uri) ;
}
/** Apply the mapping of a filename or URI */
- public String mapURI(String filenameOrURI)
- {
+ public String mapURI(String filenameOrURI) {
if ( mapper == null )
- return filenameOrURI ;
-
+ return filenameOrURI ;
+
String uri = mapper.altMapping(filenameOrURI, null) ;
-
- if ( uri == null )
- {
+
+ if ( uri == null ) {
if ( StreamManager.logAllLookups && log.isDebugEnabled() )
- log.debug("Not mapped: "+filenameOrURI) ;
+ log.debug("Not mapped: " + filenameOrURI) ;
uri = filenameOrURI ;
- }
- else
- {
+ } else {
if ( log.isDebugEnabled() )
- log.debug("Mapped: "+filenameOrURI+" => "+uri) ;
+ log.debug("Mapped: " + filenameOrURI + " => " + uri) ;
}
return uri ;
}
- /** Open a file using the locators of this FileManager
- * but without location mapping. Throws RiotNotFoundException if not
found.*/
- public TypedInputStream openNoMap(String filenameOrURI)
- {
+ /**
+ * Open a file using the locators of this FileManager but without location
+ * mapping. Throws RiotNotFoundException if not found.
+ */
+ public TypedInputStream openNoMap(String filenameOrURI) {
TypedInputStream in = openNoMapOrNull(filenameOrURI) ;
if ( in == null )
throw new RiotNotFoundException(filenameOrURI) ;
return in ;
}
- /** Open a file using the locators of this FileManager
- * without location mapping. Return null if not found
- */
-
- public TypedInputStream openNoMapOrNull(String filenameOrURI)
- {
- for (Locator loc : handlers)
- {
+ /**
+ * Open a file using the locators of this FileManager without location
+ * mapping. Return null if not found
+ */
+
+ public TypedInputStream openNoMapOrNull(String filenameOrURI) {
+ for (Locator loc : handlers) {
TypedInputStream in = loc.open(filenameOrURI) ;
- if ( in != null )
- {
+ if ( in != null ) {
if ( log.isDebugEnabled() )
- log.debug("Found: "+filenameOrURI+" ("+loc.getName()+")") ;
+ log.debug("Found: " + filenameOrURI + " (" + loc.getName()
+ ")") ;
return in ;
}
}
- return null;
+ return null ;
}
/** Set the location mapping */
- public void setLocationMapper(LocationMapper _mapper) { mapper = _mapper ;
}
-
+ public void setLocationMapper(LocationMapper _mapper) {
+ mapper = _mapper ;
+ }
+
/** Get the location mapping */
- public LocationMapper getLocationMapper() { return mapper ; }
-
+ public LocationMapper getLocationMapper() {
+ return mapper ;
+ }
+
/** Return an immutable list of all the handlers */
- public List<Locator> locators() { return
Collections.unmodifiableList(handlers) ; }
+ public List<Locator> locators() {
+ return Collections.unmodifiableList(handlers) ;
+ }
- /** Remove a locator */
- public void remove(Locator loc) { handlers.remove(loc) ; }
+ /** Remove a locator */
+ public void remove(Locator loc) {
+ handlers.remove(loc) ;
+ }
- /** Remove all locators */
- public void clearLocators()
- {
+ /** Remove all locators */
+ public void clearLocators() {
handlers.clear() ;
}
- /** Add a locator to the end of the locators list */
- public void addLocator(Locator loc)
- {
+ /** Add a locator to the end of the locators list */
+ public void addLocator(Locator loc) {
handlers.add(loc) ;
}
}
Modified:
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/adapters/TestFileManager.java
URL:
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/adapters/TestFileManager.java?rev=1518255&r1=1518254&r2=1518255&view=diff
==============================================================================
---
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/adapters/TestFileManager.java
(original)
+++
jena/trunk/jena-arq/src/test/java/org/apache/jena/riot/adapters/TestFileManager.java
Wed Aug 28 15:11:17 2013
@@ -132,7 +132,7 @@ public class TestFileManager extends Tes
public void testFileManagerClone()
{
FileManager fileManager1 = new FileManager() ;
- FileManager fileManager2 = new FileManager(fileManager1) ;
+ FileManager fileManager2 = fileManager1.clone() ;
// Should not affect fileManager2
fileManager1.addLocatorFile() ;