public void testSite() throws MalformedURLException, CoreException {
    String ident1 = "org.eclipse.test.feature_1.0.0.jar";

    ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

    URL id = UpdateManagerUtils.getURL(site.getURL(), ident1, null);
    remoteFeature = new DefaultFeature(site);
    remoteFeature.setURL(id);
    assertEquals(site, remoteFeature.getSite());
  }
 /** the feature to test */
 private DefaultFeature getFeature() throws MalformedURLException, CoreException {
   if (remoteFeature == null) {
     ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);
     URL id =
         UpdateManagerUtils.getURL(
             site.getURL(), "org.eclipse.update.core.feature1_1.0.0.jar", null);
     remoteFeature = new DefaultFeature(site);
     remoteFeature.setURL(id);
   }
   return remoteFeature;
 }
  public void testIdentifier() throws CoreException, MalformedURLException {

    String id1 = "features/org.eclipse.test.feature_1.0.0.jar";
    String id2 = "features/org.eclipse_test_feature.jar";
    VersionedIdentifier ident1 = new VersionedIdentifier("org.test1.ident1", "1.0.0");
    VersionedIdentifier ident2 = new VersionedIdentifier("org.test1.ident2", "1.0.0");

    ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

    URL url1 = UpdateManagerUtils.getURL(site.getURL(), id1, null);
    remoteFeature = new DefaultFeature(site);
    remoteFeature.setURL(url1);
    remoteFeature.setIdentifier(ident1);
    assertEquals(ident1.toString(), remoteFeature.getVersionedIdentifier().toString());

    URL url2 = UpdateManagerUtils.getURL(site.getURL(), id2, null);
    remoteFeature = new DefaultFeature(site);
    remoteFeature.setURL(url2);
    remoteFeature.setIdentifier(ident2);
    assertEquals(ident2.toString(), remoteFeature.getVersionedIdentifier().toString());
  }
 protected Object[] getChildren(Object parent) {
   if (parent instanceof PDEFormPage) {
     PDEFormPage page = (PDEFormPage) parent;
     ISiteModel model = (ISiteModel) page.getModel();
     if (model.isValid()) {
       ISite site = model.getSite();
       if (page.getId().equals(FeaturesPage.PAGE_ID)) {
         ArrayList<IWritable> result = new ArrayList<IWritable>();
         ISiteCategoryDefinition[] catDefs = site.getCategoryDefinitions();
         for (int i = 0; i < catDefs.length; i++) {
           result.add(catDefs[i]);
         }
         ISiteFeature[] features = site.getFeatures();
         for (int i = 0; i < features.length; i++) {
           if (features[i].getCategories().length == 0)
             result.add(new SiteFeatureAdapter(null, features[i]));
         }
         return result.toArray();
       }
       if (page.getId().equals(ArchivePage.PAGE_ID)) return site.getArchives();
     }
   }
   if (parent instanceof ISiteCategoryDefinition) {
     ISiteCategoryDefinition catDef = (ISiteCategoryDefinition) parent;
     ISiteModel model = catDef.getModel();
     if (model.isValid()) {
       ISite site = model.getSite();
       ISiteFeature[] features = site.getFeatures();
       HashSet<SiteFeatureAdapter> result = new HashSet<SiteFeatureAdapter>();
       for (int i = 0; i < features.length; i++) {
         ISiteCategory[] cats = features[i].getCategories();
         for (int j = 0; j < cats.length; j++) {
           if (cats[j].getDefinition() != null && cats[j].getDefinition().equals(catDef)) {
             result.add(new SiteFeatureAdapter(cats[j].getName(), features[i]));
           }
         }
       }
       return result.toArray();
     }
   }
   return new Object[0];
 }