/** * Parse version component into a Version. * * @param version * version component string * @param range * Complete range string for exception message, if any * @return Version */ private static Version parseVersion(String version, String range) { try { return Version.parse(version); } catch (IllegalArgumentException e) { throw new IllegalArgumentException( "invalid range \"" + range + "\": " + e.getMessage(), e); } }
/** * Parse version component into a Version. * * @param version * version component string * @param range * Complete range string for exception message, if any * @return Version */ private static Version parseVersion(String version, String range) { try { return Version.parse(version); } catch (IllegalArgumentException e) { throw new IllegalArgumentException( "invalid range \"" + range + "\": " + e.getMessage(), e); } }
static Version getFrameworkVersion(ClassLoader loader) throws IOException { InputStream stream = loader.getResourceAsStream("connectors-framework.properties"); try { Properties props = new Properties(); props.load(stream); String version = props.getProperty(PROP_FRAMEWORK_VERSION); if (version == null) { throw new IllegalStateException("connectors-framework.properties does not contain a " + PROP_FRAMEWORK_VERSION + " property"); } if (StringUtil.isBlank(version)) { throw new IllegalStateException("connectors-framework.properties specifies a blank version"); } return Version.parse(version); } finally { IOUtil.quietClose(stream); } }
static Version getFrameworkVersion(ClassLoader loader) throws IOException { InputStream stream = loader.getResourceAsStream("connectors-framework.properties"); try { Properties props = new Properties(); props.load(stream); String version = props.getProperty(PROP_FRAMEWORK_VERSION); if (version == null) { throw new IllegalStateException( "connectors-framework.properties does not contain a " + PROP_FRAMEWORK_VERSION + " property"); } if (StringUtil.isBlank(version)) { throw new IllegalStateException( "connectors-framework.properties specifies a blank version"); } return Version.parse(version); } finally { IOUtil.quietClose(stream); } }
static Version getFrameworkVersion(ClassLoader loader) throws IOException { InputStream stream = loader.getResourceAsStream("connectors-framework.properties"); try { Properties props = new Properties(); props.load(stream); String version = props.getProperty(PROP_FRAMEWORK_VERSION); if (version == null) { throw new IllegalStateException( "connectors-framework.properties does not contain a " + PROP_FRAMEWORK_VERSION + " property"); } if (StringUtil.isBlank(version)) { throw new IllegalStateException( "connectors-framework.properties specifies a blank version"); } return Version.parse(version); } finally { IOUtil.quietClose(stream); } }
if (ATT_FRAMEWORK_VERSION.equals(key)) { frameworkVersion = (String) bundleHeaders.get(key); if (version.compareTo(Version.parse(frameworkVersion)) < 0) {
@Test public void testParse() { assertEquals(new Version(1), Version.parse("1")); assertEquals(new Version(1), Version.parse("1-alpha")); assertEquals(new Version(1, 2), Version.parse("1.2")); assertEquals(new Version(1, 2), Version.parse("1.2-alpha")); assertEquals(new Version(1, 2, 3), Version.parse("1.2.3")); assertEquals(new Version(1, 2, 3), Version.parse("1.2.3-alpha")); assertEquals(new Version(1, 2, 3, 4), Version.parse("1.2.3.4")); assertEquals(new Version(1, 2, 3, 4), Version.parse("1.2.3.4-alpha")); }
if (FrameworkUtil.getFrameworkVersion().compareTo(Version.parse(frameworkVersion)) < 0) { String message = "Bundle " + parsed.getLocation() + " requests an unrecognized framework version "
@Test public void testFrameworkVersion() throws Exception { ClassLoader loader = new VersionClassLoader(this.getClass().getClassLoader(), "1.2.3-alpha"); assertEquals(FrameworkUtil.getFrameworkVersion(loader), Version.parse("1.2.3")); }
@Test public void testToString() { assertEquals(Version.parse("1.2.3").toString(), "Version[1.2.3]"); }
@Test public void testCompare() { assertCompEq(new Version(1), Version.parse("1")); assertCompEq(new Version(1, 2), Version.parse("1.2")); assertCompEq(new Version(1, 2, 3), Version.parse("1.2.3")); assertCompEq(new Version(1, 2, 3, 4), Version.parse("1.2.3.4")); assertCompEq(new Version(1), Version.parse("1.0")); assertCompEq(new Version(1), Version.parse("1.0.0")); assertCompEq(new Version(1), Version.parse("1.0.0.0")); assertCompEq(new Version(1, 2), Version.parse("1.2.0")); assertCompEq(new Version(1, 2), Version.parse("1.2.0.0")); assertCompEq(new Version(1, 2, 3), Version.parse("1.2.3.0")); assertCompLt(new Version(1, 2), Version.parse("1.3")); assertCompLt(new Version(1, 2, 3), Version.parse("1.2.4")); assertCompLt(new Version(1, 2, 3, 4), Version.parse("1.2.3.5")); assertCompLt(new Version(2), Version.parse("3")); assertCompLt(new Version(2), Version.parse("2.1")); assertCompLt(new Version(2, 3), Version.parse("2.3.4")); assertCompLt(new Version(2, 3, 4), Version.parse("2.3.4.5")); assertCompGt(new Version(1, 2), Version.parse("1.1")); assertCompGt(new Version(1, 2, 3), Version.parse("1.2.2")); assertCompGt(new Version(1, 2, 3, 4), Version.parse("1.2.3.3")); assertCompGt(new Version(2), Version.parse("1")); assertCompGt(new Version(2), Version.parse("1.0")); assertCompGt(new Version(2, 3), Version.parse("2.2.0")); assertCompGt(new Version(2, 3, 4), Version.parse("2.3.3.0")); }
@Test public void testComponents() { Version v = Version.parse("1.2.3.4"); assertEquals(v.getMajor(), Integer.valueOf(1)); assertEquals(v.getMinor(), Integer.valueOf(2)); assertEquals(v.getMicro(), Integer.valueOf(3)); assertEquals(v.getRevision(), Integer.valueOf(4)); }
@Test public void testCornerCases() { Version v = Version.parse("1.0"); assertEquals(v.getMajor(), Integer.valueOf(1)); assertEquals(v.getMinor(), Integer.valueOf(0)); assertNull(v.getMicro()); assertNull(v.getRevision()); try { new Version(); fail(); } catch (IllegalArgumentException e) { // OK. } try { Version.parse(" "); fail(); } catch (IllegalArgumentException e) { // OK. } try { Version.parse("foo"); fail(); } catch (IllegalArgumentException e) { // OK. } }
/** * Parses the manifest. * @return The manifest. Note that the classes/classloaders will * not be populated yet. That is to be done at a higher-level. * @throws ConfigurationException If there were any structural problems. */ public ConnectorBundleManifest parse() throws ConfigurationException { String frameworkVersion = getRequiredAttribute(ATT_FRAMEWORK_VERSION); String bundleName = getRequiredAttribute(ATT_BUNDLE_NAME); String bundleVersion =getRequiredAttribute(ATT_BUNDLE_VERSION); if (FrameworkUtil.getFrameworkVersion().compareTo(Version.parse(frameworkVersion)) < 0) { String message = "Bundle " + _fileName + " requests an unrecognized " + "framework version " + frameworkVersion + " but available is " + FrameworkUtil.getFrameworkVersion().getVersion(); throw new ConfigurationException(message); } ConnectorBundleManifest rv = new ConnectorBundleManifest(); rv.setFrameworkVersion(frameworkVersion); rv.setBundleName(bundleName); rv.setBundleVersion(bundleVersion); return rv; }
/** * Parses the manifest. * * @return The manifest. Note that the classes/classloaders will not be populated yet. That is to be done at a * higher-level. * @throws ConfigurationException if there were any structural problems. */ public ConnectorBundleManifest parse() throws ConfigurationException { String frameworkVersion = getRequiredAttribute(ATT_FRAMEWORK_VERSION); String bundleName = getRequiredAttribute(ATT_BUNDLE_NAME); String bundleVersion = getRequiredAttribute(ATT_BUNDLE_VERSION); if (FrameworkUtil.getFrameworkVersion().compareTo(Version.parse(frameworkVersion)) < 0) { String message = "Bundle " + fileName + " requests an unrecognized " + "framework version " + frameworkVersion + " but available is " + FrameworkUtil.getFrameworkVersion().getVersion(); throw new ConfigurationException(message); } ConnectorBundleManifest rv = new ConnectorBundleManifest(); rv.setFrameworkVersion(frameworkVersion); rv.setBundleName(bundleName); rv.setBundleVersion(bundleVersion); return rv; }
/** * Parses the manifest. * * @return The manifest. Note that the classes/classloaders will not be populated yet. That is to be done at a * higher-level. * @throws ConfigurationException if there were any structural problems. */ public ConnectorBundleManifest parse() throws ConfigurationException { String frameworkVersion = getRequiredAttribute(ATT_FRAMEWORK_VERSION); String bundleName = getRequiredAttribute(ATT_BUNDLE_NAME); String bundleVersion = getRequiredAttribute(ATT_BUNDLE_VERSION); if (FrameworkUtil.getFrameworkVersion().compareTo(Version.parse(frameworkVersion)) < 0) { String message = "Bundle " + fileName + " requests an unrecognized " + "framework version " + frameworkVersion + " but available is " + FrameworkUtil.getFrameworkVersion().getVersion(); throw new ConfigurationException(message); } ConnectorBundleManifest rv = new ConnectorBundleManifest(); rv.setFrameworkVersion(frameworkVersion); rv.setBundleName(bundleName); rv.setBundleVersion(bundleVersion); return rv; }