Package org.deri.grefine.reconcile.commands

Source Code of org.deri.grefine.reconcile.commands.AbstractAddServiceCommand

package org.deri.grefine.reconcile.commands;

import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

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

import org.deri.grefine.reconcile.model.ReconciliationService;

import org.apache.commons.lang.StringUtils;
import org.json.JSONException;
import org.json.JSONWriter;

import com.google.common.collect.ImmutableList;
import com.google.refine.commands.Command;

public abstract class AbstractAddServiceCommand extends Command{

  @Override
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try{
      ReconciliationService service = getReconciliationService(request);
      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("service");
          service.writeAsJson(writer);
          writer.endObject();
          w.flush();
          w.close();
    } catch (Exception e) {
      respondException(response, e);
    }
  }

  protected String getIdForString(String name){
    return name.toLowerCase().replaceAll("\\s+", "-").replaceAll("[^-.a-zA-Z0-9]", "").replaceAll("\\-\\-+", "-");
  }
 
  protected ImmutableList<String> asImmutableList(String text){
    List<String> lst = new ArrayList<String>();
    if (StringUtils.isNotBlank(text)) {
      StringTokenizer tokenizer = new StringTokenizer(text," \n");
      while(tokenizer.hasMoreTokens()){
        String token = tokenizer.nextToken();
        if(token.trim().isEmpty()){
          continue;
        }
        lst.add(token.trim());
      }
    }
    return ImmutableList.copyOf(lst);
  }
 
  protected abstract ReconciliationService getReconciliationService(HttpServletRequest request)throws JSONException, IOException; 
}
TOP

Related Classes of org.deri.grefine.reconcile.commands.AbstractAddServiceCommand

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.