You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2017/09/15 09:48:10 UTC

[2/3] karaf git commit: Optimize string operations

Optimize string operations

# Conflicts:
#	features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d842a373
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d842a373
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d842a373

Branch: refs/heads/karaf-4.1.x
Commit: d842a373e633dcd9e733b64045ed87660f1de7d4
Parents: 682664e
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Fri Sep 15 08:01:25 2017 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Fri Sep 15 11:46:44 2017 +0200

----------------------------------------------------------------------
 .../org/apache/karaf/features/internal/model/Feature.java    | 8 ++++----
 .../org/apache/karaf/features/internal/region/Subsystem.java | 2 +-
 .../karaf/features/internal/service/FeaturesServiceImpl.java | 8 +++++---
 3 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/d842a373/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java b/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
index 943992a..e22b485 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
@@ -127,10 +127,10 @@ public class Feature extends Content implements org.apache.karaf.features.Featur
     }
 
     public static org.apache.karaf.features.Feature valueOf(String str) {
-        if (str.contains(VERSION_SEPARATOR)) {
-            String strName = str.substring(0, str.indexOf(VERSION_SEPARATOR));
-            String strVersion = str.substring(str.indexOf(VERSION_SEPARATOR)
-                    + VERSION_SEPARATOR.length(), str.length());
+        int idx = str.indexOf(VERSION_SEPARATOR);
+        if (idx >= 0) {
+            String strName = str.substring(0, idx);
+            String strVersion = str.substring(idx + VERSION_SEPARATOR.length(), str.length());
             return new Feature(strName, strVersion);
         } else {
             return new Feature(str);

http://git-wip-us.apache.org/repos/asf/karaf/blob/d842a373/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java b/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
index 9ebd145..db6b687 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/region/Subsystem.java
@@ -229,7 +229,7 @@ public class Subsystem extends ResourceImpl {
     }
 
     public void require(String requirement) throws BundleException {
-        int idx = requirement.indexOf(":");
+        int idx = requirement.indexOf(':');
         String type, req;
         if (idx >= 0) {
             type = requirement.substring(0, idx);

http://git-wip-us.apache.org/repos/asf/karaf/blob/d842a373/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
index 32722f9..357d57f 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
@@ -100,6 +100,8 @@ import org.osgi.service.resolver.Resolver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION;
+import static org.apache.karaf.features.internal.model.Feature.VERSION_SEPARATOR;
 import static org.apache.karaf.features.internal.service.StateStorage.toStringStringSetMap;
 import static org.apache.karaf.features.internal.util.MapUtils.add;
 import static org.apache.karaf.features.internal.util.MapUtils.addToMapSet;
@@ -1101,10 +1103,10 @@ public class FeaturesServiceImpl implements FeaturesService, Deployer.DeployCall
     }
 
     protected String normalize(String feature) {
-        if (!feature.contains("/")) {
-            feature += "/0.0.0";
+        int idx = feature.indexOf(VERSION_SEPARATOR);
+        if (idx < 0) {
+            return feature + VERSION_SEPARATOR + DEFAULT_VERSION;
         }
-        int idx = feature.indexOf("/");
         String name = feature.substring(0, idx);
         String version = feature.substring(idx + 1);
         return name + "/" + VersionCleaner.clean(version);