[VIVO-1851] - Add 'remove' option to named graph management page (#162)

* Add 'remove' option to named graph management page

Resolves: https://jira.lyrasis.org/browse/VIVO-1851
This commit is contained in:
Ben 2020-05-13 11:19:52 -06:00 committed by GitHub
parent 6d30a0fcd4
commit 42c69ef04b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 6 deletions

View file

@ -270,6 +270,7 @@ public class RDFUploadController extends JenaIngestController {
String modelName = request.getParameter("modelName");
String docLoc = request.getParameter("docLoc");
String languageStr = request.getParameter("language");
boolean remove = "remove".equals(request.getParameter("mode"));
ModelMaker maker = getModelMaker(request);
String bodyJsp;
@ -279,7 +280,7 @@ public class RDFUploadController extends JenaIngestController {
} else {
RDFService rdfService = getRDFService(request, maker, modelName);
try {
doLoadRDFData(modelName, docLoc, filePath, languageStr, rdfService);
doLoadRDFData(modelName, docLoc, filePath, languageStr, rdfService, remove);
} finally {
rdfService.close();
}
@ -378,12 +379,19 @@ public class RDFUploadController extends JenaIngestController {
String docLoc,
String filePath,
String language,
RDFService rdfService) {
RDFService rdfService,
boolean remove) {
try {
if ( (docLoc != null) && (docLoc.length()>0) ) {
URL docLocURL = new URL(docLoc);
InputStream in = docLocURL.openStream();
readIntoModel(in, language, rdfService, modelName);
if(!remove) {
readIntoModel(in, language, rdfService,
modelName);
} else {
removeFromModel(in, language, rdfService,
modelName);
}
} else if ( (filePath != null) && (filePath.length()>0) ) {
File file = new File(filePath);
File[] files;
@ -396,8 +404,13 @@ public class RDFUploadController extends JenaIngestController {
for (File currentFile : files) {
log.debug("Reading file " + currentFile.getName());
try {
readIntoModel(fileStream.getInputStream(), language,
rdfService, modelName);
if(!remove) {
readIntoModel(fileStream.getInputStream(), language, rdfService,
modelName);
} else {
removeFromModel(fileStream.getInputStream(), language, rdfService,
modelName);
}
fileStream.delete();
} catch (IOException ioe) {
String errMsg = "Error loading RDF from " +