Community
Participate
Working Groups
The IArtifactRepository interface defines getOutputStream as: Open an output stream to which a client can write the data for the given artifact descriptor. And further states: @return the stream to which the artifact content can be written. The implementation in AbstractArtifactRepository simple performs an "isModifiable" check then returns null. CompositeArtifactRepository uses the implementation from AbstractArtifactRepository so any call to getOutputStream will result in either an exception (if the repository is not modifiable) or null. However, while it is possible for a CAR to be modifiable (say, when modifying properties and adding/removing children), we have stated that it cannot have its own descriptors, and therefore should throw an exception.
In relation to Bug 258173, I feel CAR should throw their own error saying that that method is not supported, as opposed to a more generic "method not implemented." Of course, it depends on what the solution to Bug 258173 is.
Created attachment 120202 [details] Throws UnsupportedOperationException when getOutputStream is called on a CAR Updates externalized strings.
Released to HEAD.