Project

General

Profile

1
package eu.dnetlib.statsapi.repositories;
2

    
3
import eu.dnetlib.statsapi.domain.Result;
4

    
5
import org.apache.log4j.Logger;
6
import org.springframework.data.redis.core.HashOperations;
7
import org.springframework.data.redis.core.RedisTemplate;
8
import org.springframework.stereotype.Repository;
9

    
10
import java.security.MessageDigest;
11

    
12
@Repository
13
public class StatsRepository {
14

    
15
    private RedisTemplate<String, String> redisTemplate;
16

    
17
    private HashOperations<String, String, String> jedis;
18

    
19
    private final Logger log = Logger.getLogger(this.getClass());
20

    
21
    public StatsRepository(RedisTemplate<String, String> redisTemplate) {
22
        this.redisTemplate = redisTemplate;
23
        this.jedis = this.redisTemplate.opsForHash();
24
    }
25

    
26
    private static String MD5(String string) throws java.security.NoSuchAlgorithmException {
27
        MessageDigest md = MessageDigest.getInstance("MD5");
28
        md.update(string.getBytes());
29

    
30
        byte byteData[] = md.digest();
31
        StringBuilder sb = new StringBuilder();
32
        for (byte aByteData : byteData) {
33
            sb.append(Integer.toString((aByteData & 0xff) + 0x100, 16).substring(1));
34
        }
35

    
36
        return sb.toString();
37
    }
38

    
39
    public Result getNumber(String number) {
40
        String redis_result = jedis.get("STATS_NUMBERS", number);
41
        if (redis_result != null) {
42
            return new Result("OK", "200", Integer.parseInt(redis_result.replaceAll(",", "")));
43
        }
44
        return new Result("Not Found", "400", null);
45
    }
46
}
(3-3/3)