Subversion Repositories SmartDukaan

Rev

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