Skip to content

Commit

Permalink
Installing from 'Install Feature' installs the latest from all enable…
Browse files Browse the repository at this point in the history
…d p2 sites
  • Loading branch information
goglepox committed Sep 12, 2013
1 parent 65dd6ad commit 3414202
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
Expand Up @@ -11,14 +11,11 @@
import static org.osgi.framework.FrameworkUtil.getBundle;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import net.bioclipse.ui.install.discovery.BasicRepositoryDiscoveryStrategy;

Expand Down Expand Up @@ -77,9 +74,12 @@ protected void queryInstallableUnits( SubMonitor monitor,
monitor.setWorkRemaining( repositories.size() );
for (final IMetadataRepository repository : repositories) {
checkCancelled(monitor);
IQuery<IInstallableUnit> query = QueryUtil.createMatchQuery(//
"id ~= /*.feature.group/ ? providedCapabilities.exists(p | p.namespace == 'org.eclipse.equinox.p2.iu' "
+ "&& p.name ~= /*.feature.group/) : properties['org.eclipse.equinox.p2.type.category'] == false" ); //$NON-NLS-1$
IQuery<IInstallableUnit> query = QueryUtil
.createQuery(

//.createMatchQuery(
"select( iu | iu.id ~= /*.feature.group/ && iu.properties['org.eclipse.equinox.p2.type.group'] == true && !(iu.id ~= /*.source.feature.group/ ) ).latest()"
);
IQueryResult<IInstallableUnit> result = repository.query(query, monitor.newChild(1));
List<IInstallableUnit> res = filterIU( result.iterator() );
for ( Iterator<IInstallableUnit> iter = res.iterator(); iter
Expand All @@ -95,8 +95,6 @@ protected void queryInstallableUnits( SubMonitor monitor,
private List<IInstallableUnit> filterIU( Iterator<IInstallableUnit> iter ) {

initIconMapping();
List<String> b = Arrays.asList( bundles );
Set<String> filetBundles = new HashSet<String>( b );

List<IInstallableUnit> filteredList = new ArrayList<IInstallableUnit>();
while ( iter.hasNext() ) {
Expand Down
Expand Up @@ -200,7 +200,10 @@ protected void process(IMetadataRepository repository, IInstallableUnit candidat
private CatalogItem processCatalogItem(IMetadataRepository repository, IInstallableUnit candidate) {
CatalogItem item = catalogItemById.get(candidate.getId());
if (item != null) {
return item;
if ( candidate.compareTo( (IInstallableUnit) item.getData() ) > 0 )
items.remove( item );
else
return item;
}

item = new CatalogItem();
Expand All @@ -216,8 +219,9 @@ private CatalogItem processCatalogItem(IMetadataRepository repository, IInstalla
item.setIcon( icon );

item.getInstallableUnits().add( item.getId() );
catalogItemById.put(item.getId(), item);
items.add(item);

catalogItemById.put( item.getId(), item );
items.add( item );
return item;
}

Expand Down

0 comments on commit 3414202

Please sign in to comment.