You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2012/03/26 17:21:39 UTC
svn commit: r1305392 -
/geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/osgi/OSGiMetaDataBuilder.java
Author: xuhaihong
Date: Mon Mar 26 15:21:39 2012
New Revision: 1305392
URL: http://svn.apache.org/viewvc?rev=1305392&view=rev
Log:
GERONIMO-6306 Keep the same behavior with hidden-classes between Geronimo 2.* and 3.*
Modified:
geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/osgi/OSGiMetaDataBuilder.java
Modified: geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/osgi/OSGiMetaDataBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/osgi/OSGiMetaDataBuilder.java?rev=1305392&r1=1305391&r2=1305392&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/osgi/OSGiMetaDataBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/util/osgi/OSGiMetaDataBuilder.java Mon Mar 26 15:21:39 2012
@@ -89,7 +89,8 @@ public class OSGiMetaDataBuilder {
protected void processClassloadingRules(Environment environment) {
//Process Hidden Class
for (String hiddenClassPrefix : environment.getClassLoadingRules().getHiddenRule().getClassPrefixes()) {
- environment.addImportPackage("!" + hiddenClassPrefix);
+ String inversedImportPackage = hiddenClassPrefix.endsWith("*") ? hiddenClassPrefix : hiddenClassPrefix + "*";
+ environment.addImportPackage("!" + inversedImportPackage);
}
//Non-Overridable-Classes
/*for (String hiddenClassPrefix : environment.getClassLoadingRules().getHiddenRule().getClassPrefixes()) {
@@ -110,8 +111,15 @@ public class OSGiMetaDataBuilder {
}
if (importPackageName.startsWith("!")) {
importPackageName = importPackageName.substring(1);
- if (importPackageName.endsWith("*")) {
- hiddenImportPackageNamePrefixes.add(importPackageName.substring(0, importPackageName.length() - 1));
+ boolean wildcardImportPakcageName = importPackageName.endsWith("*");
+ if (wildcardImportPakcageName) {
+ importPackageName = importPackageName.substring(0, importPackageName.length() - 1);
+ }
+ if (importPackageName.endsWith(".")) {
+ importPackageName = importPackageName.substring(0, importPackageName.length() - 1);
+ }
+ if (wildcardImportPakcageName) {
+ hiddenImportPackageNamePrefixes.add(importPackageName);
} else {
hiddenImportPackageNames.add(importPackageName);
}