in profile/src/main/java/org/apache/karaf/profile/command/ProfileDisplay.java [70:172]
private void displayProfile(Profile profile) {
PrintStream output = System.out;
output.println("Profile id: " + profile.getId());
output.println("Attributes: ");
Map<String, String> props = profile.getAttributes();
for (String key : props.keySet()) {
output.println("\t" + key + ": " + props.get(key));
}
if (overlay) {
profile = profileService.getOverlayProfile(profile);
}
if (effective) {
profile = profileService.getEffectiveProfile(profile);
}
Map<String, Map<String, Object>> configuration = new HashMap<>(profile.getConfigurations());
Map<String, byte[]> resources = profile.getFileConfigurations();
Map<String,Object> profileConfiguration = profile.getConfiguration(Profile.INTERNAL_PID);
List<String> profileProperties = new ArrayList<>();
List<String> systemProperties = new ArrayList<>();
List<String> configProperties = new ArrayList<>();
for (Map.Entry<String, Object> entry : profileConfiguration.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (value instanceof String && ((String) value).contains(",")) {
value = "\t" + ((String) value).replace(",", ",\n\t\t");
}
if (key.startsWith("system.")) {
systemProperties.add(" " + key.substring("system.".length()) + " = " + value);
}
else if (key.startsWith("config.")) {
configProperties.add(" " + key.substring("config.".length()) + " = " + value);
}
else if (!key.startsWith("feature.") && !key.startsWith("repository") &&
!key.startsWith("bundle.") && !key.startsWith("fab.") &&
!key.startsWith("override.") && !key.startsWith("attribute.")) {
profileProperties.add(" " + key + " = " + value);
}
}
if (configuration.containsKey(Profile.INTERNAL_PID)) {
output.println("\nContainer settings");
output.println("----------------------------");
if (profile.getLibraries().size() > 0) {
printConfigList("Libraries : ", output, profile.getLibraries());
}
if (profile.getRepositories().size() > 0) {
printConfigList("Repositories : ", output, profile.getRepositories());
}
if (profile.getFeatures().size() > 0) {
printConfigList("Features : ", output, profile.getFeatures());
}
if (profile.getBundles().size() > 0) {
printConfigList("Bundles : ", output, profile.getBundles());
}
if (profile.getOverrides().size() > 0) {
printConfigList("Overrides : ", output, profile.getOverrides());
}
if (profileProperties.size() > 0) {
printConfigList("Profile Properties : ", output, profileProperties);
}
if (systemProperties.size() > 0) {
printConfigList("System Properties : ", output, systemProperties);
}
if (configProperties.size() > 0) {
printConfigList("Config Properties : ", output, configProperties);
}
configuration.remove(Profile.INTERNAL_PID);
}
output.println("\nConfiguration details");
output.println("----------------------------");
for (Map.Entry<String, Map<String, Object>> cfg : configuration.entrySet()) {
output.println("PID: " + cfg.getKey());
for (Map.Entry<String, Object> values : cfg.getValue().entrySet()) {
output.println(" " + values.getKey() + " " + values.getValue());
}
output.println("\n");
}
output.println("\nOther resources");
output.println("----------------------------");
for (Map.Entry<String,byte[]> resource : resources.entrySet()) {
String name = resource.getKey();
if (!name.endsWith(".properties")) {
output.println("Resource: " + resource.getKey());
if (displayResources) {
output.println(new String(resource.getValue()));
output.println("\n");
}
}
}
}