1 /***
2 * Redistribution and use of this software and associated documentation
3 * ("Software"), with or without modification, are permitted provided
4 * that the following conditions are met:
5 *
6 * 1. Redistributions of source code must retain copyright
7 * statements and notices. Redistributions must also contain a
8 * copy of this document.
9 *
10 * 2. Redistributions in binary form must reproduce the
11 * above copyright notice, this list of conditions and the
12 * following disclaimer in the documentation and/or other
13 * materials provided with the distribution.
14 *
15 * 3. The name "Exolab" must not be used to endorse or promote
16 * products derived from this Software without prior written
17 * permission of Intalio. For written permission,
18 * please contact info@exolab.org.
19 *
20 * 4. Products derived from this Software may not be called "Exolab"
21 * nor may "Exolab" appear in their names without prior written
22 * permission of Intalio. Exolab is a registered
23 * trademark of Intalio.
24 *
25 * 5. Due credit should be given to the Exolab Project
26 * (http://www.exolab.org/).
27 *
28 * THIS SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS
29 * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
30 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
31 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
32 * INTALIO OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
33 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39 * OF THE POSSIBILITY OF SUCH DAMAGE.
40 *
41 * Copyright 2001,2003 (C) Intalio Inc. All Rights Reserved.
42 *
43 * $Id: Version.java,v 1.1 2004/11/26 01:51:02 tanderson Exp $
44 */
45
46
47 package org.exolab.jms.util;
48
49 import java.util.Properties;
50
51
52 /***
53 * This class provides version information from the <tt>openjms.version</tt>
54 * configuration file.
55 *
56 * @author <a href="mailto:tima@intalio.com">Tim Anderson</a>
57 * @version $Revision: 1.1 $ $Date: 2004/11/26 01:51:02 $
58 */
59 public final class Version {
60
61 /***
62 * The vendor name
63 */
64 public static final String VENDOR_NAME;
65
66 /***
67 * The vendor URL
68 */
69 public static final String VENDOR_URL;
70
71 /***
72 * The version number
73 */
74 public static final String VERSION;
75
76 /***
77 * The major version number
78 */
79 public static final int MAJOR_VERSION;
80
81 /***
82 * The minor version number
83 */
84 public static final int MINOR_VERSION;
85
86 /***
87 * The build date
88 */
89 public static final String BUILD_DATE;
90
91 /***
92 * The product title
93 */
94 public static final String TITLE;
95
96 /***
97 * The copyright message
98 */
99 public static final String COPYRIGHT;
100
101 /***
102 * The name of the version configuration file
103 */
104 public static final String FILE_NAME = "openjms.version";
105
106 /***
107 * The name of the default configuration file as a resource
108 */
109 private static final String RESOURCE_NAME = "/org/exolab/jms/" + FILE_NAME;
110
111 /***
112 * Default constructor
113 */
114 private Version() {
115 }
116
117 /***
118 * Displays all version information
119 */
120 public static void main(String args[]) {
121 System.err.println(TITLE + " " + VERSION + " (" + BUILD_DATE + ")");
122 System.err.println(VENDOR_NAME + " (" + VENDOR_URL + ")");
123 System.err.println(COPYRIGHT);
124 }
125
126 static {
127 Properties properties = new Properties();
128 int major = -1;
129 int minor = -1;
130
131
132 try {
133 properties.load(Version.class.getResourceAsStream(RESOURCE_NAME));
134 major = Integer.parseInt(properties.getProperty("version.major"));
135 minor = Integer.parseInt(properties.getProperty("version.minor"));
136 } catch (Exception exception) {
137
138 System.err.println("Error loading " + RESOURCE_NAME + ": " +
139 exception.getMessage());
140 }
141
142 VENDOR_NAME = properties.getProperty("version.vendorName");
143 VENDOR_URL = properties.getProperty("version.vendorUrl");
144 VERSION = properties.getProperty("version");
145
146 MAJOR_VERSION = major;
147 MINOR_VERSION = minor;
148 BUILD_DATE = properties.getProperty("build.date");
149
150 TITLE = properties.getProperty("version.title");
151 COPYRIGHT = properties.getProperty("version.copyright");
152 }
153
154 }