Project

General

Profile

Download (4.33 KB) Statistics
| Branch: | Revision:
1
package eu.etaxonomy.cdm.app.caryophyllales;
2
import java.util.Arrays;
3
import java.util.List;
4
import java.util.UUID;
5

    
6
import org.apache.log4j.Logger;
7

    
8
import eu.etaxonomy.cdm.api.application.CdmApplicationController;
9
import eu.etaxonomy.cdm.api.service.config.CacheUpdaterConfigurator;
10
import eu.etaxonomy.cdm.app.common.CdmDestinations;
11
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
12
import eu.etaxonomy.cdm.database.DbSchemaValidation;
13
import eu.etaxonomy.cdm.database.ICdmDataSource;
14
import eu.etaxonomy.cdm.io.api.application.CdmIoApplicationController;
15
import eu.etaxonomy.cdm.io.common.ImportResult;
16
import eu.etaxonomy.cdm.model.name.TaxonName;
17
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
18

    
19
public class CaryophyllalesCacheUpdater {
20

    
21
		private static final Logger logger = Logger.getLogger(CaryophyllalesCacheUpdater.class);
22

    
23
		//database validation status (create, update, validate ...)
24
		static DbSchemaValidation hbm2dll = DbSchemaValidation.VALIDATE;
25
		static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_algaterranew();
26

    
27
		static final List<String> classListStrings =  Arrays.asList(new String[]{
28
				//IdentifiableEntity.class.getName(),
29
//				IdentifiableEntity.class.getName(),
30
				//AgentBase.class.getName(),
31
				//Reference.class.getName(),
32
				TaxonName.class.getName(),
33
				TaxonBase.class.getName()
34

    
35

    
36
		});
37
		//new ArrayList<Class<? extends IdentifiableEntity>>();
38

    
39
	// **************** ALL *********************
40

    
41
//		//DescriptionBase
42
//		static final boolean doTaxonDescription = true;
43
//		static final boolean doSpecimenDescription = true;
44
//		static final boolean doNameDescription = true;
45
	//
46
//		//AgentBase
47
//		static final boolean doPerson = true;
48
//		static final boolean doTeam = true;
49
//		static final boolean doInstitution = true;
50
	//
51
//		//MediaEntities
52
//		static final boolean doCollection = true;
53
//		static final boolean doReferenceBase = true;
54
	//
55
//		//SpecimenOrObservationBase
56
//		static final boolean doFieldObservation = true;
57
//		static final boolean doDeriveUnit = true;
58
//		static final boolean doLivingBeing = true;
59
//		static final boolean doObservation = true;
60
//		static final boolean doSpecimen = true;
61
	//
62
//		//Media
63
//		static final boolean doMedia = true;
64
//		static final boolean doMediaKey = true;
65
//		static final boolean doFigure = true;
66
//		static final boolean doPhylogenticTree = true;
67
	//
68
	//
69
//		//TaxonBase
70
//		static final boolean doTaxon = true;
71
//		static final boolean doSynonym = true;
72
	//
73
//		static final boolean doSequence = true;
74
	//
75
//		//Names
76
//		static final boolean doTaxonName = true;
77
	//
78
//		static final boolean doClassification = true;
79
	//
80
//		//TermBase
81
//		static final boolean doFeatureTree = true;
82
//		static final boolean doPolytomousKey = true;
83
	//
84
//		static final boolean doTermVocabulary = true;
85
//		static final boolean doDefinedTermBase = true;
86
	//
87

    
88

    
89
		private ImportResult doInvoke(ICdmDataSource destination){
90
			ImportResult result = new ImportResult();
91

    
92
			CacheUpdaterConfigurator config;
93
			try {
94
				config = CacheUpdaterConfigurator.NewInstance(classListStrings, true);
95
				CdmApplicationController appCtrInit = CdmIoApplicationController.NewInstance(destination, DbSchemaValidation.VALIDATE, false);
96
				appCtrInit.authenticate("admin", "kups366+RU");
97
				UUID monitUuid = appCtrInit.getLongRunningTasksService().monitLongRunningTask(config);
98
				IRemotingProgressMonitor monitor = appCtrInit.getProgressMonitorService().getRemotingMonitor(monitUuid);
99
				while(monitor != null && (!monitor.isCanceled() || !monitor.isDone() || !monitor.isFailed())) {
100
					try {
101
						Thread.sleep(10);
102
					} catch (InterruptedException e) {
103
						// TODO Auto-generated catch block
104
						e.printStackTrace();
105
					}
106
	                logger.info("Waiting for monitered work to start ..");
107
	                monitor = appCtrInit.getProgressMonitorService().getRemotingMonitor(monitUuid);
108
				}
109

    
110
				return result;
111
			} catch (ClassNotFoundException e) {
112
				logger.error(e);
113
				result.addException(e);
114
				return result;
115
			}
116
		}
117

    
118
		public static void main(String[] args) {
119
			ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;
120

    
121
			System.out.println("Start updating caches for "+ destination.getDatabase() + "...");
122
			CaryophyllalesCacheUpdater me = new CaryophyllalesCacheUpdater();
123
			me.doInvoke(destination);
124

    
125
		}
126
	}
(7-7/18)