Right, I think this makes sense. We might need to add more tests under
these conditions. This area sure needs a bit of improvement.
It looks like SAPHanaCloudPlatformContainer shouldn't be extending
JavaEEDefaultContainer, afaik that is only meant to be extended by
implementations of JavaEE servers (TomEE, Wildfly, EAP, Weblogic,
GlassFish).
On 11/24/2014 10:39 AM, Ivan St. Ivanov wrote:
Hi George,
I was thinking of something general in the area of tying up
somehow (not coupling) the JPA containers and providers. The
containers know very well whether they have JPA support at all or, if
they have, what is their native provider (e.g. Hibernate for Wildfly).
So IMHO whenever the user specifies a container with a provider the
setup command should do the following:
1) Validate whether this combination is possible at all (e.g. not sure
what will happen if we specify Wildfly with EclipseLink, at the moment
it fails)
2) If the current container does not have built-in support for JPA
(i.e. it is based on Tomcat, like SAP HCP) or it supports natively
different JPA provider, then add the listDependencies() content to the
pom.xml in the appropriate scope
Something like this. Not sure though how was this whole thing intended
to work: do we need to fully decouple providers and containers in the
JPA addon?
Cheers,
Ivan
On Mon, Nov 24, 2014 at 1:11 PM, George Gastaldi <ggastald(a)redhat.com
<mailto:ggastald@redhat.com>> wrote:
Hi Ivan,
Yes, that's the idea. It's strange that this method is not being
called. I'll investigate further.
Another solution would be to create a new Forge's
PersistenceProvider implementation in a separate addon and select
that instead when running Jpa:Setup.
Best Regards,
George Gastaldi
> Em 24/11/2014, às 08:25, Ivan St. Ivanov
<ivan.st.ivanov(a)gmail.com <mailto:ivan.st.ivanov@gmail.com>> escreveu:
>
> Hi everybody,
>
> I have the following usecase. I am developing a web application
that uses JPA with Eclipse Link and will be deployed on SAP HANA
Cloud Platform (think of it as Tomcat). Which means that I need
the Eclipse Link dependencies in the pom.xml in the compile scope.
When I generated the project and set up Eclipse Link, I got this
in the pom:
>
> <dependencies>
> <dependency>
> <groupId>org.hibernate.javax.persistence</groupId>
> <artifactId>hibernate-jpa-2.0-api</artifactId>
> <scope>provided</scope>
> </dependency>
> </dependencies>
>
> However, I rather need something like:
>
> <dependency>
> <groupId>org.eclipse.persistence</groupId>
> <artifactId>javax.persistence</artifactId>
> </dependency>
> <dependency>
> <groupId>org.eclipse.persistence</groupId>
> <artifactId>eclipselink</artifactId>
> </dependency>
>
> I see in
org.jboss.forge.addon.javaee.jpa.providers.EclipseLinkProvider:
>
>
> @Override
> public List<Dependency> listDependencies()
> {
> return Arrays.asList((Dependency)
DependencyBuilder.create("org.eclipse.persistence:eclipselink"),
> (Dependency)
DependencyBuilder.create("org.eclipse.persistence:javax.persistence"));
> }
>
> So we already have functionality on provider level that knows
which are the dependencies. However, it seems that this method is
not called. What was the idea of having it? How can I make sure
that the dependencies are correctly configured?
>
> I think that it has something to do with the type of the
container: if it is SAP HANA Cloud Platform, then find the
dependencies for the JPA provider and add them in the default
scope of the pom.xml instead of adding hibernate-jpa-2.0-api. If
it is a full fledged application server, then we can go with the
API in provided scope. Something like this.
>
> WDYT?
>
> Thanks,
> Ivan
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org <mailto:forge-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev