1
22
23 package com.liferay.portlet.amazonrankings.util;
24
25 import com.liferay.portal.kernel.util.StringPool;
26 import com.liferay.portal.kernel.webcache.WebCacheItem;
27 import com.liferay.portal.kernel.webcache.WebCachePoolUtil;
28 import com.liferay.portal.util.PropsKeys;
29 import com.liferay.portal.util.PropsUtil;
30 import com.liferay.portlet.amazonrankings.model.AmazonRankings;
31
32 import java.util.List;
33 import java.util.Vector;
34
35
41 public class AmazonRankingsUtil {
42
43 public static String getAmazonKey() {
44 return _instance._getAmazonKey();
45 }
46
47 public static AmazonRankings getAmazonRankings(String isbn) {
48 WebCacheItem wci = new AmazonRankingsWebCacheItem(isbn);
49
50 return (AmazonRankings)WebCachePoolUtil.get(
51 AmazonRankingsUtil.class.getName() + StringPool.PERIOD + isbn, wci);
52 }
53
54 private AmazonRankingsUtil() {
55 _amazonLicenseKeys = new Vector<String>();
56
57 for (int i = 0; i < 1000; i++) {
58 String key = PropsUtil.get(PropsKeys.AMAZON_LICENSE + i);
59
60 if (key == null) {
61 break;
62 }
63 else {
64 _amazonLicenseKeys.add(key);
65 }
66 }
67 }
68
69 private String _getAmazonKey() {
70 if (_amazonLicenseKeys.size() > 0) {
71 _amazonLicenseCount++;
72
73 if (_amazonLicenseCount >= _amazonLicenseKeys.size()) {
74 _amazonLicenseCount = 0;
75 }
76
77 return _amazonLicenseKeys.get(_amazonLicenseCount);
78 }
79 else {
80 return null;
81 }
82 }
83
84 private static AmazonRankingsUtil _instance = new AmazonRankingsUtil();
85
86 private List<String> _amazonLicenseKeys;
87 private int _amazonLicenseCount;
88
89 }