Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2009-08-06 21:51:55 +0000
committerThomas Watson2009-08-06 21:51:55 +0000
commit63829e4cbbeec664e1a5bf733f71cec502cf0b10 (patch)
tree8649c991ba8f326fa57954df98e8c9b8a375f44c
parent0d3126aea58e8d1e6270445ec9637d93b8db28b4 (diff)
downloadrt.equinox.framework-63829e4cbbeec664e1a5bf733f71cec502cf0b10.tar.gz
rt.equinox.framework-63829e4cbbeec664e1a5bf733f71cec502cf0b10.tar.xz
rt.equinox.framework-63829e4cbbeec664e1a5bf733f71cec502cf0b10.zip
Bug 285938 Update org.osgi classes to latest v4.2R35x_v20090806
-rw-r--r--bundles/org.eclipse.osgi/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/AdminPermission.java75
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/Bundle.java9
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/FrameworkUtil.java142
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java6
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/ServicePermission.java6
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/EventHook.java4
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/FindHook.java4
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/ListenerHook.java26
-rw-r--r--bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/launch/FrameworkFactory.java6
10 files changed, 151 insertions, 130 deletions
diff --git a/bundles/org.eclipse.osgi/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.osgi/.settings/org.eclipse.core.resources.prefs
index 9703cb768..5991b6bdf 100644
--- a/bundles/org.eclipse.osgi/.settings/org.eclipse.core.resources.prefs
+++ b/bundles/org.eclipse.osgi/.settings/org.eclipse.core.resources.prefs
@@ -1,5 +1,6 @@
-#Thu Jul 31 16:31:14 CDT 2008
+#Thu Aug 06 15:31:01 CDT 2009
eclipse.preferences.version=1
encoding//core/framework/org/eclipse/osgi/framework/internal/core/osname.aliases=UTF-8
encoding//core/framework/org/eclipse/osgi/framework/internal/core/processor.aliases=UTF-8
+encoding//osgi/src=UTF-8
encoding/<project>=ISO-8859-1
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/AdminPermission.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/AdminPermission.java
index c55fc7bd0..1811791d3 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/AdminPermission.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/AdminPermission.java
@@ -87,7 +87,7 @@ import java.util.Map;
* Filter attribute names are processed in a case sensitive manner.
*
* @ThreadSafe
- * @version $Revision: 6867 $
+ * @version $Revision: 7743 $
*/
public final class AdminPermission extends BasicPermission {
@@ -213,6 +213,12 @@ public final class AdminPermission extends BasicPermission {
private transient volatile Dictionary properties;
/**
+ * ThreadLocal used to determine if we have recursively called
+ * getProperties.
+ */
+ private static final ThreadLocal recurse = new ThreadLocal();
+
+ /**
* Creates a new <code>AdminPermission</code> object that matches all
* bundles and has all actions. Equivalent to AdminPermission("*","*");
*/
@@ -647,7 +653,17 @@ public final class AdminPermission extends BasicPermission {
if (requested.bundle == null) {
return false;
}
- return f.matchCase(requested.getProperties());
+ Dictionary requestedProperties = requested.getProperties();
+ if (requestedProperties == null) {
+ /*
+ * If the requested properties are null, then we have detected a
+ * recursion getting the bundle location. So we return true to
+ * permit the bundle location request in the AdminPermission check
+ * up the stack to succeed.
+ */
+ return true;
+ }
+ return f.matchCase(requestedProperties);
}
/**
@@ -808,10 +824,10 @@ public final class AdminPermission extends BasicPermission {
}
/**
- * Called by <code><@link AdminPermission#implies(Permission)></code> on an
- * AdminPermission which was constructed with a Bundle. This method loads a
- * dictionary with the filter-matchable properties of this bundle. The
- * dictionary is cached so this lookup only happens once.
+ * Called by <code>implies0</code> on an AdminPermission which was
+ * constructed with a Bundle. This method loads a dictionary with the
+ * filter-matchable properties of this bundle. The dictionary is cached so
+ * this lookup only happens once.
*
* This method should only be called on an AdminPermission which was
* constructed with a bundle
@@ -823,23 +839,38 @@ public final class AdminPermission extends BasicPermission {
if (result != null) {
return result;
}
- final Dictionary dict = new Hashtable(4);
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- dict.put("id", new Long(bundle.getBundleId()));
- dict.put("location", bundle.getLocation());
- String name = bundle.getSymbolicName();
- if (name != null) {
- dict.put("name", name);
- }
- SignerProperty signer = new SignerProperty(bundle);
- if (signer.isBundleSigned()) {
- dict.put("signer", signer);
+ /*
+ * We may have recursed here due to the Bundle.getLocation call in the
+ * doPrivileged below. If this is the case, return null to allow implies
+ * to return true.
+ */
+ final Object mark = recurse.get();
+ if (mark == bundle) {
+ return null;
+ }
+ recurse.set(bundle);
+ try {
+ final Dictionary dict = new Hashtable(4);
+ AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run() {
+ dict.put("id", new Long(bundle.getBundleId()));
+ dict.put("location", bundle.getLocation());
+ String name = bundle.getSymbolicName();
+ if (name != null) {
+ dict.put("name", name);
+ }
+ SignerProperty signer = new SignerProperty(bundle);
+ if (signer.isBundleSigned()) {
+ dict.put("signer", signer);
+ }
+ return null;
}
- return null;
- }
- });
- return properties = dict;
+ });
+ return properties = dict;
+ }
+ finally {
+ recurse.set(null);
+ }
}
}
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/Bundle.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/Bundle.java
index e6853c9dd..692bc5eb8 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/Bundle.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/Bundle.java
@@ -64,7 +64,7 @@ import java.util.Map;
* Framework that created them.
*
* @ThreadSafe
- * @version $Revision: 6799 $
+ * @version $Revision: 6906 $
*/
public interface Bundle {
/**
@@ -914,9 +914,10 @@ public interface Bundle {
/**
* Returns the symbolic name of this bundle as specified by its
- * <code>Bundle-SymbolicName</code> manifest header. The name must be
- * unique, it is recommended to use a reverse domain name naming convention
- * like that used for java packages.
+ * <code>Bundle-SymbolicName</code> manifest header. The bundle symbolic
+ * name together with a version must identify a unique bundle. The bundle
+ * symbolic name should be based on the reverse domain name naming
+ * convention like that used for java packages.
*
* <p>
* This method must continue to return this bundle's symbolic name while
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/FrameworkUtil.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/FrameworkUtil.java
index e8f8b0d4d..b565b8651 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/FrameworkUtil.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/FrameworkUtil.java
@@ -39,7 +39,7 @@ import javax.security.auth.x500.X500Principal;
*
* @since 1.3
* @ThreadSafe
- * @version $Revision: 6499 $
+ * @version $Revision: 7761 $
*/
public class FrameworkUtil {
/**
@@ -78,8 +78,8 @@ public class FrameworkUtil {
/**
* Match a Distinguished Name (DN) chain against a pattern. DNs can be
- * matched using wildcards. A wildcard ('*' \u002A) replaces all possible
- * values. Due to the structure of the DN, the comparison is more
+ * matched using wildcards. A wildcard ('*' &#92;u002A) replaces all
+ * possible values. Due to the structure of the DN, the comparison is more
* complicated than string-based wildcard matching.
* <p>
* A wildcard can stand for zero or more DNs in a chain, a number of
@@ -151,7 +151,7 @@ public class FrameworkUtil {
*
* <p>
* A match pattern may contain a chain of DN match patterns. The
- * semicolon(';' \u0038) must be used to separate DN match patterns in a
+ * semicolon(';' &#92;u003B) must be used to separate DN match patterns in a
* chain. Wildcards can also be used to match against a complete DN within a
* chain.
* <p>
@@ -165,9 +165,9 @@ public class FrameworkUtil {
* <p>
* The wildcard ('*') matches zero or one DN in the chain, however,
* sometimes it is necessary to match a longer chain. The minus sign ('-'
- * \u002D) represents zero or more DNs, whereas the asterisk only represents
- * a single DN. For example, to match a DN where the Tweety Inc. is in the
- * DN chain, use the following expression:
+ * &#92;u002D) represents zero or more DNs, whereas the asterisk only
+ * represents a single DN. For example, to match a DN where the Tweety Inc.
+ * is in the DN chain, use the following expression:
* </p>
*
* <pre>
@@ -186,7 +186,7 @@ public class FrameworkUtil {
*/
public static boolean matchDistinguishedNameChain(String matchPattern,
List /* <String> */dnChain) {
- return DNChainMatching.match(matchPattern, new ArrayList(dnChain));
+ return DNChainMatching.match(matchPattern, dnChain);
}
/**
@@ -1704,11 +1704,11 @@ public class FrameworkUtil {
/**
* Check the name/value pairs of the rdn against the pattern.
*
- * @param rdn ArrayList of name value pairs for a given RDN.
- * @param rdnPattern ArrayList of name value pattern pairs.
+ * @param rdn List of name value pairs for a given RDN.
+ * @param rdnPattern List of name value pattern pairs.
* @return true if the list of name value pairs match the pattern.
*/
- private static boolean rdnmatch(ArrayList rdn, ArrayList rdnPattern) {
+ private static boolean rdnmatch(List rdn, List rdnPattern) {
if (rdn.size() != rdnPattern.size()) {
return false;
}
@@ -1732,7 +1732,7 @@ public class FrameworkUtil {
return true;
}
- private static boolean dnmatch(ArrayList dn, ArrayList dnPattern) {
+ private static boolean dnmatch(List dn, List dnPattern) {
int dnStart = 0;
int patStart = 0;
int patLen = dnPattern.size();
@@ -1750,8 +1750,7 @@ public class FrameworkUtil {
if (dn.size() > patLen) {
if (!dnPattern.get(0).equals(STAR_WILDCARD)) {
// If the number of rdns do not match we must have a
- // prefix
- // map
+ // prefix map
return false;
}
// The rdnPattern and rdn must have the same number of
@@ -1760,8 +1759,8 @@ public class FrameworkUtil {
}
}
for (int i = 0; i < patLen; i++) {
- if (!rdnmatch((ArrayList) dn.get(i + dnStart),
- (ArrayList) dnPattern.get(i + patStart))) {
+ if (!rdnmatch((List) dn.get(i + dnStart), (List) dnPattern
+ .get(i + patStart))) {
return false;
}
}
@@ -1769,24 +1768,24 @@ public class FrameworkUtil {
}
/**
- * Parses a distinguished name chain pattern and returns an ArrayList
- * where each element represents a distinguished name (DN) in the chain
- * of DNs. Each element will be either a String, if the element
- * represents a wildcard ("*" or "-"), or an ArrayList representing an
- * RDN. Each element in the RDN ArrayList will be a String, if the
- * element represents a wildcard ("*"), or an ArrayList of Strings, each
- * String representing a name/value pair in the RDN.
+ * Parses a distinguished name chain pattern and returns a List where
+ * each element represents a distinguished name (DN) in the chain of
+ * DNs. Each element will be either a String, if the element represents
+ * a wildcard ("*" or "-"), or a List representing an RDN. Each element
+ * in the RDN List will be a String, if the element represents a
+ * wildcard ("*"), or a List of Strings, each String representing a
+ * name/value pair in the RDN.
*
* @param dnChain
* @return a list of DNs.
* @throws IllegalArgumentException
*/
- private static ArrayList parseDNchainPattern(String dnChain) {
+ private static List parseDNchainPattern(String dnChain) {
if (dnChain == null) {
throw new IllegalArgumentException(
"The DN chain must not be null.");
}
- ArrayList parsed = new ArrayList();
+ List parsed = new ArrayList();
int startIndex = 0;
startIndex = skipSpaces(dnChain, startIndex);
while (startIndex < dnChain.length()) {
@@ -1814,23 +1813,22 @@ public class FrameworkUtil {
startIndex = endIndex + 1;
startIndex = skipSpaces(dnChain, startIndex);
}
- parseDNchain(parsed);
- return parsed;
+ return parseDNchain(parsed);
}
private static List parseDNchain(List chain) {
if (chain == null) {
throw new IllegalArgumentException("DN chain must not be null.");
}
- // Now we parse is a list of strings, lets make ArrayList of rdn out
- // of
- // them
+ chain = new ArrayList(chain);
+ // Now we parse is a list of strings, lets make List of rdn out
+ // of them
for (int i = 0; i < chain.size(); i++) {
String dn = (String) chain.get(i);
if (dn.equals(STAR_WILDCARD) || dn.equals(MINUS_WILDCARD)) {
continue;
}
- ArrayList rdns = new ArrayList();
+ List rdns = new ArrayList();
if (dn.charAt(0) == '*') {
if (dn.charAt(1) != ',') {
throw new IllegalArgumentException(
@@ -1870,13 +1868,13 @@ public class FrameworkUtil {
* rdnArray with the extracted RDNs.
*
* @param dn the distinguished name in canonical form.
- * @param rdnArray the array to fill in with RDNs extracted from the dn
+ * @param rdn the list to fill in with RDNs extracted from the dn
* @throws IllegalArgumentException if a formatting error is found.
*/
- private static void parseDN(String dn, ArrayList rdnArray) {
+ private static void parseDN(String dn, List rdn) {
int startIndex = 0;
char c = '\0';
- ArrayList nameValues = new ArrayList();
+ List nameValues = new ArrayList();
while (startIndex < dn.length()) {
int endIndex;
for (endIndex = startIndex; endIndex < dn.length(); endIndex++) {
@@ -1894,7 +1892,7 @@ public class FrameworkUtil {
}
nameValues.add(dn.substring(startIndex, endIndex));
if (c != '+') {
- rdnArray.add(nameValues);
+ rdn.add(nameValues);
if (endIndex != dn.length()) {
nameValues = new ArrayList();
}
@@ -1912,7 +1910,7 @@ public class FrameworkUtil {
/**
* This method will return an 'index' which points to a non-wildcard DN
- * or the end-of-arraylist.
+ * or the end-of-list.
*/
private static int skipWildCards(List dnChainPattern,
int dnChainPatternIndex) {
@@ -1928,22 +1926,19 @@ public class FrameworkUtil {
// otherwise continue skipping over wild cards
}
else {
- if (dnPattern instanceof ArrayList) {
- // if its an arraylist then we have our 'non-wildcard'
- // DN
+ if (dnPattern instanceof List) {
+ // if its a list then we have our 'non-wildcard' DN
break;
}
else {
// unknown member of the DNChainPattern
throw new IllegalArgumentException(
- "expected String or Arraylist in DN Pattern");
+ "expected String or List in DN Pattern");
}
}
}
- // i either points to end-of-arraylist, or to the first
- // non-wildcard
- // pattern
- // after dnChainPatternIndex
+ // i either points to end-of-list, or to the first
+ // non-wildcard pattern after dnChainPatternIndex
return i;
}
@@ -1986,9 +1981,8 @@ public class FrameworkUtil {
}
//
// we will now recursively call to see if the rest of the
- // DNChainPattern
- // matches increasingly smaller portions of the rest of the
- // DNChain
+ // DNChainPattern matches increasingly smaller portions of the
+ // rest of the DNChain
//
if (dnPattern.equals(STAR_WILDCARD)) {
// '*' option: only wildcard on 0 or 1
@@ -2008,13 +2002,12 @@ public class FrameworkUtil {
// failure
}
else {
- if (dnPattern instanceof ArrayList) {
+ if (dnPattern instanceof List) {
// here we have to do a deeper check for each DN in the
- // pattern
- // until we hit a wild card
+ // pattern until we hit a wild card
do {
- if (!dnmatch((ArrayList) dnChain.get(dnChainIndex),
- (ArrayList) dnPattern)) {
+ if (!dnmatch((List) dnChain.get(dnChainIndex),
+ (List) dnPattern)) {
return false;
}
// go to the next set of DN's in both chains
@@ -2027,24 +2020,18 @@ public class FrameworkUtil {
return true;
}
// if the DN Chain is finished, but the pattern isn't
- // finished
- // then if the rest of the pattern is not wildcard then
- // we
- // are
- // done
+ // finished then if the rest of the pattern is not
+ // wildcard then we are done
if (dnChainIndex >= dnChain.size()) {
dnChainPatternIndex = skipWildCards(dnChainPattern,
dnChainPatternIndex);
// return TRUE iff the pattern index moved past the
- // array-size
- // (implying that the rest of the pattern is all
- // wildcards)
+ // list-size (implying that the rest of the pattern
+ // is all wildcards)
return dnChainPatternIndex >= dnChainPattern.size();
}
// if the pattern finished, but the chain continues then
- // we
- // have
- // a mis-match
+ // we have a mis-match
if (dnChainPatternIndex >= dnChainPattern.size()) {
return false;
}
@@ -2062,23 +2049,20 @@ public class FrameworkUtil {
dnChainPattern, dnChainPatternIndex);
}
else {
- if (!(dnPattern instanceof ArrayList)) {
+ if (!(dnPattern instanceof List)) {
throw new IllegalArgumentException(
- "expected String or Arraylist in DN Pattern");
+ "expected String or List in DN Pattern");
}
}
// if we are here, then we will just continue to the
- // match
- // the
- // next set of DN's from the DNChain, and the
- // DNChainPattern
- // since both are array-lists
+ // match the next set of DN's from the DNChain, and the
+ // DNChainPattern since both are lists
} while (true);
// should never reach here?
}
else {
throw new IllegalArgumentException(
- "expected String or Arraylist in DN Pattern");
+ "expected String or List in DN Pattern");
}
}
// if we get here, the the default return is 'mis-match'
@@ -2124,16 +2108,20 @@ public class FrameworkUtil {
try {
parsedDNChain = parseDNchain(dnChain);
}
- catch (IllegalArgumentException e) {
- throw (IllegalArgumentException) new IllegalArgumentException(
- "Invalid DN chain: " + toString(dnChain)).initCause(e);
+ catch (RuntimeException e) {
+ IllegalArgumentException iae = new IllegalArgumentException(
+ "Invalid DN chain: " + toString(dnChain));
+ iae.initCause(e);
+ throw iae;
}
try {
parsedDNPattern = parseDNchainPattern(pattern);
}
- catch (IllegalArgumentException e) {
- throw (IllegalArgumentException) new IllegalArgumentException(
- "Invalid match pattern: " + pattern).initCause(e);
+ catch (RuntimeException e) {
+ IllegalArgumentException iae = new IllegalArgumentException(
+ "Invalid match pattern: " + pattern);
+ iae.initCause(e);
+ throw iae;
}
return dnChainMatch(parsedDNChain, 0, parsedDNPattern, 0);
}
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java
index fc319e861..c512a6898 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/PackagePermission.java
@@ -56,7 +56,7 @@ import java.util.Map;
* which is deprecated, implies the <code>import</code> action.
*
* @ThreadSafe
- * @version $Revision: 6530 $
+ * @version $Revision: 7318 $
*/
public final class PackagePermission extends BasicPermission {
@@ -165,7 +165,7 @@ public final class PackagePermission extends BasicPermission {
* only be specified if the specified action is <code>import</code>.
* @param actions <code>exportonly</code>,<code>import</code> (canonical
* order).
- * @throw IllegalArgumentException If the specified name is a filter
+ * @throws IllegalArgumentException If the specified name is a filter
* expression and either the specified action is not
* <code>import</code> or the filter has an invalid syntax.
*/
@@ -188,7 +188,7 @@ public final class PackagePermission extends BasicPermission {
* @param name The name of the requested package to import.
* @param exportingBundle The bundle exporting the requested package.
* @param actions The action <code>import</code>.
- * @throw IllegalArgumentException If the specified action is not
+ * @throws IllegalArgumentException If the specified action is not
* <code>import</code> or the name is a filter expression.
* @since 1.5
*/
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/ServicePermission.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/ServicePermission.java
index d1fb70fbb..e63e01f97 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/ServicePermission.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/ServicePermission.java
@@ -51,7 +51,7 @@ import java.util.Map;
* <code>ServicePermission</code> to get the specific service.
*
* @ThreadSafe
- * @version $Revision: 6530 $
+ * @version $Revision: 7318 $
*/
public final class ServicePermission extends BasicPermission {
@@ -166,7 +166,7 @@ public final class ServicePermission extends BasicPermission {
*
* @param name The service class name
* @param actions <code>get</code>,<code>register</code> (canonical order)
- * @throw IllegalArgumentException If the specified name is a filter
+ * @throws IllegalArgumentException If the specified name is a filter
* expression and either the specified action is not <code>get</code>
* or the filter has an invalid syntax.
*/
@@ -188,7 +188,7 @@ public final class ServicePermission extends BasicPermission {
*
* @param reference The requested service.
* @param actions The action <code>get</code>.
- * @throw IllegalArgumentException If the specified action is not
+ * @throws IllegalArgumentException If the specified action is not
* <code>get</code> or reference is <code>null</code>.
* @since 1.5
*/
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/EventHook.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/EventHook.java
index fe21fba31..cf1f52afd 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/EventHook.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/EventHook.java
@@ -28,7 +28,7 @@ import org.osgi.framework.ServiceEvent;
* (register, modify, and unregister service) operations.
*
* @ThreadSafe
- * @version $Revision: 6860 $
+ * @version $Revision: 7318 $
*/
public interface EventHook {
@@ -50,5 +50,5 @@ public interface EventHook {
* synchronized.
*/
void event(ServiceEvent event,
- Collection/* <? extends BundleContext> */contexts);
+ Collection/* <BundleContext> */contexts);
}
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/FindHook.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/FindHook.java
index 02044f3db..5bc878e50 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/FindHook.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/FindHook.java
@@ -28,7 +28,7 @@ import org.osgi.framework.BundleContext;
* (get service references) operations.
*
* @ThreadSafe
- * @version $Revision: 6860 $
+ * @version $Revision: 7318 $
*/
public interface FindHook {
@@ -59,5 +59,5 @@ public interface FindHook {
*/
void find(BundleContext context, String name, String filter,
boolean allServices,
- Collection/* <? extends ServiceReference> */references);
+ Collection/* <ServiceReference> */references);
}
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/ListenerHook.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/ListenerHook.java
index cbda32081..192c06b29 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/ListenerHook.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/hooks/service/ListenerHook.java
@@ -28,7 +28,7 @@ import org.osgi.framework.BundleContext;
* addition and removal.
*
* @ThreadSafe
- * @version $Revision: 6405 $
+ * @version $Revision: 7318 $
*/
public interface ListenerHook {
@@ -40,13 +40,13 @@ public interface ListenerHook {
* method will be called to provide the current collection of service
* listeners which had been added prior to the hook being registered.
*
- * @param listeners A collection of {@link ListenerInfo}s for newly added
- * service listeners which are now listening to service events.
- * Attempting to add to or remove from the collection will result in
- * an <code>UnsupportedOperationException</code>. The collection is
- * not synchronized.
+ * @param listeners A <code>Collection</code> of {@link ListenerInfo}s for
+ * newly added service listeners which are now listening to service
+ * events. Attempting to add to or remove from the collection will
+ * result in an <code>UnsupportedOperationException</code>. The
+ * collection is not synchronized.
*/
- void added(Collection/* <? extends ListenerInfo> */listeners);
+ void added(Collection/* <ListenerInfo> */listeners);
/**
* Removed listeners hook method. This method is called to provide the hook
@@ -54,13 +54,13 @@ public interface ListenerHook {
* method will be called as service listeners are removed while this hook is
* registered.
*
- * @param listeners A collection of {@link ListenerInfo}s for newly removed
- * service listeners which are no longer listening to service events.
- * Attempting to add to or remove from the collection will result in
- * an <code>UnsupportedOperationException</code>. The collection is
- * not synchronized.
+ * @param listeners A <code>Collection</code> of {@link ListenerInfo}s for
+ * newly removed service listeners which are no longer listening to
+ * service events. Attempting to add to or remove from the collection
+ * will result in an <code>UnsupportedOperationException</code>. The
+ * collection is not synchronized.
*/
- void removed(Collection/* <? extends ListenerInfo> */listeners);
+ void removed(Collection/* <ListenerInfo> */listeners);
/**
* Information about a Service Listener. This interface describes the bundle
diff --git a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/launch/FrameworkFactory.java b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/launch/FrameworkFactory.java
index 7e96ede71..bcb6da3b8 100644
--- a/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/launch/FrameworkFactory.java
+++ b/bundles/org.eclipse.osgi/osgi/src/org/osgi/framework/launch/FrameworkFactory.java
@@ -33,8 +33,8 @@ import org.osgi.framework.Bundle;
* This UTF-8 encoded resource must contain the name of the framework
* implementation's FrameworkFactory implementation class. Space and tab
* characters, including blank lines, in the resource must be ignored. The
- * number sign ('#' \u0023) and all characters following it on each line are a
- * comment and must be ignored.
+ * number sign ('#' &#92;u0023) and all characters following it on each line are
+ * a comment and must be ignored.
*
* <p>
* Launchers can find the name of the FrameworkFactory implementation class in
@@ -45,7 +45,7 @@ import org.osgi.framework.Bundle;
* from the resource.
*
* @ThreadSafe
- * @version $Revision: 6397 $
+ * @version $Revision: 6888 $
*/
public interface FrameworkFactory {

Back to the top