Project

General

Profile

« Previous | Next » 

Revision 2280c2d9

Added by Andreas Müller almost 7 years ago

adapt BgbmInstancesUpdater to new databases

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/database/update/BgbmInstancesUpdater.java
27 27
	private static String testServer = "edit-test.bgbm.fu-berlin.de";  //preliminary
28 28

  
29 29
	private static String[] integrationDatabases = new String[]{
30
	   "cdm_integration_cichorieae",
30
	    "cdm_integration_cichorieae",
31 31
		"cdm_integration_cyprus", "cdm_integration_diptera",
32 32
	    "cdm_integration_flora_malesiana",
33 33
		"cdm_integration_palmae","cdm_integration_reference"
34 34
	};
35 35

  
36 36
	private static String[] testDatabases = new String[]{
37
	    "cdm_Test_Caryophyllales", "cdm_bgbm_edit_usergroup",
38
	    "cdm_campanulaceae", "cdm_campanulaceae_082014",
39
		"cdm_col","cdm_corvidae", "cdm_cyprus","cdm_edaphobase_test",
37
	    "cdm_col",
38
	    "cdm_Test_Caryophyllales",
39
	    "cdm_additivity_test",
40
        "cdm_bgbm_edit_usergroup",
41
	    "cdm_campanulaceae","cdm_caryo_nepenthes",
42
		"cdm_corvidae", "cdm_cyprus","cdm_edaphobase_test",
40 43
		"cdm_edit_algaterra", "cdm_edit_cichorieae",
41 44
		"cdm_edit_flora_central_africa", "cdm_edit_flora_malesiana",
42 45
		"cdm_edit_globis", "cdm_edit_palmae",
43 46
		"cdm_flora_cuba", "cdm_flora_guianas",
44 47
		"cdm_flore_gabon",
45 48
	    "cdm_iapt",
46
		"cdm_mt_moose", "cdm_mt_standardliste",
49
		"cdm_mt_moose",
50
		"cdm_mt_standardliste",
47 51
		"cdm_pesi_erms", "cdm_pesi_euromed", "cdm_pesi_fauna_europaea",
48 52
		"cdm_phycobank",
49 53
		"cdm_proibiosphere_chenopodium_pilot",
50 54
		"cdm_rem_conf_ak", "cdm_rem_conf_am", "cdm_rem_conf_kl", "cdm_rem_conf_pp",
51
		"cdm_rl_animalia","cdm_rl_mammalia", "cdm_rl_plantae",
55
		"cdm_rl_animalia","cdm_rl_german_sl","cdm_rl_mammalia", "cdm_rl_plantae",
52 56
		"cdm_salvador",
53 57
        "cdm_test_euromed",
54 58
        "cdm_vibrant_index"
55 59
		};
56 60

  
57 61
	private static String[] testDatabasesOthers = new String[]{"cdm_caryo_amaranthaceae",
58
		"cdm_caryo_caryophyllales","cdm_flora_malesiana_prospective","cdm_pesi_all","cdm_salvador",
59
		};
62
		"cdm_caryo_caryophyllales","cdm_flora_malesiana_prospective","cdm_pesi_all",
63
	};
60 64

  
61 65
	private static String[] productionDatabases = new String[]{
62
		"cdm_production_acantholimon","cdm_production_algaterra",
63
		"cdm_production_amaranthaceae","cdm_production_cactaceae",
64
		"cdm_production_campanulaceae","cdm_production_caryophyllales",
65
		"cdm_production_chenopodiaceae","cdm_production_cichorieae",
66
		"cdm_production_col",
66
	    "cdm_production_col",
67
	    "cdm_production_algaterra",
68
	    "cdm_production_algaterranew",
69
	    "cdm_production_asteraceae",
70
		"cdm_production_campanulaceae",
71
		"cdm_production_caryo_amaranthaceae",
72
		"cdm_production_caryo_nepenthaceae",
73
		"cdm_production_caryo_nyctaginaceae",
74
        "cdm_production_caryophyllales",
75
        "cdm_production_caryophyllales_spp",
76
        "cdm_production_cichorieae",
67 77
		"cdm_production_corvidae","cdm_production_cyprus",
68
		"cdm_production_dianthus","cdm_production_diptera",
69
		"cdm_production_euromed",
70
		"cdm_production_flora_central_africa","cdm_production_flora_guianas",
71
		"cdm_production_flora_malesiana","cdm_production_flora_malesiana_prospective",
78
		"cdm_production_diptera",
79
		"cdm_production_edaphobase",
80
        "cdm_production_euromed",
81
        "cdm_production_flora_bogota",
82
        "cdm_production_flora_central_africa",
83
        "cdm_production_flora_cuba",
84
        "cdm_production_flora_greece",
85
        "cdm_production_flora_guianas",
86
        "cdm_production_flora_malesiana",
87
        "cdm_production_flora_malesiana_clean",
88
        "cdm_production_flora_malesiana_prospective",
72 89
		"cdm_production_flore_gabon",
73
		"cdm_production_globis","cdm_production_nyctaginaceae",
74
		"cdm_production_palmae","cdm_production_piB_campylopus_pilot",
75
		"cdm_production_piB_eupolybothrus_pilot","cdm_production_piB_lactarius_pilot",
76
		"cdm_production_piB_loranthaceae","cdm_production_piB_nephrolepis_pilot",
77
		"cdm_production_piB_ants_pilot","cdm_production_piB_chenopodium_pilot",
90
		"cdm_production_globis",
91
		"cdm_production_palmae",
92
		"cdm_production_phycobank",
93
		"cdm_production_piB_ants_pilot",
94
		"cdm_production_piB_campylopus_pilot",
95
		"cdm_production_piB_chenopodium_pilot",
96
        "cdm_production_piB_eupolybothrus_pilot",
97
		"cdm_production_piB_lactarius_pilot",
98
		"cdm_production_piB_nephrolepis_pilot",
78 99
		"cdm_production_piB_spiders_pilot",
79
		"cdm_production_polygonaceae",
80
		"cdm_production_rl_animalis",  //not yet filled
81
		"cdm_production_rl_armeria_demo", "cdm_production_rl_lumbricidae",
82
		"cdm_production_rl_standardliste", "cdm_production_rl_moose",
83
		"cdm_production_tamaricaceae","cdm_production_vibrant_index"
100
		"cdm_production_rl_animalia",
101
		"cdm_production_rl_armeria_demo",
102
        "cdm_production_rl_fungi",
103
		"cdm_production_rl_german_sl",
104
        "cdm_production_rl_lumbricidae",
105
        "cdm_production_rl_mammalia",
106
        "cdm_production_rl_moose",
107
        "cdm_production_rl_plantae",
108
        "cdm_production_rl_standardliste",
109
        "cdm_production_rubiaceae_mexico",
110
        "cdm_production_salvador",
111
		"cdm_production_vibrant_index"
84 112
	    };
85 113

  
86 114

  
87 115
	static BgbmServer bgbmServer = BgbmServer.TEST;
88 116

  
89 117

  
90

  
91 118
	static String username = "edit";
92 119

  
93 120

  
94 121

  
95
	/**
96
	 * @param args
97
	 */
98
	public static void  main(String[] args) {
99
		DbSchemaValidation schema = DbSchemaValidation.VALIDATE;
122

  
123
    /**
124
     *
125
     */
126
    private static void updateToCurrentVersion() {
127
        DbSchemaValidation schema = DbSchemaValidation.VALIDATE;
100 128
    	String server = bgbmServer.server;
101 129
    	for (String database : bgbmServer.databases){
102
    	    boolean result = true;
103
    		logger.warn("Update: " + database + " ... ");
130
    	    logger.warn("Update: " + database + " ... ");
104 131
    		ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
105
    		try {
132
    		SchemaUpdateResult result = new SchemaUpdateResult();
133
            try {
106 134
    			CdmUpdater updater = new CdmUpdater();
107
    			result = updater.updateToCurrentVersion(dataSource, DefaultProgressMonitor.NewInstance());
135
    			System.out.println(database);
136
                result = updater.updateToCurrentVersion(dataSource, DefaultProgressMonitor.NewInstance());
137
    			System.out.println(result.createReport());
108 138
    			CdmApplicationController appCtr = CdmIoApplicationController.NewInstance(dataSource,schema);
109 139
    			System.out.println(appCtr.getClassificationService().count(Classification.class));
110 140
    		} catch (Exception e) {
111
    			result = false;
141
    			result.addException(e, e.getMessage());
112 142
    			e.printStackTrace();
113 143
    		}
114
    		if(!result ){
144
    		if(!result.isSuccess() ){
115 145
    			logger.warn("Problem");
116 146
    			System.exit(1);
117 147
    		}
118 148

  
119 149
    		logger.warn("Update: " + database + " ... DONE ");
120 150
    	}
121
    	System.exit(0);
122
	}
123

  
124
	private enum BgbmServer{
151
    }
152

  
153

  
154
    /**
155
     *
156
     */
157
    private static void singleUpdateStep(boolean startApp) {
158
        DbSchemaValidation schema = DbSchemaValidation.VALIDATE;
159
        String server = bgbmServer.server;
160
        for (String database : bgbmServer.databases){
161
            logger.warn("Update: " + database + " ... ");
162
            ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance(server, database, username, AccountStore.readOrStorePassword(server, database, username, null));
163
            SchemaUpdateResult result = new SchemaUpdateResult();
164
            try {
165
                System.out.println(database);
166
                //define step here !!!
167
                SchemaUpdaterStepBase step = IndexRenamer.NewStringInstance("TaxonName",
168
                        "taxonNameBaseNameCacheIndex", "taxonNameNameCacheIndex", "nameCache", 255);
169
                SchemaUpdaterStepBase step2 = IndexRenamer.NewStringInstance("TaxonName",
170
                        "taxonNameBaseTitleCacheIndex", "taxonNameTitleCacheIndex", "titleCache", 333);
171
                dataSource.startTransaction();
172
                step.invoke(dataSource, DefaultProgressMonitor.NewInstance(), CaseType.caseTypeOfDatasource(dataSource), result);
173
                step2.invoke(dataSource, DefaultProgressMonitor.NewInstance(), CaseType.caseTypeOfDatasource(dataSource), result);
174
                dataSource.commitTransaction();
175
                System.out.println(result.createReport());
176
                if (startApp){
177
                    CdmApplicationController appCtr = CdmIoApplicationController.NewInstance(dataSource,schema);
178
                    System.out.println(appCtr.getClassificationService().count(Classification.class));
179
                }
180
            } catch (Exception e) {
181
                result.addException(e, e.getMessage());
182
                e.printStackTrace();
183
            }
184
            if(!result.isSuccess() ){
185
                logger.warn("Problem");
186
                System.exit(1);
187
            }
188

  
189
            logger.warn("Update: " + database + " ... DONE ");
190
        }
191

  
192
    }
193

  
194

  
195
    /**
196
     * @param args
197
     */
198
    public static void  main(String[] args) {
199
        updateToCurrentVersion();
200
//        singleUpdateStep(false);
201
        System.exit(0);
202
    }
203

  
204

  
205
    private enum BgbmServer{
125 206
		INTEGRATION (integrationServer, integrationDatabases),
126 207
		TEST(testServer,testDatabases),
127 208
		PRODUCTION(productionServer,productionDatabases);

Also available in: Unified diff