Subversion Repositories SmartDukaan

Rev

Rev 390 | Blame | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

import in.shop2020.serving.pages.PageContentKeys;
import in.shop2020.serving.pages.PageEnum;
import in.shop2020.serving.pages.PageManager;

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

import javax.servlet.http.HttpServletRequest;

import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.rest.DefaultHttpHeaders;
import org.apache.struts2.rest.HttpHeaders;




public class RatingsController extends BaseController implements ServletRequestAware{
        
        /**
         * 
         */
        private static Log log = LogFactory.getLog(MyresearchController.class);
        
        /**
         * 
         */
        private HttpServletRequest request;

        //id is in format entityID_ratingType_rating_userID  
        private String id;
        
        private String customer_id;
        
        private String entity_id;
        
        private String rating_type;
        
        private String rating; 

    // GET /ratings
    public HttpHeaders index() throws UnsupportedEncodingException {
        log.info("this.request=" + this.request);
        
        return new DefaultHttpHeaders("show")
            .disableCaching();
    }
        //Handle /ratings/{id}
        public HttpHeaders show(){
                getFields();
                Map<PageContentKeys, String> params = new HashMap<PageContentKeys, String>();
                params.put(PageContentKeys.ENTITY_ID, entity_id);
                if(customer_id != null){
                        params.put(PageContentKeys.CUSTOMER_ID, customer_id);
                }
                params.put(PageContentKeys.RATING_TYPE, rating_type);
                params.put(PageContentKeys.RATING, rating);
                PageManager.getPageManager().getPageContents(PageEnum.RATINGS_PAGE, params);
                return new DefaultHttpHeaders("show");
        }
        
        private void getFields(){
                StringTokenizer tokenizer = new StringTokenizer(id,"_");
                entity_id = tokenizer.nextToken();
                rating_type = tokenizer.nextToken();
                rating =  tokenizer.nextToken();
                if(tokenizer.hasMoreTokens()){
                        customer_id = tokenizer.nextToken();
                }
                else{
                        customer_id = null;
                }
        }

    public void setId(String id) {
        this.id = id;
    }


    @Override
        public void setServletRequest(HttpServletRequest request) {
                this.request = request;
        }

    
}