package com.bizofficer.apiweb.cachehub;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;


@RestController
@Service
public class CacheTemplateController {
	
	private static final Logger logger = Logger.getLogger(CacheTemplateController.class);
	
	@Autowired
	private CacheTemplateService serviceObj;

	@RequestMapping(value = {"/templatecache"}, method = RequestMethod.GET)
	public ResponseEntity<Object> execute(@ModelAttribute("SpringWeb")BeanCache objBean) {
		
		try {
			
			logger.info( "TemplateId >>> " +  objBean.getTemplateId() );
			
			CacheTemplateResponseBean resonseObj = (CacheTemplateResponseBean) (Object) serviceObj.doExecute(objBean);
			
			logger.info( "ResponseTxt >>> " +  resonseObj.getResponseTxt() );
			
			HttpHeaders headers = new HttpHeaders();
	        return ResponseEntity.ok().headers(headers).body(resonseObj);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
	}
	

	
	
}
