1 package org.kuali.ole;
2
3 import org.apache.commons.lang.StringUtils;
4 import org.kuali.ole.docstore.discovery.util.DiscoveryEnvUtil;
5 import org.kuali.ole.docstore.util.DocStoreEnvUtil;
6 import org.kuali.ole.docstore.utility.DocumentStoreMaintenance;
7 import org.kuali.ole.utility.Constants;
8 import org.kuali.rice.core.api.config.module.RunMode;
9 import org.kuali.rice.core.framework.config.module.ModuleConfigurer;
10 import java.io.IOException;
11 import java.util.Arrays;
12
13
14
15
16
17
18
19
20
21 public class OleDocstoreModuleConfigurer extends ModuleConfigurer {
22 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(OleDocstoreModuleConfigurer.class);
23
24 DocStoreEnvUtil docStoreEnvUtil = new DocStoreEnvUtil();
25 DiscoveryEnvUtil discoveryEnvUtil = new DiscoveryEnvUtil();
26 DocumentStoreMaintenance documentStoreMaintenance = new DocumentStoreMaintenance();
27
28 public OleDocstoreModuleConfigurer() {
29 super("OLE-DOCSTORE");
30 LOG.info("OLE-Docstore Configurer instantiated");
31 setValidRunModes(Arrays.asList(RunMode.LOCAL));
32 }
33
34 @Override
35 protected void doAdditionalModuleStartLogic() throws Exception {
36 LOG.info("*********************************************************");
37 LOG.info("OLE Docstore Starting Module");
38 LOG.info("*********************************************************");
39 super.doAdditionalModuleStartLogic();
40
41 try {
42 docStoreEnvUtil.initEnvironment();
43 discoveryEnvUtil.initEnvironment();
44 String docstoreHome = System.getProperty(Constants.OLE_DOCSTORE_HOME_SYSTEM_PROPERTY);
45 String discoveryHome = System.getProperty(Constants.OLE_DISCOVERY_HOME_SYSTEM_PROPERTY);
46 validate(docstoreHome, discoveryHome);
47 documentStoreMaintenance.docStoreMaintenance(docstoreHome, discoveryHome);
48 } catch (IOException e) {
49
50
51 throw new IllegalStateException(e);
52 }
53
54 }
55
56 protected void validate(String docstoreHome, String discoveryHome) {
57 StringBuilder sb = new StringBuilder();
58 if (StringUtils.isBlank(docstoreHome)) {
59 sb.append(Constants.OLE_DOCSTORE_HOME_SYSTEM_PROPERTY + " cannot be blank. ");
60 }
61 if (StringUtils.isBlank(docstoreHome)) {
62 sb.append(Constants.OLE_DISCOVERY_HOME_SYSTEM_PROPERTY + " cannot be blank.");
63 }
64 if (sb.length() != 0) {
65 throw new IllegalStateException(sb.toString());
66 }
67 }
68
69 @Override
70 protected void doAdditionalModuleStopLogic() throws Exception {
71 LOG.info("*********************************************************");
72 LOG.info("OLE Stopping Module");
73 LOG.info("*********************************************************");
74 super.doAdditionalModuleStopLogic();
75 }
76 }