<div dir="ltr">Hi George,<div><br></div><div>My idea is the following: if you don't have persistence.xml, then most probably you don't have the dependencies either. Definitely the facet is not installed, so Forge installs it for you by adding both the persistence.xml and the dependencies. </div><div><br></div><div>But if you have persistence.xml already in your project in 99% of the cases you have already setup the dependencies as well. So the facet is there and Forge does not need to install it.</div><div><br></div><div>Regards,</div><div>Ivan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 6, 2015 at 11:06 PM, George Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hi Ivan,<br>
<br>
I am not sure this is enough. How can you assure that no compilation
errors would occur when @Entity or any other JPA-related class is
used?<br>
<br>
Best Regards,<br>
<br>
George Gastaldi<div><div class="h5"><br>
<br>
<div>On 07/06/2015 05:02 PM, Ivan St. Ivanov
wrote:<br>
</div>
</div></div><blockquote type="cite"><div><div class="h5">
<div dir="ltr">Hi everybody,
<div><br>
</div>
<div>I am working on a project that is not mainstream Java EE.
Its target is Tomcat, but it uses JPA 2.0 (Eclipselink). I
have tailored the dependencies in the pom.xml as well as the
persistence.xml.</div>
<div><br>
</div>
<div>And now I want to use Forge to add some fields to the
existing entities. What I noticed is that when I run the
jpa-new-field command for the first time, it also installs the
JPA facet. Which in turns adds some unwanted dependencies to
my pom.xml and completely overwrites persistence.xml.</div>
<div><br>
</div>
<div>I dig into the code and found that the isInstalled method
of the JPA Facet returns true when persistence.xml file does
not exist and when pom.xml does not contain some dependencies.
These dependencies are different for JPA 2.0 and 2.1, but are
basically Hibernate JPA API and the Java EE API.</div>
<div><br>
</div>
<div>As a result of this, projects that don't target Java EE or
that use different artifacts for it or for JPA are going to
get their poms polluted and their persistence.xml files
overwritten.</div>
<div><br>
</div>
<div>So my proposal is to change the isInstalled method to only
check for the presence of persistence.xml. What do you think?</div>
<div><br>
</div>
<div>Regards,</div>
<div>Ivan</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>_______________________________________________
forge-dev mailing list
<a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a></pre>
</blockquote>
<br>
</div>
<br>_______________________________________________<br>
forge-dev mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br></blockquote></div><br></div>