@ConstructorProperties({"version", "id", "fileConfigurations", "profileHash", "overlay"}) public ProfileState(String versionId, String profileId, Map<String, Byte[]> fileConfigs, String lastModified, boolean isOverlay) { ProfileBuilder builder = ProfileBuilder.Factory.create(versionId, profileId); builder.setLastModified(lastModified).setOverlay(isOverlay); if (fileConfigs != null) { for (Entry<String, Byte[]> entry : fileConfigs.entrySet()) { builder.addFileConfiguration(entry.getKey(), toPrimitiveArray(entry.getValue())); } } delegate = builder.getProfile(); }
@ConstructorProperties({"version", "id", "fileConfigurations", "profileHash", "overlay"}) public ProfileState(String versionId, String profileId, Map<String, Byte[]> fileConfigs, String lastModified, boolean isOverlay) { ProfileBuilder builder = ProfileBuilder.Factory.create(versionId, profileId); builder.setLastModified(lastModified).setOverlay(isOverlay); if (fileConfigs != null) { for (Entry<String, Byte[]> entry : fileConfigs.entrySet()) { builder.addFileConfiguration(entry.getKey(), toPrimitiveArray(entry.getValue())); } } delegate = 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()); }
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); }
@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 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 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 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()); }
public static void copyProfile(FabricService fabricService, String versionId, String sourceId, String targetId, boolean force) { ProfileService profileService = fabricService.adapt(ProfileService.class); Profile sourceProfile = profileService.getRequiredProfile(versionId, sourceId); LOGGER.info("copyProfile: {} => {}", sourceProfile, targetId); // [TODO] delete/create profile must be done in an atomic operation maybeDeleteProfile(fabricService, versionId, targetId, force); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(sourceProfile); profileService.createProfile(builder.identity(targetId).getProfile()); }
public static void copyProfile(FabricService fabricService, String versionId, String sourceId, String targetId, boolean force) { ProfileService profileService = fabricService.adapt(ProfileService.class); Profile sourceProfile = profileService.getRequiredProfile(versionId, sourceId); LOGGER.info("copyProfile: {} => {}", sourceProfile, targetId); // [TODO] delete/create profile must be done in an atomic operation maybeDeleteProfile(fabricService, versionId, targetId, force); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(sourceProfile); profileService.createProfile(builder.identity(targetId).getProfile()); }
@Override public Map<String, Object> createProfile(String versionId, String profileId, List<String> parents) { ProfileBuilder builder = ProfileBuilder.Factory.create(versionId, profileId).addParents(parents); Profile profile = profileService.createProfile(builder.getProfile()); return getProfile(versionId, profile.getId()); }
/** * Get the effective profile, which is the overlay profile with substituted configurations. */ public static Profile getEffectiveProfile(FabricService fabricService, Profile profile) { ProfileService profileService = fabricService.adapt(ProfileService.class); Profile overlayProfile = profileService.getOverlayProfile(profile); Map<String, Map<String, String>> configurations = overlayProfile.getConfigurations(); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(overlayProfile); builder.setConfigurations(fabricService.substituteConfigurations(configurations)); return builder.getProfile(); }
@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()); }
private Profile getVersionProfile(Version version) { String profileId = "#version-" + version.getId(); ProfileBuilder builder = ProfileBuilder.Factory.create(profileId).version(version.getId()); VersionProfileOptionsProvider optionsProvider = new VersionProfileOptionsProvider(version); return builder.addOptions(optionsProvider).getProfile(); }
@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()); }
/** * Get the effective profile, which is the overlay profile with substituted configurations. */ public static Profile getEffectiveProfile(FabricService fabricService, Profile profile) { ProfileService profileService = fabricService.adapt(ProfileService.class); Profile overlayProfile = profileService.getOverlayProfile(profile); Map<String, Map<String, String>> configurations = overlayProfile.getConfigurations(); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(overlayProfile); builder.setConfigurations(fabricService.substituteConfigurations(configurations, overlayProfile.getId())); return builder.getProfile(); }
@Test public void testCreateVersion() throws Exception { ProfileBuilder pbA11 = ProfileBuilder.Factory.create("1.1", "prfA"); Profile prfA = pbA11.addConfiguration("pidA", Collections.singletonMap("keyA", "valA")).getProfile(); VersionBuilder vb11 = VersionBuilder.Factory.create("1.1").addProfile(prfA); VersionState v11 = getProxy().createVersion(new VersionState(vb11.getVersion())); try { Assert.assertEquals("1.1", v11.getId()); Assert.assertTrue(v11.getAttributes().isEmpty()); Assert.assertEquals("valA", v11.getProfileState("prfA").getConfiguration("pidA").get("keyA")); } finally { getProxy().deleteVersion("1.1"); } }