@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(); }
private ProjectRequirements writeRequirementsJson(ProjectRequirements requirements, Profile profile, ProfileBuilder builder) throws IOException { ObjectMapper mapper = DtoHelper.getMapper(); byte[] json = mapper.writeValueAsBytes(requirements); String fileName = DtoHelper.getRequirementsConfigFileName(requirements); // lets read the previous requirements if there are any ProfileRegistry profileRegistry = fabricService.get().adapt(ProfileRegistry.class); byte[] oldData = profile.getFileConfiguration(fileName); LOG.info("Writing file " + fileName + " to profile " + profile); builder.addFileConfiguration(fileName, json); if (oldData == null || oldData.length == 0) { return null; } else { return mapper.reader(ProjectRequirements.class).readValue(oldData); } }
/** * Saves content to the specified location. */ @Override public boolean save(String content, String location) { try { String[] parts = location.trim().split(" "); if (parts.length < 3) { throw new IllegalArgumentException("Invalid location:" + location); } String profileId = parts[0]; String versionId = parts[1]; String resource = parts[2]; Profile profile = profileRegistry.getRequiredProfile(versionId, profileId); ProfileBuilder builder = ProfileBuilder.Factory.createFrom(profile); builder.addFileConfiguration(resource, content.getBytes()); profileRegistry.updateProfile(builder.getProfile()); } catch (Exception e) { return false; } return true; }
@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); }
LOG.info("Keystore generated"); builder.addFileConfiguration("keystore.jks", keystore); configs.put("keystore.file", "profile:keystore.jks"); truststoreFile.delete(); builder.addFileConfiguration("truststore.jks", truststore); configs.put("truststore.file", "profile:truststore.jks");
ProfileBuilder prfBuilder = ProfileBuilder.Factory.create(versionId, "default"); prfBuilder.addConfiguration("io.fabric8.jaas", jaasConfig); prfBuilder.addFileConfiguration("io.fabric8.zookeeper.properties", DataStoreUtils.toBytes(zkProps)); Profile profile = prfBuilder.getProfile(); if (profileRegistry.hasVersion(versionId)) { ProfileBuilder ensembleProfileBuilder = ProfileBuilder.Factory.create(versionId, profileId); ensembleProfileBuilder.addAttribute(Profile.ABSTRACT, "true").addAttribute(Profile.HIDDEN, "true"); ensembleProfileBuilder.addFileConfiguration("io.fabric8.zookeeper.server-0000.properties", DataStoreUtils.toBytes(ensembleProps)); String ensembleProfileId = profileRegistry.createProfile(ensembleProfileBuilder.getProfile()); ProfileBuilder serverProfileBuilder = ProfileBuilder.Factory.create(versionId, profileId); serverProfileBuilder.addAttribute(Profile.HIDDEN, "true").addAttribute(Profile.PARENTS, ensembleProfileId); serverProfileBuilder.addFileConfiguration("io.fabric8.zookeeper.server-0000.properties", DataStoreUtils.toBytes(serverProps)); profileRegistry.createProfile(serverProfileBuilder.getProfile()); Properties agentProps = new Properties(); agentProps.put("feature.fabric-commands", "fabric-commands"); builder.addFileConfiguration("io.fabric8.agent.properties", DataStoreUtils.toBytes(agentProps)); String createdId = profileRegistry.createProfile(builder.getProfile()); fabricProfile = profileRegistry.getRequiredProfile(versionId, createdId);
ProfileBuilder prfBuilder = ProfileBuilder.Factory.create(versionId, "default"); prfBuilder.addConfiguration("io.fabric8.jaas", jaasConfig); prfBuilder.addFileConfiguration("io.fabric8.zookeeper.properties", DataStoreUtils.toBytes(zkProps)); Profile profile = prfBuilder.getProfile(); if (profileRegistry.hasVersion(versionId)) { ProfileBuilder builder = ProfileBuilder.Factory.createFrom(defaultProfile); builder.addConfiguration("io.fabric8.jaas", jaasConfig); builder.addFileConfiguration("io.fabric8.zookeeper.properties", DataStoreUtils.toBytes(zkProps)); profileRegistry.updateProfile(builder.getProfile()); ProfileBuilder ensembleProfileBuilder = ProfileBuilder.Factory.create(versionId, profileId); ensembleProfileBuilder.addAttribute(Profile.ABSTRACT, "true").addAttribute(Profile.HIDDEN, "true"); ensembleProfileBuilder.addFileConfiguration("io.fabric8.zookeeper.server-0000.properties", DataStoreUtils.toBytes(ensembleProps)); String ensembleProfileId = profileRegistry.createProfile(ensembleProfileBuilder.getProfile()); ProfileBuilder serverProfileBuilder = ProfileBuilder.Factory.create(versionId, profileId); serverProfileBuilder.addAttribute(Profile.HIDDEN, "true").addAttribute(Profile.PARENTS, ensembleProfileId); serverProfileBuilder.addFileConfiguration("io.fabric8.zookeeper.server-0000.properties", DataStoreUtils.toBytes(serverProps)); profileRegistry.createProfile(serverProfileBuilder.getProfile()); Properties agentProps = new Properties(); agentProps.put("feature.fabric-commands", "fabric-commands"); builder.addFileConfiguration("io.fabric8.agent.properties", DataStoreUtils.toBytes(agentProps)); String createdId = profileRegistry.createProfile(builder.getProfile()); fabricProfile = profileRegistry.getRequiredProfile(versionId, createdId); Properties agentProps = DataStoreUtils.toProperties(fabricProfile.getFileConfiguration("io.fabric8.agent.properties")); agentProps.put("feature.fabric-commands", "fabric-commands");
ProfileBuilder memberProfileBuilder = ProfileBuilder.Factory.create(versionId, memberProfileId); memberProfileBuilder.addAttribute(Profile.HIDDEN, "true").addAttribute(Profile.PARENTS, ensembleProfileId); memberProfileBuilder.addFileConfiguration(memberPropertiesName, DataStoreUtils.toBytes(memberProperties)); memberProfiles.add(memberProfileBuilder.getProfile()); try { ensembleProfileBuilder.addFileConfiguration(ensemblePropertiesName, DataStoreUtils.toBytes(ensembleProperties)); Profile ensembleProfile = ensembleProfileBuilder.getProfile(); LOGGER.info("Creating parent ensemble profile: {}", ensembleProfile);
byte[] data = profile.getFileConfiguration(fileName); if (data == null || data.length == 0 || new String(data).trim().length() == 0) { builder.addFileConfiguration(fileName, description.getBytes());