Doc.findOneAndUpdate({id:doc_id},{permission: req.body.scope}, function(err,doc){
			if(err){
				throw err;
			}
			try{
				java.callStaticMethodSync(
						"storage.DBWrapper",
						"setup", 
						"/home/cis550/db");

				var documentDA = java.newInstanceSync("storage.DocumentDA");
				var file_path = java.callMethodSync(
						documentDA,
						"fetch",
						doc_id).getPathSync();
				var document = java.newInstanceSync(
						"bean.Document", 
						doc_id,
						req.session.user,
						file_path,
						req.body.scope);
				java.callMethodSync(
						documentDA,
						"store",
						document);
				console.log("DOCUMENT PATH: " + file_path);
				console.log("Document has been saved!");
			} catch(exception){
				console.log("Error opening DB");
			}finally{
				java.callStaticMethodSync(
						"storage.DBWrapper",
						"close");
			}			
			console.log("Document has been saved!");
			//res.send("Permission on file " + doc_id + " changed to " + req.body.scope);
			Doc.find({username: req.session.user}, function(err, results){
				if (err){
					throw err;
				}else{
					res.render('viewfiles',{
						classes: results,
						});
				}
			});
			
		});
Esempio n. 2
0
const validateSync = (xmlString, schemaPath, shouldCache, params) => {
  let result;
  let validator;

  if (shouldCache && cache[schemaPath]) {
    result = cache[schemaPath].result;
    validator = cache[schemaPath].validator;
  } else {
    result = java.newInstanceSync('java.io.ByteArrayOutputStream', 1024);
    validator = java.newInstanceSync('com.tido.njing.NJing', result);
    java.callMethodSync(validator, ...params);

    if (shouldCache) {
      cache[schemaPath] = { result, validator };
    }
  }

  java.callMethodSync(validator, 'validateString', xmlString, '/');
  const buf = new Buffer(result.toByteArraySync());
  const rawMessages = buf.toString().split('\n');
  result.resetSync();

  return createMessages(rawMessages);
};
function search(req,res, err){
	var url_parts = url.parse(req.url, true);
	var request = url_parts.query;
	console.log(request);
	var searchEngine = java.newInstanceSync(
			"searchengine.SearchEngine",
			request.query, 
			req.session.user);
	
	var results = java.callMethodSync(searchEngine, "search");
	var graphResults = "";
	var len = results.sizeSync();
	var weblinks = "";
	for(var i = 0; i < len; i++){
		var nodes = results.getSync(i);
		var num_nodes = nodes.sizeSync();
		for (var j = 0; j < num_nodes; j++){
			var node = nodes.getSync(j).substring(nodes.getSync(j).lastIndexOf("/") + 1);
			weblinks = weblinks.concat(node);
			if (j < num_nodes - 1){
				weblinks = weblinks.concat("->");
			}
			if (j < num_nodes - 1){
				graphResults = graphResults.concat(nodes.getSync(j), ",");
			}else {
				graphResults = graphResults.concat(nodes.getSync(j));
			}
		}
		weblinks = weblinks.concat(",");
		if (i < len - 1){
			graphResults = graphResults.concat("#_#");
		}
		
		
	}
	console.log("web links: " + weblinks);
	console.log("graph strings: " + graphResults);
	res.render('results', {
		result: weblinks,
		nodes: graphResults
	});
}