aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--component/src/main/java/com/yahoo/component/ComponentId.java6
-rw-r--r--component/src/main/java/com/yahoo/component/SpecSplitter.java43
-rw-r--r--component/src/main/java/com/yahoo/component/Version.java38
3 files changed, 30 insertions, 57 deletions
diff --git a/component/src/main/java/com/yahoo/component/ComponentId.java b/component/src/main/java/com/yahoo/component/ComponentId.java
index e1e1b43c08a..05c710e3fc1 100644
--- a/component/src/main/java/com/yahoo/component/ComponentId.java
+++ b/component/src/main/java/com/yahoo/component/ComponentId.java
@@ -87,9 +87,9 @@ public final class ComponentId implements Comparable<ComponentId> {
if (namespace == null) {
return this;
} else {
- ComponentId newNamespace = getNamespace() == null ?
- namespace :
- getNamespace().nestInNamespace(namespace);
+ ComponentId newNamespace = (getNamespace() == null)
+ ? namespace
+ : getNamespace().nestInNamespace(namespace);
return new ComponentId(getName(), getVersion(), newNamespace);
}
}
diff --git a/component/src/main/java/com/yahoo/component/SpecSplitter.java b/component/src/main/java/com/yahoo/component/SpecSplitter.java
index 07d5c573140..6bc4bed4094 100644
--- a/component/src/main/java/com/yahoo/component/SpecSplitter.java
+++ b/component/src/main/java/com/yahoo/component/SpecSplitter.java
@@ -1,9 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.component;
-import java.util.Arrays;
-import java.util.List;
-
/**
* Splits and component id or component specification string into their constituent parts.
*
@@ -16,30 +13,28 @@ class SpecSplitter {
final ComponentId namespace;
SpecSplitter(String spec) {
- List<String> idAndNamespace = splitFirst(spec, '@');
- List<String> nameAndVersion = splitFirst(idAndNamespace.get(0), ':');
-
- name = nameAndVersion.get(0);
- version = second(nameAndVersion);
- namespace = ComponentId.fromString(second(idAndNamespace));
- }
-
- private String second(List<String> components) {
- return components.size() == 2?
- components.get(1) :
- null;
- }
+ int indexOfAlpha = spec.indexOf('@');
+ String nameAndVersion = spec;
+ if (indexOfAlpha != -1) {
+ if (indexOfAlpha == spec.length() - 1) {
+ throw new RuntimeException("Expected characters after '@'");
+ }
+ nameAndVersion = spec.substring(0, indexOfAlpha);
+ namespace = ComponentId.fromString(spec.substring(indexOfAlpha + 1));
+ } else {
+ namespace = null;
+ }
- private static List<String> splitFirst(String string, char c) {
- int index = string.indexOf(c);
- if (index != -1) {
- if (index == string.length() - 1) {
- throw new RuntimeException("Expected characters after '" + c + "'");
+ int indexOfColon = nameAndVersion.indexOf(':');
+ if (indexOfColon != -1) {
+ if (indexOfColon == nameAndVersion.length() - 1) {
+ throw new RuntimeException("Expected characters after ':'");
}
- return Arrays.asList(string.substring(0, index),
- string.substring(index + 1));
+ name = nameAndVersion.substring(0, indexOfColon);
+ version = nameAndVersion.substring(indexOfColon+1);
} else {
- return Arrays.asList(string, null);
+ name = nameAndVersion;
+ version = null;
}
}
diff --git a/component/src/main/java/com/yahoo/component/Version.java b/component/src/main/java/com/yahoo/component/Version.java
index e0ed3f03f7e..7c98af55be3 100644
--- a/component/src/main/java/com/yahoo/component/Version.java
+++ b/component/src/main/java/com/yahoo/component/Version.java
@@ -193,11 +193,7 @@ public final class Version implements Comparable<Version> {
/** Returns new Version(versionString), or Version.emptyVersion if the input string is null or "" */
public static Version fromString(String versionString) {
- if (versionString == null) {
- return emptyVersion;
- } else {
- return new Version(versionString);
- }
+ return (versionString == null) ? emptyVersion :new Version(versionString);
}
/**
@@ -225,23 +221,11 @@ public final class Version implements Comparable<Version> {
private String toStringValue() {
StringBuilder b = new StringBuilder();
if (! qualifier.isEmpty()) {
- b.append(getMajor());
- b.append(".");
- b.append(getMinor());
- b.append(".");
- b.append(getMicro());
- b.append(".");
- b.append(qualifier);
+ b.append(getMajor()).append(".").append(getMinor()).append(".").append(getMicro()).append(".").append(qualifier);
} else if (getMicro() != 0) {
- b.append(getMajor());
- b.append(".");
- b.append(getMinor());
- b.append(".");
- b.append(getMicro());
+ b.append(getMajor()).append(".").append(getMinor()).append(".").append(getMicro());
} else if (getMinor() != 0) {
- b.append(getMajor());
- b.append(".");
- b.append(getMinor());
+ b.append(getMajor()).append(".").append(getMinor());
} else if (getMajor() != 0) {
b.append(getMajor());
}
@@ -256,11 +240,7 @@ public final class Version implements Comparable<Version> {
*/
public String toFullString() {
StringBuilder b = new StringBuilder();
- b.append(getMajor());
- b.append(".");
- b.append(getMinor());
- b.append(".");
- b.append(getMicro());
+ b.append(getMajor()).append(".").append(getMinor()).append(".").append(getMicro());
if (! qualifier.isEmpty()) {
b.append(".");
@@ -382,11 +362,9 @@ public final class Version implements Comparable<Version> {
/** Creates a version specification that only matches this version */
public VersionSpecification toSpecification() {
- if (this == emptyVersion)
- return VersionSpecification.emptyVersionSpecification;
- else {
- return new VersionSpecification(getMajor(), getMinor(), getMicro(), getQualifier());
- }
+ return (this == emptyVersion)
+ ? VersionSpecification.emptyVersionSpecification
+ : new VersionSpecification(getMajor(), getMinor(), getMicro(), getQualifier());
}
}