Subversion Repositories SmartDukaan

Rev

Rev 3303 | Rev 3311 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3303 rajveer 1
package in.shop2020.serving.services;
2
 
3
import in.shop2020.serving.mappers.SaholicMapper;
4
import in.shop2020.serving.utils.Utils;
5
 
6
import java.io.BufferedReader;
7
import java.io.FileReader;
8
import java.io.IOException;
9
import java.util.HashMap;
10
import java.util.Map;
11
 
12
import org.apache.log4j.Logger;
13
import org.json.JSONException;
14
import org.json.JSONObject;
15
 
16
public class SpecialPageConfigurer {
17
	private static Logger log = Logger.getLogger(SaholicMapper.class);
18
	private static Map<String, JSONObject> specialPagesDetails;
19
	static {
20
	    try {
21
	        loadSpecialPagesDetails();
22
	    }
23
	    catch (IOException e) {
24
            log.error("Could not load special pages details", e);
25
        }
26
	    catch (JSONException e) {
27
            log.error("Could not load special pages details", e);
28
        }
29
	}
30
 
31
	/**
32
     * Loads all special pages related details
33
     */
34
    private static void loadSpecialPagesDetails() throws IOException, JSONException {
35
        FileReader fr = new FileReader(Utils.EXPORT_ENTITIES_PATH + "../../javascripts/special-pages.json");
36
        BufferedReader br = new BufferedReader(fr);
37
        String str = null;
38
 
39
        log.info("Start loading special page parameters");
40
 
41
        specialPagesDetails = new HashMap<String, JSONObject>();
42
        while ((str = br.readLine()) != null) {
43
            JSONObject jsonObject = new JSONObject(str);
44
            specialPagesDetails.put(jsonObject.getString("saholicURL"),
45
                    jsonObject);
46
        }
47
 
48
        log.info("Finish loading special page parameters");
49
    }
50
 
51
    /**
52
     * Returns true in case a string passed is a special page name
53
     */
54
    public static boolean isValidSpecialPage(String specialPage) {
3310 rajveer 55
        if (specialPage == null || specialPagesDetails == null) {
3303 rajveer 56
            return false;
57
        }
58
        return specialPagesDetails.containsKey(specialPage);
59
    }
60
 
61
    public static String getQueryFromUri(String uri) throws JSONException {
62
        return specialPagesDetails.get(uri).getString("searchQuery");
63
    }
64
 
65
    public static String getSpecialPageTitleFromUri(String uri) throws JSONException {
66
        return specialPagesDetails.get(uri).getString("pageTitle");
67
    }
68
 
69
    public static String getSpecialPageNameFromUri(String uri) throws JSONException {
70
        return specialPagesDetails.get(uri).getString("displayName");
71
    }
72
 
73
    public static String getPageMetaKeywords(String uri) throws JSONException {
74
       	return specialPagesDetails.get(uri).getString("metaKeywords");
75
    }
76
}