in atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/plugins/ResourcePlugin.java [43:102]
public void doJar(JarFile jar, Context context, URLClassLoader classLoader)
{
DefaultResourceConfiguration resourceConfig = new DefaultResourceConfiguration();
// TODO Auto-generated method stub
pattern: for (JarEntry entry : jar.stream().collect(Collectors.toList()))
{
String entryName = entry.getName();
if (entry.isDirectory())
{
continue;
}
if (entryName.indexOf('/') == -1)
{
continue;
}
if (entryName.startsWith(SERVICES))
{
resourceConfig.addResourcePattern(entryName);
continue;
}
for (String excluded : EXCLUDE_NAMES)
{
if (entryName.endsWith(excluded))
{
continue pattern;
}
}
for (String excluded : EXCLUDE_DIRS)
{
if (entryName.startsWith(excluded))
{
continue pattern;
}
}
if (entryName.endsWith(CLASS_SUFFIX))
{
// just looking for resource bundle for french as an indicator
if (entryName.endsWith(FRENCH_BUNDLE_CLASS))
{
String bundleName = entryName.substring(0,
entryName.length() - FRENCH_BUNDLE_CLASS.length()).replace('/',
'.');
String bundlePackage = bundleName.substring(0,
bundleName.lastIndexOf('.'));
resourceConfig.addResourceBundle(bundleName);
resourceConfig.addResourcePackage(bundlePackage);
}
continue;
}
if (entryName.endsWith(FRENCH_BUNDLE_PROPS))
{
resourceConfig.addResourceBundle(entryName.substring(0,
entryName.length() - FRENCH_BUNDLE_PROPS.length()).replace('/', '.'));
continue;
}
resourceConfig.addResourcePattern(entryName);
}
context.addResourceConfig(resourceConfig);
}