in taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java [352:370]
public PluginInfo getPluginInfo(JarFile jarFile) throws PluginException {
// TODO check manifest for non standard plugin info file
JarEntry pluginEntry = jarFile.getJarEntry(PLUGIN_FILE_NAME);
if (pluginEntry == null) {
throw new PluginException(String.format(
"Plugin file '%1$s' does not contain a %2$s file.", jarFile.getName(),
PLUGIN_FILE_NAME));
}
try {
InputStream inputStream = jarFile.getInputStream(pluginEntry);
return (PluginInfo) unmarshaller.unmarshal(inputStream);
} catch (JAXBException e) {
throw new PluginException(String.format("Error reading plugin file %1$s from %2$s",
pluginEntry, jarFile.getName()), e);
} catch (IOException e) {
throw new PluginException(String.format("Error reading plugin file %1$s from %2$s",
pluginEntry, jarFile.getName()), e);
}
}