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;