Author: andy
Date: Wed Aug 28 13:37:04 2013
New Revision: 1518203
URL: http://svn.apache.org/r1518203
Log:
JENA-525 : Add cloning operation for AdapterFileManager.
Set the global location mapper with the global StreamManager.
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/StreamManager.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=1518203&r1=1518202&r2=1518203&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 13:37:04 2013
@@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.shared.NotFoundException ;
+import com.hp.hpl.jena.util.FileManager ;
import com.hp.hpl.jena.util.FileUtils ;
import com.hp.hpl.jena.util.TypedStream ;
@@ -122,24 +123,34 @@ public class AdapterFileManager extends
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)) ;
+// /** 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
+ AdapterFileManager x = new AdapterFileManager(sm) ;
+ return x ;
+
}
public AdapterFileManager(StreamManager streamManager)
{
- this(streamManager, (LocationMapper)null) ;
+ this(streamManager,
+ streamManager == null ? null : streamManager.getLocationMapper()
) ;
}
/** Create a FileManger using a RIOT StreamManager and RIOT LocationMapper
*/
@@ -154,7 +165,7 @@ public class AdapterFileManager extends
/** Create a "standard" FileManager. */
public static AdapterFileManager makeGlobal()
{
- AdapterFileManager fMgr = new AdapterFileManager(StreamManager.get(),
JenaIOEnvironment.getLocationMapper()) ;
+ AdapterFileManager fMgr = new AdapterFileManager(StreamManager.get()) ;
return fMgr ;
}
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=1518203&r1=1518202&r2=1518203&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 13:37:04 2013
@@ -47,6 +47,11 @@ public class StreamManager
public StreamManager() {}
+ public StreamManager(StreamManager other) {
+ handlers.addAll(other.handlers) ;
+ mapper = other.mapper ;
+ }
+
/** Return a default configuration StreamManager
* with a {@link LocatorFile},
* {@link LocatorURL},
@@ -58,6 +63,7 @@ public class StreamManager
streamManager.addLocator(new LocatorFile(null)) ;
streamManager.addLocator(new LocatorURL()) ;
streamManager.addLocator(new
LocatorClassLoader(streamManager.getClass().getClassLoader())) ;
+ streamManager.setLocationMapper(JenaIOEnvironment.getLocationMapper())
;
return streamManager ;
}
@@ -131,7 +137,6 @@ public class StreamManager
}
return null;
}
-
/** Set the location mapping */
public void setLocationMapper(LocationMapper _mapper) { mapper = _mapper ;
}