@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 void populateProfile(Git git, VersionBuilder versionBuilder, String branch, String versionId, File profileFile, String prefix) throws IOException { String profileName = profileFile.getName(); String profileId = profileName; if (profileId.endsWith(Profiles.PROFILE_FOLDER_SUFFIX)) { profileId = prefix + profileId.substring(0, profileId.length() - Profiles.PROFILE_FOLDER_SUFFIX.length()); } else { // lets recurse all children File[] files = profileFile.listFiles(); if (files != null) { for (File childFile : files) { if (childFile.isDirectory()) { populateProfile(git, versionBuilder, branch, versionId, childFile, prefix + profileFile.getName() + "-"); } } } return; } RevCommit lastCommit = GitHelpers.getProfileLastCommit(git, branch, profileName); String lastModified = lastCommit != null ? lastCommit.getId().abbreviate(GIT_COMMIT_SHORT_LENGTH).name() : ""; Map<String, byte[]> fileConfigurations = doGetFileConfigurations(git, profileId); ProfileBuilder profileBuilder = ProfileBuilder.Factory.create(versionId, profileId); profileBuilder.setFileConfigurations(fileConfigurations).setLastModified(lastModified); versionBuilder.addProfile(profileBuilder.getProfile()); }
@Override public ProfileBuilder addOptions(ProfileBuilder builder) { builder.setAttributes(self.getAttributes()); builder.setFileConfigurations(getFileConfigurations()); builder.setConfigurations(getConfigurations()); builder.setLastModified(getLastModified()); builder.setOverlay(true); return builder; }