blob: 6f8f33eba7393a56d0538b439c564241ea54cab3 [file] [log] [blame]
/*
* 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.karaf.rcomp.bndrun;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
class RunBundles {
/**
* Parses a string of bundle refs in the style of bndtools -runbundles
*
* @param bundlesSt comma separated list of bundle refs
* @return list of bundle refs
*/
static List<BundleRef> parse(String bundlesSt) {
StringTokenizer tokenizer = new StringTokenizer(bundlesSt, "',;[)");
List<BundleRef> bundles = new ArrayList<>();
while (tokenizer.hasMoreTokens()) {
BundleRef artifact = parseBundleRef(tokenizer);
bundles.add(artifact);
}
return bundles;
}
private static BundleRef parseBundleRef(StringTokenizer tokenizer) {
BundleRef bundle = new BundleRef();
bundle.symbolicName = tokenizer.nextToken();
tokenizer.nextToken();
bundle.version = tokenizer.nextToken();
tokenizer.nextToken();
return bundle;
}
static class BundleRef {
String symbolicName;
String version;
}
}