463951: NPE in SelectionModel.computeChildren (146)
Bug: 463951
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463951
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java
index 1fb81f1..5938d8f 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java
@@ -35,7 +35,7 @@
private URL marketplaceUrl;
- private List<MarketplaceNodeInstallableUnitItem> installableUnitItems;
+ private List<MarketplaceNodeInstallableUnitItem> installableUnitItems = new ArrayList<MarketplaceNodeInstallableUnitItem>();
@Override
public void setInstallableUnits(List<String> installableUnits) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java
index 41ccee1..340f745 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java
@@ -143,11 +143,13 @@
private void computeChildren(CatalogItemEntry itemEntry) {
List<FeatureEntry> children = new ArrayList<FeatureEntry>();
List<MarketplaceNodeInstallableUnitItem> iuItems = ((MarketplaceNodeCatalogItem) itemEntry.getItem()).getInstallableUnitItems();
- for (MarketplaceNodeInstallableUnitItem iuItem : iuItems) {
- FeatureEntry featureEntry = new FeatureEntry(itemEntry, iuItem);
- featureEntry.setInstalled(computeInstalled(featureEntry));
- featureEntry.setChecked(computeInitiallyChecked(featureEntry));
- children.add(featureEntry);
+ if (iuItems != null) {
+ for (MarketplaceNodeInstallableUnitItem iuItem : iuItems) {
+ FeatureEntry featureEntry = new FeatureEntry(itemEntry, iuItem);
+ featureEntry.setInstalled(computeInstalled(featureEntry));
+ featureEntry.setChecked(computeInitiallyChecked(featureEntry));
+ children.add(featureEntry);
+ }
}
itemEntry.children = children;
}