/* * Iterate over the sites in the given configuration and remove the one which * has a url matching the given location. */ public boolean removeSite(Configuration configuration, String location) throws IOException, URISyntaxException { File left = new File(new URI(location)).getCanonicalFile(); List sites = configuration.getSites(); for (Iterator iter = sites.iterator(); iter.hasNext(); ) { Site tempSite = (Site) iter.next(); String siteURL = tempSite.getUrl(); File right = new File(new URI(siteURL)).getCanonicalFile(); if (left.equals(right)) { return configuration.removeSite(tempSite); } } return false; }
/* * Save the given configuration to disk. */ public void save(String message, Configuration configuration) { File configLocation = new File(output, getRootFolder() + "configuration/org.eclipse.update/platform.xml"); File installLocation = new File(output, getRootFolder()); try { configuration.save(configLocation, installLocation.toURL()); } catch (ProvisionException e) { fail(message, e); } catch (MalformedURLException e) { fail(message, e); } }
public Configuration loadConfiguration(File configLocation, File installLocation) { try { return Configuration.load(configLocation, installLocation.toURL()); } catch (ProvisionException e) { fail("Error while reading configuration from " + configLocation); } catch (MalformedURLException e) { fail("Unable to convert install location to URL " + installLocation); } assertTrue("Unable to read configuration from " + configLocation, false); // avoid compiler error return null; }
/* * Assert that a feature with the given id exists in the configuration. If * a version is specified then match the version, otherwise any version will * do. */ public void assertFeatureExists( String message, Configuration configuration, String id, String version) { List sites = configuration.getSites(); assertNotNull(message, sites); boolean found = false; for (Iterator iter = sites.iterator(); iter.hasNext(); ) { Site site = (Site) iter.next(); Feature[] features = site.getFeatures(); for (int i = 0; features != null && i < features.length; i++) { if (id.equals(features[i].getId())) { if (version == null) found = true; else if (version.equals(features[i].getVersion())) found = true; } } } assertTrue(message, found); }