You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jb...@apache.org on 2010/10/16 00:19:02 UTC

svn commit: r1023135 - in /incubator/aries/sandbox/jbohn/interceptor-proto: application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/ application/application-deployment-management/src/main/resources/org/apache/ari...

Author: jbohn
Date: Fri Oct 15 22:19:01 2010
New Revision: 1023135

URL: http://svn.apache.org/viewvc?rev=1023135&view=rev
Log:
merge from trunk -r 1022504:1022933

Modified:
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/main/resources/org/apache/aries/application/deployment/management/messages/DeploymentManagementMessages.properties
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/pom.xml
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/ParserProxyImpl.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/OBRAriesResolver.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/RequirementImpl.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java
    incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-isolated/src/main/resources/OSGI-INF/blueprint/app-context-management.xml
    incubator/aries/sandbox/jbohn/interceptor-proto/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/proxy/Collaborator.java

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java Fri Oct 15 22:19:01 2010
@@ -28,7 +28,9 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
 
 public interface BundleFramework
-{
+{  
+  public static final String SHARED_BUNDLE_FRAMEWORK = "shared.bundle.framework";
+  
   /**
    * Initialises the framework
    * @throws BundleException

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/main/resources/org/apache/aries/application/deployment/management/messages/DeploymentManagementMessages.properties
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/main/resources/org/apache/aries/application/deployment/management/messages/DeploymentManagementMessages.properties?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/main/resources/org/apache/aries/application/deployment/management/messages/DeploymentManagementMessages.properties (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/main/resources/org/apache/aries/application/deployment/management/messages/DeploymentManagementMessages.properties Fri Oct 15 22:19:01 2010
@@ -16,11 +16,10 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-SHARED_BUNDLE_IMPORTING_FROM_ISOLATED_BUNDLE=Shared bundle {0} has a dependency for package {1} which is exported from isolated bundle {2}
-SHARED_BUNDLE_IMPORTING_FROM_ISOLATED_BUNDLES=Shared bundle {0} has a dependency for package {1} which is exported from isolated bundles {2} 
+SHARED_BUNDLE_IMPORTING_FROM_ISOLATED_BUNDLE=Shared bundle {0} has a dependency for package {1} which is exported from application bundle {2}
+SHARED_BUNDLE_IMPORTING_FROM_ISOLATED_BUNDLES=Shared bundle {0} has a dependency for package {1} which is exported from application bundles {2} 
 
-
-SUSPECTED_CIRCULAR_DEPENDENCIES=Resolution of asset {0} indicates invalid dependencies of shared content on isolated content: {1} 
+SUSPECTED_CIRCULAR_DEPENDENCIES=Resolution of asset {0} indicates invalid dependencies of shared content on application content: {1} 
 
 EMPTY_DEPLOYMENT_CONTENT=Enterprise application {0} contains no content. 
-POST_RESOLVE_TRANSFORMER_UNAVAILABLE=An instance of the PostResolveTransformer was injected earlier but is currently inaccessible. Exception: {0}
\ No newline at end of file
+POST_RESOLVE_TRANSFORMER_UNAVAILABLE=An instance of the PostResolveTransformer was injected earlier but is currently inaccessible. Exception: {0}

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-deployment-management/src/test/java/org/apache/aries/application/deployment/management/DeploymentGeneratorTest.java Fri Oct 15 22:19:01 2010
@@ -300,7 +300,7 @@ public class DeploymentGeneratorTest
       List<String> usr = rx.getUnsatisfiedRequirements();
       assertEquals ("One unsatisfied requirement expected, not " + usr.size(), usr.size(), 1);
       String chkMsg = "Shared bundle test.shared_1.0.0 has a dependency for package " +
-      		"test.shared which is exported from isolated bundle [test.isolated_1.0.0]";
+      		"test.shared which is exported from application bundle [test.isolated_1.0.0]";
       assertTrue (chkMsg + " expected, not " + usr, usr.contains(chkMsg));
       return;
     }
@@ -357,13 +357,13 @@ public class DeploymentGeneratorTest
       List<String> checkMessages = new ArrayList<String>();
       // Now load an array with the expected messages.
       checkMessages.add("Shared bundle test.shared1_1.0.0 has a dependency for package test.isolated1 which " +
-      "is exported from isolated bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
+      "is exported from application bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
       checkMessages.add("Shared bundle test.shared1_1.0.0 has a dependency for package test.isolated2 which " +
-      "is exported from isolated bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
+      "is exported from application bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
       checkMessages.add("Shared bundle test.shared2_1.0.0 has a dependency for package test.isolated1 which " +
-      "is exported from isolated bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
+      "is exported from application bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
       checkMessages.add("Shared bundle test.shared2_1.0.0 has a dependency for package test.isolated2 which " +
-      "is exported from isolated bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
+      "is exported from application bundles [test.isolated1_1.0.0, test.isolated2_1.0.0]");
       
       // Loop through the unsatisfied Requirements and compare them to the expected msgs. We trim the strings
       // because some unsatisfied reqs have spaces at the end of the string.

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/pom.xml?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/pom.xml (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/pom.xml Fri Oct 15 22:19:01 2010
@@ -59,6 +59,12 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.aries.jndi</groupId>
+            <artifactId>org.apache.aries.jndi.api</artifactId>
+            <version>0.3-incubating-SNAPSHOT</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
             <version>4.2.0</version>

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/ParserProxyImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/ParserProxyImpl.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/ParserProxyImpl.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-modeller/src/main/java/org/apache/aries/application/modelling/impl/ParserProxyImpl.java Fri Oct 15 22:19:01 2010
@@ -36,6 +36,7 @@ import org.apache.aries.application.mode
 import org.apache.aries.application.modelling.ParsedServiceElements;
 import org.apache.aries.application.modelling.ParserProxy;
 import org.apache.aries.application.modelling.WrappedServiceMetadata;
+import org.apache.aries.application.utils.manifest.ManifestHeaderProcessor;
 import org.apache.aries.blueprint.ComponentDefinitionRegistry;
 import org.apache.aries.blueprint.ParserService;
 import org.osgi.framework.BundleContext;
@@ -50,6 +51,7 @@ import org.osgi.service.blueprint.reflec
 import org.osgi.service.blueprint.reflect.ServiceReferenceMetadata;
 import org.osgi.service.blueprint.reflect.Target;
 import org.osgi.service.blueprint.reflect.ValueMetadata;
+import org.osgi.service.jndi.JNDIConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -258,6 +260,12 @@ public class ParserProxyImpl implements 
       // JTA - detect interface
       blacklisted |= iface.equals("javax.transaction.UserTransaction");
       blacklisted |= iface.equals("javax.transaction.TransactionSynchronizationRegistry");
+      
+      // Don't provision against JNDI references
+      if (blueprintFilter != null && !blueprintFilter.trim().isEmpty()) { 
+        Map<String, String> filter = ManifestHeaderProcessor.parseFilter(blueprintFilter);
+        blacklisted |= filter.containsKey(JNDIConstants.JNDI_SERVICENAME);
+      }
     }
     _logger.debug(LOG_EXIT, "isNotBlacklisted", new Object[]{!blacklisted});
     return !blacklisted;

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/OBRAriesResolver.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/OBRAriesResolver.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/OBRAriesResolver.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/OBRAriesResolver.java Fri Oct 15 22:19:01 2010
@@ -564,9 +564,6 @@ public class OBRAriesResolver implements
       inserts.add(filter);
     }
 
-    if (!unknownType && !customAttrs.isEmpty()) {
-      inserts.add(customAttrs);    
-    }
     if (bundlesFailing != null && bundlesFailing.size() != 0) {
       msgKey.append("_REQUIRED_BY_BUNDLE");
       if (bundlesFailing.size() == 1)
@@ -576,6 +573,7 @@ public class OBRAriesResolver implements
     }
     if (!unknownType && !customAttrs.isEmpty()) {
       msgKey.append("_WITH_ATTRS");
+      inserts.add(customAttrs);
     }
 
     if (!unknownType && attrs.containsKey(Constants.VERSION_ATTRIBUTE)) {
@@ -646,9 +644,9 @@ public class OBRAriesResolver implements
       Map.Entry<Requirement, Set<String>> entry = iterator.next();
       Requirement req = entry.getKey();
       for (Capability cap :caps) {
-        if (req.isSatisfied(cap)){
-          // remove the key from the map
+        if (req.isSatisfied(cap)){ // remove the key from the map
           iterator.remove();
+          break;
         }
       }
     }

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/RequirementImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/RequirementImpl.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/RequirementImpl.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-obr-resolver/src/main/java/org/apache/aries/application/resolver/obr/impl/RequirementImpl.java Fri Oct 15 22:19:01 2010
@@ -23,16 +23,13 @@ package org.apache.aries.application.res
 import static org.apache.aries.application.utils.AppConstants.LOG_ENTRY;
 import static org.apache.aries.application.utils.AppConstants.LOG_EXIT;
 
-import java.util.Arrays;
 import java.util.Hashtable;
-import java.util.List;
 import java.util.Map;
 
 import org.apache.aries.application.modelling.Consumer;
 import org.apache.aries.application.utils.FilterUtils;
 import org.apache.aries.application.utils.manifest.ManifestHeaderProcessor;
 import org.apache.felix.bundlerepository.Capability;
-import org.apache.felix.bundlerepository.Property;
 import org.apache.felix.bundlerepository.Requirement;
 import org.osgi.framework.Filter;
 import org.osgi.framework.FrameworkUtil;
@@ -163,10 +160,10 @@ public class RequirementImpl implements 
       try {
         Filter f = FrameworkUtil.createFilter(FilterUtils.removeMandatoryFilterToken(filterToCreate));
         Hashtable<String, Object> hash = new Hashtable<String, Object>();
-        List<Property> props = Arrays.asList(cap.getProperties());
+        Map<String, String> props = cap.getPropertiesAsMap();
         if ((props != null) && (!!!props.isEmpty())) {
-          for (Property prop : props) {
-            hash.put(prop.getName(), prop.getValue());
+          for (Map.Entry<String, String> propertyPair : props.entrySet()) {
+            hash.put(propertyPair.getKey(), propertyPair.getValue());
           }
         }
 

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java Fri Oct 15 22:19:01 2010
@@ -35,6 +35,7 @@ import java.util.Set;
 import org.apache.aries.application.Content;
 import org.apache.aries.application.DeploymentContent;
 import org.apache.aries.application.DeploymentMetadata;
+import org.apache.aries.application.InvalidAttributeException;
 import org.apache.aries.application.management.AriesApplication;
 import org.apache.aries.application.management.UpdateException;
 import org.apache.aries.application.management.spi.framework.BundleFramework;
@@ -48,6 +49,7 @@ import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
 import org.osgi.framework.Constants;
+import org.osgi.framework.Filter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -133,8 +135,6 @@ public class BundleFrameworkManagerImpl 
      * Set up framework config properties
      */
     Properties frameworkConfig = new Properties();
-    frameworkConfig.put("osgi.console", "0");
-
     String osgiFrameworkLocation = parentCtx.getProperty(FrameworkConstants.OSGI_FRAMEWORK);
     if (osgiFrameworkLocation != null) {
       frameworkConfig.put(FrameworkConstants.OSGI_FRAMEWORK, osgiFrameworkLocation);
@@ -151,6 +151,9 @@ public class BundleFrameworkManagerImpl 
     frameworkBundleManifest.put(Constants.BUNDLE_SYMBOLICNAME, deploymentMF.getApplicationSymbolicName());
     frameworkBundleManifest.put(Constants.BUNDLE_VERSION, deploymentMF.getApplicationVersion().toString());
 
+    /**
+     * Set up Import-Package header for framework manifest
+     */
     // Extract the import packages and remove anything we already have available in the current framework
     Collection<Content> imports = 
       InstallUtils.calculateImports(
@@ -166,6 +169,31 @@ public class BundleFrameworkManagerImpl 
     }
     
     /**
+     * Set up CompositeServiceFilter-Import header for framework manifest
+     */
+    StringBuffer serviceImportFilter = 
+      new StringBuffer("(" + Constants.OBJECTCLASS + "=javax.transaction.TransactionSynchronizationRegistry)");
+    
+    try
+    {
+      for (Filter importFilter : app.getDeploymentMetadata().getDeployedServiceImport()) {
+        if (serviceImportFilter.length() > 0) {
+          serviceImportFilter.append(",");
+        }
+        serviceImportFilter.append(importFilter.toString());
+      }
+      
+      frameworkBundleManifest.put("CompositeServiceFilter-Import",
+          serviceImportFilter.toString());
+    }
+    catch (InvalidAttributeException e)
+    {
+      LOGGER.debug(LOG_EXCEPTION, e);
+      LOGGER.debug(LOG_EXIT,"isolatedInstall", e);
+      throw new BundleException("Failed to process Service Imports" , e);
+    }
+    
+    /**
      * Install and start the new isolated bundle framework
      */
     bundleFramework = 

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java Fri Oct 15 22:19:01 2010
@@ -33,14 +33,12 @@ import org.apache.aries.application.mana
 
 import static org.apache.aries.application.utils.AppConstants.LOG_ENTRY;
 import static org.apache.aries.application.utils.AppConstants.LOG_EXIT;
-import static org.apache.aries.application.utils.AppConstants.LOG_EXCEPTION;
 
 public class SharedBundleFramework
 {  
   private static final Logger LOGGER = LoggerFactory.getLogger(SharedBundleFramework.class);
   
   private static BundleFramework sharedFramework;
-  private static final String SHARED_BUNDLE_FRAMEWORK = "shared.bundle.framework";
 
   /**
    * This is not the right way to make blueprint usable by applications, but it is all
@@ -79,12 +77,12 @@ public class SharedBundleFramework
       }
       
       Properties compositeManifest = new Properties();
-      compositeManifest.put(Constants.BUNDLE_SYMBOLICNAME, SHARED_BUNDLE_FRAMEWORK);
+      compositeManifest.put(Constants.BUNDLE_SYMBOLICNAME, BundleFramework.SHARED_BUNDLE_FRAMEWORK);
 
       //Add blueprint so that it is available to applications.
       compositeManifest.put(Constants.IMPORT_PACKAGE, RUNTIME_PACKAGES);
 
-      sharedFramework = bundleFrameworkFactory.createBundleFramework(bc, SHARED_BUNDLE_FRAMEWORK,
+      sharedFramework = bundleFrameworkFactory.createBundleFramework(bc, BundleFramework.SHARED_BUNDLE_FRAMEWORK,
           frameworkConfig, compositeManifest);
 
       sharedFramework.init();

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-isolated/src/main/resources/OSGI-INF/blueprint/app-context-management.xml
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-isolated/src/main/resources/OSGI-INF/blueprint/app-context-management.xml?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-isolated/src/main/resources/OSGI-INF/blueprint/app-context-management.xml (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/application/application-runtime-isolated/src/main/resources/OSGI-INF/blueprint/app-context-management.xml Fri Oct 15 22:19:01 2010
@@ -19,7 +19,7 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0">
   
-  <bean id="app-context-manager" class="org.apache.aries.application.runtime.isolated.impl.ApplicationContextManagerImpl" scope="singleton" activation="lazy" destroy-method="close">
+  <bean id="app-context-manager" class="org.apache.aries.application.runtime.isolated.impl.ApplicationContextManagerImpl" scope="singleton" activation="lazy">
     <property name="bundleFrameworkManager" ref="bundle-framework-manager"/>
     <property name="bundleRepositoryManager" ref="bundle-repository-manager"/>
   </bean>

Modified: incubator/aries/sandbox/jbohn/interceptor-proto/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/proxy/Collaborator.java
URL: http://svn.apache.org/viewvc/incubator/aries/sandbox/jbohn/interceptor-proto/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/proxy/Collaborator.java?rev=1023135&r1=1023134&r2=1023135&view=diff
==============================================================================
--- incubator/aries/sandbox/jbohn/interceptor-proto/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/proxy/Collaborator.java (original)
+++ incubator/aries/sandbox/jbohn/interceptor-proto/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/proxy/Collaborator.java Fri Oct 15 22:19:01 2010
@@ -187,7 +187,7 @@ class Collaborator implements Invocation
                 // should throw e
                 if (exceptionToRethrow == null) {
                     exceptionToRethrow = e;
-                } else {
+                } else if (exceptionToRethrow != e) {
                   LOGGER.warn("Discarding initial exception", e);
                 }
                 throw exceptionToRethrow;