You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Cristiano Gavião (JIRA)" <ji...@apache.org> on 2015/08/27 19:48:46 UTC

[jira] [Issue Comment Deleted] (ARIES-1387) Make Subsystem header items order reproducible

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

Cristiano Gavião updated ARIES-1387:
------------------------------------
    Comment: was deleted

(was: it ok... :) you are bit right.

before I entered to string comparison approach my first thought was to implement equals() and hashCode(). 

I started to play with a day but I got lazy and gave up because do not exist one abstract parent Clause class, but almost every Header class holds its own Clause implementing interface org.apache.aries.subsystem.core.archive.Clause. And, not all Header, Attribute or Directive classes extends its respective existent abstracts ones. 

so, I choose the fastest path... :))

> Make Subsystem header items order reproducible
> ----------------------------------------------
>
>                 Key: ARIES-1387
>                 URL: https://issues.apache.org/jira/browse/ARIES-1387
>             Project: Aries
>          Issue Type: Improvement
>          Components: Subsystem
>            Reporter: Cristiano Gavião
>
> Currently the org.apache.aries.subsystem.core.archive.SubsystemContentHeader class (line 210) and other headers classes uses a HashSet in order to hold its clauses.
> HashSet doesn't ensure the order of its items and then its impossible to have a reproducible build of any manifest file. As the SubsystemManifest class doesn't provide a equals() method, we can't compare a generated manifest file with any template in a test, it will fail.
> The propose it to change the used HashSet for the LinkedHashSet class.



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