Author: rickhall
Date: Mon Apr 27 09:28:22 2009
New Revision: 768907
URL: http://svn.apache.org/viewvc?rev=768907&view=rev
Log:
Modified dynamic import wildcard matching to not match classes, only packages.
(FELIX-1059)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/Resolver.java
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/Resolver.java
URL:
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/Resolver.java?rev=768907&r1=768906&r2=768907&view=diff
==============================================================================
---
felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/Resolver.java
(original)
+++
felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/Resolver.java
Mon Apr 27 09:28:22 2009
@@ -218,13 +218,14 @@
// package name; this means we have to do wildcard matching.
String dynPkgName = ((Requirement) dynReq).getPackageName();
boolean wildcard = (dynPkgName.lastIndexOf(".*") >= 0);
+ // Remove the "*", but keep the "." if wildcarded.
dynPkgName = (wildcard)
- ? dynPkgName.substring(0, dynPkgName.length() - 2) : dynPkgName;
+ ? dynPkgName.substring(0, dynPkgName.length() - 1) : dynPkgName;
// If the dynamic requirement matches the package name, then
// create a new requirement for the specific package.
if (dynPkgName.equals("*") ||
pkgName.equals(dynPkgName) ||
- (wildcard && pkgName.startsWith(dynPkgName + ".")))
+ (wildcard && pkgName.startsWith(dynPkgName)))
{
// Create a new requirement based on the dynamic requirement,
// but substitute the precise package name for which we are