@Override public String toVersionRange(String version) { int digits = ServiceConstants.DEFAULT_VERSION_DIGITS; String value = classPathResolver.getManifestProperty(ServiceConstants.INSTR_FAB_VERSION_RANGE_DIGITS); if (notEmpty(value)) { try { digits = Integer.parseInt(value); } catch (NumberFormatException e) { LOG.warn( "Failed to parse manifest header " + ServiceConstants.INSTR_FAB_VERSION_RANGE_DIGITS + " as a number. Got: '" + value + "' so ignoring it"); } if (digits < 0 || digits > 4) { LOG.warn( "Invalid value of manifest header " + ServiceConstants.INSTR_FAB_VERSION_RANGE_DIGITS + " as value " + digits + " is out of range so ignoring it"); digits = ServiceConstants.DEFAULT_VERSION_DIGITS; } } return Versions.toVersionRange(version, digits); }
public FabClassPathResolver getClasspathResolver( Properties instructions, Map<String, Object> embeddedResources) { if (classPathResolver == null) { classPathResolver = new FabClassPathResolver(this, instructions, embeddedResources); // when used inside Fabric, the features service is not available if (featuresService != null) { classPathResolver.addPruningFilter( new FeaturesMatchingFilter( FabResolverFactoryImpl.this.getFeaturesService(), classPathResolver)); } } return classPathResolver; }