Bug 559847 - Null-safety cleanup in OT/Equinox implementation
diff --git a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectBinding.java b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectBinding.java
index 913f2e6..1660dc9 100644
--- a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectBinding.java
+++ b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectBinding.java
@@ -275,7 +275,7 @@
 	public @Nullable Bundle aspectBundle; // null if we don't have a PackageAdmin for bundle lookup
 	public String basePluginName;
 	public BaseBundle baseBundle;
-	public IConfigurationElement[] forcedExports;
+	public @NonNull IConfigurationElement[] forcedExports;
 	public TeamBinding[]   teams;
 	public Set<String> allBaseClassNames = new HashSet<>();
 
@@ -286,7 +286,7 @@
 	
 	Set<TeamBinding> teamsInProgress = new HashSet<>(); // TODO cleanup teams that are done
 	
-	public AspectBinding(String aspectId, @Nullable Bundle aspectBundle, BaseBundle baseBundle, IConfigurationElement[] forcedExportsConfs, int count) 
+	public AspectBinding(String aspectId, @Nullable Bundle aspectBundle, BaseBundle baseBundle, @NonNull IConfigurationElement[] forcedExportsConfs, int count) 
 	{
 		this.aspectPlugin= aspectId;
 		this.aspectBundle= aspectBundle;
diff --git a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectPermissionManager.java b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectPermissionManager.java
index bc91c6b..47ed64a 100644
--- a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectPermissionManager.java
+++ b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/internal/osgi/weaving/AspectPermissionManager.java
@@ -220,8 +220,8 @@
 		
 		String aspectId = aspectBinding.aspectPlugin;
 		String baseBundleId = aspectBinding.basePluginName; 
-		List<String[]> deniedForcedExports = getConfiguredForcedExports(aspectId, DENY,  deniedForcedExportsByAspect);
-		List<String[]> grantedForcedExports= getConfiguredForcedExports(aspectId, GRANT, grantedForcedExportsByAspect);
+		List<@NonNull String[]> deniedForcedExports = getConfiguredForcedExports(aspectId, DENY,  deniedForcedExportsByAspect);
+		List<@NonNull String[]> grantedForcedExports= getConfiguredForcedExports(aspectId, GRANT, grantedForcedExportsByAspect);
 
 		// iterate all requested forcedExports to search for a matching permission:
 		for (IConfigurationElement forcedExport : forcedExports) { // [0..1] (as defined in the schema)
@@ -341,7 +341,7 @@
 	 * If the structure of grantedForcedExports is not empty we have mismatches between forced-export declarations.
 	 * Report these mismatches as warnings.
 	 */
-	void reportUnmatchForcedExports(String aspectId, List<String[]> unmatchedForcedExports) 
+	void reportUnmatchForcedExports(String aspectId, List<@NonNull String[]> unmatchedForcedExports)
 	{
 		for (String[] export: unmatchedForcedExports) {
 			String baseId = export[0];
@@ -387,7 +387,7 @@
 	 * @param teamsForBase the teams to check
 	 * @return the set of denied teams
 	 */
-	Set<TeamBinding> checkAspectPermissionDenial(Collection<TeamBinding> teamsForBase)
+	Set<@NonNull TeamBinding> checkAspectPermissionDenial(Collection<TeamBinding> teamsForBase)
 	{
 		Set<TeamBinding> deniedTeams = new HashSet<TeamBinding>();
 		for (TeamBinding teamForBase : teamsForBase) {
diff --git a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/otequinox/TransformerPlugin.java b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/otequinox/TransformerPlugin.java
index 259cd1f..37a424c 100644
--- a/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/otequinox/TransformerPlugin.java
+++ b/plugins/org.eclipse.objectteams.otequinox/src/org/eclipse/objectteams/otequinox/TransformerPlugin.java
@@ -243,7 +243,7 @@
 		
 		Status dummyStatus = new Status(WARN_LEVEL, bundleSymbolicName, "no message");
 		LogLevel logLevel = LogLevel.values()[LoggerBridge.getLevel(dummyStatus)];
-		Map<String,LogLevel> levels = new HashMap<>();
+		Map<@Nullable String,@Nullable LogLevel> levels = new HashMap<>();
 		levels.put(OTEQUINOX_LOGGER_NAME, logLevel);
 
 		ServiceTracker<LoggerAdmin,LoggerAdmin> adminTracker