Subversion Repositories SmartDukaan

Rev

Rev 3268 | Rev 3656 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3268 Rev 3561
Line 1... Line 1...
1
package in.shop2020.serving.controllers;
1
package in.shop2020.serving.controllers;
2
 
2
 
3
import in.shop2020.model.v1.catalog.InventoryServiceException;
3
import in.shop2020.model.v1.catalog.InventoryServiceException;
4
import in.shop2020.serving.cache.EhcacheWrapper;
4
import in.shop2020.serving.cache.EhcacheWrapper;
5
import in.shop2020.serving.utils.FileUtils;
5
import in.shop2020.serving.services.ContentServingService;
6
import in.shop2020.serving.utils.Utils;
6
import in.shop2020.serving.utils.SnippetType;
7
import in.shop2020.thrift.clients.CatalogClient;
7
import in.shop2020.thrift.clients.CatalogClient;
8
 
8
 
9
import java.io.File;
-
 
10
import java.io.IOException;
-
 
11
import java.util.ArrayList;
9
import java.util.ArrayList;
12
import java.util.Arrays;
10
import java.util.Arrays;
13
import java.util.List;
11
import java.util.List;
14
 
12
 
15
import net.sf.ehcache.CacheManager;
13
import net.sf.ehcache.CacheManager;
Line 76... Line 74...
76
    // GET /show
74
    // GET /show
77
    @SuppressWarnings("unchecked")
75
    @SuppressWarnings("unchecked")
78
    public HttpHeaders show() {
76
    public HttpHeaders show() {
79
        EhcacheWrapper<String, Object> showcasePageSnippetsCache = new EhcacheWrapper<String, Object>(
77
        EhcacheWrapper<String, Object> showcasePageSnippetsCache = new EhcacheWrapper<String, Object>(
80
                EhcacheWrapper.SHOWCASE_PAGE_SNIPPET_CACHE_NAME, CacheManager.create());
78
                EhcacheWrapper.SHOWCASE_PAGE_SNIPPET_CACHE_NAME, CacheManager.create());
-
 
79
        if(sourceId == -1){
81
        this.snippets = (List<String>)showcasePageSnippetsCache.get(SHOWCASE_LATEST_ARRIVALS_CACHE_KEY + beginIndex);
80
        	this.snippets = (List<String>)showcasePageSnippetsCache.get(SHOWCASE_LATEST_ARRIVALS_CACHE_KEY + beginIndex);
82
        this.totalItems = (Long)showcasePageSnippetsCache.get(SHOWCASE_LATEST_ARRIVALS_COUNT_CACHE_KEY);
81
        	this.totalItems = (Long)showcasePageSnippetsCache.get(SHOWCASE_LATEST_ARRIVALS_COUNT_CACHE_KEY);
83
        if(this.snippets != null && !this.snippets.isEmpty() && this.totalItems > 0) {
82
        	if(this.snippets != null && !this.snippets.isEmpty() && this.totalItems > 0) {
84
            log.info("Using Cache.");
83
        		log.info("Using Cache.");
85
            return new DefaultHttpHeaders("show");
84
        		return new DefaultHttpHeaders("show");
-
 
85
        	}
86
        }
86
        }
87
        log.info("Getting latest arrivals from snippets.");
87
        log.info("Getting latest arrivals from snippets.");
88
    	in.shop2020.model.v1.catalog.InventoryService.Client client = catalogClientService.getClient();
88
    	in.shop2020.model.v1.catalog.InventoryService.Client client = catalogClientService.getClient();
89
    	try {
89
    	try {
90
			this.setTotalItems(client.getLatestArrivalsCount());
90
			this.setTotalItems(client.getLatestArrivalsCount());
-
 
91
			if(sourceId == -1){
91
			showcasePageSnippetsCache.put(SHOWCASE_LATEST_ARRIVALS_COUNT_CACHE_KEY, this.totalItems);
92
				showcasePageSnippetsCache.put(SHOWCASE_LATEST_ARRIVALS_COUNT_CACHE_KEY, this.totalItems);
-
 
93
			}
92
			this.items = client.getLatestArrivalsCatalogIds(beginIndex, windowSize, null, Arrays.asList(new Long[]{10002L, 10003L, 10010L}));
94
			this.items = client.getLatestArrivalsCatalogIds(beginIndex, windowSize, null, Arrays.asList(new Long[]{10002L, 10003L, 10010L}));
93
			setSnippets();
95
			setSnippets();
-
 
96
			if(sourceId == -1){
94
            showcasePageSnippetsCache.put(SHOWCASE_LATEST_ARRIVALS_CACHE_KEY + beginIndex, this.snippets);
97
				showcasePageSnippetsCache.put(SHOWCASE_LATEST_ARRIVALS_CACHE_KEY + beginIndex, this.snippets);
-
 
98
			}
95
		} catch (InventoryServiceException e) {
99
		} catch (InventoryServiceException e) {
96
			log.error("Unable to get latest arrivals from inventory service.", e);
100
			log.error("Unable to get latest arrivals from inventory service.", e);
97
		} catch (TException e) {
101
		} catch (TException e) {
98
			log.error("Unable to get latest arrivals from inventory service.", e);
102
			log.error("Unable to get latest arrivals from inventory service.", e);
99
		}
103
		}
Line 102... Line 106...
102
    
106
    
103
    public void setSnippets(){
107
    public void setSnippets(){
104
    	snippets = new ArrayList<String>();
108
    	snippets = new ArrayList<String>();
105
    	if(items != null){
109
    	if(items != null){
106
    		for(long item: items){
110
    		for(long item: items){
107
    			try{
-
 
108
    				snippets.add(FileUtils.read( Utils.EXPORT_ENTITIES_PATH + item + File.separator +"CategorySnippet.html"));
111
    			snippets.add(ContentServingService.getSnippet(SnippetType.CATEGORY_SNIPPET, item+"", sourceId));
109
    			}catch(IOException ioex){
-
 
110
    				log.error("Unable to read snippet for " + item, ioex);
-
 
111
    			}
-
 
112
			}
112
			}
113
    	}
113
    	}
114
    }
114
    }
115
    
115
    
116
    public List<String> getSnippets() {
116
    public List<String> getSnippets() {