[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 " +

View file

@ -56,7 +56,7 @@ function init(){
<input type="hidden" name="action" value="loadRDFData"/>
<input type="hidden" name="modelName" value="${modelName}"/>
<input type="hidden" name="modelType" value="${modelType}"/>
<input type="submit" name="submit" value="load RDF data"/>
<input type="submit" name="submit" value="add/remove RDF data"/>
</form>
</td>
<td>

View file

@ -15,6 +15,11 @@
<p>Or upload a file from your computer:</p>
<p><input type="file" name="filePath" /></p>
<ul style="list-style-type:none;">
<li><input type="radio" name="mode" value="directAddABox" checked="checked"/>add RDF data</li>
<li><input type="radio" name="mode" value="remove"/>remove RDF data</li>
</ul>
<select name="language">
<option value="RDF/XML">RDF/XML</option>
<option value="N3">N3</option>