01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.config.schema;
05:
06: import com.tc.config.schema.setup.ConfigurationSetupException;
07: import com.tc.config.schema.setup.FatalIllegalConfigurationChangeHandler;
08: import com.tc.config.schema.setup.L2TVSConfigurationSetupManager;
09: import com.tc.config.schema.setup.StandardTVSConfigurationSetupManagerFactory;
10:
11: /**
12: * Validates a configuration file, and throws an exception if it fails.
13: */
14: public class ConfigFileValidator {
15:
16: private String description;
17:
18: public void validate(String[] args)
19: throws ConfigurationSetupException {
20: StandardTVSConfigurationSetupManagerFactory factory;
21:
22: factory = new StandardTVSConfigurationSetupManagerFactory(args,
23: true, new FatalIllegalConfigurationChangeHandler());
24: L2TVSConfigurationSetupManager manager = factory
25: .createL2TVSConfigurationSetupManager(null);
26: description = manager.describeSources();
27: }
28:
29: public String toString() {
30: return this .description;
31: }
32:
33: public static void main(String[] args) {
34: ConfigFileValidator validator = new ConfigFileValidator();
35:
36: try {
37: validator.validate(args);
38: System.err.println(validator.toString() + ": VALID.");
39: System.exit(0);
40: } catch (ConfigurationSetupException cse) {
41: Throwable exception = cse;
42:
43: System.err.println(validator.toString() + ": INVALID.");
44:
45: while (exception != null) {
46: System.err.println(exception.getLocalizedMessage());
47: exception = exception.getCause();
48: }
49:
50: System.exit(1);
51: }
52: }
53:
54: }
|