Project

General

Profile

1
package eu.dnetlib.data.claims.migration;
2
import java.util.ArrayList;
3
import java.util.List;
4

    
5
import com.google.gson.*;
6
import eu.dnetlib.data.claims.migration.entity.Claim;
7
import eu.dnetlib.data.claims.migration.entity.Result;
8
import org.springframework.web.client.RestTemplate;
9

    
10
import javax.lang.model.type.ArrayType;
11

    
12
public class JsonldBuilder {
13
	
14
	public static String toJsonld(ClaimGenerics<Object, Result> claim) {
15
		Gson gson = new GsonBuilder().setPrettyPrinting().create();
16
		
17
		String retString = gson.toJson(claim);
18
		
19
	/*	final String uri = "http://localhost:9090/oa/buildAndInsertClaim";
20
		 
21
	 
22
	    RestTemplate restTemplate = new RestTemplate();
23
	    String result = restTemplate.postForObject( uri, retString, String.class);
24
	 
25
	    System.out.println(result);
26
	*/	
27
		return retString;
28
//		JsonParser parser = new JsonParser();
29
//		JsonObject obj = parser.parse(retString).getAsJsonObject();
30
//		obj.addProperty("@context", "https://dl.dropboxusercontent.com/u/19168406/oa-openaire.jsonld");
31
//		obj.addProperty("@type", "oa:Annotation");
32
//		return  gson.toJson(obj).toString();
33
	}
34
    public static String toJsonld(Claim claim) {
35
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
36
        String retString = gson.toJson(claim);
37
        return retString;
38
    }
39
    public static String toJsonld(List<Claim> claims) {
40

    
41
        GsonBuilder gsonBuilder = new GsonBuilder();
42
        gsonBuilder.setPrettyPrinting();
43
        gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
44
        Gson gson =gsonBuilder.create();
45

    
46
         String retString = gson.toJson(claims);
47
        return retString;
48
    }
49

    
50
	public static void bulkLoad(List<String> claims) {
51
		
52
		final String uri = "http://localhost:9090/oa/insertClaim";
53
		RestTemplate restTemplate = new RestTemplate();
54
		 
55
		int counter = 0;
56
		
57
		List<String> claimsBatch = new ArrayList<String>();
58
		for (String claim : claims) {
59
			counter ++;
60
			claimsBatch.add(claim);
61
			if (counter % 50 == 0) {
62
				String result = restTemplate.postForObject( uri, "{\"@graph\" : "+claimsBatch.toString()+"}", String.class);
63
				claimsBatch.clear();
64
				System.out.println(result);
65
			}
66
		}
67
		
68
		if (!claimsBatch.isEmpty()) {
69
			String result = restTemplate.postForObject( uri, "{\"@graph\" : "+claimsBatch.toString()+"}", String.class);
70
			claimsBatch.clear();
71
			System.out.println(result);
72
		}
73
	 
74
		
75
//		JsonParser parser = new JsonParser();
76
//		JsonObject obj = parser.parse(retString).getAsJsonObject();
77
//		obj.addProperty("@context", "https://dl.dropboxusercontent.com/u/19168406/oa-openaire.jsonld");
78
//		obj.addProperty("@type", "oa:Annotation");
79
//		return  gson.toJson(obj).toString();
80
	}
81

    
82
}
(4-4/6)