|| !packageManifestComponent.getFileResource().exists()) {
logger.warn("Package manifest component and/or file is null or does not exist");
return null;
}
Package packageManifest = null;
try {
packageManifest = getPackageManifestFromFile(packageManifestComponent.getFileResource());
} catch (JAXBException e) {
throw new FactoryException(e);
}
if (packageManifest == null) {
logger.warn("Unable to convert packge manifest");
return null;
}
for (Component component : componentList) {
addComponentToManifest(packageManifest, component);
}
if (save) {
try {
packageManifestComponent.setFile(packageManifest.getBytes());
packageManifestComponent.saveToFile(false, new NullProgressMonitor());
} catch (CoreException e) {
String logMessage = Utils.generateCoreExceptionLog(e);
logger.warn("Package manifest save failed: " + logMessage);
throw new FactoryException(e);