[ 
https://issues.apache.org/jira/browse/JCRVLT-155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15839631#comment-15839631
 ] 

Konrad Windszus commented on JCRVLT-155:
----------------------------------------

The underlying reason why this returns {{true}} although the package has been 
replaced is that the state is transferred from the old to the new package 
during upload in 
https://github.com/apache/jackrabbit-filevault/blob/938f7a2179a01342e6f367f93fc708fc064a8b08/vault-core/src/main/java/org/apache/jackrabbit/vault/packaging/impl/JcrPackageManagerImpl.java#L359.

> JcrPackage.isInstalled does not return false in case the package has been 
> overwritten
> -------------------------------------------------------------------------------------
>
>                 Key: JCRVLT-155
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-155
>             Project: Jackrabbit FileVault
>          Issue Type: Bug
>          Components: Packaging
>    Affects Versions: 3.1.28
>            Reporter: Konrad Windszus
>
> Although the javadoc of {{o.a.j.v.packaging.JcrPackage#isInstalled()}} is 
> stating
> bq. Checks if this package is installed. Note: the default implementation 
> only checks the JcrPackageDefinition.getLastUnpacked() date. If the package 
> is replaced since it was installed. this method will return false.
> this method is returning {{true}} in case the package has been reuploaded in 
> between (with the same group, package name and version). This is violating 
> the contract of this method.
> Please either fix implementation or javadoc description.
> That issue already lead to downstream issues in the 
> {{com.adobe.granite.installer.factory.packages.impl.PackageTransformer}} 
> which therefore only installs a package once.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to