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);
                 }