class DefaultEquinoxInstallationFactory implements EquinoxInstallationFactory {

    protected String toOsgiBundles(Map<ArtifactKey, File> bundles, Map<String, BundleStartLevel> startLevel,
            BundleStartLevel defaultStartLevel) throws IOException {
        log.debug("Installation OSGI bundles:");
        StringBuilder result = new StringBuilder();
        for (Map.Entry<ArtifactKey, File> entry : bundles.entrySet()) {
            BundleStartLevel level = startLevel.get(entry.getKey().getId());
            if (level != null && level.getLevel() == -1) {
                continue; // system bundle
            }
            if (result.length() > 0) {
                result.append(",");
            }

            StringBuilder line = new StringBuilder();
            line.append(appendAbsolutePath(entry.getValue()));
            if (level != null) {
                line.append('@');
                if (level.getLevel() > 0) {
                    line.append(level.getLevel());
                }
                if (level.isAutoStart()) {
                    if (line.charAt(line.length() - 1) == '@') {
                        line.append("start");
                    } else {
                        line.append(":start");
                    }
                }
            } else {
                if (defaultStartLevel.isAutoStart()) {
                    line.append("@start");
                }
            }
            log.debug("\t" + line);
            result.append(line.toString());
        }
        return result.toString();
    }

    public  DefaultEquinoxInstallationFactory();
      DefaultEquinoxInstallationFactory(Logger log);

}