[
https://issues.apache.org/jira/browse/ARIES-1423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14936203#comment-14936203
]
John Ross commented on ARIES-1423:
----------------------------------
The ClauseTokenizer will definitely return an empty collection of clauses if
given an empty string. When given an empty quoted string, however, it returns a
single clause, which was the basis for the fix.
I thought the issue might be related to whitespace since an empty check without
a trim is done, but, as I suspected, the trimming is done elsewhere, and
generic headers with whitespace for values are accepted. I also ran the
attached manifest through the parser and it passes. It does not pass if I
remove the fix.
If the abstract header is still receiving an empty string, then it must not be
a generic header, meaning that you would have an OSGi header somewhere with an
empty string value. The error message isn't particularly helpful, but you
should see the underlying header class in the stack trace.
Please be absolutely sure you are using a binary file that contains the fix.
> IllegalArgumentException when GenericHeader has no clauses
> ----------------------------------------------------------
>
> Key: ARIES-1423
> URL: https://issues.apache.org/jira/browse/ARIES-1423
> Project: Aries
> Issue Type: Bug
> Components: Subsystem
> Affects Versions: subsystem-2.0.3
> Reporter: Wouter Bancken
> Assignee: John Ross
> Attachments: MANIFEST.MF
>
>
> When trying to install a subsystem which contains bundles that have a
> manifest that contains empty headers, the AbstractClauseBasedHeader throws an
> IllegalArgumentException.
> Example headers are (manifest attached to this issue)
> {code}
> Build-Plan:
> Build-Number:
> {code}
> The exception is caused by the rework of the AbstractClauseBasedHeader for
> ARIES-1387.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)