Use persist module generator for user
parent
085a4473e8
commit
dce22018bf
|
|
@ -188,24 +188,6 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>resource-dependencies</id>
|
||||
<phase>process-test-resources</phase>
|
||||
<goals>
|
||||
<goal>unpack-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<includeArtifactIds>che-core-sql-schema</includeArtifactIds>
|
||||
<includes>che-schema/</includes>
|
||||
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -12,29 +12,31 @@ package org.eclipse.che.api.user.server.jpa;
|
|||
|
||||
import com.google.inject.Singleton;
|
||||
import com.google.inject.TypeLiteral;
|
||||
import com.google.inject.persist.jpa.JpaPersistModule;
|
||||
|
||||
import org.eclipse.che.account.spi.AccountImpl;
|
||||
import org.eclipse.che.api.user.server.model.impl.ProfileImpl;
|
||||
import org.eclipse.che.api.user.server.model.impl.UserImpl;
|
||||
import org.eclipse.che.api.user.server.spi.PreferenceDao;
|
||||
import org.eclipse.che.api.user.server.spi.ProfileDao;
|
||||
import org.eclipse.che.api.user.server.spi.UserDao;
|
||||
import org.eclipse.che.commons.lang.Pair;
|
||||
import org.eclipse.che.commons.test.db.H2DBTestServer;
|
||||
import org.eclipse.che.commons.test.db.H2JpaCleaner;
|
||||
import org.eclipse.che.commons.test.db.PersistTestModuleBuilder;
|
||||
import org.eclipse.che.commons.test.tck.TckModule;
|
||||
import org.eclipse.che.commons.test.tck.TckResourcesCleaner;
|
||||
import org.eclipse.che.commons.test.tck.repository.JpaTckRepository;
|
||||
import org.eclipse.che.commons.test.tck.repository.TckRepository;
|
||||
import org.eclipse.che.core.db.DBInitializer;
|
||||
import org.eclipse.che.core.db.h2.jpa.eclipselink.H2ExceptionHandler;
|
||||
import org.eclipse.che.core.db.schema.SchemaInitializer;
|
||||
import org.eclipse.che.core.db.schema.impl.flyway.FlywaySchemaInitializer;
|
||||
import org.eclipse.che.security.PasswordEncryptor;
|
||||
import org.eclipse.che.security.SHA512PasswordEncryptor;
|
||||
import org.h2.Driver;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static org.eclipse.che.commons.test.db.H2TestHelper.inMemoryDefault;
|
||||
|
||||
/**
|
||||
* @author Yevhenii Voevodin
|
||||
*/
|
||||
|
|
@ -42,10 +44,18 @@ public class JpaTckModule extends TckModule {
|
|||
|
||||
@Override
|
||||
protected void configure() {
|
||||
install(new JpaPersistModule("main"));
|
||||
H2DBTestServer server = H2DBTestServer.startDefault();
|
||||
install(new PersistTestModuleBuilder().setDriver(Driver.class)
|
||||
.runningOn(server)
|
||||
.addEntityClasses(UserImpl.class,
|
||||
ProfileImpl.class,
|
||||
PreferenceEntity.class,
|
||||
AccountImpl.class)
|
||||
.setExceptionHandler(H2ExceptionHandler.class)
|
||||
.build());
|
||||
bind(DBInitializer.class).asEagerSingleton();
|
||||
bind(SchemaInitializer.class).toInstance(new FlywaySchemaInitializer(inMemoryDefault(), "che-schema"));
|
||||
bind(TckResourcesCleaner.class).to(H2JpaCleaner.class);
|
||||
bind(SchemaInitializer.class).toInstance(new FlywaySchemaInitializer(server.getDataSource(), "che-schema"));
|
||||
bind(TckResourcesCleaner.class).toInstance(new H2JpaCleaner(server.getDataSource()));
|
||||
|
||||
bind(new TypeLiteral<TckRepository<UserImpl>>() {}).to(UserJpaTckRepository.class);
|
||||
bind(new TypeLiteral<TckRepository<ProfileImpl>>() {}).toInstance(new JpaTckRepository<>(ProfileImpl.class));
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
<!--
|
||||
|
||||
Copyright (c) 2012-2017 Codenvy, S.A.
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are made available under the terms of the Eclipse Public License v1.0
|
||||
which accompanies this distribution, and is available at
|
||||
http://www.eclipse.org/legal/epl-v10.html
|
||||
|
||||
Contributors:
|
||||
Codenvy, S.A. - initial API and implementation
|
||||
|
||||
-->
|
||||
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0">
|
||||
<persistence-unit name="main" transaction-type="RESOURCE_LOCAL">
|
||||
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
|
||||
<class>org.eclipse.che.account.spi.AccountImpl</class>
|
||||
<class>org.eclipse.che.api.user.server.model.impl.UserImpl</class>
|
||||
<class>org.eclipse.che.api.user.server.model.impl.ProfileImpl</class>
|
||||
<class>org.eclipse.che.api.user.server.jpa.PreferenceEntity</class>
|
||||
<exclude-unlisted-classes>true</exclude-unlisted-classes>
|
||||
<properties>
|
||||
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
|
||||
<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:test"/>
|
||||
<property name="javax.persistence.jdbc.user" value=""/>
|
||||
<property name="javax.persistence.jdbc.password" value=""/>
|
||||
|
||||
<property name="eclipselink.exception-handler" value="org.eclipse.che.core.db.h2.jpa.eclipselink.H2ExceptionHandler"/>
|
||||
<property name="eclipselink.target-server" value="None"/>
|
||||
<property name="eclipselink.ddl-generation.output-mode" value="database"/>
|
||||
<property name="eclipselink.logging.logger" value="DefaultLogger"/>
|
||||
<property name="eclipselink.logging.level" value="SEVERE"/>
|
||||
</properties>
|
||||
</persistence-unit>
|
||||
</persistence>
|
||||
Loading…
Reference in New Issue