@Override public void deleteConfigurationFiles(String versionId, List<String> profileIds, List<String> fileNames) { if (profileIds.size() != fileNames.size()) { throw new FabricException("Lists of profile IDs and filenames should be the same size"); } for (int i = 0; i < profileIds.size(); i++) { String profileId = profileIds.get(i); String fileName = fileNames.get(i); Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.deleteFileConfiguration(fileName); profileService.updateProfile(builder.getProfile()); } }
@Override public void setProfileSystemProperties(String versionId, String profileId, Map<String, String> systemProperties) { Version version = profileService.getVersion(versionId); Profile profile = version.getRequiredProfile(profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); Map<String, String> profileProperties = builder.getConfiguration(Constants.AGENT_PID); // remove those that are not present in passed systemProperties for (Iterator<Map.Entry<String, String>> iterator = profileProperties.entrySet().iterator(); iterator.hasNext();) { Map.Entry<String, String> entry = iterator.next(); if (entry.getKey().startsWith("system.")) { String propertyName = entry.getKey().substring("system.".length()); if (!systemProperties.containsKey(propertyName)) { iterator.remove(); } } } // add changed for (String k : systemProperties.keySet()) { profileProperties.put("system." + k, systemProperties.get(k)); } builder.addConfiguration(Constants.AGENT_PID, profileProperties); profileService.updateProfile(builder.getProfile()); }
public static void refreshProfile(FabricService fabricService, Profile profile) { LOGGER.info("refreshProfile: {}", profile); ProfileService profileService = fabricService.adapt(ProfileService.class); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); Map<String, String> agentConfiguration = builder.getConfiguration(Constants.AGENT_PID); agentConfiguration.put("lastRefresh." + profile.getId(), String.valueOf(System.currentTimeMillis())); builder.addConfiguration(Constants.AGENT_PID, agentConfiguration); profileService.updateProfile(builder.getProfile()); }
@Override public void setConfigurationFile(String versionId, String profileId, String fileName, String data) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.addFileConfiguration(fileName, Base64.decodeBase64(data)); // ENTESB-2315: profile equality doesn't consider change of resources contents profileService.updateProfile(builder.getProfile(), true); }
public static void refreshProfile(FabricService fabricService, Profile profile) { LOGGER.info("refreshProfile: {}", profile); ProfileService profileService = fabricService.adapt(ProfileService.class); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); Map<String, String> agentConfiguration = builder.getConfiguration(Constants.AGENT_PID); agentConfiguration.put("lastRefresh." + profile.getId(), String.valueOf(System.currentTimeMillis())); builder.addConfiguration(Constants.AGENT_PID, agentConfiguration); profileService.updateProfile(builder.getProfile()); }
@Override public boolean setProfileProperties(String versionId, String profileId, String pid, Map<String, String> properties) { boolean answer = false; Version version = profileService.getVersion(versionId); if (version != null) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); Map<String, String> existingConfiguration = builder.getConfiguration(pid); for (Iterator<String> iterator = existingConfiguration.keySet().iterator(); iterator.hasNext(); ) { String key = iterator.next(); if (!properties.containsKey(key)) { iterator.remove(); } } existingConfiguration.putAll(properties); builder.addConfiguration(pid, existingConfiguration); profileService.updateProfile(builder.getProfile()); answer = true; } return answer; }
@Override public void setProfileTags(String versionId, String profileId, List<String> tags) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setTags(tags); profileService.updateProfile(builder.getProfile()); }
@Override public Profile updateProfile(Profile profile, boolean force) { Permit<ProfileService> permit = permitManager.get().aquirePermit(ProfileService.PERMIT, false); try { ProfileService service = permit.getInstance(); return service.updateProfile(profile, force); } finally { permit.release(); } }
@Override public void setProfileAttribute(String versionId, String profileId, String attributeId, String value) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.addAttribute(attributeId, value); profileService.updateProfile(builder.getProfile()); }
@Override public void setProfileFeatures(String versionId, String profileId, List<String> features) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setFeatures(features); profileService.updateProfile(builder.getProfile()); }
@Override public void setProfileFabs(String versionId, String profileId, List<String> fabs) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setFabs(fabs); profileService.updateProfile(builder.getProfile()); }
@Override public void deleteConfigurationFile(String versionId, String profileId, String fileName) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.deleteFileConfiguration(fileName); profileService.updateProfile(builder.getProfile()); }
@Override public void setProfileBundles(String versionId, String profileId, List<String> bundles) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setBundles(bundles); profileService.updateProfile(builder.getProfile()); }
@Override public void setProfileRepositories(String versionId, String profileId, List<String> repositories) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setRepositories(repositories); profileService.updateProfile(builder.getProfile()); }
@Override public void setProfileOverrides(String versionId, String profileId, List<String> overrides) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setOverrides(overrides); profileService.updateProfile(builder.getProfile()); }
@Override public void setProfileOptionals(String versionId, String profileId, List<String> optionals) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.setOptionals(optionals); profileService.updateProfile(builder.getProfile()); }
@Override public String setProfileProperty(String versionId, String profileId, String pid, String propertyName, String value) { Version version = profileService.getVersion(versionId); Profile profile = version.getRequiredProfile(profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); Map<String, String> profileProperties = builder.getConfiguration(pid); String answer = profileProperties.put(propertyName, value); builder.addConfiguration(pid, profileProperties); profileService.updateProfile(builder.getProfile()); return answer; }
@Override public Map<String, Object> changeProfileParents(String versionId, String profileId, List<String> parents) { Profile profile = profileService.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile).setParents(parents); profile = profileService.updateProfile(builder.getProfile()); return getProfile(versionId, profile.getId()); }
@Override public void setConfigurationValue(String versionId, String profileId, String pid, String key, String value) { assertValid(); Version version = profileService.get().getRequiredVersion(versionId); Profile profile = version.getRequiredProfile(profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); Map<String, String> config = builder.getConfiguration(pid); config.put(key, value); builder.addConfiguration(pid, config); profileService.get().updateProfile(builder.getProfile()); }
@Override protected Object doExecute() throws Exception { Version version = versionId != null ? profileService.getRequiredVersion(versionId) : fabricService.getRequiredDefaultVersion(); Profile profile = version.getRequiredProfile(profileId); // we can only change parents to existing profiles Profile[] parents = FabricCommand.getExistingProfiles(fabricService, version, parentIds); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); List<String> oldParents = builder.getParents(); for (Profile parent : parents) { builder.addParent(parent.getId()); } //remove old parent profiles for (String oldParent : oldParents) { if (!parentIds.contains(oldParent)) { builder.removeParent(oldParent); } } profileService.updateProfile(builder.getProfile()); return null; }