NIHVIVO-3799 don't require mark/reset support on model InputStream

This commit is contained in:
stellamit 2012-06-20 19:03:19 +00:00
parent d1336f05b2
commit 66f041443d

View file

@ -10,6 +10,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openrdf.model.Resource;
@ -140,6 +141,10 @@ public class RDFServiceSparql extends RDFServiceImpl implements RDFService {
Iterator<ModelChange> csIt = changeSet.getModelChanges().iterator();
while (csIt.hasNext()) {
ModelChange modelChange = csIt.next();
if (!modelChange.getSerializedModel().markSupported()) {
byte[] bytes = IOUtils.toByteArray(modelChange.getSerializedModel());
modelChange.setSerializedModel(new ByteArrayInputStream(bytes));
}
modelChange.getSerializedModel().mark(Integer.MAX_VALUE);
performChange(modelChange);
}