Package org.deri.grefine.rdf.commands

Source Code of org.deri.grefine.rdf.commands.SaveRdfSchemaCommand

package org.deri.grefine.rdf.commands;

import java.io.IOException;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.deri.grefine.rdf.RdfSchema;
import org.deri.grefine.rdf.app.ApplicationContext;
import org.deri.grefine.rdf.operations.SaveRdfSchemaOperation;
import org.json.JSONObject;

import com.google.refine.model.AbstractOperation;
import com.google.refine.model.Project;
import com.google.refine.process.Process;
import com.google.refine.util.ParsingUtilities;

public class SaveRdfSchemaCommand extends RdfCommand{

    public SaveRdfSchemaCommand(ApplicationContext ctxt) {
    super(ctxt);
  }

  @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       
        try {
            Project project = getProject(request);
           
            String jsonString = request.getParameter("schema");
            JSONObject json = ParsingUtilities.evaluateJsonStringToObject(jsonString);
            RdfSchema schema = RdfSchema.reconstruct(json);
           
            AbstractOperation op = new SaveRdfSchemaOperation(schema);
            Process process = op.createProcess(project, new Properties());
           
            performProcessAndRespond(request, response, project, process);
           
            /*project.schema = schema;
           
            response.setCharacterEncoding("UTF-8");
            response.setHeader("Content-Type", "application/json");
           
            Writer w = response.getWriter();
            JSONWriter writer = new JSONWriter(w);
            writer.object();
            writer.key("code"); writer.value("ok");
            writer.key("historyEntry");
           
            //dummy history for now
            writer.object();
            writer.key("op"); writer.value("saveRdfSchema");
            writer.key("description"); writer.value("Save RDF schema");
            writer.endObject();
           
            writer.endObject();
           
            w.flush();
            w.close();*/
           
        } catch (Exception e) {
            respondException(response, e);
        }
    }
}
TOP

Related Classes of org.deri.grefine.rdf.commands.SaveRdfSchemaCommand

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.