[ 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)