in cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CDICommand.java [236:453]
private void formatInstance(
Formatter f, String prefix, ComponentDTO componentDTO, ComponentTemplateDTO templateDTO,
ComponentInstanceDTO instanceDTO, String pids,
boolean hasNext, boolean hasNext2, boolean verbose) {
if (verbose) {
f.format(
"%s%s%sBEANS: %s%n",
prefix,
(hasNext ? PSSS : SSSS),
TLLS,
templateDTO.beans.toString());
f.format(
"%s%s%sCONFIGURATIONS%n",
prefix,
(hasNext ? PSSS : SSSS),
TLLS);
for (Iterator<ConfigurationTemplateDTO> itr = templateDTO.configurations.iterator();itr.hasNext();) {
ConfigurationTemplateDTO conf = itr.next();
ConfigurationDTO configurationDTO = null;
if (instanceDTO != null) {
configurationDTO = instanceDTO.configurations.stream().filter(
c -> c.template.maximumCardinality == conf.maximumCardinality &&
c.template.pid == conf.pid &&
c.template.policy == conf.policy
).findFirst().orElse(null);
}
f.format(
"%s%s%sPID: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? TLLS : CLLS),
(configurationDTO != null ? configurationDTO.properties.get(Constants.SERVICE_PID) + STAR : conf.pid));
f.format(
"%s%s%s%sPOLICY: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSS : SSSS),
((conf.maximumCardinality == MaximumCardinality.MANY) ? TLLS : CLLS),
conf.policy);
if (conf.maximumCardinality == MaximumCardinality.MANY) {
f.format(
"%s%s%sFACTORY PID: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSTLLS : SSSSTLLS),
conf.pid);
}
}
if (instanceDTO != null) {
f.format(
"%s%s%sCOMPONENT PROPERTIES*%n",
prefix,
(hasNext ? PSSS : SSSS),
TLLS);
for (Iterator<String> itr = instanceDTO.properties.keySet().iterator(); itr.hasNext();) {
String key = itr.next();
f.format(
"%s%s%s%s=%s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? TLLS : CLLS),
key,
instanceDTO.properties.get(key));
}
}
if (!templateDTO.references.isEmpty()) {
f.format(
"%s%s%sREFERENCES%n",
prefix,
(hasNext ? PSSS : SSSS),
TLLS);
for (Iterator<ReferenceTemplateDTO> itr = templateDTO.references.iterator(); itr.hasNext();) {
ReferenceTemplateDTO dto = itr.next();
ReferenceDTO referenceDTO = null;
if (instanceDTO != null) {
referenceDTO = instanceDTO.references.stream().filter(
r -> r.template.maximumCardinality == dto.maximumCardinality &&
r.template.minimumCardinality == dto.minimumCardinality &&
r.template.name == dto.name &&
r.template.policy == dto.policy &&
r.template.policyOption == dto.policyOption &&
r.template.serviceType == dto.serviceType &&
r.template.targetFilter == dto.targetFilter
).findFirst().orElse(null);
}
f.format(
"%s%s%sNAME: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? TLLS : CLLS),
dto.name);
f.format(
"%s%s%sSERVICE TYPE: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSTLLS : SSSSTLLS),
dto.serviceType);
f.format(
"%s%s%sTARGET FILTER: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSTLLS : SSSSTLLS),
(referenceDTO != null ? referenceDTO.targetFilter + STAR : dto.targetFilter));
f.format(
"%s%s%sMAX CARDINALITY: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSTLLS : SSSSTLLS),
dto.maximumCardinality);
f.format(
"%s%s%sMIN CARDINALITY: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSTLLS : SSSSTLLS),
(referenceDTO != null ? referenceDTO.minimumCardinality + STAR : dto.minimumCardinality));
f.format(
"%s%s%sPOLICY: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSTLLS : SSSSTLLS),
dto.policy);
f.format(
"%s%s%s%sPOLICY OPTION: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSS : SSSS),
(referenceDTO != null ? TLLS : CLLS),
dto.policyOption);
if (referenceDTO != null) {
f.format(
"%s%s%sMATCHES: %s*%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSCLLS : SSSSCLLS),
referenceDTO.matches);
}
}
}
if (!templateDTO.activations.isEmpty()) {
f.format(
"%s%s%sACTIVATIONS%n",
prefix,
(hasNext ? PSSS : SSSS),
TLLS);
for (Iterator<ActivationTemplateDTO> itr = templateDTO.activations.iterator(); itr.hasNext();) {
ActivationTemplateDTO dto = itr.next();
ActivationDTO activationDTO = null;
if (instanceDTO != null) {
activationDTO = instanceDTO.activations.stream().filter(
a -> a.template.properties.equals(dto.properties) &&
a.template.scope == dto.scope &&
a.template.serviceClasses.equals(dto.serviceClasses)
).findFirst().orElse(null);
}
f.format(
"%s%s%sSERVICE TYPES: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? TLLS : CLLS),
dto.serviceClasses);
f.format(
"%s%s%s%sSERVICE SCOPE: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSS : SSSS),
(activationDTO != null ? TLLS : CLLS),
dto.scope.toString().toLowerCase());
if (activationDTO != null) {
f.format(
"%s%s%sSERVICE REFERENCE: %s%n",
prefix,
(hasNext ? PSSSPSSS : SSSSPSSS),
(itr.hasNext() ? PSSSCLLS : SSSSCLLS),
activationDTO.service + STAR);
}
}
}
f.format(
"%s%s%sSTATE: %s*%n",
prefix,
(hasNext ? PSSS : SSSS),
(hasNext2 ? TLLS : CLLS),
state(componentDTO));
return;
}
f.format(
"%s%s%sSTATE: %s %s%n",
prefix,
(hasNext ? PSSS : SSSS),
(hasNext2 ? TLLS : CLLS),
state(componentDTO),
pids);
}