[ 
https://issues.apache.org/jira/browse/SLING-6392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Karl Pauls updated SLING-6392:
------------------------------
    Attachment: SLING-6392-after-transform.patch

Ok, I think I figured it out. 

Basically, what we need to do is to do the clean-up in the transform. 
Specifically, after all results have been transformed for a given resource. At 
that point we know all the entityids that should be in the system for the 
resource url. Subsequently, we can iterate over the groups and remove the url 
from all groups that are not having an entityid in that list. 

This way we remove old resources and don't remove new once. I tested the new 
patch [^SLING-6392-after-transform.patch] quite a bit and it looks good to me. 

Let me know if it looks good to you as well (in which case I'll commit it).


> OSGi Installer: Symbolic name changes on a resource keeping the same URL are 
> not supported
> ------------------------------------------------------------------------------------------
>
>                 Key: SLING-6392
>                 URL: https://issues.apache.org/jira/browse/SLING-6392
>             Project: Sling
>          Issue Type: Bug
>          Components: Installer
>    Affects Versions: Installer Core 3.8.0
>            Reporter: Konrad Windszus
>            Assignee: Karl Pauls
>             Fix For: Installer Core 3.8.8
>
>         Attachments: SLING-6392-after-transform.patch, 
> SLING-6392-Fragment.patch, SLING-6392-Fragment-v02.patch, 
> SLING-6392-test-v01.patch, SLING-6392-test-v02.patch, SLING-6392-v01.patch, 
> SLING-6392-v02.patch
>
>
> After deploying bundle with symbolic name {{A}} to JCR location 
> {{/apps/myapp/install/mybundle.jar}} or somewhere in the filesystem it is 
> correctly being picked up by the JcrInstaller or FileInstaller and deployed 
> in Apache Felix. Now the symbolic name has been changed to {{B}} and the 
> updated JAR has been deployed to the same location in the JCR  
> {{/apps/myapp/install/mybundle.jar}} or to the file system the updated bundle 
> is not correctly deployed.
> The OSGI installer console exposes that both bundles {{A}} and {{B}} are in 
> state {{Installed}} but the /system/console/bundle only shows bundle {{A}} 
> but not {{B}}.
> It would actually be expected that {{A}} is uninstalled, while {{B}} is 
> getting installed!
> Such a change can happen if you use the {{maven-bundle-plugin}} with a 
> default configuration and you just change the groupId of the underlying maven 
> project. That will not affect the finalName of the artifact (by default 
> artifactId) but the symbolic name of the bundle (see 
> http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html#default-behavior).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to