| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| package org.apache.ode.utils; |
| |
| import org.apache.ode.utils.msg.MessageBundle; |
| |
| import java.io.IOException; |
| import java.io.InputStream; |
| import java.util.Properties; |
| |
| /** |
| * Class for displaying the version of the build |
| */ |
| public class Version { |
| |
| private static String MINOR_VERSION = ""; |
| private static String MAJOR_VERSION = ""; |
| private static String VERSION_NAME = "UNRELEASED"; |
| private static String BUILD_NUMBER = ""; |
| private static String BUILD_DATE = "UNKNOWN"; |
| |
| static { |
| Properties props = new Properties(); |
| InputStream is = Version.class.getResourceAsStream("/ODE.version"); |
| if (is != null) { |
| try { |
| props.load(is); |
| BUILD_NUMBER = props.getProperty("build.number", ""); |
| MAJOR_VERSION = props.getProperty("version.major", ""); |
| MINOR_VERSION = props.getProperty("version.minor", ""); |
| VERSION_NAME = props.getProperty("version.name", "UNRELEASED"); |
| BUILD_DATE = props.getProperty("build.date", "UNKNOWN"); |
| } |
| catch (IOException ioe) { |
| // TODO BAD -- we should do something more meaningful |
| ioe.printStackTrace(); |
| } |
| } |
| } |
| |
| /** |
| * Get the full name of the version, e.g., "1.0B15". |
| * |
| * @return the full version name or an empty String if not available. |
| */ |
| public static String getVersionName() { |
| return VERSION_NAME; |
| } |
| |
| /** |
| * Get the full name of the version, e.g., "1.0B15". |
| * |
| * @return the build number. |
| */ |
| public static String getBuildNumber() { |
| return BUILD_NUMBER; |
| } |
| |
| /** |
| * Get the build date. |
| * |
| * @return the build date as a string of the form yyyyMMdd |
| */ |
| public static String getBuildDate() { |
| return BUILD_DATE; |
| } |
| |
| /** |
| * Get the major version number, i.e., the <code>x</code> in version |
| * <code>x.y</code>. |
| * |
| * @return the minor version number or <code>-1</code> for a development |
| * build |
| */ |
| public static int getMajorVersion() { |
| if (MAJOR_VERSION.length() == 0) return -1; |
| return Integer.parseInt(MAJOR_VERSION); |
| } |
| |
| /** |
| * Get the minor version number, i.e., the <code>y</code> in version |
| * <code>x.y</code>. |
| * |
| * @return the minor version number or <code>-1</code> for a development |
| * build |
| */ |
| public static int getMinorVersion() { |
| if (MINOR_VERSION.length() == 0) return -1; |
| return Integer.parseInt(MINOR_VERSION); |
| } |
| |
| /** |
| * Print the full version number and licensing information to the console. |
| * |
| * @param argv |
| * command-line arguments (ignored) |
| */ |
| public static void main(String[] argv) { |
| VersionMessages msgs = MessageBundle.getMessages(VersionMessages.class); |
| System.out.println(msgs.msgVersionInfo(getVersionName(), getBuildDate())); |
| System.out.println(msgs.msgGetCopyright()); |
| } |
| |
| } |