in jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/AdminCommandsImpl.java [392:442]
public String listServiceAssemblies(String state, String componentName, String serviceAssemblyName) throws Exception {
List<ServiceAssembly> assemblies = new ArrayList<ServiceAssembly>();
Component component = null;
if (StringUtils.hasLength(componentName)) {
component = deployer.getComponent(componentName);
}
for (ServiceAssembly sa : deployer.getServiceAssemblies().values()) {
boolean match = true;
if (StringUtils.hasLength(serviceAssemblyName)) {
match = serviceAssemblyName.equals(sa.getName());
}
if (match && StringUtils.hasLength(state)) {
match = state.equalsIgnoreCase(sa.getCurrentState());
}
if (match && StringUtils.hasLength(componentName)) {
match = false;
if (component != null) {
for (ServiceUnit su : component.getServiceUnits()) {
if (sa.getName().equals(su.getServiceAssembly().getName())) {
match = true;
break;
}
}
}
}
if (match) {
assemblies.add(sa);
}
}
StringBuffer buffer = new StringBuffer();
buffer.append("<?xml version='1.0'?>\n");
buffer.append("<service-assembly-info-list xmlns='http://java.sun.com/xml/ns/jbi/service-assembly-info-list' version='1.0'>\n");
for (ServiceAssembly sa : assemblies) {
buffer.append(" <service-assembly-info");
buffer.append(" name='").append(sa.getName()).append("'");
buffer.append(" state='").append(sa.getCurrentState()).append("'>\n");
buffer.append(" <description>").append(sa.getDescription()).append("</description>\n");
for (ServiceUnit su : sa.getServiceUnits()) {
buffer.append(" <service-unit-info");
buffer.append(" name='").append(su.getName()).append("'");
buffer.append(" state='").append(sa.getCurrentState()).append("'");
buffer.append(" deployed-on='").append(su.getComponent().getName()).append("'>\n");
buffer.append(" <description>").append(su.getDescription()).append("</description>\n");
buffer.append(" </service-unit-info>\n");
}
buffer.append(" </service-assembly-info>\n");
}
buffer.append("</service-assembly-info-list>");
return buffer.toString();
}