Package com.tistory.devyongsik.crescent.admin.controller

Source Code of com.tistory.devyongsik.crescent.admin.controller.MorphAdminMainController

package com.tistory.devyongsik.crescent.admin.controller;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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

import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.tistory.devyongsik.crescent.admin.entity.MorphResult;
import com.tistory.devyongsik.crescent.admin.entity.MorphToken;
import com.tistory.devyongsik.crescent.admin.service.MorphService;
import com.tistory.devyongsik.crescent.collection.entity.CrescentCollection;
import com.tistory.devyongsik.crescent.collection.entity.CrescentCollections;
import com.tistory.devyongsik.crescent.config.CrescentCollectionHandler;

@Controller
public class MorphAdminMainController {
  private Logger logger = LoggerFactory.getLogger(MorphAdminMainController.class);

  @Autowired
  @Qualifier("morphService")
  private MorphService morphService = null;
 
  @Autowired
  @Qualifier("crescentCollectionHandler")
  private CrescentCollectionHandler collectionHandler;

  @RequestMapping("/morphMain")
  public ModelAndView morphMain(HttpServletRequest request, HttpServletResponse response) throws Exception {
   
    CrescentCollections crescentCollections = collectionHandler.getCrescentCollections();
   
    String selectedCollectionName = request.getParameter("col_name");
    if(selectedCollectionName == null) {
      selectedCollectionName = crescentCollections.getCrescentCollections().get(0).getName();
    }
   
    ModelAndView modelAndView = new ModelAndView();
    //modelAndView.addObject("crescentCollections", crescentCollections);
    modelAndView.addObject("selectedCollectionName", selectedCollectionName);
   
    List<CrescentCollection> crescentCollectionList = crescentCollections.getCrescentCollections();
   
    modelAndView.addObject("crescentCollectionList", crescentCollectionList);
    modelAndView.addObject("selectedCollection", crescentCollections.getCrescentCollection(selectedCollectionName));
   
    modelAndView.setViewName("/admin/morphMain");

    return modelAndView;
  }
 
  @RequestMapping("/doMorphTest")
  public ModelAndView morphTest(HttpServletRequest request, HttpServletResponse response) throws Exception {
   
    String keyword = request.getParameter("keyword");
   
    CrescentCollections crescentCollections = collectionHandler.getCrescentCollections();
   
    String selectedCollectionName = request.getParameter("col_name");
    if(selectedCollectionName == null) {
      selectedCollectionName = crescentCollections.getCrescentCollections().get(0).getName();
    }
   
    ModelAndView modelAndView = new ModelAndView();
    //modelAndView.addObject("crescentCollections", crescentCollections);
    modelAndView.addObject("selectedCollectionName", selectedCollectionName);
   
    List<CrescentCollection> crescentCollectionList = crescentCollections.getCrescentCollections();
   
    modelAndView.addObject("crescentCollectionList", crescentCollectionList);
    modelAndView.addObject("selectedCollection", crescentCollections.getCrescentCollection(selectedCollectionName));
   
   
    logger.debug("keyword : {}, collectionName : {}", keyword, selectedCollectionName);
   
    List<MorphToken> resultTokenListIndexingMode = morphService.getTokens(keyword, true, selectedCollectionName);
    List<MorphToken> resultTokenListQueryMode = morphService.getTokens(keyword, false, selectedCollectionName);
   
    modelAndView.setViewName("/admin/morphMain");

    modelAndView.addObject("indexingModeList", resultTokenListIndexingMode);
    modelAndView.addObject("queryModeList", resultTokenListQueryMode);
   
    return modelAndView;
  }
 
  @RequestMapping("/doMorphTestAjax")
  public void morphTestAjax(HttpServletRequest request, HttpServletResponse response) throws Exception {
   
    String keyword = request.getParameter("keyword");
    String selectedCollectionName = request.getParameter("collectionName");
   
    logger.debug("keyword : {}, collectionName : {}", keyword, selectedCollectionName);
   
    CrescentCollections crescentCollections = collectionHandler.getCrescentCollections();
   
    if(selectedCollectionName == null) {
      selectedCollectionName = crescentCollections.getCrescentCollections().get(0).getName();
    }
   
    List<MorphToken> resultTokenListIndexingMode = morphService.getTokens(keyword, true, selectedCollectionName);
    List<MorphToken> resultTokenListQueryMode = morphService.getTokens(keyword, false, selectedCollectionName);
   
    List<MorphResult> morphIndexingTestResult = new ArrayList<MorphResult>();
    List<MorphResult> morphQueryTestResult = new ArrayList<MorphResult>();
   
    Map<String, List<MorphResult>> morphTestResultSet = new HashMap<String, List<MorphResult>>();
   
    for(MorphToken token : resultTokenListIndexingMode) {
      MorphResult morphResult = new MorphResult();
      morphResult.setWord(token.getTerm());
      morphResult.setType(token.getType());
      morphResult.setStartOffset(token.getStartOffset());
      morphResult.setEndOffset(token.getEndOffset());
     
      morphIndexingTestResult.add(morphResult);
    }
   
    for(MorphToken token : resultTokenListQueryMode) {
      MorphResult morphResult = new MorphResult();
      morphResult.setWord(token.getTerm());
      morphResult.setType(token.getType());
      morphResult.setStartOffset(token.getStartOffset());
      morphResult.setEndOffset(token.getEndOffset());
     
      morphQueryTestResult.add(morphResult);
    }
   
    morphTestResultSet.put("indexResult", morphIndexingTestResult);
    morphTestResultSet.put("queryResult", morphQueryTestResult);
   
    ObjectMapper mapper = new ObjectMapper();
    String morphResult = mapper.writeValueAsString(morphTestResultSet);
   
    logger.info("morphResult : {}", morphResult);
   
    response.setContentType("application/json;  charset=UTF-8");
    PrintWriter writer = response.getWriter();
    writer.write(morphResult);
    writer.flush();
    writer.close();
  }
}
TOP

Related Classes of com.tistory.devyongsik.crescent.admin.controller.MorphAdminMainController

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.