in atomos/src/main/java/org/apache/felix/atomos/impl/base/AtomosBase.java [948:1003]
private void findAtomosIndexedContent(URL index,
Set<AtomosContentBase> bootBundles)
{
final String indexRoot = indexPath.substring(0,
indexPath.lastIndexOf('/') + 1);
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(index.openStream())))
{
String currentIndex = null;
String currentBSN = null;
Version currentVersion = null;
List<String> currentPaths = null;
String line = reader.readLine();
while (ATOMOS_BUNDLE.equals(line))
{
if (currentIndex != null)
{
bootBundles.add(createIndexedContent(indexRoot, currentIndex,
currentBSN, currentVersion, currentPaths));
}
currentIndex = null;
currentBSN = null;
currentVersion = null;
currentPaths = new ArrayList<>();
while ((line = reader.readLine()) != null
&& !ATOMOS_BUNDLE.equals(line))
{
if (currentIndex == null)
{
currentIndex = line;
}
else if (currentBSN == null)
{
currentBSN = line;
}
else if (currentVersion == null)
{
currentVersion = Version.valueOf(line);
}
else
{
currentPaths.add(line);
}
}
}
if (currentIndex != null)
{
bootBundles.add(createIndexedContent(indexRoot, currentIndex,
currentBSN, currentVersion, currentPaths));
}
}
catch (IOException e)
{
throw new RuntimeException(e);
}
}