Package org.deri.grefine.rdf.commands

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

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.app.ApplicationContext;
import org.deri.grefine.rdf.vocab.PrefixExistException;
import org.deri.grefine.rdf.vocab.VocabularyImporter;
import org.json.JSONException;
import org.json.JSONWriter;

import com.google.refine.Jsonizable;

public class AddPrefixCommand extends RdfCommand{

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

  @Override
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String name = request.getParameter("name").trim();
        String uri = request.getParameter("uri").trim();
        String projectId = request.getParameter("project");
        String fetchOption = request.getParameter("fetch");
        try {   
          getRdfSchema(request).addPrefix(name, uri);
          if(fetchOption.equals("web")){
            String fetchUrl = request.getParameter("fetch-url");
            if(fetchUrl==null || fetchOption.trim().isEmpty()){
              fetchUrl = uri;
            }
            getRdfContext().getVocabularySearcher().importAndIndexVocabulary(name, uri, fetchUrl, projectId,new VocabularyImporter());
          }
            respondJSON(response, new Jsonizable() {
               
                @Override
                public void write(JSONWriter writer, Properties options)
                        throws JSONException {
                    writer.object();
                    writer.key("code"); writer.value("ok");
                    writer.endObject();
                }
            });
        } catch (JSONException e) {
            respondException(response, e);
        } catch (PrefixExistException e) {
            respondException(response, e);
        } catch (Exception e){
          response.setCharacterEncoding("UTF-8");
            response.setHeader("Content-Type", "application/json");
          respond(response,"{\"code\":\"ok\"}");
        }
    }
}
TOP

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

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.