/* * � Copyright IBM Corp. 2012, 2015 * * Licensed 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. */ /* * Author: Maire Kehoe (mkehoe@ie.ibm.com) * Date: 18 Jan 2012 * ExtlibVersion.java */ package com.ibm.xsp.extlib.version; import com.ibm.xsp.core.Version; import com.ibm.xsp.extlib.log.ExtlibCoreLogger; import com.ibm.xsp.library.XspLibrary; import com.ibm.xsp.registry.FacesDefinition; /** * The Extension Library tag version, used with {@link XspLibrary#getTagVersion()} * and {@link FacesDefinition#getSince()}. * * From 9.0 the versions are in the form: * "a.a.a.vbb_dd" * like * "9.0.1.v00_03" * where * "a.a.a" is the Notes/Domino version (like 9.0.0) * "v" is the letter "v" * "bb" is the Domino upgrade pack level * e.g. Upgrade Pack 01 or Upgrade Pack 02. The level 00 is not an UpgradePack. * "dd" is the openNTF release number, which is generally incremented with * every openNTF release, where 01 is the first openNTF release, * and 00 is not an openNTF release. * * The early releases, before 9.0, the versions were in the form: * "a.a.abcdd" * like * "8.5.32005" * where * "a.a.a" is the Notes/Domino version (like 8.5.3) * "b" is the Domino upgrade pack level / stream in active development * e.g. Upgrade Pack 1 or Upgrade Pack 2, or 0 - no upgradePack. * "c" is usually 0, reserved for fix pack levels (FixPack1 or FixPack2) * "dd" is the release number on openNTF - which may be incremented * with every openNTF release or upgrade pack release (or may not, if no tags are added) * * * null is the 8.5.3 Upgrade Pack 1 release, or any openNTF release prior * to the introduction of versioning. * * "8.5.32001" is an openNTF release * ExtensionLibraryOpenNTF-853.20120126-0415.zip * Released on: 26 Jan 2012 * "8.5.32002" is an openNTF release * ExtensionLibraryOpenNTF-853.20120320-1003.zip * Released on: 3 Apr 2012 * "8.5.32003" was a planned openNTF release that was never published. * Tags added in that release were first made available * on openNTF in the following "8.5.32004" release. * "8.5.32004" is an openNTF release * ExtensionLibraryOpenNTF-853.20120605-0921.zip * Released on: 6 Jun 2012 * "8.5.32005" is an openNTF release * ExtensionLibraryOpenNTF-853.20121022-1354.zip * Released on: 26 Oct 2012 * "8.5.32006" is an openNTF release * XPagesExtensionLibraryOpenNTF-853.20121217-1354.zip * Released on: 20 Dec 2012 * "8.5.32007" is an openNTF release * ExtensionLibraryOpenNTF-853.20130315-0724.zip * Released on: 4 Apr 2013. * * 9.0.0.v00_00 this is the Notes/Domino 9.0 release * or the Beta version of that release * or any early pre-release code drops. * 9.0.0.v00_01 is an OpenNTF 9.0 release * ExtensionLibraryOpenNTF-900v00_01.20130415-0518.zip * Released on: 22 Apr 2013. * 9.0.0.v00_02 is an OpenNTF 9.0 release * ExtensionLibraryOpenNTF-900v00_02.20130515-2200.zip * Released on: 17 May 2013. * 9.0.0.v00_03 is an OpenNTF 9.0 release * ExtensionLibraryOpenNTF-900v00_03.20131001-1400.zip * Released on: 22 Oct 2013. * * 9.0.0.v00_00 this is the Notes/Domino 9.0.1 release * or any early pre-release code drops. * 9.0.1.v00_01 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_01.20131029-1400.zip * Released on: 5 Nov 2013. * 9.0.1.v00_02 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_02.20131212-1115.zip * Released on: 13 Dec 2013. * 9.0.1.v00_03 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_03.20140120-0650.zip * Released on: 24 Jan 2014. * 9.0.1.v00_04 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_04.20140226-1506.zip * Released on: 3 Mar 2014. * 9.0.1.v00_05 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_05.20140324-1415.zip * Released on: 28 Mar 2014. * 9.0.1.v00_06 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_06.20140424-0600.zip * Released on: 29 Apr 2014. * 9.0.1.v00_07 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_07.20140619-1400.zip * Released on: 27 Jun 2014. * 9.0.1.v00_08 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_08.20140729-0805.zip * Released on: 31 Jul 2014. * 9.0.1.v00_09 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_09.20140903-1400.zip * Released on: 8 Sep 2014. * 9.0.1.v00_10 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_10.20141105-0922.zip * Released on: 10 Nov 2014. * 9.0.1.v00_11 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_11.20141217-1000.zip * Released on: 19 Dec 2014. * 9.0.1.v00_12 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_12.20150311-1316.zip * Released on: 25 Mar 2015. * 9.0.1.v00_13 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_13.20150611-0803.zip * Released on: 10 Jul 2015. * 9.0.1.v00_14 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_14.20150831-1301.zip * Released on: 31 Aug 2015. * 9.0.1.v00_15 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_15.20151016-0827.zip * Released on: 27 Oct 2015. * 9.0.1.v00_16 is an OpenNTF 9.0.1 release * ExtensionLibraryOpenNTF-901v00_16.20160128-1014.zip * Released on: 2 Feb, 2016. * 9.0.1.v00_17 this will be the 17th OpenNTF 9.0.1 release. * * @author Maire Kehoe (mkehoe@ie.ibm.com) */ public class ExtlibVersion { private static String s_currentVersion; public static String getCurrentVersionString(){ if( null == s_currentVersion ){ Version currentVersionObj = computeCurrentVersion(); s_currentVersion = currentVersionObj.toString(); } return s_currentVersion; } private static Version computeCurrentVersion(){ String versionStr; /* Note this value is different in the openNTF stream * from Notes/Domino in-development stream. */ boolean isOpenNTFRelease = true; if( isOpenNTFRelease ){ versionStr = "9.0.1.v00_17"; // $NON-NLS-1$ if( ExtlibCoreLogger.COMPONENT_DATA.isTraceDebugEnabled() ){ ExtlibCoreLogger.COMPONENT_DATA.traceDebugp(ExtlibVersion.class, "computeCurrentVersion", //$NON-NLS-1$ "Current Extlib version is "+versionStr); //$NON-NLS-1$ } }else{ versionStr = "9.0.1.v00_00"; // $NON-NLS-1$ } return Version.parseVersion(versionStr); } }