public IStatus execute(IProgressMonitor monitor, IAdaptable adaptable) throws ExecutionException { IFile file = (IFile)model.getProperty(UpdateManifestDataModelProperties.MANIFEST_FILE); String classPathValue = model.getStringProperty(UpdateManifestDataModelProperties.JAR_LIST_TEXT_UI); try { ArchiveManifest mf = J2EEProjectUtilities.readManifest(file); if (mf == null) mf = new ArchiveManifestImpl(); mf.addVersionIfNecessary(); if (model.getBooleanProperty(UpdateManifestDataModelProperties.MERGE)) { mf.mergeClassPath(ArchiveUtil.getTokens(classPathValue)); } else { mf.setClassPath(classPathValue); } if (model.isPropertySet(UpdateManifestDataModelProperties.MAIN_CLASS)) { mf.setMainClass(model.getStringProperty(UpdateManifestDataModelProperties.MAIN_CLASS)); } J2EEProjectUtilities.writeManifest(file, mf); } catch (java.io.IOException ex) { throw new ExecutionException(ex.getMessage(),ex); } return OK_STATUS; }
if (mf == null) mf = new ArchiveManifestImpl(); mf.addVersionIfNecessary(); if (replace) mf.setClassPath(classPathValue);