Project

General

Profile

1
package eu.dnetlib.data.claims;
2

    
3
import eu.dnetlib.data.claims.entity.Claim;
4
import eu.dnetlib.data.claims.entity.Result;
5
import eu.dnetlib.data.claims.handler.*;
6
import eu.dnetlib.data.claims.sql.SQLStoreException;
7
import eu.dnetlib.data.claims.utils.*;
8
import org.apache.log4j.BasicConfigurator;
9
import org.apache.log4j.Level;
10
import org.apache.log4j.Logger;
11
import org.junit.Before;
12
import org.junit.Test;
13
import org.junit.runner.RunWith;
14
import org.springframework.context.ApplicationContext;
15
import org.springframework.context.annotation.PropertySource;
16
import org.springframework.context.support.ClassPathXmlApplicationContext;
17
import org.springframework.test.context.ContextConfiguration;
18
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
19

    
20
import java.io.BufferedWriter;
21
import java.io.FileWriter;
22
import java.io.PrintWriter;
23
import java.util.ArrayList;
24
import java.util.List;
25

    
26
import static junit.framework.Assert.assertNotNull;
27

    
28
@RunWith(SpringJUnit4ClassRunner.class)
29
@ContextConfiguration(locations = {"springContext-claims.xml"})
30
@PropertySource("springContext-claims.properties")
31
public class CopyFromBetaTest {
32
	private Logger log = Logger.getLogger(this.getClass());
33
	ClaimHandler claimHandler = null;
34
    FetchClaimHandler fetchClaimHandler = null;
35
    private PrintWriter out;
36

    
37

    
38
    @Before
39
	public void init() throws Exception {
40
		BasicConfigurator.configure();
41
        ApplicationContext context = new ClassPathXmlApplicationContext("eu/dnetlib/data/claims/springContext-claims.xml");
42
        claimHandler = context.getBean(ClaimHandler.class);
43
        fetchClaimHandler = context.getBean(FetchClaimHandler.class);
44

    
45
	}
46
    @Test
47
    public void CopyFromBetaToProduction(){
48
        log.setLevel(Level.ERROR);
49
        try {
50
            ArrayList<String> communities = new ArrayList<>();
51
            // 5 connect communities: 793 - done
52
//            communities.add("ee");
53
//            communities.add("mes");
54
//            communities.add("fam");
55
//            communities.add("ni");
56
//            communities.add("dh-ch");
57

    
58
            //2nd group - 1073 - done
59
            //duplicates ids [20587 -22214]
60
//            select id, source_id, claimed_in_dashboard from claim where id>20586 and id < 22215 and (source_id like 'elixir-gr%' or source_id like 'enermaps%' or source_id like 'dariah%' or source_id like 'science-innovation-policy%' or source_id like 'oa-pg%');
61
//            communities.add("elixir-gr");
62
//            communities.add("enermaps");
63
//            communities.add("dariah");
64
//            communities.add("science-innovation-policy");
65
//            communities.add("oa-pg");
66

    
67
            // 3rd group - 555 - done
68
//            communities.add("egi");
69
//            communities.add("rda");
70

    
71

    
72
            // 4th group - 32673 - done
73
//            communities.add("covid-19");
74
            String startDate = "2018-03-01";
75
            String endDate = "2020-11-24";
76

    
77
            //local
78
            fetchClaimHandler.getSqlDAO().getSqlStore().setDbUrl("jdbc:postgresql://localhost:5432/claims_beta");
79
            //beta
80
//            fetchClaimHandler.getSqlDAO().getSqlStore().setDbUser("dnet");
81
//            fetchClaimHandler.getSqlDAO().getSqlStore().setDbPassword("dnetPwd");
82
//            fetchClaimHandler.getSqlDAO().getSqlStore().setDbUrl("jdbc:postgresql://beta.services.openaire.eu:5432/dnet_openaireplus");
83
            List<Claim> claims = fetchClaimHandler.fetchClaimsByDateForDashboards(startDate,endDate,  null,null,true, communities);
84
            System.out.println("Beta claims: ");
85
            System.out.println(claims.size());
86

    
87
//            fetchClaimHandler.getSqlDAO().getSqlStore().setDbUser("postgres");
88
//            fetchClaimHandler.getSqlDAO().getSqlStore().setDbPassword("snowflakes");
89
//            claimHandler.getSqlDAO().getSqlStore().setDbUrl("jdbc:postgresql://localhost:5432/movedb");
90
            //prod
91
            claimHandler.getSqlDAO().getSqlStore().setDbUser("dnet");
92
            claimHandler.getSqlDAO().getSqlStore().setDbPassword("dnetPwd");
93
            claimHandler.getSqlDAO().getSqlStore().setDbUrl("jdbc:postgresql://postgresql.services.openaire.eu:5432/dnet_openaireplus");
94
           /* out = new PrintWriter(new BufferedWriter(new FileWriter("/home/argirok/claims_migration/claims_migratedFromBeta_record_paths.txt", true)));
95

    
96
            for (Claim claim : claims) {
97

    
98
                if(out!=null) {
99
                    if(!claim.getTargetType().equals("project") && !claim.getTargetType().equals("context")){
100
                        System.out.println(((Result)claim.getTarget()).getRecordPath());
101
                        out.println("cp beta_records/" + ((Result)claim.getTarget()).getRecordPath() + " records/"+((Result)claim.getTarget()).getRecordPath());
102
                    }
103
                    if(!claim.getSourceType().equals("project") && !claim.getSourceType().equals("context")){
104
                        System.out.println(((Result)claim.getSource()).getRecordPath());
105
                        out.println("cp beta_records/" + ((Result)claim.getSource()).getRecordPath() + " records/"+((Result)claim.getSource()).getRecordPath());
106
                    }
107

    
108
                }
109

    
110
                System.out.println(claim.getId());
111
//                claimHandler.saveClaim(claim);
112
            }
113
            if(out!=null) {
114
                out.close();
115
            }*/
116
//            List<Claim> claimsmoveDB = fetchClaimHandler.countAllClaims(startDate,endDate, null, null, true);
117
//            System.out.println("Prod claims:");
118
//            System.out.println(claimsmoveDB.size());
119

    
120

    
121
        } catch (Exception | SQLStoreException e) {
122
            log.error("Error in migration",e);
123

    
124
        }
125

    
126
    }
127

    
128
}
(1-1/2)