In theory, it should be possible to gain access to the AppServer JNDI connections by:<br><br><ul><li>Use Forge itself to inspect persistence.xml</li><li>If it detects JNDI connection settings, generate an EE webapp with the persistence.xml and hibernate-tools embedded inside. <br>
</li><li>Deploy the webapp, which then generates the entities for the project.</li><li>Undeploy and destroy the temp project.</li></ul>Paul Bakker is using a similar technique to generate deployments using Arquillian:<br>
<br><a href="https://issues.jboss.org/browse/SEAMFORGE-109">https://issues.jboss.org/browse/SEAMFORGE-109</a><br><br>~Lincoln<br><br><div class="gmail_quote">On Sat, Apr 16, 2011 at 2:48 AM, Max Rydahl Andersen <span dir="ltr"><<a href="mailto:max.andersen@redhat.com">max.andersen@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">The persistence.xml just needs to be on the classpath at META-INF/persistence.xml as defined by the spec.<br>
(assuming you use jpaconfiguration)<br>
<br>
But how often will a persistence.xml actually have the database connection info ?<br>
<br>
if it is the persistence.xml used for deploying then it will contain the datasource name and<br>
nothing else aka. not enough info for hibernate tools nor hibernate it self to connect "outside" the server.<br>
<br>
This is why in hibernate tools (both ant and eclipse version) we allow you to specify a properties file<br>
to use that will override anything found in persistence.xml on the classpath/default hibernate configuration semantics.<br>
<br>
Until Forge it self gets a notion of database connection info I would suggest using this separate properties file<br>
for development connection info would be the simplest/easiest approach ? (we even have a "standard" name for<br>
it with default content to get the best non-invasive behavior)<br>
<br>
here is what seam 2 projects made by seamgen and/or jboss tools looks like:<br>
#File used by hibernate tools to override <datasource> and other container specific settings in persistence.xml<br>
hibernate.connection.password=<br>
hibernate.connection.username=sa<br>
hibernate.connection.driver_class=org.hsqldb.jdbcDriver<br>
hibernate.dialect=org.hibernate.dialect.HSQLDialect<br>
hibernate.connection.url=jdbc:hsqldb:.<br>
<br>
hibernate.connection.provider_class=org.hibernate.connection.DriverManagerConnectionProvider<br>
hibernate.datasource=<br>
hibernate.transaction.manager_lookup_class=<br>
<br>
The default (bad?) name is hibernate-console.properties.<br>
<br>
Notice, the last three elements would probably be better off being defaulted in forge plugin to ensure<br>
hibernate won't start doing any of its JEE integration code just because you have a peristence.xml with<br>
datasource and jta tx info in it.<br>
<br>
/max<br>
<div><div></div><div class="h5"><br>
On Apr 15, 2011, at 18:55, brian wrote:<br>
<br>
<br>
<br>
><br>
> hi L3 and john.<br>
><br>
> I was thinking about the persistence.xml. Would using piping make sense<br>
> to read/parse the fields from the persistence.xml and then pass them to<br>
> GenerateEntities?<br>
><br>
> so "read-persistence | generate-entities" ?<br>
><br>
> ...I'm not sure if a plugin can read a file, but if it could, a little<br>
> file-reader/parser might work?<br>
><br>
><br>
> On Fri, 2011-04-15 at 12:04 -0400, Lincoln Baxter, III wrote:<br>
>> Hi John!<br>
>><br>
>> Thank you for your interest! I think it's fair to say that we are<br>
>> "close" to having a fully-functional database reverse-engineering<br>
>> plugin, but we are not there yet. Brian (ccd) has been doing some work<br>
>> recently (when he has time) to get Max Andersen's prototype up and<br>
>> running. The prototype is here, but has a few shortcomings:<br>
>><br>
>> <a href="https://github.com/forge/plugin-hibernate-tools" target="_blank">https://github.com/forge/plugin-hibernate-tools</a><br>
>> 1. Connection settings are hardcoded<br>
>> 2. JDBC drivers are not included with the plugin<br>
>> 3. Does not take persistence.xml into account, if it exists<br>
>> In short, it works, but is not usable yet; however, these are all<br>
>> things that can be worked on if you are interested! And I would be<br>
>> more than happy to help you get together with Brian and get two brains<br>
>> working on this! Would you be intersted in that?<br>
>><br>
>> No matter your level of commitment, I would recommend joining the dev<br>
>> and users lists:<br>
>> * <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
>> * <a href="https://lists.jboss.org/mailman/listinfo/forge-users" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-users</a><br>
>> Just let me know and I'll get you all the info that you'll need :)<br>
>> ~Lincoln<br>
>><br>
>> On Thu, Mar 17, 2011 at 8:57 PM, John du Clos <<a href="mailto:duclosjj@yahoo.com">duclosjj@yahoo.com</a>><br>
>> wrote:<br>
>> Hi Lincoln-<br>
>><br>
>> I was chatting with Dan Allen and he mentioned you are working<br>
>> on Forge and specifically the reverse engineering feature from<br>
>> the database. I wanted to reach out to you to see if you have<br>
>> any early versions you need testers to help you verify this<br>
>> feature.<br>
>><br>
>> I look forward to hearing from you!<br>
>> John<br>
>><br>
>> --- On Wed, 3/16/11, Dan Allen <<a href="mailto:dan.j.allen@gmail.com">dan.j.allen@gmail.com</a>> wrote:<br>
>><br>
>><br>
>> From: Dan Allen <<a href="mailto:dan.j.allen@gmail.com">dan.j.allen@gmail.com</a>><br>
>> Subject: Re: Mojavelinux.com Feedback: seam-gen and<br>
>> cdi/weld<br>
>> To: <a href="mailto:duclosjj@yahoo.com">duclosjj@yahoo.com</a><br>
>> Date: Wednesday, March 16, 2011, 9:33 PM<br>
>><br>
>> Hey John,<br>
>> Thanks for reading the book. I'm glad it helped you<br>
>> along. I know about those painful days of J2EE you are<br>
>> talking about.<br>
>> The best way to get started atm is using the Maven<br>
>> archetype.<br>
>> <a href="http://tinyurl.com/gojavaee" target="_blank">http://tinyurl.com/gojavaee</a><br>
>> That gives you a starter project. We don't yet have<br>
>> the reverse engineering yet for this environment. That<br>
>> what Forge will offer soon. Check out the issue<br>
>> tracker or mailing list for updates.<br>
>> Hope that gets you started. Cheers,<br>
>> - Dan Allen<br>
>> Sent from my Android-powered phone:<br>
>> An open platform for carriers, consumers and<br>
>> developers<br>
>> On Mar 16, 2011 9:04 PM, <<a href="mailto:duclosjj@yahoo.com">duclosjj@yahoo.com</a>> wrote:<br>
>>> Submitted by: John duClos <<a href="mailto:duclosjj@yahoo.com">duclosjj@yahoo.com</a>> on<br>
>> Wednesday, March 16th, 2011 @ 9:04:25 pm (-0400)<br>
>>><br>
>>> Online Form Fields<br>
>>> ------------------<br>
>>><br>
>>> Url:<br>
>>><br>
>>><br>
>>> Message:<br>
>>> Dan-<br>
>>><br>
>>> I purchased your Seam book when it was published and<br>
>> am a supporter of<br>
>>> the Seam framework since I lived the challenging<br>
>> days of early J2EE<br>
>>> development.<br>
>>><br>
>>> I work with database centric solutions and seam-gen<br>
>> allowed me to<br>
>>> develop solutions in record time by getting my<br>
>> project started very<br>
>>> quickly. I'd like to start implementing JEE 6/CDI<br>
>> with JBoss AS 6, but<br>
>>> I can't seem to find a way to issue the seam-gen<br>
>> command.<br>
>>><br>
>>> I looked at Forge but that is not where seam-gem<br>
>> was. Do you know of a<br>
>>> valid seam-gen solution for JEE 6/CDI based projects<br>
>> (Seam 3).<br>
>>><br>
>>> Thanks,<br>
>>> John<br>
>>><br>
>>> Client Variables<br>
>>> ----------------<br>
>>><br>
>>> HTTP_USER_AGENT:<br>
>>> Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0;<br>
>> Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR<br>
>> 3.5.21022; .NET CLR 3.5.30729; MDDS; .NET CLR<br>
>> 3.0.30729; MS-RTC LM 8; AskTB5.4)<br>
>>><br>
>>><br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Lincoln Baxter, III<br>
>> <a href="http://ocpsoft.com" target="_blank">http://ocpsoft.com</a><br>
>> <a href="http://scrumshark.com" target="_blank">http://scrumshark.com</a><br>
>> "Keep it Simple"<br>
><br>
><br>
</div></div><div class="im">> _______________________________________________<br>
> forge-dev mailing list<br>
> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
</div><div class="im">> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
<br>
</div>/max<br>
<a href="http://about.me/maxandersen" target="_blank">http://about.me/maxandersen</a><br>
<br>
<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.com">http://ocpsoft.com</a><br><a href="http://scrumshark.com">http://scrumshark.com</a><br>"Keep it Simple"<br>