[JBoss JIRA] Created: (SHRINKWRAP-235) Add print methods to Archive
by Dan Allen (JIRA)
Add print methods to Archive
----------------------------
Key: SHRINKWRAP-235
URL: https://jira.jboss.org/browse/SHRINKWRAP-235
Project: ShrinkWrap
Issue Type: Feature Request
Components: api, impl-base
Affects Versions: 1.0.0-alpha-11
Reporter: Dan Allen
Priority: Minor
Fix For: 1.0.0-alpha-12
An extremely common use case for the "toString" methods on Archive are to print the contents of the Archive to stdout.
System.out.println(archive.toString(true));
Having to wrap the call in System.out.println is really annoying (even with editor shortcuts). ShrinkWrap should provide parallel print methods, that print to stdout (or perhaps to an optional stream argument).
archive.print()
archive.print(true)
archive.print(Formatter)
* parallel methods that accept a stream if warranted
* I'd also settle for printArchive()
This feature is consistent with the ever popular Exception#printStackTrace().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] Created: (SHRINKWRAP-236) Introduce Asset criteria to find contents in archive
by Dan Allen (JIRA)
Introduce Asset criteria to find contents in archive
-----------------------------------------------------
Key: SHRINKWRAP-236
URL: https://jira.jboss.org/browse/SHRINKWRAP-236
Project: ShrinkWrap
Issue Type: Feature Request
Components: api, impl-base
Affects Versions: 1.0.0-alpha-11
Reporter: Dan Allen
The read capabilities on Archive are largely inadequate. You can get the content by an archive path or you can flip through all the content and filter the results by path name. However, there are much more logical structures inside the archive that ShrinkWrap does not expose an API to locate. For instance, I want to pull out one or more WebModules from an EnterpriseArchive.
However, if we were to introduce a closed set of read methods, the user would eventual outgrow them and find themselves in the same position. My recommendation is to follow the lead of Weld Extensions and use an Archive criteria API. I believe it's a good choice because it feels familiar to Java EE developers with it's JPA-like syntax and it's completely extensible.
For example:
ArchiveContentQuery<EnterpriseArchive> query = ArchiveContentQueries.<EnterpriseArchive>createQuery(EnterpriseArchive.class)
.addCriteria(new TypedAssetCriteria(WebArchive.class));
List<WebArchive> wars = query.getResuiltList();
This is so much simpler than using a filter on a tree walker. It's also crucial for manipulation of the Archive within Arquillian.
see http://docs.jboss.org/weld/extensions/reference/latest/en-US/html/propert...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month
[JBoss JIRA] Created: (SHRINKWRAP-229) Should be able to add Packages based on String name
by Aslak Knutsen (JIRA)
Should be able to add Packages based on String name
---------------------------------------------------
Key: SHRINKWRAP-229
URL: https://jira.jboss.org/browse/SHRINKWRAP-229
Project: ShrinkWrap
Issue Type: Feature Request
Components: api, impl-base
Reporter: Aslak Knutsen
Assignee: Aslak Knutsen
Problem:
Adding all classes to a parent package that does not contain a class is not possible. The Parent Package is never created by the jvm etc. You have to manually add all sub packages instead.
Adding classes from a package where no Classes have been loaded from yet is not possible, jvm lazy creates the packages.
e.g. Pakcage.getPackage("my.package") does not exist until a class in "my.package" has been loaded. Workaround is to force load a class e.g. my.package.MyClass.class.getPackage()
Solution:
Add method to ClassContainer API
- addPackage(String packageName)
- addPackages(boolean recursive, String... packageNames)
- addPackages(boolean recursive, Filter<ArchivePath> filter, String... packageNames)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month