NIHVIVO-2215 preparatory refactoring of JenaIngestController
This commit is contained in:
parent
c492a4c397
commit
53d6dc7019
1 changed files with 653 additions and 629 deletions
|
@ -74,7 +74,6 @@ import edu.cornell.mannlib.vitro.webapp.dao.jena.VitroJenaSDBModelMaker;
|
|||
import edu.cornell.mannlib.vitro.webapp.dao.jena.VitroJenaSpecialModelMaker;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
|
||||
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetup;
|
||||
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase;
|
||||
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestUtils;
|
||||
import edu.cornell.mannlib.vitro.webapp.utils.jena.JenaIngestWorkflowProcessor;
|
||||
import edu.cornell.mannlib.vitro.webapp.utils.jena.WorkflowOntology;
|
||||
|
@ -83,8 +82,6 @@ public class JenaIngestController extends BaseEditController {
|
|||
|
||||
private static final Log log = LogFactory.getLog(JenaIngestController.class);
|
||||
|
||||
private OntModelSpec ONT_MODEL_SPEC = OntModelSpec.OWL_MEM;
|
||||
|
||||
private static final String INGEST_MENU_JSP = "/jenaIngest/ingestMenu.jsp";
|
||||
private static final String LIST_MODELS_JSP = "/jenaIngest/listModels.jsp";
|
||||
private static final String CREATE_MODEL_JSP = "/jenaIngest/createModel.jsp";
|
||||
|
@ -111,7 +108,8 @@ public class JenaIngestController extends BaseEditController {
|
|||
|
||||
@Override
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response){
|
||||
if (!isAuthorizedToDisplayPage(request, response, new Actions(new UseAdvancedDataToolsPages()))) {
|
||||
if (!isAuthorizedToDisplayPage(request, response, new Actions(
|
||||
new UseAdvancedDataToolsPages()))) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -122,9 +120,84 @@ public class JenaIngestController extends BaseEditController {
|
|||
String actionStr = vreq.getParameter("action");
|
||||
actionStr = (actionStr != null) ? actionStr : "";
|
||||
String modelType = vreq.getParameter("modelType");
|
||||
|
||||
if("listModels".equals(actionStr)) {
|
||||
processListModelsRequest(vreq, maker, modelType);
|
||||
} else if("rdbModels".equals(actionStr)){
|
||||
processRDBModelsRequest(vreq, maker, modelType);
|
||||
} else if("sdbModels".equals(actionStr)){
|
||||
processSDBModelsRequest(vreq, maker, modelType);
|
||||
} else if("createModel".equals(actionStr)) {
|
||||
processCreateModelRequest(vreq, maker, modelType);
|
||||
} else if("removeModel".equals(actionStr)) {
|
||||
processRemoveModelRequest(vreq, maker, modelType);
|
||||
} else if("loadRDFData".equals(actionStr)) {
|
||||
processLoadRDFDataRequest(vreq, maker, modelType);
|
||||
} else if("cleanLiterals".equals(actionStr)) {
|
||||
processCleanLiteralsRequest(vreq, maker, modelType);
|
||||
} else if("outputModel".equals(actionStr)) {
|
||||
processOutputModelRequest(vreq, response, maker, modelType);
|
||||
} else if("clearModel".equals(actionStr)) {
|
||||
processClearModelRequest(vreq, maker, modelType);
|
||||
} else if("setWriteLayer".equals(actionStr)) {
|
||||
processSetWriteLayerRequest(vreq, maker, modelType);
|
||||
} else if("attachModel".equals(actionStr)) {
|
||||
processAttachModelRequest(vreq, maker, modelType);
|
||||
} else if("detachModel".equals(actionStr)) {
|
||||
processDetachModelRequest(vreq, maker, modelType);
|
||||
} else if("renameBNodes".equals(actionStr)) {
|
||||
processRenameBNodesRequest(vreq, maker, modelType);
|
||||
} else if("renameBNodesURISelect".equals(actionStr)){
|
||||
processRenameBNodesURISelectRequest(vreq, maker, modelType);
|
||||
} else if("smushSingleModel".equals(actionStr)) {
|
||||
processSmushSingleModelRequest(vreq, maker, modelType);
|
||||
} else if("connectDB".equals(actionStr)) {
|
||||
processConnectDBRequest(vreq, maker, modelType);
|
||||
} else if("csv2rdf".equals(actionStr)) {
|
||||
processCsv2rdfRequest(vreq, maker, modelType);
|
||||
} else if("processStrings".equals(actionStr)) {
|
||||
processProcessStringsRequest(vreq, maker, modelType);
|
||||
} else if("splitPropertyValues".equals(actionStr)) {
|
||||
processSplitPropertyValuesRequest(vreq, maker, modelType);
|
||||
} else if("subtractModels".equals(actionStr)) {
|
||||
processSubtractModelRequest(vreq, maker, modelType);
|
||||
} else if("executeWorkflow".equals(actionStr)) {
|
||||
processExecuteWorkflowRequest(vreq, maker, modelType);
|
||||
} else if("executeSparql".equals(actionStr)) {
|
||||
processExecuteSparqlRequest(vreq, maker, modelType);
|
||||
} else if ("generateTBox".equals(actionStr)) {
|
||||
processGenerateTBoxRequest(vreq, maker, modelType);
|
||||
} else if("permanentURI".equals(actionStr)){
|
||||
processPermanentURIRequest(vreq, maker, modelType);
|
||||
} else if("mergeIndividuals".equals(actionStr)){
|
||||
processMergeIndividualRequest(vreq, maker, modelType);
|
||||
} else if("renameResource".equals(actionStr)){
|
||||
processRenameResourceRequest(vreq, response, maker, modelType);
|
||||
} else if("mergeResult".equals(actionStr)){
|
||||
processMergeResultRequest(vreq, response, maker, modelType);
|
||||
}
|
||||
|
||||
else {
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
}
|
||||
|
||||
RequestDispatcher rd = request.getRequestDispatcher(
|
||||
Controllers.BASIC_JSP);
|
||||
request.setAttribute("css",
|
||||
"<link rel=\"stylesheet\" type=\"text/css\" href=\"" +
|
||||
vreq.getAppBean().getThemeDir() + "css/edit.css\"/>");
|
||||
|
||||
try {
|
||||
rd.forward(request, response);
|
||||
} catch (Exception e) {
|
||||
log.error(e,e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void processListModelsRequest(VitroRequest vreq, ModelMaker maker, String modelType ) {
|
||||
String modelT = (String)getServletContext().getAttribute("modelT");
|
||||
String info = (String)getServletContext().getAttribute("info");
|
||||
if(modelT == null){
|
||||
boolean initialSwitch = true; // SDB mode initially
|
||||
if(initialSwitch){
|
||||
|
@ -137,69 +210,94 @@ public class JenaIngestController extends BaseEditController {
|
|||
}
|
||||
}
|
||||
if(modelT.equals("rdb")){
|
||||
request.setAttribute("modelType", "rdb");
|
||||
request.setAttribute("infoLine", "RDB models");
|
||||
vreq.setAttribute("modelType", "rdb");
|
||||
vreq.setAttribute("infoLine", "RDB models");
|
||||
}
|
||||
else{
|
||||
request.setAttribute("modelType", "sdb");
|
||||
request.setAttribute("infoLine", "SDB models");
|
||||
vreq.setAttribute("modelType", "sdb");
|
||||
vreq.setAttribute("infoLine", "SDB models");
|
||||
}
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}else if("rdbModels".equals(actionStr)){
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processRDBModelsRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
VitroJenaModelMaker vjmm = (VitroJenaModelMaker) getServletContext().getAttribute("vitroJenaModelMaker");
|
||||
vreq.getSession().setAttribute("vitroJenaModelMaker", vjmm);
|
||||
getServletContext().setAttribute("modelT", "rdb");
|
||||
getServletContext().setAttribute("info", "RDB models");
|
||||
request.setAttribute("modelType", "rdb");
|
||||
request.setAttribute("infoLine", "RDB models");
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}else if("sdbModels".equals(actionStr)){
|
||||
vreq.setAttribute("modelType", "rdb");
|
||||
vreq.setAttribute("infoLine", "RDB models");
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processSDBModelsRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
VitroJenaSDBModelMaker vsmm = (VitroJenaSDBModelMaker) getServletContext().getAttribute("vitroJenaSDBModelMaker");
|
||||
vreq.getSession().setAttribute("vitroJenaModelMaker", vsmm);
|
||||
getServletContext().setAttribute("modelT", "sdb");
|
||||
getServletContext().setAttribute("info", "SDB models");
|
||||
request.setAttribute("modelType", "sdb");
|
||||
request.setAttribute("infoLine", "SDB models");
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
} else if ("createModel".equals(actionStr)) {
|
||||
vreq.setAttribute("modelType", "sdb");
|
||||
vreq.setAttribute("infoLine", "SDB models");
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processCreateModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName != null) {
|
||||
if(modelType.equals("sdb")){
|
||||
maker = (VitroJenaSDBModelMaker) getServletContext().getAttribute("vitroJenaSDBModelMaker");
|
||||
request.setAttribute("modelType", "sdb");
|
||||
request.setAttribute("infoLine", "SDB models");
|
||||
vreq.setAttribute("modelType", "sdb");
|
||||
vreq.setAttribute("infoLine", "SDB models");
|
||||
}
|
||||
else{
|
||||
request.setAttribute("modelType", "rdb");
|
||||
request.setAttribute("infoLine", "RDB models");
|
||||
vreq.setAttribute("modelType", "rdb");
|
||||
vreq.setAttribute("infoLine", "RDB models");
|
||||
}
|
||||
doCreateModel(modelName, maker);
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
} else {
|
||||
request.setAttribute("modelType", modelType);
|
||||
request.setAttribute("title","Create New Model");
|
||||
request.setAttribute("bodyJsp",CREATE_MODEL_JSP);
|
||||
vreq.setAttribute("modelType", modelType);
|
||||
vreq.setAttribute("title","Create New Model");
|
||||
vreq.setAttribute("bodyJsp",CREATE_MODEL_JSP);
|
||||
}
|
||||
} else if ("removeModel".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processRemoveModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
if(modelType.equals("sdb")){
|
||||
request.setAttribute("modelType", "sdb");
|
||||
request.setAttribute("infoLine", "SDB models");
|
||||
vreq.setAttribute("modelType", "sdb");
|
||||
vreq.setAttribute("infoLine", "SDB models");
|
||||
}
|
||||
else{
|
||||
request.setAttribute("modelType", "rdb");
|
||||
request.setAttribute("infoLine", "RDB models");
|
||||
vreq.setAttribute("modelType", "rdb");
|
||||
vreq.setAttribute("infoLine", "RDB models");
|
||||
}
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName!=null) {
|
||||
doRemoveModel(modelName, maker);
|
||||
}
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
} else if ("loadRDFData".equals(actionStr)) {
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processClearModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
if(modelType.equals("sdb")){
|
||||
vreq.setAttribute("infoLine", "SDB models");
|
||||
}
|
||||
else{
|
||||
vreq.setAttribute("infoLine", "RDB models");
|
||||
}
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName != null) {
|
||||
doClearModel(modelName,maker);
|
||||
}
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processLoadRDFDataRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String docLoc = vreq.getParameter("docLoc");
|
||||
String filePath = vreq.getParameter("filePath");
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
|
@ -207,19 +305,18 @@ public class JenaIngestController extends BaseEditController {
|
|||
String language = ( (languageParam = vreq.getParameter("language")) != null) ? languageParam : "RDF/XML";
|
||||
if (docLoc!=null && modelName != null) {
|
||||
doLoadRDFData(modelName,docLoc,filePath,language,maker);
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Load RDF Data");
|
||||
request.setAttribute("bodyJsp",LOAD_RDF_DATA_JSP);
|
||||
vreq.setAttribute("title","Load RDF Data");
|
||||
vreq.setAttribute("bodyJsp",LOAD_RDF_DATA_JSP);
|
||||
}
|
||||
} else if ("cleanLiterals".equals(actionStr)) {
|
||||
String modelNameStr = vreq.getParameter("modelName");
|
||||
Model model = getModel(modelNameStr,vreq);
|
||||
doCleanLiterals(model);
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
} else if ("outputModel".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processOutputModelRequest(VitroRequest vreq,
|
||||
HttpServletResponse response,
|
||||
ModelMaker maker,
|
||||
String modelType) {
|
||||
String modelNameStr = vreq.getParameter("modelName");
|
||||
Model model = getModel(modelNameStr,vreq);
|
||||
model.enterCriticalSection(Lock.READ);
|
||||
|
@ -244,74 +341,77 @@ public class JenaIngestController extends BaseEditController {
|
|||
model.leaveCriticalSection();
|
||||
}
|
||||
return;
|
||||
} else if ("clearModel".equals(actionStr)) {
|
||||
if(modelType.equals("sdb")){
|
||||
request.setAttribute("infoLine", "SDB models");
|
||||
}
|
||||
else{
|
||||
request.setAttribute("infoLine", "RDB models");
|
||||
|
||||
private void processCleanLiteralsRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String modelNameStr = vreq.getParameter("modelName");
|
||||
Model model = getModel(modelNameStr,vreq);
|
||||
doCleanLiterals(model);
|
||||
vreq.setAttribute("title","Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
}
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName != null) {
|
||||
doClearModel(modelName,maker);
|
||||
|
||||
private void processSetWriteLayerRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
// String modelName = vreq.getParameter("modelName");
|
||||
// if (modelName != null) {
|
||||
// OntModel mainModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
|
||||
// WebappDaoFactoryJena existingDaoFactory = null;
|
||||
// try {
|
||||
// existingDaoFactory = (WebappDaoFactoryJena) getServletContext().getAttribute("webappDaoFactory");
|
||||
// } catch (Exception e) {}
|
||||
// Model writeModel = maker.getModel(modelName);
|
||||
// Model dynamicUnion = ModelFactory.createUnion(writeModel,mainModel);
|
||||
// OntModel ontModelForDaos = ModelFactory.createOntologyModel(ONT_MODEL_SPEC, dynamicUnion);
|
||||
// WebappDaoFactory wadf = new WebappDaoFactoryJena(new SimpleOntModelSelector(ontModelForDaos), (existingDaoFactory != null) ? existingDaoFactory.getDefaultNamespace() : null, null, null);
|
||||
// request.getSession().setAttribute("webappDaoFactory", wadf);
|
||||
// request.getSession().setAttribute("jenaOntModel",ontModelForDaos);
|
||||
// System.out.println("Setting jenaOntModel session attribute");
|
||||
// Model baseModel = (OntModel) getServletContext().getAttribute("baseOntModel");
|
||||
// OntModel ontModelForAssertions = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM,ModelFactory.createUnion(writeModel,baseModel));
|
||||
// request.getSession().setAttribute("assertionsWebappDaoFactory", new WebappDaoFactoryJena(new SimpleOntModelSelector(ontModelForAssertions)));
|
||||
// request.getSession().setAttribute("baseOntModel", ontModelForAssertions);
|
||||
// }
|
||||
// request.setAttribute("title","Ingest Menu");
|
||||
// request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
}
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
/*else if ("setWriteLayer".equals(actionStr)) {
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName != null) {
|
||||
OntModel mainModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
|
||||
WebappDaoFactoryJena existingDaoFactory = null;
|
||||
try {
|
||||
existingDaoFactory = (WebappDaoFactoryJena) getServletContext().getAttribute("webappDaoFactory");
|
||||
} catch (Exception e) {}
|
||||
Model writeModel = maker.getModel(modelName);
|
||||
Model dynamicUnion = ModelFactory.createUnion(writeModel,mainModel);
|
||||
OntModel ontModelForDaos = ModelFactory.createOntologyModel(ONT_MODEL_SPEC, dynamicUnion);
|
||||
WebappDaoFactory wadf = new WebappDaoFactoryJena(new SimpleOntModelSelector(ontModelForDaos), (existingDaoFactory != null) ? existingDaoFactory.getDefaultNamespace() : null, null, null);
|
||||
request.getSession().setAttribute("webappDaoFactory", wadf);
|
||||
request.getSession().setAttribute("jenaOntModel",ontModelForDaos);
|
||||
System.out.println("Setting jenaOntModel session attribute");
|
||||
Model baseModel = (OntModel) getServletContext().getAttribute("baseOntModel");
|
||||
OntModel ontModelForAssertions = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM,ModelFactory.createUnion(writeModel,baseModel));
|
||||
request.getSession().setAttribute("assertionsWebappDaoFactory", new WebappDaoFactoryJena(new SimpleOntModelSelector(ontModelForAssertions)));
|
||||
request.getSession().setAttribute("baseOntModel", ontModelForAssertions);
|
||||
}
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
} */
|
||||
else if ("attachModel".equals(actionStr)) {
|
||||
|
||||
private void processAttachModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName != null) {
|
||||
doAttachModel(modelName,maker);
|
||||
}
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
} else if ("detachModel".equals(actionStr)) {
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processDetachModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
if (modelName != null) {
|
||||
doDetachModel(modelName,maker);
|
||||
}
|
||||
//request.setAttribute("title","Ingest Menu");
|
||||
//request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
request.setAttribute("title","Available Models");
|
||||
request.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
} else if ("renameBNodes".equals(actionStr)) {
|
||||
vreq.setAttribute("title","Available Models");
|
||||
vreq.setAttribute("bodyJsp",LIST_MODELS_JSP);
|
||||
}
|
||||
|
||||
private void processRenameBNodesRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String[] sourceModel = vreq.getParameterValues("sourceModelName");
|
||||
Model model = ModelFactory.createDefaultModel();
|
||||
JenaIngestUtils utils = new JenaIngestUtils();
|
||||
if(sourceModel!=null && sourceModel.length!=0){
|
||||
Map<String,LinkedList<String>> propertyMap = utils.generatePropertyMap(sourceModel, model, maker);
|
||||
getServletContext().setAttribute("sourceModel",sourceModel);
|
||||
request.setAttribute("propertyMap", propertyMap);
|
||||
request.setAttribute("title","URI Select");
|
||||
request.setAttribute("bodyJsp",RENAME_BNODES_URI_SELECT_JSP);
|
||||
vreq.setAttribute("propertyMap", propertyMap);
|
||||
vreq.setAttribute("title","URI Select");
|
||||
vreq.setAttribute("bodyJsp",RENAME_BNODES_URI_SELECT_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Rename Blank Nodes");
|
||||
request.setAttribute("bodyJsp",RENAME_BNODES_JSP);
|
||||
vreq.setAttribute("title","Rename Blank Nodes");
|
||||
vreq.setAttribute("bodyJsp",RENAME_BNODES_JSP);
|
||||
}
|
||||
}else if("renameBNodesURISelect".equals(actionStr)){
|
||||
}
|
||||
|
||||
private void processRenameBNodesURISelectRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String namespaceEtcStr = vreq.getParameter("namespaceEtcStr");
|
||||
String pattern = vreq.getParameter("pattern");
|
||||
String concatenate = vreq.getParameter("concatenate");
|
||||
|
@ -324,25 +424,28 @@ public class JenaIngestController extends BaseEditController {
|
|||
pattern = pattern.trim();
|
||||
doRenameBNodes(vreq,namespaceEtcStr, true, pattern, sourceModel);
|
||||
}
|
||||
request.setAttribute("title", "Ingest Menu");
|
||||
request.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title", "Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
}
|
||||
else{
|
||||
request.setAttribute("title", "URI Select");
|
||||
request.setAttribute("bodyJsp", RENAME_BNODES_URI_SELECT_JSP);
|
||||
vreq.setAttribute("title", "URI Select");
|
||||
vreq.setAttribute("bodyJsp", RENAME_BNODES_URI_SELECT_JSP);
|
||||
}
|
||||
}
|
||||
|
||||
}else if ("smushSingleModel".equals(actionStr)) {
|
||||
private void processSmushSingleModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String propertyURIStr = vreq.getParameter("propertyURI");
|
||||
if (propertyURIStr != null) {
|
||||
doSmushSingleModel(vreq);
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Smush Resources");
|
||||
request.setAttribute("bodyJsp",SMUSH_JSP);
|
||||
vreq.setAttribute("title","Smush Resources");
|
||||
vreq.setAttribute("bodyJsp",SMUSH_JSP);
|
||||
}
|
||||
} else if ("connectDB".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processConnectDBRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String jdbcUrl = vreq.getParameter("jdbcUrl");
|
||||
String tripleStore = vreq.getParameter("tripleStore");
|
||||
if (jdbcUrl != null) {
|
||||
|
@ -354,76 +457,88 @@ public class JenaIngestController extends BaseEditController {
|
|||
if ("SDB".equals(tripleStore)) {
|
||||
getServletContext().setAttribute("modelT", "sdb");
|
||||
getServletContext().setAttribute("info", "SDB models");
|
||||
request.setAttribute("modelType", "sdb");
|
||||
request.setAttribute("infoLine", "SDB models");
|
||||
vreq.setAttribute("modelType", "sdb");
|
||||
vreq.setAttribute("infoLine", "SDB models");
|
||||
} else {
|
||||
getServletContext().setAttribute("modelT", "rdb");
|
||||
getServletContext().setAttribute("info", "RDB models");
|
||||
request.setAttribute("modelType", "rdb");
|
||||
request.setAttribute("infoLine", "RDB models");
|
||||
vreq.setAttribute("modelType", "rdb");
|
||||
vreq.setAttribute("infoLine", "RDB models");
|
||||
}
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
} else {
|
||||
List<String> dbTypes = DatabaseType.allNames();
|
||||
Collections.sort(dbTypes, new CollationSort());
|
||||
request.setAttribute("dbTypes", dbTypes);
|
||||
request.setAttribute("title", "Connect Jena Database");
|
||||
request.setAttribute("bodyJsp",CONNECT_DB_JSP);
|
||||
vreq.setAttribute("dbTypes", dbTypes);
|
||||
vreq.setAttribute("title", "Connect Jena Database");
|
||||
vreq.setAttribute("bodyJsp",CONNECT_DB_JSP);
|
||||
}
|
||||
} else if ("csv2rdf".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processCsv2rdfRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String csvUrl = vreq.getParameter("csvUrl");
|
||||
if (csvUrl != null) {
|
||||
/*doExecuteCsv2Rdf(vreq);*/
|
||||
request.setAttribute("title","IngestMenu");
|
||||
request.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","IngestMenu");
|
||||
vreq.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Convert CSV to RDF");
|
||||
request.setAttribute("bodyJsp",CSV2RDF_JSP);
|
||||
vreq.setAttribute("title","Convert CSV to RDF");
|
||||
vreq.setAttribute("bodyJsp",CSV2RDF_JSP);
|
||||
}
|
||||
}else if ("processStrings".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processProcessStringsRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String className = vreq.getParameter("className");
|
||||
if (className != null) {
|
||||
doProcessStrings(vreq);
|
||||
request.setAttribute("title","IngestMenu");
|
||||
request.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","IngestMenu");
|
||||
vreq.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Process Strings");
|
||||
request.setAttribute("bodyJsp",PROCESS_STRINGS_JSP);
|
||||
vreq.setAttribute("title","Process Strings");
|
||||
vreq.setAttribute("bodyJsp",PROCESS_STRINGS_JSP);
|
||||
}
|
||||
} else if ("splitPropertyValues".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processSplitPropertyValuesRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String splitRegex = vreq.getParameter("splitRegex");
|
||||
if (splitRegex != null) {
|
||||
doSplitPropertyValues(vreq);
|
||||
request.setAttribute("title","IngestMenu");
|
||||
request.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","IngestMenu");
|
||||
vreq.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Split PropertyValues");
|
||||
request.setAttribute("bodyJsp",SPLIT_PROPERTY_VALUES_JSP);
|
||||
vreq.setAttribute("title","Split PropertyValues");
|
||||
vreq.setAttribute("bodyJsp",SPLIT_PROPERTY_VALUES_JSP);
|
||||
}
|
||||
} else if ("subtractModels".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processSubtractModelRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String modela = vreq.getParameter("modela");
|
||||
if (modela != null) {
|
||||
doSubtractModels(vreq);
|
||||
request.setAttribute("title","IngestMenu");
|
||||
request.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","IngestMenu");
|
||||
vreq.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title", "Subtract Models");
|
||||
request.setAttribute("bodyJsp",SUBTRACT_MODELS_JSP);
|
||||
vreq.setAttribute("title", "Subtract Models");
|
||||
vreq.setAttribute("bodyJsp",SUBTRACT_MODELS_JSP);
|
||||
}
|
||||
} else if ("executeWorkflow".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processExecuteWorkflowRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String workflowURIStr = vreq.getParameter("workflowURI");
|
||||
String workflowStepURIStr = vreq.getParameter("workflowStepURI");
|
||||
if (workflowURIStr != null && workflowStepURIStr != null) {
|
||||
doExecuteWorkflow(vreq);
|
||||
request.setAttribute("title","IngestMenu");
|
||||
request.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","IngestMenu");
|
||||
vreq.setAttribute("bodyJsp", INGEST_MENU_JSP);
|
||||
} else if (workflowURIStr != null) {
|
||||
// Select the workflow step at which to start
|
||||
OntModel jenaOntModel = (OntModel) getModel("vitro:jenaOntModel",vreq);
|
||||
request.setAttribute("workflowSteps", new JenaIngestWorkflowProcessor(jenaOntModel.getIndividual(workflowURIStr),getVitroJenaModelMaker(vreq)).getWorkflowSteps(null));
|
||||
request.setAttribute("title", "Choose Workflow Step");
|
||||
request.setAttribute("bodyJsp", WORKFLOW_STEP_JSP);
|
||||
vreq.setAttribute("workflowSteps", new JenaIngestWorkflowProcessor(
|
||||
jenaOntModel.getIndividual(workflowURIStr),
|
||||
getVitroJenaModelMaker(vreq)).getWorkflowSteps(null));
|
||||
vreq.setAttribute("title", "Choose Workflow Step");
|
||||
vreq.setAttribute("bodyJsp", WORKFLOW_STEP_JSP);
|
||||
} else {
|
||||
OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
|
||||
jenaOntModel.enterCriticalSection(Lock.READ);
|
||||
|
@ -434,11 +549,13 @@ public class JenaIngestController extends BaseEditController {
|
|||
} finally {
|
||||
jenaOntModel.leaveCriticalSection();
|
||||
}
|
||||
request.setAttribute("workflows",savedQueryList);
|
||||
request.setAttribute("title", "Execute Workflow");
|
||||
request.setAttribute("bodyJsp", EXECUTE_WORKFLOW_JSP);
|
||||
vreq.setAttribute("workflows",savedQueryList);
|
||||
vreq.setAttribute("title", "Execute Workflow");
|
||||
vreq.setAttribute("bodyJsp", EXECUTE_WORKFLOW_JSP);
|
||||
}
|
||||
} else if ("executeSparql".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processExecuteSparqlRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String sparqlQueryStr = vreq.getParameter("sparqlQueryStr");
|
||||
OntModel jenaOntModel = (OntModel) getServletContext().getAttribute("jenaOntModel");
|
||||
jenaOntModel.enterCriticalSection(Lock.READ);
|
||||
|
@ -453,34 +570,30 @@ public class JenaIngestController extends BaseEditController {
|
|||
OntologyDao daoObj = vreq.getFullWebappDaoFactory().getOntologyDao();
|
||||
List ontologiesObj = daoObj.getAllOntologies();
|
||||
ArrayList prefixList = new ArrayList();
|
||||
|
||||
if(ontologiesObj !=null && ontologiesObj.size()>0){
|
||||
|
||||
Iterator ontItr = ontologiesObj.iterator();
|
||||
while(ontItr.hasNext()){
|
||||
Ontology ont = (Ontology) ontItr.next();
|
||||
prefixList.add(ont.getPrefix() == null ? "(not yet specified)" : ont.getPrefix());
|
||||
prefixList.add(ont.getURI() == null ? "" : ont.getURI());
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
prefixList.add("<strong>" + "No Ontologies added" + "</strong>");
|
||||
prefixList.add("<strong>" + "Load Ontologies" + "</strong>");
|
||||
}
|
||||
|
||||
request.setAttribute("prefixList", prefixList);
|
||||
vreq.setAttribute("prefixList", prefixList);
|
||||
/*complete*/
|
||||
if (sparqlQueryStr != null) {
|
||||
String validationMessage = "";
|
||||
if (request.getParameterValues("sourceModelName") == null) {
|
||||
if (vreq.getParameterValues("sourceModelName") == null) {
|
||||
validationMessage += "<p>Please select one or more source models.</p>";
|
||||
}
|
||||
if (request.getParameter("destinationModelName") == null) {
|
||||
if (vreq.getParameter("destinationModelName") == null) {
|
||||
validationMessage += "<p>Please select a destination model</p>";
|
||||
}
|
||||
if (validationMessage.length() > 0) {
|
||||
request.setAttribute("validationMessage", validationMessage);
|
||||
vreq.setAttribute("validationMessage", validationMessage);
|
||||
} else {
|
||||
long constructedStmtCount = 0;
|
||||
try {
|
||||
|
@ -490,47 +603,49 @@ public class JenaIngestController extends BaseEditController {
|
|||
if (qpe.getMessage() != null) {
|
||||
errorMsg += "<p>" + qpe.getMessage() + "</p>";
|
||||
}
|
||||
request.setAttribute("errorMsg", errorMsg);
|
||||
vreq.setAttribute("errorMsg", errorMsg);
|
||||
} catch (InconsistentOntologyException ioe) {
|
||||
String errorMsg = "<p>Inconsistent source ontology:</p>";
|
||||
if (ioe.getMessage() != null) {
|
||||
errorMsg += "<p>" + ioe.getMessage() + "</p>";
|
||||
}
|
||||
request.setAttribute("errorMsg", errorMsg);
|
||||
vreq.setAttribute("errorMsg", errorMsg);
|
||||
}
|
||||
request.setAttribute("constructedStmtCount", constructedStmtCount);
|
||||
vreq.setAttribute("constructedStmtCount", constructedStmtCount);
|
||||
}
|
||||
request.setAttribute("savedQueries",savedQueryList);
|
||||
request.setAttribute("title","SPARQL CONSTRUCT result");
|
||||
request.setAttribute("bodyJsp",EXECUTE_SPARQL_JSP);
|
||||
vreq.setAttribute("savedQueries",savedQueryList);
|
||||
vreq.setAttribute("title","SPARQL CONSTRUCT result");
|
||||
vreq.setAttribute("bodyJsp",EXECUTE_SPARQL_JSP);
|
||||
} else {
|
||||
request.setAttribute("savedQueries",savedQueryList);
|
||||
request.setAttribute("title","Execute SPARQL Construct");
|
||||
request.setAttribute("bodyJsp",EXECUTE_SPARQL_JSP);
|
||||
vreq.setAttribute("savedQueries",savedQueryList);
|
||||
vreq.setAttribute("title","Execute SPARQL Construct");
|
||||
vreq.setAttribute("bodyJsp",EXECUTE_SPARQL_JSP);
|
||||
}
|
||||
} else if ("generateTBox".equals(actionStr)) {
|
||||
}
|
||||
|
||||
private void processGenerateTBoxRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String testParam = vreq.getParameter("sourceModelName");
|
||||
if (testParam != null) {
|
||||
doGenerateTBox(vreq);
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
} else {
|
||||
request.setAttribute("title","Generate TBox from Assertions Data");
|
||||
request.setAttribute("bodyJsp",GENERATE_TBOX_JSP);
|
||||
vreq.setAttribute("title","Generate TBox from Assertions Data");
|
||||
vreq.setAttribute("bodyJsp",GENERATE_TBOX_JSP);
|
||||
}
|
||||
}else if("permanentURI".equals(actionStr)){
|
||||
}
|
||||
|
||||
private void processPermanentURIRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String modelName = vreq.getParameter("modelName");
|
||||
String oldModel = vreq.getParameter("oldModel");
|
||||
String newModel = vreq.getParameter("newModel");
|
||||
String oldNamespace = vreq.getParameter("oldNamespace");
|
||||
String newNamespace = vreq.getParameter("newNamespace");
|
||||
String dNamespace = vreq.getParameter("defaultNamespace");
|
||||
|
||||
if(modelName!=null){
|
||||
Model m = maker.getModel(modelName);
|
||||
ArrayList namespaceList = new ArrayList();
|
||||
ResIterator resItr = m.listResourcesWithProperty((Property)null);
|
||||
|
||||
if(resItr!=null){
|
||||
while(resItr.hasNext()){
|
||||
String namespace = resItr.nextResource().getNameSpace();
|
||||
|
@ -538,27 +653,24 @@ public class JenaIngestController extends BaseEditController {
|
|||
namespaceList.add(namespace);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
namespaceList.add("no resources present");
|
||||
}
|
||||
String defaultNamespace = vreq.getFullWebappDaoFactory().getDefaultNamespace();
|
||||
request.setAttribute("modelName", modelName);
|
||||
request.setAttribute("defaultNamespace", defaultNamespace);
|
||||
request.setAttribute("namespaceList", namespaceList);
|
||||
request.setAttribute("title","Permanent URI");
|
||||
request.setAttribute("bodyJsp",PERMANENT_URI);
|
||||
}
|
||||
else if(oldModel!=null){
|
||||
vreq.setAttribute("modelName", modelName);
|
||||
vreq.setAttribute("defaultNamespace", defaultNamespace);
|
||||
vreq.setAttribute("namespaceList", namespaceList);
|
||||
vreq.setAttribute("title","Permanent URI");
|
||||
vreq.setAttribute("bodyJsp",PERMANENT_URI);
|
||||
} else if(oldModel != null) {
|
||||
JenaIngestUtils utils = new JenaIngestUtils();
|
||||
utils.doPermanentURI(oldModel,newModel,oldNamespace,newNamespace,dNamespace,maker,vreq);
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
vreq.setAttribute("title","Ingest Menu");
|
||||
vreq.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else if("mergeIndividuals".equals(actionStr)){
|
||||
private void processMergeIndividualRequest(VitroRequest vreq, ModelMaker maker, String modelType) {
|
||||
String uri1 = vreq.getParameter("uri1");
|
||||
String uri2 = vreq.getParameter("uri2");
|
||||
if(uri1!=null){
|
||||
|
@ -569,36 +681,40 @@ public class JenaIngestController extends BaseEditController {
|
|||
OntModel infOntModel = (OntModel)
|
||||
getServletContext().getAttribute(JenaBaseDao.INFERENCE_ONT_MODEL_ATTRIBUTE_NAME);
|
||||
String result = utils.doMerge(uri1,uri2,baseOntModel,ontModel,infOntModel);
|
||||
// request.getSession().setAttribute("leftoverModel", utils.getLeftOverModel());
|
||||
// vreq.getSession().setAttribute("leftoverModel", utils.getLeftOverModel());
|
||||
getServletContext().setAttribute("leftoverModel", utils.getLeftOverModel());
|
||||
request.setAttribute("result",result);
|
||||
request.setAttribute("title","Merge Individuals");
|
||||
request.setAttribute("bodyJsp",MERGE_RESULT);
|
||||
|
||||
vreq.setAttribute("result",result);
|
||||
vreq.setAttribute("title","Merge Individuals");
|
||||
vreq.setAttribute("bodyJsp",MERGE_RESULT);
|
||||
}
|
||||
else{
|
||||
request.setAttribute("title","Merge Individuals");
|
||||
request.setAttribute("bodyJsp",MERGE_INDIVIDUALS);
|
||||
vreq.setAttribute("title","Merge Individuals");
|
||||
vreq.setAttribute("bodyJsp",MERGE_INDIVIDUALS);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if("renameResource".equals(actionStr)){
|
||||
private void processRenameResourceRequest(VitroRequest vreq,
|
||||
HttpServletResponse response,
|
||||
ModelMaker maker,
|
||||
String modelType) {
|
||||
String uri1 = vreq.getParameter("uri1");
|
||||
String uri2 = vreq.getParameter("uri2");
|
||||
if(uri1!=null){
|
||||
String result = doRename(uri1,uri2,response);
|
||||
request.setAttribute("result",result);
|
||||
request.setAttribute("title","Rename Resources");
|
||||
request.setAttribute("bodyJsp",RENAME_RESULT);
|
||||
|
||||
vreq.setAttribute("result",result);
|
||||
vreq.setAttribute("title","Rename Resources");
|
||||
vreq.setAttribute("bodyJsp",RENAME_RESULT);
|
||||
}
|
||||
else{
|
||||
request.setAttribute("title","Rename Resource");
|
||||
request.setAttribute("bodyJsp",RENAME_RESOURCE);
|
||||
vreq.setAttribute("title","Rename Resource");
|
||||
vreq.setAttribute("bodyJsp",RENAME_RESOURCE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if("mergeResult".equals(actionStr)){
|
||||
private void processMergeResultRequest(VitroRequest vreq,
|
||||
HttpServletResponse response,
|
||||
ModelMaker maker,
|
||||
String modelType) {
|
||||
//Model lmodel = (Model)request.getSession().getAttribute("leftoverModel");
|
||||
Model lmodel = (Model)getServletContext().getAttribute("leftoverModel");
|
||||
response.setContentType("RDF/XML-ABBREV");
|
||||
|
@ -614,24 +730,6 @@ public class JenaIngestController extends BaseEditController {
|
|||
}
|
||||
}
|
||||
|
||||
else {
|
||||
request.setAttribute("title","Ingest Menu");
|
||||
request.setAttribute("bodyJsp",INGEST_MENU_JSP);
|
||||
}
|
||||
|
||||
RequestDispatcher rd = request.getRequestDispatcher(Controllers.BASIC_JSP);
|
||||
request.setAttribute("css", "<link rel=\"stylesheet\" type=\"text/css\" href=\""+vreq.getAppBean().getThemeDir()+"css/edit.css\"/>");
|
||||
|
||||
try {
|
||||
rd.forward(request, response);
|
||||
} catch (Exception e) {
|
||||
System.out.println(this.getClass().getName()+" could not forward to view.");
|
||||
System.out.println(e.getMessage());
|
||||
System.out.println(e.getStackTrace());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private ModelMaker getVitroJenaModelMaker(HttpServletRequest request) {
|
||||
ModelMaker myVjmm = (ModelMaker) request.getSession().getAttribute("vitroJenaModelMaker");
|
||||
myVjmm = (myVjmm == null) ? (ModelMaker) getServletContext().getAttribute("vitroJenaModelMaker") : myVjmm;
|
||||
|
@ -921,76 +1019,8 @@ public class JenaIngestController extends BaseEditController {
|
|||
String driverName = JDBC.getDriver(dbType);
|
||||
JDBC.loadDriver(driverName);
|
||||
return driverName;
|
||||
|
||||
// if (DatabaseType.MySQL.equals(dbType)) {
|
||||
// JDBC.loadDriverMySQL();
|
||||
// } else if (DatabaseType.DB2.equals(dbType)) {
|
||||
// JDBC.loadDriverDB2();
|
||||
// } else if (DatabaseType.Derby.equals(dbType)) {
|
||||
// JDBC.loadDriverDerby();
|
||||
// } else if (DatabaseType.H2.equals(dbType)) {
|
||||
// JDBC.loadDriverH2();
|
||||
// } else if (DatabaseType.HSQLDB.equals(dbType)) {
|
||||
// JDBC.loadDriverHSQL();
|
||||
// } else if (DatabaseType.Oracle.equals(dbType)) {
|
||||
// JDBC.loadDriverOracle();
|
||||
// } else if (DatabaseType.PostgreSQL.equals(dbType)) {
|
||||
// JDBC.loadDriverPGSQL();
|
||||
// } else if (DatabaseType.SQLServer.equals(dbType)) {
|
||||
// JDBC.loadDriverSQLServer();
|
||||
// }
|
||||
}
|
||||
|
||||
/*public void doExecuteCsv2Rdf(VitroRequest vreq) {
|
||||
char[] quoteChars = {'"'};
|
||||
String namespace = vreq.getParameter("namespace");
|
||||
String tboxNamespace = vreq.getParameter("tboxNamespace");
|
||||
String typeName = vreq.getParameter("typeName");
|
||||
String csvUrl = vreq.getParameter("csvUrl");
|
||||
Model destination = null;
|
||||
String destinationModelNameStr = vreq.getParameter("destinationModelName");
|
||||
if (destinationModelNameStr != null && destinationModelNameStr.length()>0) {
|
||||
destination = getModel(destinationModelNameStr, vreq);
|
||||
}
|
||||
Model tboxDestination = null;
|
||||
String tboxDestinationModelNameStr = vreq.getParameter("tboxDestinationModelName");
|
||||
if (tboxDestinationModelNameStr != null && tboxDestinationModelNameStr.length()>0) {
|
||||
tboxDestination = getModel(tboxDestinationModelNameStr, vreq);
|
||||
}
|
||||
|
||||
char separatorChar = ',';
|
||||
if ("tab".equalsIgnoreCase(vreq.getParameter("separatorChar"))) {
|
||||
separatorChar = '\t';
|
||||
}
|
||||
|
||||
Csv2Rdf c2r = new Csv2Rdf(separatorChar, quoteChars,namespace,tboxNamespace,typeName);
|
||||
|
||||
InputStream is = null;
|
||||
|
||||
try {
|
||||
is = new URL(csvUrl).openStream();
|
||||
} catch (IOException e) {
|
||||
System.out.println("IOException opening URL "+csvUrl);
|
||||
return;
|
||||
}
|
||||
|
||||
Model[] models = null;
|
||||
|
||||
try {
|
||||
models = c2r.convertToRdf(is,vreq,destination);
|
||||
} catch (IOException e) {
|
||||
System.out.println("IOException converting "+csvUrl+" to RDF");
|
||||
}
|
||||
|
||||
if (destination != null) {
|
||||
destination.add(models[0]);
|
||||
}
|
||||
if (tboxDestination != null) {
|
||||
tboxDestination.add(models[1]);
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
public void doSubtractModels(VitroRequest vreq) {
|
||||
String modela = vreq.getParameter("modela");
|
||||
String modelb = vreq.getParameter("modelb");
|
||||
|
@ -1161,13 +1191,12 @@ public class JenaIngestController extends BaseEditController {
|
|||
String workflowURI = vreq.getParameter("workflowURI");
|
||||
String workflowStepURI = vreq.getParameter("workflowStepURI");
|
||||
OntModel jenaOntModel = (OntModel) getModel("vitro:jenaOntModel",vreq);
|
||||
new JenaIngestWorkflowProcessor(jenaOntModel.getIndividual(workflowURI),getVitroJenaModelMaker(vreq)).run(jenaOntModel.getIndividual(workflowStepURI));
|
||||
new JenaIngestWorkflowProcessor(
|
||||
jenaOntModel.getIndividual(workflowURI),getVitroJenaModelMaker(
|
||||
vreq)).run(jenaOntModel.getIndividual(workflowStepURI));
|
||||
}
|
||||
|
||||
|
||||
|
||||
private String doRename(String oldNamespace,String newNamespace,HttpServletResponse response){
|
||||
|
||||
String userURI = null;
|
||||
String uri = null;
|
||||
String result = null;
|
||||
|
@ -1182,7 +1211,6 @@ private String doRename(String oldNamespace,String newNamespace,HttpServletRespo
|
|||
WebappDaoFactory wdf =
|
||||
(WebappDaoFactory)getServletContext().getAttribute("webappDaoFactory");
|
||||
List<String> urisToChange = new LinkedList<String>();
|
||||
|
||||
ontModel.enterCriticalSection(Lock.READ);
|
||||
try {
|
||||
Iterator<Individual> indIter = ontModel.listIndividuals();
|
||||
|
@ -1204,8 +1232,6 @@ private String doRename(String oldNamespace,String newNamespace,HttpServletRespo
|
|||
result = "0 resource renamed";
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
for( String oldURIStr : urisToChange){
|
||||
baseOntModel.enterCriticalSection(Lock.WRITE);
|
||||
ontModel.enterCriticalSection(Lock.WRITE);
|
||||
|
@ -1221,15 +1247,15 @@ private String doRename(String oldNamespace,String newNamespace,HttpServletRespo
|
|||
Matcher matcher = p.matcher(candidateString);
|
||||
newURIStr = matcher.replaceFirst(newNamespace);
|
||||
long time3 = System.currentTimeMillis();
|
||||
System.out.println("time to get new uri: " + Long.toString(time3 - time2)
|
||||
);
|
||||
System.out.println("Renaming "+ oldURIStr + " to " + newURIStr);
|
||||
log.info("time to get new uri: " +
|
||||
Long.toString(time3 - time2));
|
||||
log.info("Renaming "+ oldURIStr + " to " + newURIStr);
|
||||
ResourceUtils.renameResource(res,newURIStr);
|
||||
ResourceUtils.renameResource(infRes,newURIStr);
|
||||
long time4 = System.currentTimeMillis();
|
||||
System.out.println(" time to rename : " + Long.toString( time4 - time3));
|
||||
System.out.println(" time for one resource: " + Long.toString( time4 -
|
||||
time1));
|
||||
log.info(" time to rename : " + Long.toString( time4 - time3));
|
||||
log.info(" time for one resource: " +
|
||||
Long.toString( time4 -time1));
|
||||
} finally {
|
||||
infOntModel.leaveCriticalSection();
|
||||
ontModel.leaveCriticalSection();
|
||||
|
@ -1243,7 +1269,6 @@ private String doRename(String oldNamespace,String newNamespace,HttpServletRespo
|
|||
}
|
||||
counter++;
|
||||
}
|
||||
|
||||
/*baseOntModel.enterCriticalSection(Lock.WRITE);
|
||||
ontModel.enterCriticalSection(Lock.WRITE);
|
||||
try{
|
||||
|
@ -1255,7 +1280,6 @@ private String doRename(String oldNamespace,String newNamespace,HttpServletRespo
|
|||
}*/
|
||||
result = counter.toString() + " resources renamed";
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
private class CollationSort implements Comparator<String> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue