@Override
public List<ServiceRegistration<?>> registerInBundleContext(final BundleContext bundleContext) {
Assert.notNull(bundleContext, "BundleContext cannot be null.");
final Descriptor descriptor = getDescriptorService().getServerDescriptor();
if (descriptor == null) {
if (logger.isDebugEnabled()) {
logger.debug("Could not obtain Descriptor. This is normal when running an integration test.");
}
}
for (final ServiceDefinition serviceDefinition : getServiceDefinitions()) {
int serviceRanking = 0;
for (final String beanName : serviceDefinition.getBeanNames()) {
final List<String> serviceNames = serviceDefinition.getServiceNames();
final String requiredPlatformVersion = serviceDefinition.getPlatformVersion();
if (StringUtils.hasText(requiredPlatformVersion)) {
final VersionNumber versionNumber = new VersionNumber(requiredPlatformVersion);
if (descriptor != null && versionNumber.compareTo(descriptor.getVersionNumber()) > 0) {
if (logger.isDebugEnabled()) {
logger.debug(
"Skipping registration of ServiceDefinitions {} because they require Alfresco version {}",
serviceNames, requiredPlatformVersion);
}