static void applyProfiles(File karafBase, List<String> profiles, boolean printOutput) throws IOException { BundleContext bundleContext = FrameworkUtil.getBundle(ProfileApplier.class).getBundleContext(); ServiceReference<ProfileService> reference = bundleContext.getServiceReference(ProfileService.class); ProfileService service = bundleContext.getService(reference); Profile profile = ProfileBuilder.Factory.create("temp") .addParents(profiles) .getProfile(); Profile overlay = service.getOverlayProfile(profile); final Profile effective = service.getEffectiveProfile(overlay, false); Map<String, byte[]> configs = effective.getFileConfigurations(); for (Map.Entry<String, byte[]> config : configs.entrySet()) { String pid = config.getKey(); if (!pid.equals(Profile.INTERNAL_PID + Profile.PROPERTIES_SUFFIX)) { Path configFile = Paths.get(karafBase.toString(), "etc", pid); logDebug("Creating file: %s", printOutput, configFile.toString()); Files.write(configFile, config.getValue()); } } FileLockUtils.execute(new File(karafBase, FEATURES_CFG), properties -> { appendToPropList(properties, "featuresBoot", effective.getFeatures()); appendToPropList(properties, "featuresRepositories", effective.getRepositories()); }, true); bundleContext.ungetService(reference); }
static void applyProfiles(File karafBase, List<String> profiles, boolean printOutput) throws IOException { BundleContext bundleContext = FrameworkUtil.getBundle(ProfileApplier.class).getBundleContext(); ServiceReference<ProfileService> reference = bundleContext.getServiceReference(ProfileService.class); ProfileService service = bundleContext.getService(reference); Profile profile = ProfileBuilder.Factory.create("temp") .addParents(profiles) .getProfile(); Profile overlay = service.getOverlayProfile(profile); final Profile effective = service.getEffectiveProfile(overlay, false); Map<String, byte[]> configs = effective.getFileConfigurations(); for (Map.Entry<String, byte[]> config : configs.entrySet()) { String pid = config.getKey(); if (!pid.equals(Profile.INTERNAL_PID + Profile.PROPERTIES_SUFFIX)) { Path configFile = Paths.get(karafBase.toString(), "etc", pid); logDebug("Creating file: %s", printOutput, configFile.toString()); Files.write(configFile, config.getValue()); } } FileLockUtils.execute(new File(karafBase, FEATURES_CFG), properties -> { appendToPropList(properties, "featuresBoot", effective.getFeatures()); appendToPropList(properties, "featuresRepositories", effective.getRepositories()); }, true); bundleContext.ungetService(reference); }
Map<String, Features> startupRepositories = loadRepositories(manager, startupEffective.getRepositories(), false, processor);
printConfigList("Libraries : ", output, profile.getLibraries()); if (profile.getRepositories().size() > 0) { printConfigList("Repositories : ", output, profile.getRepositories());
Map<String, Features> startupRepositories = loadRepositories(manager, startupEffective.getRepositories(), false, processor);
printConfigList("Libraries : ", output, profile.getLibraries()); if (profile.getRepositories().size() > 0) { printConfigList("Repositories : ", output, profile.getRepositories());
Map<String, Features> bootRepositories = loadRepositories(manager, bootEffective.getRepositories(), true, processor); rep.getRepository().addAll(bootEffective.getRepositories()); rep.getFeature().add(generated); allBootFeatures.add(generated);
Map<String, Features> bootRepositories = loadRepositories(manager, bootEffective.getRepositories(), true, processor); rep.getRepository().addAll(bootEffective.getRepositories()); rep.getFeature().add(generated); allBootFeatures.add(generated);
Map<String, Features> installedRepositories = loadRepositories(manager, installedEffective.getRepositories(), true, processor);
Map<String, Features> installedRepositories = loadRepositories(manager, installedEffective.getRepositories(), true, processor);