[
https://issues.jboss.org/browse/FORGE-773?page=com.atlassian.jira.plugin....
]
John Franey commented on FORGE-773:
-----------------------------------
Yes, such an enhancement will meet the goal.
I see the maven plugin/facet is using Aether, so I believe I can reliably obtain the
dependency's jar file, though the applicable forge api is not known to me yet.
I understand the generality to an interface that supports queries for a JavaClass(es)
backed by a binary class. Such would be useful in the issues you mention. A more general
implementation returns a JavaClass independent of whether it is found as a binary class or
in the project's source directory. Does forge already have such an interface that
returns JavaClass parsed from JavaSource?
entities for scaffold could be binary, not source
-------------------------------------------------
Key: FORGE-773
URL:
https://issues.jboss.org/browse/FORGE-773
Project: Forge
Issue Type: Feature Request
Reporter: John Franey
I have already a jar file full of JPA entity classes, built by another project. To
generate scaffold on forge 1.2.1, I create a forge project and unpack the source code of
the jpa project into the forge project, then I can run the scaffold.
I'd like a parameter to accept a dependency and a package or class name: scaffold
from-entity [groupId:artifactId:]entity-name
if groupId:artifactId were provided, then the plugin would find that dependency, open
that jar and look for the class(es) with that name, convert those to JavaClass
implementation that wraps a java.lang.Class and call the scaffold provider.
FacesScaffold facet operates on JavaClass. Thanks to architects that made this an
interface, its not hard to implement as a wrapper to java.lang.Class; same for other
interfaces in forge's java api. In other words, using these wrappers, FacesScaffold
can operate on java class data.
However, there seem to be a few roadblocks for me:
# The ScaffoldPlugin can accept a JavaResource, a source file. There is no method on the
plugin to accept a JavaClass Is it possible to override, perhaps by defining a brand new
plugin that derives from ScaffoldPlugin and provides the method that accepts a JavaClass?
# The ShellImpl has a fixed conversion from string to JavaResource. Is it possible to
provide a custom conversion in order for the shell to call a plugin method with a
JavaCLass parameter?
# The Dependency facet does not have a method that gives access to the jar file of the
dependency. I'm not confident that getSystemPath() returns the path to the actual jar
file. This data derives from the apache Maven's method Dependency.getSystemPath()
which has a javadoc saying: "don't call this method." I think Eclipse and
maven have different dependency resolution mechanisms, so this facet would be different in
each.
Have I read the forge code wrong? Is there a roadmap that navigates these issues?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira