Skip to content

Commit 7511df5

Browse files
author
bwajtr
committed
Added JOOQ code generation plugin to the gradle build. Then rebuilt the classes for JOOQ under the com.clevergang.dbtests.repository.impl.joog.generated package.
1 parent 29f7fb1 commit 7511df5

16 files changed

Lines changed: 1892 additions & 1822 deletions

build.gradle

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
1-
// this buildscript modification is required for applying spring-boot parent BOM
1+
22
buildscript {
33
repositories {
44
jcenter()
5+
maven {
6+
url "https://plugins.gradle.org/m2/"
7+
}
58
}
6-
79
dependencies {
8-
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.RELEASE")
10+
classpath "org.springframework.boot:spring-boot-gradle-plugin:1.4.1.RELEASE" // to include SpringBoot parent BOM
11+
classpath "nu.studer:gradle-jooq-plugin:2.0.2" // to allow jooq gradle plugin
912
}
1013
}
1114

15+
apply plugin: 'nu.studer.jooq' // see details in https://github.com/etiennestuder/gradle-jooq-plugin
1216
apply plugin: 'spring-boot'
1317
apply plugin: 'java'
1418

@@ -25,11 +29,10 @@ tasks.withType(JavaCompile) {
2529
sourceCompatibility = '1.8'
2630
}
2731

28-
2932
dependencies {
3033
compile "org.springframework.boot:spring-boot-starter-jdbc"
3134
compile "org.springframework.boot:spring-boot-starter-jooq"
32-
compile "org.postgresql:postgresql:9.4.1211.jre7"
35+
jooqRuntime "org.postgresql:postgresql:9.4.1211.jre7"
3336
compile "org.apache.commons:commons-lang3:3.4"
3437
compile "org.apache.commons:commons-collections4:4.1"
3538

@@ -41,4 +44,35 @@ test {
4144
testLogging {
4245
events "PASSED", "FAILED", "SKIPPED"
4346
}
44-
}
47+
}
48+
49+
// jooq configuration
50+
51+
jooq {
52+
version = '3.8.4'
53+
edition = 'OSS' // the default (can be omitted), other allowed values are PRO, PRO_JAVA_6, and TRIAL
54+
DbTestsApplication(sourceSets.main) {
55+
jdbc {
56+
driver = 'org.postgresql.Driver'
57+
url = 'jdbc:postgresql://localhost:5432/testdb'
58+
user = 'test'
59+
password = 'test'
60+
schema = 'public'
61+
}
62+
generator {
63+
name = 'org.jooq.util.DefaultGenerator'
64+
strategy {
65+
name = 'org.jooq.util.DefaultGeneratorStrategy'
66+
}
67+
database {
68+
name = 'org.jooq.util.postgres.PostgresDatabase'
69+
inputSchema = 'public'
70+
}
71+
target {
72+
packageName = 'com.clevergang.dbtests.repository.impl.jooq.generated'
73+
directory = './src/main/java/'
74+
}
75+
}
76+
}
77+
}
78+
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.clevergang.dbtests.repository.impl.jooq.generated;
2+
3+
4+
import org.jooq.Schema;
5+
import org.jooq.impl.CatalogImpl;
6+
7+
import javax.annotation.Generated;
8+
import java.util.ArrayList;
9+
import java.util.Arrays;
10+
import java.util.List;
11+
12+
13+
/**
14+
* This class is generated by jOOQ.
15+
*/
16+
@Generated(
17+
value = {
18+
"http://www.jooq.org",
19+
"jOOQ version:3.8.4"
20+
},
21+
comments = "This class is generated by jOOQ"
22+
)
23+
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
24+
public class DefaultCatalog extends CatalogImpl {
25+
26+
private static final long serialVersionUID = 1628562514;
27+
28+
/**
29+
* The reference instance of <code></code>
30+
*/
31+
public static final DefaultCatalog DEFAULT_CATALOG = new DefaultCatalog();
32+
33+
/**
34+
* The schema <code>public</code>.
35+
*/
36+
public final Public PUBLIC = com.clevergang.dbtests.repository.impl.jooq.generated.Public.PUBLIC;
37+
38+
/**
39+
* No further instances allowed
40+
*/
41+
private DefaultCatalog() {
42+
super("");
43+
}
44+
45+
@Override
46+
public final List<Schema> getSchemas() {
47+
List result = new ArrayList();
48+
result.addAll(getSchemas0());
49+
return result;
50+
}
51+
52+
private final List<Schema> getSchemas0() {
53+
return Arrays.<Schema>asList(
54+
Public.PUBLIC);
55+
}
56+
}
Lines changed: 62 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,81 @@
1-
/**
2-
* This class is generated by jOOQ
3-
*/
41
package com.clevergang.dbtests.repository.impl.jooq.generated;
52

63

7-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Company;
8-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Department;
9-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Employee;
10-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Project;
11-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Projectemployee;
12-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.records.CompanyRecord;
13-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.records.DepartmentRecord;
14-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.records.EmployeeRecord;
15-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.records.ProjectRecord;
16-
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.records.ProjectemployeeRecord;
17-
18-
import javax.annotation.Generated;
19-
4+
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.*;
5+
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.records.*;
206
import org.jooq.ForeignKey;
217
import org.jooq.Identity;
228
import org.jooq.UniqueKey;
239
import org.jooq.impl.AbstractKeys;
2410

11+
import javax.annotation.Generated;
12+
2513

2614
/**
2715
* A class modelling foreign key relationships between tables of the <code>public</code>
2816
* schema
2917
*/
3018
@Generated(
31-
value = {
32-
"http://www.jooq.org",
33-
"jOOQ version:3.7.2"
34-
},
35-
comments = "This class is generated by jOOQ"
19+
value = {
20+
"http://www.jooq.org",
21+
"jOOQ version:3.8.4"
22+
},
23+
comments = "This class is generated by jOOQ"
3624
)
3725
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
3826
public class Keys {
3927

40-
// -------------------------------------------------------------------------
41-
// IDENTITY definitions
42-
// -------------------------------------------------------------------------
43-
44-
public static final Identity<CompanyRecord, Integer> IDENTITY_COMPANY = Identities0.IDENTITY_COMPANY;
45-
public static final Identity<DepartmentRecord, Integer> IDENTITY_DEPARTMENT = Identities0.IDENTITY_DEPARTMENT;
46-
public static final Identity<EmployeeRecord, Integer> IDENTITY_EMPLOYEE = Identities0.IDENTITY_EMPLOYEE;
47-
public static final Identity<ProjectRecord, Integer> IDENTITY_PROJECT = Identities0.IDENTITY_PROJECT;
48-
49-
// -------------------------------------------------------------------------
50-
// UNIQUE and PRIMARY KEY definitions
51-
// -------------------------------------------------------------------------
52-
53-
public static final UniqueKey<CompanyRecord> COMPANY_PKEY = UniqueKeys0.COMPANY_PKEY;
54-
public static final UniqueKey<DepartmentRecord> DEPARTMENT_PKEY = UniqueKeys0.DEPARTMENT_PKEY;
55-
public static final UniqueKey<EmployeeRecord> EMPLOYEE_PKEY = UniqueKeys0.EMPLOYEE_PKEY;
56-
public static final UniqueKey<ProjectRecord> PROJECT_PKEY = UniqueKeys0.PROJECT_PKEY;
57-
public static final UniqueKey<ProjectemployeeRecord> PROJECTEMPLOYEE_PKEY = UniqueKeys0.PROJECTEMPLOYEE_PKEY;
58-
59-
// -------------------------------------------------------------------------
60-
// FOREIGN KEY definitions
61-
// -------------------------------------------------------------------------
62-
63-
public static final ForeignKey<DepartmentRecord, CompanyRecord> DEPARTMENT__DEPARTMENT_COMPANY_PID_FKEY = ForeignKeys0.DEPARTMENT__DEPARTMENT_COMPANY_PID_FKEY;
64-
public static final ForeignKey<EmployeeRecord, DepartmentRecord> EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY = ForeignKeys0.EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY;
65-
public static final ForeignKey<ProjectemployeeRecord, ProjectRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_PROJECT_PID_FKEY = ForeignKeys0.PROJECTEMPLOYEE__PROJECTEMPLOYEE_PROJECT_PID_FKEY;
66-
public static final ForeignKey<ProjectemployeeRecord, EmployeeRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_EMPLOYEE_PID_FKEY = ForeignKeys0.PROJECTEMPLOYEE__PROJECTEMPLOYEE_EMPLOYEE_PID_FKEY;
67-
68-
// -------------------------------------------------------------------------
69-
// [#1459] distribute members to avoid static initialisers > 64kb
70-
// -------------------------------------------------------------------------
71-
72-
private static class Identities0 extends AbstractKeys {
73-
public static Identity<CompanyRecord, Integer> IDENTITY_COMPANY = createIdentity(Company.COMPANY, Company.COMPANY.PID);
74-
public static Identity<DepartmentRecord, Integer> IDENTITY_DEPARTMENT = createIdentity(Department.DEPARTMENT, Department.DEPARTMENT.PID);
75-
public static Identity<EmployeeRecord, Integer> IDENTITY_EMPLOYEE = createIdentity(Employee.EMPLOYEE, Employee.EMPLOYEE.PID);
76-
public static Identity<ProjectRecord, Integer> IDENTITY_PROJECT = createIdentity(Project.PROJECT, Project.PROJECT.PID);
77-
}
78-
79-
private static class UniqueKeys0 extends AbstractKeys {
80-
public static final UniqueKey<CompanyRecord> COMPANY_PKEY = createUniqueKey(Company.COMPANY, Company.COMPANY.PID);
81-
public static final UniqueKey<DepartmentRecord> DEPARTMENT_PKEY = createUniqueKey(Department.DEPARTMENT, Department.DEPARTMENT.PID);
82-
public static final UniqueKey<EmployeeRecord> EMPLOYEE_PKEY = createUniqueKey(Employee.EMPLOYEE, Employee.EMPLOYEE.PID);
83-
public static final UniqueKey<ProjectRecord> PROJECT_PKEY = createUniqueKey(Project.PROJECT, Project.PROJECT.PID);
84-
public static final UniqueKey<ProjectemployeeRecord> PROJECTEMPLOYEE_PKEY = createUniqueKey(Projectemployee.PROJECTEMPLOYEE, Projectemployee.PROJECTEMPLOYEE.PROJECT_PID, Projectemployee.PROJECTEMPLOYEE.EMPLOYEE_PID);
85-
}
86-
87-
private static class ForeignKeys0 extends AbstractKeys {
88-
public static final ForeignKey<DepartmentRecord, CompanyRecord> DEPARTMENT__DEPARTMENT_COMPANY_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.COMPANY_PKEY, Department.DEPARTMENT, Department.DEPARTMENT.COMPANY_PID);
89-
public static final ForeignKey<EmployeeRecord, DepartmentRecord> EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.DEPARTMENT_PKEY, Employee.EMPLOYEE, Employee.EMPLOYEE.DEPARTMENT_PID);
90-
public static final ForeignKey<ProjectemployeeRecord, ProjectRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_PROJECT_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.PROJECT_PKEY, Projectemployee.PROJECTEMPLOYEE, Projectemployee.PROJECTEMPLOYEE.PROJECT_PID);
91-
public static final ForeignKey<ProjectemployeeRecord, EmployeeRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_EMPLOYEE_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.EMPLOYEE_PKEY, Projectemployee.PROJECTEMPLOYEE, Projectemployee.PROJECTEMPLOYEE.EMPLOYEE_PID);
92-
}
28+
// -------------------------------------------------------------------------
29+
// IDENTITY definitions
30+
// -------------------------------------------------------------------------
31+
32+
public static final Identity<CompanyRecord, Integer> IDENTITY_COMPANY = Identities0.IDENTITY_COMPANY;
33+
public static final Identity<DepartmentRecord, Integer> IDENTITY_DEPARTMENT = Identities0.IDENTITY_DEPARTMENT;
34+
public static final Identity<EmployeeRecord, Integer> IDENTITY_EMPLOYEE = Identities0.IDENTITY_EMPLOYEE;
35+
public static final Identity<ProjectRecord, Integer> IDENTITY_PROJECT = Identities0.IDENTITY_PROJECT;
36+
37+
// -------------------------------------------------------------------------
38+
// UNIQUE and PRIMARY KEY definitions
39+
// -------------------------------------------------------------------------
40+
41+
public static final UniqueKey<CompanyRecord> COMPANY_PKEY = UniqueKeys0.COMPANY_PKEY;
42+
public static final UniqueKey<DepartmentRecord> DEPARTMENT_PKEY = UniqueKeys0.DEPARTMENT_PKEY;
43+
public static final UniqueKey<EmployeeRecord> EMPLOYEE_PKEY = UniqueKeys0.EMPLOYEE_PKEY;
44+
public static final UniqueKey<ProjectRecord> PROJECT_PKEY = UniqueKeys0.PROJECT_PKEY;
45+
public static final UniqueKey<ProjectemployeeRecord> PROJECTEMPLOYEE_PKEY = UniqueKeys0.PROJECTEMPLOYEE_PKEY;
46+
47+
// -------------------------------------------------------------------------
48+
// FOREIGN KEY definitions
49+
// -------------------------------------------------------------------------
50+
51+
public static final ForeignKey<DepartmentRecord, CompanyRecord> DEPARTMENT__DEPARTMENT_COMPANY_PID_FKEY = ForeignKeys0.DEPARTMENT__DEPARTMENT_COMPANY_PID_FKEY;
52+
public static final ForeignKey<EmployeeRecord, DepartmentRecord> EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY = ForeignKeys0.EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY;
53+
public static final ForeignKey<ProjectemployeeRecord, ProjectRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_PROJECT_PID_FKEY = ForeignKeys0.PROJECTEMPLOYEE__PROJECTEMPLOYEE_PROJECT_PID_FKEY;
54+
public static final ForeignKey<ProjectemployeeRecord, EmployeeRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_EMPLOYEE_PID_FKEY = ForeignKeys0.PROJECTEMPLOYEE__PROJECTEMPLOYEE_EMPLOYEE_PID_FKEY;
55+
56+
// -------------------------------------------------------------------------
57+
// [#1459] distribute members to avoid static initialisers > 64kb
58+
// -------------------------------------------------------------------------
59+
60+
private static class Identities0 extends AbstractKeys {
61+
public static Identity<CompanyRecord, Integer> IDENTITY_COMPANY = createIdentity(Company.COMPANY, Company.COMPANY.PID);
62+
public static Identity<DepartmentRecord, Integer> IDENTITY_DEPARTMENT = createIdentity(Department.DEPARTMENT, Department.DEPARTMENT.PID);
63+
public static Identity<EmployeeRecord, Integer> IDENTITY_EMPLOYEE = createIdentity(Employee.EMPLOYEE, Employee.EMPLOYEE.PID);
64+
public static Identity<ProjectRecord, Integer> IDENTITY_PROJECT = createIdentity(Project.PROJECT, Project.PROJECT.PID);
65+
}
66+
67+
private static class UniqueKeys0 extends AbstractKeys {
68+
public static final UniqueKey<CompanyRecord> COMPANY_PKEY = createUniqueKey(Company.COMPANY, "company_pkey", Company.COMPANY.PID);
69+
public static final UniqueKey<DepartmentRecord> DEPARTMENT_PKEY = createUniqueKey(Department.DEPARTMENT, "department_pkey", Department.DEPARTMENT.PID);
70+
public static final UniqueKey<EmployeeRecord> EMPLOYEE_PKEY = createUniqueKey(Employee.EMPLOYEE, "employee_pkey", Employee.EMPLOYEE.PID);
71+
public static final UniqueKey<ProjectRecord> PROJECT_PKEY = createUniqueKey(Project.PROJECT, "project_pkey", Project.PROJECT.PID);
72+
public static final UniqueKey<ProjectemployeeRecord> PROJECTEMPLOYEE_PKEY = createUniqueKey(Projectemployee.PROJECTEMPLOYEE, "projectemployee_pkey", Projectemployee.PROJECTEMPLOYEE.PROJECT_PID, Projectemployee.PROJECTEMPLOYEE.EMPLOYEE_PID);
73+
}
74+
75+
private static class ForeignKeys0 extends AbstractKeys {
76+
public static final ForeignKey<DepartmentRecord, CompanyRecord> DEPARTMENT__DEPARTMENT_COMPANY_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.COMPANY_PKEY, Department.DEPARTMENT, "department__department_company_pid_fkey", Department.DEPARTMENT.COMPANY_PID);
77+
public static final ForeignKey<EmployeeRecord, DepartmentRecord> EMPLOYEE__EMPLOYEE_DEPARTMENT_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.DEPARTMENT_PKEY, Employee.EMPLOYEE, "employee__employee_department_pid_fkey", Employee.EMPLOYEE.DEPARTMENT_PID);
78+
public static final ForeignKey<ProjectemployeeRecord, ProjectRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_PROJECT_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.PROJECT_PKEY, Projectemployee.PROJECTEMPLOYEE, "projectemployee__projectemployee_project_pid_fkey", Projectemployee.PROJECTEMPLOYEE.PROJECT_PID);
79+
public static final ForeignKey<ProjectemployeeRecord, EmployeeRecord> PROJECTEMPLOYEE__PROJECTEMPLOYEE_EMPLOYEE_PID_FKEY = createForeignKey(com.clevergang.dbtests.repository.impl.jooq.generated.Keys.EMPLOYEE_PKEY, Projectemployee.PROJECTEMPLOYEE, "projectemployee__projectemployee_employee_pid_fkey", Projectemployee.PROJECTEMPLOYEE.EMPLOYEE_PID);
80+
}
9381
}

0 commit comments

Comments
 (0)