You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2018/02/23 15:11:01 UTC

svn commit: r1825132 [2/2] - in /felix/trunk/osgi-r7/framework: ./ src/main/java/org/apache/felix/framework/ src/main/java/org/osgi/dto/ src/main/java/org/osgi/framework/ src/main/java/org/osgi/framework/dto/ src/main/java/org/osgi/framework/hooks/bund...

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/namespace/NativeNamespace.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/namespace/NativeNamespace.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/namespace/NativeNamespace.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/namespace/NativeNamespace.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2016). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,6 +30,7 @@ import org.osgi.resource.Namespace;
  * {@code String}, unless otherwise indicated.
  * 
  * @Immutable
+ * @since 1.1
  * @author $Id$
  */
 public final class NativeNamespace extends Namespace {
@@ -42,9 +43,9 @@ public final class NativeNamespace exten
 	/**
 	 * The capability attribute contains alias values of the
 	 * {@link Constants#FRAMEWORK_OS_NAME org.osgi.framework.os.name} launching
-	 * property value according to the <a
-	 * href="http://www.osgi.org/Specifications/Reference">OSGi Specification
-	 * References</a>. The value of this attribute must be of type
+	 * property value according to the
+	 * <a href="https://www.osgi.org/developer/specifications/reference/">OSGi
+	 * Specification References</a>. The value of this attribute must be of type
 	 * {@code List<String>}.
 	 */
 	public final static String	CAPABILITY_OSNAME_ATTRIBUTE		= NATIVE_NAMESPACE + ".osname";
@@ -60,9 +61,9 @@ public final class NativeNamespace exten
 	/**
 	 * The capability attribute contains alias values of the
 	 * {@link Constants#FRAMEWORK_PROCESSOR org.osgi.framework.processor}
-	 * launching property value according to the <a
-	 * href="http://www.osgi.org/Specifications/Reference">OSGi Specification
-	 * References</a>. The value of this attribute must be of type
+	 * launching property value according to the
+	 * <a href="https://www.osgi.org/developer/specifications/reference/">OSGi
+	 * Specification References</a>. The value of this attribute must be of type
 	 * {@code List<String>}.
 	 */
 	public final static String	CAPABILITY_PROCESSOR_ATTRIBUTE	= NATIVE_NAMESPACE + ".processor";

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/package-info.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/package-info.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/package-info.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,21 +15,19 @@
  */
 
 /**
- * Framework Package Version 1.8.
- * 
+ * Framework Package Version 1.9.
  * <p>
  * Bundles wishing to use this package must list the package in the
  * Import-Package header of the bundle's manifest.
- * 
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework; version="[1.8,2.0)"}
+ * {@code  Import-Package: org.osgi.framework; version="[1.9,2.0)"}
  * 
  * @author $Id$
  */
 
-@Version("1.8")
+@Version("1.9")
 package org.osgi.framework;
 
 import org.osgi.annotation.versioning.Version;

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleCapability.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleCapability.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleCapability.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleCapability.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2015). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ import org.osgi.resource.Capability;
  * revision}.
  * 
  * @ThreadSafe
- * @author $Id: 834fb5779fb3c1b1b16ab25ffa4ab97a131b1262 $
+ * @author $Id: b4eb0df09a8354afdb46f013926f81f70f817f43 $
  */
 @ProviderType
 public interface BundleCapability extends Capability {
@@ -43,6 +43,7 @@ public interface BundleCapability extend
 	 * 
 	 * @return The namespace of this capability.
 	 */
+	@Override
 	String getNamespace();
 
 	/**
@@ -57,6 +58,7 @@ public interface BundleCapability extend
 	 *         this capability, or an empty map if this capability has no
 	 *         directives.
 	 */
+	@Override
 	Map<String, String> getDirectives();
 
 	/**
@@ -66,6 +68,7 @@ public interface BundleCapability extend
 	 *         this capability, or an empty map if this capability has no
 	 *         attributes.
 	 */
+	@Override
 	Map<String, Object> getAttributes();
 
 	/**
@@ -77,5 +80,6 @@ public interface BundleCapability extend
 	 * @return The resource declaring this capability.
 	 * @since 1.1
 	 */
+	@Override
 	BundleRevision getResource();
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRequirement.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRequirement.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRequirement.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRequirement.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2015). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ import org.osgi.resource.Requirement;
  * revision}.
  * 
  * @ThreadSafe
- * @author $Id: ac0578af567754bcd12c63a350c06afdd1bfec05 $
+ * @author $Id: f7e73311cfc384905cb65d9d24b12304291be2d8 $
  */
 @ProviderType
 public interface BundleRequirement extends Requirement {
@@ -54,6 +54,7 @@ public interface BundleRequirement exten
 	 * 
 	 * @return The namespace of this requirement.
 	 */
+	@Override
 	String getNamespace();
 
 	/**
@@ -68,6 +69,7 @@ public interface BundleRequirement exten
 	 *         this requirement, or an empty map if this requirement has no
 	 *         directives.
 	 */
+	@Override
 	Map<String, String> getDirectives();
 
 	/**
@@ -81,6 +83,7 @@ public interface BundleRequirement exten
 	 *         this requirement, or an empty map if this requirement has no
 	 *         attributes.
 	 */
+	@Override
 	Map<String, Object> getAttributes();
 
 	/**
@@ -93,5 +96,6 @@ public interface BundleRequirement exten
 	 *         if this requirement is synthesized.
 	 * @since 1.1
 	 */
+	@Override
 	BundleRevision getResource();
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRevision.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRevision.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRevision.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleRevision.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2018). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -52,7 +52,7 @@ import org.osgi.resource.Resource;
  * {@link Constants#REQUIRE_CAPABILITY Require-Capability} manifest headers.
  * 
  * @ThreadSafe
- * @author $Id: 1f318afdf8f5fe6097a841b49b67bf67d8c924f2 $
+ * @author $Id: 0d0ae508d172eefe49c9c338e4d29ffd13500f0b $
  */
 @ProviderType
 public interface BundleRevision extends BundleReference, Resource {
@@ -111,7 +111,7 @@ public interface BundleRevision extends
 	 * The name of the package is stored in the capability attribute of the same
 	 * name as this namespace (osgi.wiring.package). The other directives and
 	 * attributes of the package, from the {@link Constants#EXPORT_PACKAGE
-	 * Export-Package} manifest header, can be found in the cabability's
+	 * Export-Package} manifest header, can be found in the capability's
 	 * {@link BundleCapability#getDirectives() directives} and
 	 * {@link BundleCapability#getAttributes() attributes}. The
 	 * {@link Constants#VERSION_ATTRIBUTE version} capability attribute must
@@ -157,7 +157,7 @@ public interface BundleRevision extends
 	 * attribute of the same name as this namespace (osgi.wiring.bundle). The
 	 * other directives and attributes of the bundle, from the
 	 * {@link Constants#BUNDLE_SYMBOLICNAME Bundle-SymbolicName} manifest
-	 * header, can be found in the cabability's
+	 * header, can be found in the capability's
 	 * {@link BundleCapability#getDirectives() directives} and
 	 * {@link BundleCapability#getAttributes() attributes}. The
 	 * {@link Constants#BUNDLE_VERSION_ATTRIBUTE bundle-version} capability
@@ -197,7 +197,7 @@ public interface BundleRevision extends
 	 * attribute of the same name as this namespace (osgi.wiring.host). The
 	 * other directives and attributes of the bundle, from the
 	 * {@link Constants#BUNDLE_SYMBOLICNAME Bundle-SymbolicName} manifest
-	 * header, can be found in the cabability's
+	 * header, can be found in the capability's
 	 * {@link BundleCapability#getDirectives() directives} and
 	 * {@link BundleCapability#getAttributes() attributes}. The
 	 * {@link Constants#BUNDLE_VERSION_ATTRIBUTE bundle-version} capability
@@ -283,6 +283,7 @@ public interface BundleRevision extends
 	 *         namespace.
 	 * @since 1.1
 	 */
+	@Override
 	List<Capability> getCapabilities(String namespace);
 
 	/**
@@ -301,5 +302,6 @@ public interface BundleRevision extends
 	 *         namespace.
 	 * @since 1.1
 	 */
+	@Override
 	List<Requirement> getRequirements(String namespace);
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWire.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWire.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWire.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWire.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2015). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ import org.osgi.resource.Wire;
  * A wire connecting a {@link BundleCapability} to a {@link BundleRequirement}.
  * 
  * @ThreadSafe
- * @author $Id: f51255c8510d4b513dc2bb70c2274d9c51e9b9e5 $
+ * @author $Id: 9877055d8ebbe52b82ec16b876d4491a47a106ef $
  */
 @ProviderType
 public interface BundleWire extends Wire {
@@ -32,6 +32,7 @@ public interface BundleWire extends Wire
 	 * 
 	 * @return The {@link BundleCapability} for this wire.
 	 */
+	@Override
 	BundleCapability getCapability();
 
 	/**
@@ -39,6 +40,7 @@ public interface BundleWire extends Wire
 	 * 
 	 * @return The {@link BundleRequirement} for this wire.
 	 */
+	@Override
 	BundleRequirement getRequirement();
 
 	/**
@@ -87,6 +89,7 @@ public interface BundleWire extends Wire
 	 * @return The resource providing the capability.
 	 * @since 1.1
 	 */
+	@Override
 	BundleRevision getProvider();
 
 	/**
@@ -104,6 +107,6 @@ public interface BundleWire extends Wire
 	 * @return The resource who requires the capability.
 	 * @since 1.1
 	 */
+	@Override
 	BundleRevision getRequirer();
-
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWiring.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWiring.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWiring.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/BundleWiring.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@ package org.osgi.framework.wiring;
 import java.net.URL;
 import java.util.Collection;
 import java.util.List;
+
 import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
@@ -53,7 +54,7 @@ import org.osgi.resource.Wiring;
  * a bundle returns {@code null}.
  * 
  * @ThreadSafe
- * @author $Id: 367499c4b37683c52e622f479242a9caf7e59b0f $
+ * @author $Id: ddad9df28bbd85405057e1f1237f404f83ac8758 $
  */
 @ProviderType
 public interface BundleWiring extends BundleReference, Wiring {
@@ -124,22 +125,20 @@ public interface BundleWiring extends Bu
 
 	/**
 	 * Returns the requirements of this bundle wiring.
-	 * 
 	 * <p>
 	 * Only requirements considered by the resolver are returned. For example,
 	 * requirements with {@link Namespace#REQUIREMENT_EFFECTIVE_DIRECTIVE
 	 * effective} directive not equal to {@link Namespace#EFFECTIVE_RESOLVE
 	 * resolve} are not returned.
-	 * 
 	 * <p>
 	 * A bundle wiring for a non-fragment revision has a subset of the declared
 	 * requirements from the bundle revision and all attached fragment
 	 * revisions. Not all declared requirements may be present since some may be
-	 * discarded. For example, if a package is declared to be optionally
-	 * imported and is not actually imported, the requirement must be discarded.
+	 * discarded. For example, if a package is declared to be both exported and
+	 * imported, only one is selected and the other is discarded.
 	 * 
 	 * @param namespace The namespace of the requirements to return or
-	 *        {@code null} to return the requirements from all namespaces.
+	 *            {@code null} to return the requirements from all namespaces.
 	 * @return A list containing a snapshot of the {@link BundleRequirement}s,
 	 *         or an empty list if this bundle wiring uses no requirements in
 	 *         the specified namespace. If this bundle wiring is not
@@ -414,6 +413,7 @@ public interface BundleWiring extends Bu
 	 *         ordering defined between capabilities in different namespaces.
 	 * @since 1.1
 	 */
+	@Override
 	List<Capability> getResourceCapabilities(String namespace);
 
 	/**
@@ -446,6 +446,7 @@ public interface BundleWiring extends Bu
 	 *         between requirements in different namespaces.
 	 * @since 1.1
 	 */
+	@Override
 	List<Requirement> getResourceRequirements(String namespace);
 
 	/**
@@ -468,6 +469,7 @@ public interface BundleWiring extends Bu
 	 *         capabilities in different namespaces.
 	 * @since 1.1
 	 */
+	@Override
 	List<Wire> getProvidedResourceWires(String namespace);
 
 	/**
@@ -490,6 +492,7 @@ public interface BundleWiring extends Bu
 	 *         requirements in different namespaces.
 	 * @since 1.1
 	 */
+	@Override
 	List<Wire> getRequiredResourceWires(String namespace);
 
 	/**
@@ -501,5 +504,6 @@ public interface BundleWiring extends Bu
 	 * @return The resource associated with this wiring.
 	 * @since 1.1
 	 */
+	@Override
 	BundleRevision getResource();
 }

Added: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/FrameworkWiringDTO.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/FrameworkWiringDTO.java?rev=1825132&view=auto
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/FrameworkWiringDTO.java (added)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/FrameworkWiringDTO.java Fri Feb 23 15:11:00 2018
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2016). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.wiring.dto;
+
+import java.util.Set;
+
+import org.osgi.dto.DTO;
+
+/**
+ * Data Transfer Object for the wiring graph of the framework.
+ * <p>
+ * The system bundle can be adapted to provide the {@code FrameworkWiringDTO}.
+ * Only the system bundle can be adapted to a {@code FrameworkWiringDTO} object
+ * 
+ * @author $Id: 1786218bfe09a4d46d9041d96d01b2a71612eb0d $
+ * @NotThreadSafe
+ * @since 1.3
+ */
+public class FrameworkWiringDTO extends DTO {
+	/**
+	 * The set of wiring nodes referenced by the wiring graph of the framework.
+	 * <p>
+	 * All wiring nodes referenced by wiring node identifiers in the wiring
+	 * graph are contained in this set.
+	 */
+	public Set<BundleWiringDTO.NodeDTO>	wirings;
+	/**
+	 * The set of resources referenced by the wiring graph of the framework.
+	 * <p>
+	 * All resources referenced by resource identifiers in the wiring graph are
+	 * contained in this set.
+	 */
+	public Set<BundleRevisionDTO>		resources;
+}

Propchange: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/FrameworkWiringDTO.java
------------------------------------------------------------------------------
    svn:executable = *

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/package-info.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/package-info.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/framework/wiring/dto/package-info.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2016). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,27 +15,25 @@
  */
 
 /**
- * OSGi Data Transfer Object Framework Wiring Package Version 1.2.
- * 
+ * OSGi Data Transfer Object Framework Wiring Package Version 1.3.
  * <p>
  * Bundles wishing to use this package must list the package in the
  * Import-Package header of the bundle's manifest. This package has two types of
  * users: the consumers that use the API in this package and the providers that
  * implement the API in this package.
- * 
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework.wiring.dto; version="[1.2,2.0)"}
+ * {@code  Import-Package: org.osgi.framework.wiring.dto; version="[1.3,2.0)"}
  * <p>
  * Example import for providers implementing the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework.wiring.dto; version="[1.2,1.3)"}
+ * {@code  Import-Package: org.osgi.framework.wiring.dto; version="[1.3,1.4)"}
  * 
  * @author $Id$
  */
 
-@Version("1.2")
+@Version("1.3")
 package org.osgi.framework.wiring.dto;
 
 import org.osgi.annotation.versioning.Version;

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Capability.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Capability.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Capability.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Capability.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2015). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ import org.osgi.annotation.versioning.Co
  * always return the same result.
  * 
  * @ThreadSafe
- * @author $Id: e79d11402e14e170443c8a2a9da835391cd1ccc8 $
+ * @author $Id: 4c1f7f4309b23e7cf345c784ed096a2d9bd80467 $
  */
 @ConsumerType
 public interface Capability {
@@ -77,6 +77,7 @@ public interface Capability {
 	 * @return {@code true} if this {@code Capability} is equal to the other
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	boolean equals(Object obj);
 
 	/**
@@ -84,5 +85,6 @@ public interface Capability {
 	 * 
 	 * @return The hashCode of this {@code Capability}.
 	 */
+	@Override
 	int hashCode();
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Requirement.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Requirement.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Requirement.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Requirement.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2015). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ import org.osgi.annotation.versioning.Co
  * always return the same result.
  * 
  * @ThreadSafe
- * @author $Id: 252221aeaaf9b189eef6e0c3798d0076a0032242 $
+ * @author $Id: 210e427134eaf0404c4f374f619af972fb570572 $
  */
 @ConsumerType
 public interface Requirement {
@@ -81,6 +81,7 @@ public interface Requirement {
 	 * @return {@code true} if this {@code Requirement} is equal to the other
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	boolean equals(Object obj);
 
 	/**
@@ -88,5 +89,6 @@ public interface Requirement {
 	 * 
 	 * @return The hashCode of this {@code Requirement}.
 	 */
+	@Override
 	int hashCode();
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Resource.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Resource.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Resource.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Resource.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2015). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ import org.osgi.annotation.versioning.Co
  * always return the same result.
  * 
  * @ThreadSafe
- * @author $Id: c7b6462fb53b38ac3071d7ba73af9dad2af6b9ce $
+ * @author $Id: 6f13a1b536b116eebb255285b958d889db733939 $
  */
 @ConsumerType
 public interface Resource {
@@ -73,6 +73,7 @@ public interface Resource {
 	 * @return {@code true} if this {@code Resource} is equal to the other
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	boolean equals(Object obj);
 
 	/**
@@ -80,5 +81,6 @@ public interface Resource {
 	 * 
 	 * @return The hashCode of this {@code Resource}.
 	 */
+	@Override
 	int hashCode();
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wire.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wire.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wire.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wire.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2015). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.osgi.annotation.versioning.Co
  * always return the same result.
  * 
  * @ThreadSafe
- * @author $Id: 6c248ea2b9b24f3610a14e5e8deec9cd0b7aa1c9 $
+ * @author $Id: a0d1c39e16788708ffab9bb00707554f97f09998 $
  */
 @ConsumerType
 public interface Wire {
@@ -79,6 +79,7 @@ public interface Wire {
 	 * @return {@code true} if this {@code Wire} is equal to the other object;
 	 *         {@code false} otherwise.
 	 */
+	@Override
 	boolean equals(Object obj);
 
 	/**
@@ -86,5 +87,6 @@ public interface Wire {
 	 * 
 	 * @return The hashCode of this {@code Wire}.
 	 */
+	@Override
 	int hashCode();
 }

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wiring.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wiring.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wiring.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/resource/Wiring.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2016). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.resource;
 
 import java.util.List;
+
 import org.osgi.annotation.versioning.ConsumerType;
 
 /**
@@ -29,7 +30,7 @@ import org.osgi.annotation.versioning.Co
  * always return the same result.
  * 
  * @ThreadSafe
- * @author $Id: 935272fa914a9cc0020549c43a3857acad2c45cc $
+ * @author $Id: 7cb1384266be355d3e727b55e789d36a88299cf6 $
  */
 @ConsumerType
 public interface Wiring {
@@ -75,22 +76,20 @@ public interface Wiring {
 
 	/**
 	 * Returns the requirements of this wiring.
-	 * 
 	 * <p>
 	 * Only requirements considered by the resolver are returned. For example,
 	 * requirements with {@link Namespace#REQUIREMENT_EFFECTIVE_DIRECTIVE
 	 * effective} directive not equal to {@link Namespace#EFFECTIVE_RESOLVE
 	 * resolve} are not returned.
-	 * 
 	 * <p>
 	 * A wiring for a non-fragment resource has a subset of the declared
 	 * requirements from the resource and all attached fragment resources. Not
 	 * all declared requirements may be present since some may be discarded. For
-	 * example, if a package is declared to be optionally imported and is not
-	 * actually imported, the requirement must be discarded.
+	 * example, if a package is declared to be both exported and imported, only
+	 * one is selected and the other is discarded.
 	 * 
 	 * @param namespace The namespace of the requirements to return or
-	 *        {@code null} to return the requirements from all namespaces.
+	 *            {@code null} to return the requirements from all namespaces.
 	 * @return A list containing a snapshot of the {@link Requirement}s, or an
 	 *         empty list if this wiring uses no requirements in the specified
 	 *         namespace. For a given namespace, the list contains the

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/ExportedPackage.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/ExportedPackage.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/ExportedPackage.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/ExportedPackage.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@ import org.osgi.framework.Version;
  * @noimplement
  * @deprecated The PackageAdmin service has been replaced by the
  *             <code>org.osgi.framework.wiring</code> package.
- * @author $Id: e04a2beb3de2afff4cb01747e589c04b5e0f0cc8 $
+ * @author $Id: f4cdb9e84ce788c16d5304166a2b9eeecb5fabf3 $
  */
 public interface ExportedPackage {
 	/**
@@ -85,7 +85,7 @@ public interface ExportedPackage {
 	 * 
 	 * @return The version of this exported package, or {@code null} if no
 	 *         version information is available.
-	 * @deprecated As of 1.2, replaced by {@link #getVersion()}.
+	 * @deprecated As of 1.2. Replaced by {@link #getVersion()}.
 	 */
 	public String getSpecificationVersion();
 

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/PackageAdmin.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/PackageAdmin.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/PackageAdmin.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/PackageAdmin.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2015). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ import org.osgi.framework.Bundle;
  * 
  * @ThreadSafe
  * @noimplement
- * @author $Id: 4aad25d2f145d9a2d24825bc481dcc254b74ed51 $
+ * @author $Id: 1de8679fcf7df57b019a93219f6b82222eb1525e $
  * @deprecated This service has been replaced by the
  *             <code>org.osgi.framework.wiring</code> package.
  * @see org.osgi.service.packageadmin.ExportedPackage
@@ -53,6 +53,7 @@ public interface PackageAdmin {
 	 * @throws IllegalArgumentException If the specified {@code Bundle} was
 	 *         not created by the same framework instance that registered this
 	 *         {@code PackageAdmin} service.
+	 * @deprecated
 	 */
 	public ExportedPackage[] getExportedPackages(Bundle bundle);
 
@@ -64,6 +65,7 @@ public interface PackageAdmin {
 	 * @return An array of the exported packages, or {@code null} if no
 	 *         exported packages with the specified name exists.
 	 * @since 1.2
+	 * @deprecated
 	 */
 	public ExportedPackage[] getExportedPackages(String name);
 
@@ -79,6 +81,7 @@ public interface PackageAdmin {
 	 * @return The exported package, or {@code null} if no exported
 	 *         package with the specified name exists.
 	 * @see #getExportedPackages(String)
+	 * @deprecated
 	 */
 	public ExportedPackage getExportedPackage(String name);
 
@@ -186,6 +189,7 @@ public interface PackageAdmin {
 	 * @return An array of required bundles or {@code null} if no
 	 *         required bundles exist for the specified symbolic name.
 	 * @since 1.2
+	 * @deprecated
 	 */
 	public RequiredBundle[] getRequiredBundles(String symbolicName);
 
@@ -259,7 +263,7 @@ public interface PackageAdmin {
 	 *         this {@code PackageAdmin} service.
 	 * @since 1.2
 	 */
-	public Bundle getBundle(Class clazz);
+	public Bundle getBundle(Class<?> clazz);
 
 	/**
 	 * Bundle type indicating the bundle is a fragment bundle.

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/package-info.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/package-info.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/packageadmin/package-info.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,8 +31,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.packageadmin; version="[1.2,2.0)"}
  * 
- * @version 1.2
  * @author $Id$
  */
 
+@Version("1.2")
 package org.osgi.service.packageadmin;
+
+import org.osgi.annotation.versioning.Version;

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/startlevel/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/startlevel/package-info.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/startlevel/package-info.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/startlevel/package-info.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,8 +31,10 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.startlevel; version="[1.1,2.0)"}
  * 
- * @version 1.1
  * @author $Id$
  */
 
+@Version("1.1")
 package org.osgi.service.startlevel;
+
+import org.osgi.annotation.versioning.Version;

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/url/AbstractURLStreamHandlerService.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/url/AbstractURLStreamHandlerService.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/url/AbstractURLStreamHandlerService.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/service/url/AbstractURLStreamHandlerService.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2015). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,7 +31,7 @@ import org.osgi.annotation.versioning.Co
  * {@code setURL} and {@code parseURL(URLStreamHandlerSetter,...)} methods.
  * 
  * @ThreadSafe
- * @author $Id: 79cfc45d97b037436d50bda26111109bd5d42a37 $
+ * @author $Id: 71ce6a3846e0b82b2e096ae7617c2af7a1297f0e $
  */
 @ConsumerType
 public abstract class AbstractURLStreamHandlerService extends URLStreamHandler implements URLStreamHandlerService {
@@ -56,6 +56,7 @@ public abstract class AbstractURLStreamH
 	 *        invoked for the specified URL.
 	 * @see "java.net.URLStreamHandler.parseURL"
 	 */
+	@Override
 	public void parseURL(@SuppressWarnings("hiding") URLStreamHandlerSetter realHandler, URL u, String spec, int start, int limit) {
 		this.realHandler = realHandler;
 		parseURL(u, spec, start, limit);
@@ -139,7 +140,7 @@ public abstract class AbstractURLStreamH
 	 * @deprecated This method is only for compatibility with handlers written
 	 *             for JDK 1.1.
 	 */
-	@SuppressWarnings("javadoc")
+	@Override
 	protected void setURL(URL u, String proto, String host, int port, String file, String ref) {
 		realHandler.setURL(u, proto, host, port, file, ref);
 	}

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/BundleTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/BundleTracker.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/BundleTracker.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/BundleTracker.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2007, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2007, 2017). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,6 +18,8 @@ package org.osgi.util.tracker;
 
 import java.util.HashMap;
 import java.util.Map;
+
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
@@ -44,9 +46,10 @@ import org.osgi.framework.SynchronousBun
  * 
  * @param <T> The type of the tracked object.
  * @ThreadSafe
- * @author $Id: 9a1b57568a8be735292700584f4eb936fc80f2ff $
+ * @author $Id: ac16c218a0df059303f253a33523f753000623c4 $
  * @since 1.4
  */
+@ConsumerType
 public class BundleTracker<T> implements BundleTrackerCustomizer<T> {
 	/* set this to true to compile in debug messages */
 	static final boolean				DEBUG	= false;
@@ -217,6 +220,7 @@ public class BundleTracker<T> implements
 	 * @return The specified bundle.
 	 * @see BundleTrackerCustomizer#addingBundle(Bundle, BundleEvent)
 	 */
+	@Override
 	public T addingBundle(Bundle bundle, BundleEvent event) {
 		@SuppressWarnings("unchecked")
 		T result = (T) bundle;
@@ -241,6 +245,7 @@ public class BundleTracker<T> implements
 	 * @param object The customized object for the specified Bundle.
 	 * @see BundleTrackerCustomizer#modifiedBundle(Bundle, BundleEvent, Object)
 	 */
+	@Override
 	public void modifiedBundle(Bundle bundle, BundleEvent event, T object) {
 		/* do nothing */
 	}
@@ -263,6 +268,7 @@ public class BundleTracker<T> implements
 	 * @param object The customized object for the specified bundle.
 	 * @see BundleTrackerCustomizer#removedBundle(Bundle, BundleEvent, Object)
 	 */
+	@Override
 	public void removedBundle(Bundle bundle, BundleEvent event, T object) {
 		/* do nothing */
 	}
@@ -280,11 +286,10 @@ public class BundleTracker<T> implements
 			return null;
 		}
 		synchronized (t) {
-			int length = t.size();
-			if (length == 0) {
+			if (t.isEmpty()) {
 				return null;
 			}
-			return t.copyKeys(new Bundle[length]);
+			return t.copyKeys(new Bundle[0]);
 		}
 	}
 
@@ -426,6 +431,7 @@ public class BundleTracker<T> implements
 		 * 
 		 * @param event {@code BundleEvent} object from the framework.
 		 */
+		@Override
 		public void bundleChanged(final BundleEvent event) {
 			/*
 			 * Check if we had a delayed call (which could happen when we

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/ServiceTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/ServiceTracker.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/ServiceTracker.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/ServiceTracker.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2017). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,6 +20,8 @@ import java.lang.reflect.Array;
 import java.util.Collections;
 import java.util.SortedMap;
 import java.util.TreeMap;
+
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.AllServiceListener;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
@@ -52,8 +54,9 @@ import org.osgi.framework.ServiceReferen
  * @param <S> The type of the service being tracked.
  * @param <T> The type of the tracked object.
  * @ThreadSafe
- * @author $Id: a0af979aa9c88a89f220c1b2d8d7c060ced41006 $
+ * @author $Id: 3c9016c43c6289259f97470eff4c9986b6fb887a $
  */
+@ConsumerType
 public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 	/* set this to true to compile in debug messages */
 	static final boolean					DEBUG	= false;
@@ -387,15 +390,13 @@ public class ServiceTracker<S, T> implem
 	/**
 	 * Default implementation of the
 	 * {@code ServiceTrackerCustomizer.addingService} method.
-	 * 
 	 * <p>
 	 * This method is only called when this {@code ServiceTracker} has been
 	 * constructed with a {@code null ServiceTrackerCustomizer} argument.
-	 * 
 	 * <p>
-	 * This implementation returns the result of calling {@code getService} on
+	 * This implementation returns the result of calling {@code getService}, on
 	 * the {@code BundleContext} with which this {@code ServiceTracker} was
-	 * created passing the specified {@code ServiceReference}.
+	 * created, passing the specified {@code ServiceReference}.
 	 * <p>
 	 * This method can be overridden in a subclass to customize the service
 	 * object to be tracked for the service being added. In that case, take care
@@ -404,11 +405,12 @@ public class ServiceTracker<S, T> implem
 	 * the service.
 	 * 
 	 * @param reference The reference to the service being added to this
-	 *        {@code ServiceTracker}.
+	 *            {@code ServiceTracker}.
 	 * @return The service object to be tracked for the service added to this
 	 *         {@code ServiceTracker}.
 	 * @see ServiceTrackerCustomizer#addingService(ServiceReference)
 	 */
+	@Override
 	public T addingService(ServiceReference<S> reference) {
 		@SuppressWarnings("unchecked")
 		T result = (T) context.getService(reference);
@@ -430,6 +432,7 @@ public class ServiceTracker<S, T> implem
 	 * @param service The service object for the modified service.
 	 * @see ServiceTrackerCustomizer#modifiedService(ServiceReference, Object)
 	 */
+	@Override
 	public void modifiedService(ServiceReference<S> reference, T service) {
 		/* do nothing */
 	}
@@ -437,11 +440,9 @@ public class ServiceTracker<S, T> implem
 	/**
 	 * Default implementation of the
 	 * {@code ServiceTrackerCustomizer.removedService} method.
-	 * 
 	 * <p>
 	 * This method is only called when this {@code ServiceTracker} has been
 	 * constructed with a {@code null ServiceTrackerCustomizer} argument.
-	 * 
 	 * <p>
 	 * This implementation calls {@code ungetService}, on the
 	 * {@code BundleContext} with which this {@code ServiceTracker} was created,
@@ -455,6 +456,7 @@ public class ServiceTracker<S, T> implem
 	 * @param service The service object for the removed service.
 	 * @see ServiceTrackerCustomizer#removedService(ServiceReference, Object)
 	 */
+	@Override
 	public void removedService(ServiceReference<S> reference, T service) {
 		context.ungetService(reference);
 	}
@@ -526,12 +528,11 @@ public class ServiceTracker<S, T> implem
 			return null;
 		}
 		synchronized (t) {
-			int length = t.size();
-			if (length == 0) {
+			if (t.isEmpty()) {
 				return null;
 			}
 			@SuppressWarnings("unchecked")
-			ServiceReference<S>[] result = new ServiceReference[length];
+			ServiceReference<S>[] result = new ServiceReference[0];
 			return t.copyKeys(result);
 		}
 	}
@@ -881,6 +882,7 @@ public class ServiceTracker<S, T> implem
 		 * 
 		 * @param event {@code ServiceEvent} object from the framework.
 		 */
+		@Override
 		final public void serviceChanged(final ServiceEvent event) {
 			/*
 			 * Check if we had a delayed call (which could happen when we

Modified: felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/package-info.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/package-info.java?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/package-info.java (original)
+++ felix/trunk/osgi-r7/framework/src/main/java/org/osgi/util/tracker/package-info.java Fri Feb 23 15:11:00 2018
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2016). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@
  * @author $Id$
  */
 
-@Version("1.5.1")
+@Version("1.5.2")
 package org.osgi.util.tracker;
 
 import org.osgi.annotation.versioning.Version;

Modified: felix/trunk/osgi-r7/framework/src/main/resources/default.properties
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/framework/src/main/resources/default.properties?rev=1825132&r1=1825072&r2=1825132&view=diff
==============================================================================
--- felix/trunk/osgi-r7/framework/src/main/resources/default.properties (original)
+++ felix/trunk/osgi-r7/framework/src/main/resources/default.properties Fri Feb 23 15:11:00 2018
@@ -121,26 +121,27 @@ ee-1.3=J2SE-1.3,J2SE-1.2,JRE-1.1,JRE-1.0
 ee-1.2=J2SE-1.2,JRE-1.1,JRE-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.0
 
 # Default packages exported by system bundle.
-org.osgi.framework.system.packages=org.osgi.dto; version=1.0.0, \
- org.osgi.framework; version=1.8.0, \
- org.osgi.framework.dto; version=1.8.0, \
- org.osgi.framework.hooks.bundle; version=1.1.0, \
- org.osgi.framework.hooks.resolver; version=1.0.0, \
- org.osgi.framework.hooks.service; version=1.1.0, \
- org.osgi.framework.hooks.weaving; version=1.1.0, \
- org.osgi.framework.launch; version=1.2.0, \
- org.osgi.framework.namespace; version=1.1.0, \
- org.osgi.framework.startlevel; version=1.0.0, \
- org.osgi.framework.startlevel.dto; version=1.0.0, \
- org.osgi.framework.wiring; version=1.2.0, \
- org.osgi.framework.wiring.dto; version=1.2.0, \
- org.osgi.resource; version=1.0.0, \
- org.osgi.resource.dto; version=1.0.0, \
- org.osgi.service.packageadmin; version=1.2.0, \
- org.osgi.service.resolver; version=1.0.0, \
- org.osgi.service.startlevel; version=1.1.0, \
- org.osgi.service.url; version=1.0.0, \
- org.osgi.util.tracker; version=1.5.1 \
+org.osgi.framework.system.packages=\
+ org.osgi.framework;version="1.9", \
+ org.osgi.framework.dto;version="1.8";uses:="org.osgi.dto", \
+ org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.framework", \
+ org.osgi.framework.hooks.resolver;version="1.0";uses:="org.osgi.framework.wiring", \
+ org.osgi.framework.hooks.service;version="1.1";uses:="org.osgi.framework", \
+ org.osgi.framework.hooks.weaving;version="1.1";uses:="org.osgi.framework.wiring", \
+ org.osgi.framework.launch;version="1.2";uses:="org.osgi.framework", \
+ org.osgi.framework.namespace;version="1.1";uses:="org.osgi.resource", \
+ org.osgi.framework.startlevel;version="1.0";uses:="org.osgi.framework", \
+ org.osgi.framework.startlevel.dto;version="1.0";uses:="org.osgi.dto", \
+ org.osgi.framework.wiring;version="1.2";uses:="org.osgi.framework,org.osgi.resource", \
+ org.osgi.framework.wiring.dto;version="1.3";uses:="org.osgi.dto,org.osgi.resource.dto", \
+ org.osgi.resource;version="1.0", \
+ org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto", \
+ org.osgi.service.packageadmin;version="1.2";uses:="org.osgi.framework", \
+ org.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework", \
+ org.osgi.service.url;version="1.0", \
+ org.osgi.service.resolver;version="1.1";uses:="org.osgi.resource", \
+ org.osgi.util.tracker;version="1.5.2";uses:="org.osgi.framework", \
+ org.osgi.dto;version="1.1" \
  ${dollar}{jre-${dollar}{java.specification.version}} \
  ${dollar}{jre-${dollar}{felix.detect.jpms}}