minor tweak to error logging in RDFUploadController
This commit is contained in:
parent
dc35ee1708
commit
c1c494a1cd
1 changed files with 69 additions and 36 deletions
|
@ -43,21 +43,24 @@ import edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.FileUploadServ
|
||||||
public class RDFUploadController extends BaseEditController {
|
public class RDFUploadController extends BaseEditController {
|
||||||
|
|
||||||
private static int maxFileSizeInBytes = 1024 * 1024 * 2000; //2000mb
|
private static int maxFileSizeInBytes = 1024 * 1024 * 2000; //2000mb
|
||||||
private static FileItem fileStream=null;
|
private static FileItem fileStream = null;
|
||||||
private static final String INGEST_MENU_JSP = "/jenaIngest/ingestMenu.jsp";
|
private static final String INGEST_MENU_JSP = "/jenaIngest/ingestMenu.jsp";
|
||||||
private static final String LOAD_RDF_DATA_JSP = "/jenaIngest/loadRDFData.jsp";
|
private static final String LOAD_RDF_DATA_JSP="/jenaIngest/loadRDFData.jsp";
|
||||||
private static final String LIST_MODELS_JSP = "/jenaIngest/listModels.jsp";
|
private static final String LIST_MODELS_JSP = "/jenaIngest/listModels.jsp";
|
||||||
|
|
||||||
public void doPost(HttpServletRequest rawRequest,
|
public void doPost(HttpServletRequest rawRequest,
|
||||||
HttpServletResponse response) throws ServletException, IOException {
|
HttpServletResponse response) throws ServletException, IOException {
|
||||||
if (!isAuthorizedToDisplayPage(rawRequest, response, new Actions(new UseAdvancedDataToolsPages()))) {
|
if (!isAuthorizedToDisplayPage(rawRequest, response, new Actions(
|
||||||
|
new UseAdvancedDataToolsPages()))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FileUploadServletRequest req = FileUploadServletRequest.parseRequest(rawRequest,
|
FileUploadServletRequest req = FileUploadServletRequest.parseRequest(
|
||||||
maxFileSizeInBytes);
|
rawRequest, maxFileSizeInBytes);
|
||||||
if (req.hasFileUploadException()) {
|
if (req.hasFileUploadException()) {
|
||||||
forwardToFileUploadError(req.getFileUploadException().getLocalizedMessage(), req, response);
|
forwardToFileUploadError(
|
||||||
|
req.getFileUploadException().getLocalizedMessage(),
|
||||||
|
req, response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,11 +80,13 @@ public class RDFUploadController extends BaseEditController {
|
||||||
|
|
||||||
String languageStr = request.getParameter("language");
|
String languageStr = request.getParameter("language");
|
||||||
|
|
||||||
boolean makeClassgroups = (request.getParameter("makeClassgroups") != null);
|
boolean makeClassgroups =
|
||||||
|
(request.getParameter("makeClassgroups") != null);
|
||||||
|
|
||||||
// add directly to the ABox model without reading first into
|
// add directly to the ABox model without reading first into
|
||||||
// a temporary in-memory model
|
// a temporary in-memory model
|
||||||
boolean directRead = ("directAddABox".equals(request.getParameter("mode")));
|
boolean directRead = ("directAddABox".equals(request.getParameter(
|
||||||
|
"mode")));
|
||||||
|
|
||||||
String uploadDesc ="";
|
String uploadDesc ="";
|
||||||
|
|
||||||
|
@ -95,38 +100,47 @@ public class RDFUploadController extends BaseEditController {
|
||||||
try {
|
try {
|
||||||
uploadModel.enterCriticalSection(Lock.WRITE);
|
uploadModel.enterCriticalSection(Lock.WRITE);
|
||||||
try {
|
try {
|
||||||
uploadModel.read(RDFUrlStr, languageStr); // languageStr may be null and default would be RDF/XML
|
uploadModel.read(RDFUrlStr, languageStr);
|
||||||
|
// languageStr may be null and default would be RDF/XML
|
||||||
} finally {
|
} finally {
|
||||||
uploadModel.leaveCriticalSection();
|
uploadModel.leaveCriticalSection();
|
||||||
}
|
}
|
||||||
uploadDesc = verb + " RDF from " + RDFUrlStr;
|
uploadDesc = verb + " RDF from " + RDFUrlStr;
|
||||||
} catch (JenaException ex){
|
} catch (JenaException ex){
|
||||||
forwardToFileUploadError("Could not parse file to " + languageStr + ": " + ex.getMessage(), req, response);
|
forwardToFileUploadError("Could not parse file to " +
|
||||||
|
languageStr + ": " + ex.getMessage(), req, response);
|
||||||
return;
|
return;
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
forwardToFileUploadError("Could not load from URL: " + e.getMessage(), req, response);
|
forwardToFileUploadError("Could not load from URL: " +
|
||||||
|
e.getMessage(), req, response);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* **************** upload RDF from POST ********************* */
|
/* **************** upload RDF from POST ********************* */
|
||||||
if( fileStreams.get("rdfStream") != null && fileStreams.get("rdfStream").size() > 0 ){
|
if( fileStreams.get("rdfStream") != null
|
||||||
|
&& fileStreams.get("rdfStream").size() > 0 ) {
|
||||||
FileItem rdfStream = fileStreams.get("rdfStream").get(0);
|
FileItem rdfStream = fileStreams.get("rdfStream").get(0);
|
||||||
try {
|
try {
|
||||||
uploadModel.enterCriticalSection(Lock.WRITE);
|
uploadModel.enterCriticalSection(Lock.WRITE);
|
||||||
try {
|
try {
|
||||||
uploadModel.read( rdfStream.getInputStream(), null, languageStr);
|
uploadModel.read(
|
||||||
|
rdfStream.getInputStream(), null, languageStr);
|
||||||
} finally {
|
} finally {
|
||||||
uploadModel.leaveCriticalSection();
|
uploadModel.leaveCriticalSection();
|
||||||
}
|
}
|
||||||
uploadDesc = verb + " RDF from file " + rdfStream.getName();
|
uploadDesc = verb + " RDF from file " + rdfStream.getName();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
forwardToFileUploadError("Could not read file: " + e.getLocalizedMessage(), req, response);
|
forwardToFileUploadError("Could not read file: " +
|
||||||
|
e.getLocalizedMessage(), req, response);
|
||||||
return;
|
return;
|
||||||
}catch (JenaException ex){
|
}catch (JenaException ex){
|
||||||
forwardToFileUploadError("Could not parse file to " + languageStr + ": " + ex.getMessage(), req, response);
|
forwardToFileUploadError("Could not parse file to " +
|
||||||
|
languageStr + ": " + ex.getMessage(),
|
||||||
|
req, response);
|
||||||
return;
|
return;
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
forwardToFileUploadError("Could not load from file: " + e.getMessage(), req, response);
|
forwardToFileUploadError("Could not load from file: " +
|
||||||
|
e.getMessage(), req, response);
|
||||||
return;
|
return;
|
||||||
}finally{
|
}finally{
|
||||||
rdfStream.delete();
|
rdfStream.delete();
|
||||||
|
@ -167,15 +181,17 @@ public class RDFUploadController extends BaseEditController {
|
||||||
makeClassgroups,
|
makeClassgroups,
|
||||||
loginBean.getUserURI());
|
loginBean.getUserURI());
|
||||||
}
|
}
|
||||||
request.setAttribute("uploadDesc", uploadDesc + ". " + verb + " " + (tboxstmtCount + aboxstmtCount) + " statements.");
|
request.setAttribute("uploadDesc", uploadDesc + ". " + verb + " " +
|
||||||
|
(tboxstmtCount + aboxstmtCount) + " statements.");
|
||||||
} else {
|
} else {
|
||||||
request.setAttribute("uploadDesc", "RDF upload successful.");
|
request.setAttribute("uploadDesc", "RDF upload successful.");
|
||||||
}
|
}
|
||||||
|
|
||||||
RequestDispatcher rd = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
RequestDispatcher rd = request.getRequestDispatcher(
|
||||||
request.setAttribute("bodyJsp","/templates/edit/specific/upload_rdf_result.jsp");
|
Controllers.BASIC_JSP);
|
||||||
|
request.setAttribute(
|
||||||
|
"bodyJsp", "/templates/edit/specific/upload_rdf_result.jsp");
|
||||||
request.setAttribute("title","Ingest RDF Data");
|
request.setAttribute("title","Ingest RDF Data");
|
||||||
request.setAttribute("css", "<link rel=\"stylesheet\" type=\"text/css\" href=\""+request.getAppBean().getThemeDir()+"css/edit.css\"/>");
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
rd.forward(request, response);
|
rd.forward(request, response);
|
||||||
|
@ -185,7 +201,9 @@ public class RDFUploadController extends BaseEditController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadRDF(FileUploadServletRequest req,
|
public void loadRDF(FileUploadServletRequest req,
|
||||||
VitroRequest request,HttpServletResponse response) throws ServletException, IOException {
|
VitroRequest request,
|
||||||
|
HttpServletResponse response)
|
||||||
|
throws ServletException, IOException {
|
||||||
Map<String, List<FileItem>> fileStreams = req.getFiles();
|
Map<String, List<FileItem>> fileStreams = req.getFiles();
|
||||||
String filePath = fileStreams.get("filePath").get(0).getName();
|
String filePath = fileStreams.get("filePath").get(0).getName();
|
||||||
fileStream = fileStreams.get("filePath").get(0);
|
fileStream = fileStreams.get("filePath").get(0);
|
||||||
|
@ -205,15 +223,15 @@ public class RDFUploadController extends BaseEditController {
|
||||||
request.setAttribute("bodyJsp",LOAD_RDF_DATA_JSP);
|
request.setAttribute("bodyJsp",LOAD_RDF_DATA_JSP);
|
||||||
}
|
}
|
||||||
|
|
||||||
RequestDispatcher rd = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
RequestDispatcher rd = request.getRequestDispatcher(
|
||||||
request.setAttribute("css", "<link rel=\"stylesheet\" type=\"text/css\" href=\""+request.getAppBean().getThemeDir()+"css/edit.css\"/>");
|
Controllers.BASIC_JSP);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
rd.forward(request, response);
|
rd.forward(request, response);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println(this.getClass().getName()+" could not forward to view.");
|
String errMsg = " could not forward to view.";
|
||||||
System.out.println(e.getMessage());
|
log.error(errMsg, e);
|
||||||
System.out.println(e.getStackTrace());
|
throw new ServletException(errMsg, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -259,7 +277,11 @@ public class RDFUploadController extends BaseEditController {
|
||||||
return changesModel.size();
|
return changesModel.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doLoadRDFData(String modelName, String docLoc, String filePath, String language, ModelMaker modelMaker) {
|
private void doLoadRDFData(String modelName,
|
||||||
|
String docLoc,
|
||||||
|
String filePath,
|
||||||
|
String language,
|
||||||
|
ModelMaker modelMaker) {
|
||||||
Model m = modelMaker.getModel(modelName);
|
Model m = modelMaker.getModel(modelName);
|
||||||
m.enterCriticalSection(Lock.WRITE);
|
m.enterCriticalSection(Lock.WRITE);
|
||||||
try {
|
try {
|
||||||
|
@ -276,14 +298,15 @@ public class RDFUploadController extends BaseEditController {
|
||||||
}
|
}
|
||||||
for (int i=0; i<files.length; i++) {
|
for (int i=0; i<files.length; i++) {
|
||||||
File currentFile = files[i];
|
File currentFile = files[i];
|
||||||
log.info("Reading file "+currentFile.getName());
|
log.debug("Reading file " + currentFile.getName());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
m.read(fileStream.getInputStream(), null, language);
|
m.read(fileStream.getInputStream(), null, language);
|
||||||
fileStream.delete();
|
fileStream.delete();
|
||||||
} catch (IOException ioe) {
|
} catch (IOException ioe) {
|
||||||
throw new RuntimeException(ioe);
|
String errMsg = "Error loading RDF from " +
|
||||||
|
currentFile.getName();
|
||||||
|
log.error(errMsg, ioe);
|
||||||
|
throw new RuntimeException(errMsg, ioe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -292,20 +315,29 @@ public class RDFUploadController extends BaseEditController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void forwardToFileUploadError( String errrorMsg , HttpServletRequest req, HttpServletResponse response) throws ServletException{
|
private void forwardToFileUploadError( String errrorMsg ,
|
||||||
|
HttpServletRequest req,
|
||||||
|
HttpServletResponse response)
|
||||||
|
throws ServletException{
|
||||||
req.setAttribute("errors", errrorMsg);
|
req.setAttribute("errors", errrorMsg);
|
||||||
RequestDispatcher rd = req.getRequestDispatcher("/edit/fileUploadError.jsp");
|
RequestDispatcher rd = req.getRequestDispatcher(
|
||||||
|
"/edit/fileUploadError.jsp");
|
||||||
try {
|
try {
|
||||||
rd.forward(req, response);
|
rd.forward(req, response);
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
log.error(e1);
|
||||||
throw new ServletException(e1);
|
throw new ServletException(e1);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModelMaker getVitroJenaModelMaker(HttpServletRequest request) {
|
private ModelMaker getVitroJenaModelMaker(HttpServletRequest request) {
|
||||||
ModelMaker myVjmm = (ModelMaker) request.getSession().getAttribute("vitroJenaModelMaker");
|
ModelMaker myVjmm = (ModelMaker) request.getSession().getAttribute(
|
||||||
myVjmm = (myVjmm == null) ? (ModelMaker) getServletContext().getAttribute("vitroJenaModelMaker") : myVjmm;
|
"vitroJenaModelMaker");
|
||||||
|
myVjmm = (myVjmm == null)
|
||||||
|
? (ModelMaker) getServletContext().getAttribute(
|
||||||
|
"vitroJenaModelMaker")
|
||||||
|
: myVjmm;
|
||||||
return new VitroJenaSpecialModelMaker(myVjmm, request);
|
return new VitroJenaSpecialModelMaker(myVjmm, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,5 +367,6 @@ public class RDFUploadController extends BaseEditController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(RDFUploadController.class.getName());
|
private static final Log log = LogFactory.getLog(
|
||||||
|
RDFUploadController.class.getName());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue