private void findAtomosIndexedContent()

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);
            }
        }