Can you clarify what in this commit you are objecting to? There were
rather a large number of
changes not all of which are included in your email.

Why would you create a branch for blueprint 0.4? What is the point?

Alasdair

On 21 February 2011 10:55, Guillaume Nodet <[email protected]> wrote:
> I come back to this commit as this is a *major* incompatibility change.
> The util package major version need be bumped up.  I'm not quite sure
> what kind of changes that impact on downstream bundles (blueprint,
> jndi, jpa, etc...) but I think the cascading effect is that their
> major version need to be bumped too.  Can someone please have a look
> at that and fix the problems ?
>
> I'll create a branch for blueprint 0.4.x which can work with other
> components in 0.3 as that's what is implied the version range is
> afaik.
>
> On Fri, Feb 4, 2011 at 19:22, Guillaume Nodet <[email protected]> wrote:
>> While I do not question the validity of such changes, it tends to
>> confirm my impression that we have components that are quite tied
>> together and that we'll never be able to release them independantly
>> (apart from bug fix release which do not matter here).
>> How easy would such things be if we had several trunks, one jira per
>> component, each jira associated to a different version in jira...
>> This also changes the constraints on the packages imported by a
>> component, so you'd have to change some package versions.  That's
>> kinda bad as if a user want to update one bundle, he has to actually
>> update a bunch of bundles.  if we're going to use a different version
>> for each component, we'd have to keep track of the compatibility
>> somewhere so that this can appear in the release notes.
>>
>> i'll stop to lobby on the release cycle versioning, but I just want to
>> make everyone knows where we're going.
>>
>> I wonder if we'll have to change to a more manual management of the
>> imported packages in the pom, disabling * packages expansions by bnd
>> and also disabling auto computation of version ranges to make sure
>> we're aware of changes
>>
>> On Friday, February 4, 2011,  <[email protected]> wrote:
>>> Author: timothyjward
>>> Date: Fri Feb  4 16:13:32 2011
>>> New Revision: 1067207
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1067207&view=rev
>>> Log:
>>> ARIES-567 - Add a common utility for safe unregistration
>>>
>>> Added:
>>>     
>>> aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/util/
>>>     
>>> aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/util/AriesFrameworkUtil.java
>>>     aries/trunk/jpa/jpa-container/src/test/java/org/apache/aries/util/
>>>     
>>> aries/trunk/jpa/jpa-container/src/test/java/org/apache/aries/util/AriesFrameworkUtil.java
>>>     
>>> aries/trunk/util/src/main/java/org/apache/aries/util/tracker/SingleServiceTracker.java
>>>       - copied, changed from r1067146, 
>>> aries/trunk/util/src/main/java/org/apache/aries/util/SingleServiceTracker.java
>>> Removed:
>>>     
>>> aries/trunk/util/src/main/java/org/apache/aries/util/SingleServiceTracker.java
>>> Modified:
>>>     aries/trunk/blueprint/blueprint-annotation-impl/pom.xml
>>>     
>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java
>>>     
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
>>>     
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java
>>>     
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
>>>     
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
>>>     
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
>>>     aries/trunk/jmx/jmx-blueprint-core/pom.xml
>>>     
>>> aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintState.java
>>>     
>>> aries/trunk/jndi/jndi-rmi/src/main/java/org/apache/aries/jndi/rmi/Activator.java
>>>     
>>> aries/trunk/jndi/jndi-url/src/main/java/org/apache/aries/jndi/url/Activator.java
>>>     
>>> aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
>>>     
>>> aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
>>>     
>>> aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/CountingEntityManagerFactory.java
>>>     
>>> aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/EntityManagerFactoryManager.java
>>>     
>>> aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java
>>>     aries/trunk/quiesce/quiesce-manager/pom.xml
>>>     
>>> aries/trunk/quiesce/quiesce-manager/src/main/java/org/apache/aries/quiesce/manager/impl/Activator.java
>>>     aries/trunk/transaction/pom.xml
>>>     aries/trunk/transaction/transaction-manager/pom.xml
>>>     
>>> aries/trunk/transaction/transaction-manager/src/main/java/org/apache/aries/transaction/TransactionManagerService.java
>>>     aries/trunk/transaction/transaction-wrappers/pom.xml
>>>     
>>> aries/trunk/transaction/transaction-wrappers/src/main/java/org/apache/aries/transaction/jdbc/Activator.java
>>>     
>>> aries/trunk/util/src/main/java/org/apache/aries/util/AriesFrameworkUtil.java
>>>     
>>> aries/trunk/util/src/test/java/org/apache/aries/util/SingleServiceTrackerTest.java
>>>
>>> Modified: aries/trunk/blueprint/blueprint-annotation-impl/pom.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-annotation-impl/pom.xml?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- aries/trunk/blueprint/blueprint-annotation-impl/pom.xml (original)
>>> +++ aries/trunk/blueprint/blueprint-annotation-impl/pom.xml Fri Feb  4 
>>> 16:13:32 2011
>>> @@ -57,6 +57,10 @@
>>>            
>>> <artifactId>org.apache.aries.blueprint.annotation.api</artifactId>
>>>        </dependency>
>>>        <dependency>
>>> +          <groupId>org.apache.aries</groupId>
>>> +          <artifactId>org.apache.aries.util</artifactId>
>>> +      </dependency>
>>> +      <dependency>
>>>            <groupId>org.osgi</groupId>
>>>            <artifactId>org.osgi.core</artifactId>
>>>            <scope>provided</scope>
>>>
>>> Modified: 
>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- 
>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java
>>>  (original)
>>> +++ 
>>> aries/trunk/blueprint/blueprint-annotation-impl/src/main/java/org/apache/aries/blueprint/annotation/impl/Activator.java
>>>  Fri Feb  4 16:13:32 2011
>>> @@ -19,11 +19,12 @@ package org.apache.aries.blueprint.annot
>>>  import java.util.Dictionary;
>>>  import java.util.Hashtable;
>>>
>>> +import 
>>> org.apache.aries.blueprint.annotation.service.BlueprintAnnotationScanner;
>>> +import org.apache.aries.util.AriesFrameworkUtil;
>>>  import org.osgi.framework.BundleActivator;
>>>  import org.osgi.framework.BundleContext;
>>>  import org.osgi.framework.Constants;
>>>  import org.osgi.framework.ServiceRegistration;
>>> -import 
>>> org.apache.aries.blueprint.annotation.service.BlueprintAnnotationScanner;
>>>
>>>  public class Activator implements BundleActivator {
>>>
>>> @@ -36,9 +37,7 @@ public class Activator implements Bundle
>>>      }
>>>
>>>      public void stop(BundleContext context) {
>>> -        if (sr != null) {
>>> -            sr.unregister();
>>> -        }
>>> +      AriesFrameworkUtil.safeUnregisterService(sr);
>>>      }
>>>
>>>  }
>>>
>>> Modified: 
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- 
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
>>>  (original)
>>> +++ 
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
>>>  Fri Feb  4 16:13:32 2011
>>> @@ -35,6 +35,7 @@ import org.apache.aries.blueprint.Servic
>>>  import org.apache.aries.blueprint.container.ServiceListener;
>>>  import org.apache.aries.blueprint.utils.JavaUtils;
>>>  import org.apache.aries.blueprint.utils.ReflectionUtils;
>>> +import org.apache.aries.util.AriesFrameworkUtil;
>>>  import org.osgi.framework.Bundle;
>>>  import org.osgi.framework.Constants;
>>>  import org.osgi.framework.ServiceReference;
>>> @@ -100,9 +101,7 @@ public class CmManagedServiceFactory {
>>>      }
>>>
>>>      public void destroy() {
>>> -        if (registration != null) {
>>> -            registration.unregister();
>>> -        }
>>> +        AriesFrameworkUtil.safeUnregisterService(registration);
>>>          for (Map.Entry<ServiceRegistration, Object> entry : 
>>> services.entrySet()) {
>>>              destroy(entry.getValue(), entry.getKey(), BUNDLE_STOPPING);
>>>          }
>>> @@ -119,7 +118,7 @@ public class CmManagedServiceFactory {
>>>              }
>>>          }
>>>          destroyComponent(component, code);
>>> -        registration.unregister();
>>> +        AriesFrameworkUtil.safeUnregisterService(registration);
>>>      }
>>>
>>>      public Map<ServiceRegistration, Object> getServiceMap() {
>>>
>>> Modified: 
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- 
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java
>>>  (original)
>>> +++ 
>>> aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/ManagedObjectManager.java
>>>  Fri Feb  4 16:13:32 2011
>>> @@ -25,6 +25,7 @@ import java.util.HashMap;
>>>  import java.util.List;
>>>  import java.util.Properties;
>>>
>>> +import org.apache.aries.util.AriesFrameworkUtil;
>>>  import org.osgi.framework.ServiceRegistration;
>>>  import org.osgi.service.cm.ConfigurationException;
>>>  import org.osgi.service.cm.ManagedService;
>>> @@ -60,7 +61,7 @@ public class ManagedObjectManager {
>>>              reg.remove(cm);
>>>              if (reg.isEmpty()) {
>>>                  map.remove(key);
>>> -                reg.getRegistration().unregister();
>>> +                
>>> AriesFrameworkUtil.safeUnregisterService(reg.getRegistration());
>>>              }
>>>          }
>>>      }
>>>
>>> Modified: 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
>>>  (original)
>>> +++ 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
>>>  Fri Feb  4 16:13:32 2011
>>> @@ -62,6 +62,7 @@ import org.apache.aries.blueprint.reflec
>>>  import org.apache.aries.blueprint.utils.HeaderParser;
>>>  import org.apache.aries.blueprint.utils.JavaUtils;
>>>  import org.apache.aries.blueprint.utils.HeaderParser.PathElement;
>>> +import org.apache.aries.util.AriesFrameworkUtil;
>>>  import org.osgi.framework.Bundle;
>>>  import org.osgi.framework.BundleContext;
>>>  import org.osgi.framework.Constants;
>>> @@ -812,9 +813,7 @@ public class BlueprintContainerImpl impl
>>>          if (timeoutFuture != null) {
>>>              timeoutFuture.cancel(false);
>>>          }
>>> -        if (registration != null) {
>>> -            registration.unregister();
>>> -        }
>>> +        AriesFrameworkUtil.safeUnregisterService(registration);
>>>          if (handlerSet != null) {
>>>              handlerSet.removeListener(this);
>>>              handlerSet.destroy();
>>> @@ -845,9 +844,7 @@ public class BlueprintContainerImpl impl
>>>          if (timeoutFuture != null) {
>>>              timeoutFuture.cancel(false);
>>>          }
>>> -        if (registration != null) {
>>> -            registration.unregister();
>>> -        }
>>> +        AriesFrameworkUtil.safeUnregisterService(registration);
>>>          if (handlerSet != null) {
>>>              handlerSet.removeListener(this);
>>>              handlerSet.destroy();
>>>
>>> Modified: 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
>>>  (original)
>>> +++ 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
>>>  Fri Feb  4 16:13:32 2011
>>> @@ -39,9 +39,10 @@ import org.apache.aries.blueprint.namesp
>>>  import org.apache.aries.blueprint.utils.HeaderParser;
>>>  import org.apache.aries.blueprint.utils.HeaderParser.PathElement;
>>>  import org.apache.aries.proxy.ProxyManager;
>>> -import org.apache.aries.util.SingleServiceTracker;
>>> -import org.apache.aries.util.SingleServiceTracker.SingleServiceListener;
>>> +import org.apache.aries.util.AriesFrameworkUtil;
>>>  import org.apache.aries.util.tracker.RecursiveBundleTracker;
>>> +import org.apache.aries.util.tracker.SingleServiceTracker;
>>> +import 
>>> org.apache.aries.util.tracker.SingleServiceTracker.SingleServiceListener;
>>>  import org.osgi.framework.Bundle;
>>>  import org.osgi.framework.BundleActivator;
>>>  import org.osgi.framework.BundleContext;
>>> @@ -154,10 +155,9 @@ public class BlueprintExtender implement
>>>                 bt.close();
>>>          }
>>>
>>> -        parserServiceReg.unregister();
>>> -
>>> -        if (quiesceParticipantReg != null)
>>> -               quiesceParticipantReg.unregister();
>>> +        AriesFrameworkUtil.safeUnregisterService(parserServiceReg);
>>> +
>>> +        AriesFrameworkUtil.safeUnregisterService(quiesceParticipantReg);
>>>
>>>          // Orderly shutdown of containers
>>>          while (!containers.isEmpty()) {
>>>
>>> Modified: 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
>>> URL: 
>>> http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java?rev=1067207&r1=1067206&r2=1067207&view=diff
>>> ==============================================================================
>>> --- 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
>>>  (original)
>>> +++ 
>>> aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
>>>  Fri Feb  4 16:13:32 2011
>>> @@ -44,6 +44,7 @@ import org.apache.aries.blueprint.proxy.
>>>  import org.
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>



-- 
Alasdair Nottingham
[email protected]

Reply via email to