Skip to content

Commit 53728cb

Browse files
authored
Merge branch 'main' into chore/431-fix-sonar
2 parents c45ebb7 + 3e86692 commit 53728cb

File tree

311 files changed

+2609
-1898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

311 files changed

+2609
-1898
lines changed

.github/workflows/check.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,31 @@ jobs:
2525
uses: actions/checkout@v4
2626

2727
- name: Gradle wrapper validation
28-
uses: gradle/wrapper-validation-action@v1
28+
uses: gradle/wrapper-validation-action@v2
2929

3030
- name: Set up JDK ${{ matrix.jdk }}
31-
uses: actions/setup-java@v3
31+
uses: actions/setup-java@v4
3232
with:
3333
distribution: 'zulu'
3434
java-version: ${{ matrix.jdk }}
3535

3636
- name: Cache SonarCloud packages
37-
uses: actions/cache@v3
37+
uses: actions/cache@v4
3838
with:
3939
path: ~/.sonar/cache
4040
key: ${{ runner.os }}-sonar
4141
restore-keys: ${{ runner.os }}-sonar
4242

4343
- name: Cache global .gradle folder
44-
uses: actions/cache@v3
44+
uses: actions/cache@v4
4545
with:
4646
path: ~/.gradle/caches
4747
key: global-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/*.kt*') }}-${{ hashFiles('**/*.java') }}
4848
restore-keys: |
4949
gradle-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
5050
5151
- name: Login to Docker Hub
52-
uses: docker/login-action@v3.0.0
52+
uses: docker/login-action@v3.1.0
5353
with:
5454
username: ${{ secrets.DOCKERHUB_USERNAME }}
5555
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -58,7 +58,7 @@ jobs:
5858
run: docker pull postgres:15.4
5959

6060
- name: Build
61-
uses: gradle/gradle-build-action@v2
61+
uses: gradle/gradle-build-action@v3
6262
with:
6363
arguments: |
6464
check
@@ -68,15 +68,15 @@ jobs:
6868
--continue
6969
7070
- name: Upload sarif file to GitHub
71-
uses: github/codeql-action/upload-sarif@v2
71+
uses: github/codeql-action/upload-sarif@v3
7272
if: success() || failure()
7373
with:
7474
sarif_file: build/detekt-merged.sarif
7575
category: detekt
7676

7777
- name: Upload failure artifacts
7878
if: failure()
79-
uses: actions/upload-artifact@v3
79+
uses: actions/upload-artifact@v4
8080
with:
8181
name: reports
8282
path: '**/build/reports'

.github/workflows/codeql.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,27 @@ jobs:
2727
uses: actions/checkout@v4
2828

2929
- name: Set up JDK 17
30-
uses: actions/setup-java@v3
30+
uses: actions/setup-java@v4
3131
with:
3232
distribution: 'zulu'
3333
java-version: 17
3434

3535
# Initializes the CodeQL tools for scanning.
3636
- name: Initialize CodeQL
37-
uses: github/codeql-action/init@v2
37+
uses: github/codeql-action/init@v3
3838
with:
3939
languages: ${{ matrix.language }}
4040

4141
- name: Cache global .gradle folder
42-
uses: actions/cache@v3
42+
uses: actions/cache@v4
4343
with:
4444
path: ~/.gradle/caches
4545
key: global-gradle-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/*.kt*') }}-${{ hashFiles('**/*.java') }}
4646
restore-keys: |
4747
gradle-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
4848
4949
- name: Login to Docker Hub
50-
uses: docker/login-action@v3.0.0
50+
uses: docker/login-action@v3.1.0
5151
with:
5252
username: ${{ secrets.DOCKERHUB_USERNAME }}
5353
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -56,12 +56,12 @@ jobs:
5656
run: docker pull postgres:15.4
5757

5858
- name: Build
59-
uses: gradle/gradle-build-action@v2
59+
uses: gradle/gradle-build-action@v3
6060
with:
6161
arguments: build
6262

6363
- name: Perform CodeQL Analysis
64-
uses: github/codeql-action/analyze@v2
64+
uses: github/codeql-action/analyze@v3
6565
with:
6666
category: "/language:${{matrix.language}}"
6767

CHANGELOG.adoc

+75-10
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ NOTE: References to user stories are in the form Iteration/Story-Number.
6767
[[unreleased]]
6868
== [unreleased]
6969

70-
{url-cl}1.8.11++...++main[Full Changelog]
70+
{url-cl}1.10.3++...++main[Full Changelog]
7171

7272
.Added
7373

@@ -85,6 +85,79 @@ NOTE: References to user stories are in the form Iteration/Story-Number.
8585
////
8686

8787

88+
89+
[[v1.10.3]]
90+
== {url-tree}1.10.3[1.10.3] -- 2024-02-04
91+
92+
{url-cl}1.10.2++...++1.10.3[Full Changelog]
93+
94+
.Changed
95+
- {url-issues}621[#621] Migrate from Bootsrap 4.x to 5.3
96+
- Bumped dependencies
97+
kotlin, spring-boot-admin-starter-client, guava, feign, spring-cloud-starter-openfeign,
98+
gradle, reckon,
99+
jaxb, detekt,
100+
unit5, mockk, testcontainers, equalsverifier,
101+
github actions gradle-build-action, gradle-wrapper-validation, cache, upload-artifact and codeql
102+
103+
104+
[[v1.10.2]]
105+
== {url-tree}1.10.2[1.10.2] -- 2023-12-08
106+
107+
{url-cl}1.10.0++...++1.10.2[Full Changelog]
108+
109+
.Changed
110+
- Bumped dependency
111+
kotlin,
112+
spring boot,
113+
wicket, wicketstuff, feign, spring-boot-admin-starter-client, jasperreports,
114+
testcontainers-java monorepo, equalsverifier,
115+
gradle, detektplugin, jaxb gradle plugin,
116+
setup-java action
117+
- {url-issues}620[#620] Reverted (Data Migration: Update Abstract of old Studies with PM_ID)
118+
119+
120+
[[v1.10.1]]
121+
== {url-tree}1.10.1[1.10.1] -- 2023-12-07
122+
123+
{url-cl}1.10.0++...++1.10.2[Full Changelog]
124+
125+
.Changed
126+
- {url-issues}620[#620] Data Migration: Update Abstract of old Studies with PM_ID
127+
128+
129+
[[v1.10.0]]
130+
== {url-tree}1.10.0[1.10.0] -- 2023-11-14
131+
132+
{url-cl}1.9.0++...++1.10.0[Full Changelog]
133+
134+
.Added
135+
- {url-issues}604[#604] New (internal) Reference Abstract Report
136+
.Changed
137+
- {url-issues}338[#338] Migrate from Bootsrap 3.4 to 4.0
138+
- Bumped dependency
139+
kotlin,
140+
spring-boot, spring-dependency-management, spring-boot-admin, feign, flyway, lombok,
141+
junit5, kotest, equalsverifier,
142+
detekt, reckon
143+
144+
145+
[[v1.9.0]]
146+
== {url-tree}1.9.0[1.9.0] -- 2023-10-08
147+
148+
{url-cl}1.8.11++...++1.9.0[Full Changelog]
149+
150+
.Changed
151+
- Bumped dependency
152+
postgresql, kris,
153+
gradle,
154+
sonarqube,
155+
setup-java-action
156+
157+
.Removed
158+
- Removed java platform 11 compatibility: Require minimum java platform 17.
159+
160+
88161
[[v1.8.11]]
89162
== {url-tree}1.8.11[1.8.11] -- 2023-09-03
90163

@@ -100,14 +173,6 @@ NOTE: References to user stories are in the form Iteration/Story-Number.
100173
- Bumped gradle, sonarqube plugin, detekt
101174
- Bumped checkout action, docker login action
102175

103-
.Deprecated
104-
105-
.Removed
106-
107-
.Fixed
108-
109-
.Security
110-
111176

112177
[[v1.8.10]]
113178
== {url-tree}1.8.10[1.8.10] -- 2023-06-25
@@ -182,7 +247,7 @@ NOTE: References to user stories are in the form Iteration/Story-Number.
182247
- kotest
183248

184249
.Changed
185-
- Bumped kotlin, sprign-boot, wicket, wicketstuff, wicket-spring-boot-starter, spring-boot-admin-starter-client, flyway, lombok, kris
250+
- Bumped kotlin, spring-boot, wicket, wicketstuff, wicket-spring-boot-starter, spring-boot-admin-starter-client, flyway, lombok, kris
186251
spring-dependency-management, spring-cloud-starter-openfeign, feign, kotlin-loggin,
187252
mockk, spring-mockk, kluent, equalsverifier, junit5, kotest, testcontainers,
188253
gradle, sonarqube-plugin, detekt,

build.gradle.kts

+9-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ plugins {
3434
}
3535

3636
extra["spring.cloudVersion"] = libs.versions.springCloud.get()
37-
extra["jooq.version"] = libs.versions.jooq.get()
38-
extra["flyway.version"] = libs.versions.flyway.get()
3937

4038
dependencyManagement {
4139
imports {
@@ -53,6 +51,15 @@ val generatedPackages: Set<String> = setOf(
5351
"**/ch/difty/scipamato/publ/db/**"
5452
)
5553

54+
testing {
55+
suites {
56+
@Suppress("UnstableApiUsage")
57+
val test by getting(JvmTestSuite::class) {
58+
useJUnitJupiter()
59+
}
60+
}
61+
}
62+
5663
jacoco {
5764
toolVersion = libs.versions.jacoco.get()
5865
}

common/common-persistence-jooq/src/test/kotlin/ch/difty/scipamato/common/persistence/SortMapperTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ internal class SortMapperTest {
9191

9292
invoking { mapperSpy.map(sortSpecMock, tableMock) } shouldThrow
9393
InvalidDataAccessApiUsageException::class withMessage
94-
"Could not find table field: inexistentField; nested exception is java.lang.NoSuchFieldException"
94+
"Could not find table field: inexistentField"
9595

9696
verify { sortSpecMock.iterator() }
9797
verify { mapperSpy.getTableFieldFor(tableMock, "INEXISTENT_FIELD") }
@@ -105,7 +105,7 @@ internal class SortMapperTest {
105105

106106
invoking { mapperSpy.map(sortSpecMock, tableMock) } shouldThrow
107107
InvalidDataAccessApiUsageException::class withMessage
108-
"Could not find table field: illegalField; nested exception is java.lang.IllegalAccessException"
108+
"Could not find table field: illegalField"
109109

110110
verify { sortSpecMock.iterator() }
111111
verify { mapperSpy.getTableFieldFor(tableMock, "ILLEGAL_FIELD") }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
kotest.framework.classpath.scanning.config.disable=true
2+
kotest.framework.classpath.scanning.autoscan.disable=true

common/common-wicket/build.gradle.kts

+4-5
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,13 @@ dependencies {
4545
api(libs.wicket.spring)
4646
api(libs.wicket.authroles)
4747
api(libs.wicket.beanvalidation)
48+
api(libs.hibernate.validator)
4849
api(libs.wicket.devutils)
50+
api(libs.wicket.tester)
4951
api(libs.wicketstuff.annotation)
5052
api(libs.wicketBootstrap.core)
5153
api(libs.wicketBootstrap.extensions)
52-
api(libs.wicketBootstrap.less){
53-
exclude("commons-collections", "commons-collections")
54-
exclude("commons-logging", "commons-logging")
55-
}
54+
api(libs.wicketBootstrap.sass)
5655
api(libs.wicketBootstrap.themes)
5756
api(libs.fontAwesome)
5857

@@ -64,6 +63,6 @@ dependencies {
6463
testImplementation(libs.lombok)
6564
testAnnotationProcessor(libs.lombok)
6665

67-
testImplementation(libs.javax.servletApi)
66+
testImplementation(libs.jakarta.servletApi)
6867
testImplementation(libs.validationApi)
6968
}

common/common-wicket/src/main/kotlin/ch/difty/scipamato/common/web/AbstractPage.kt

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.button.BootstrapAjaxButt
77
import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons
88
import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
99
import de.agilecoders.wicket.core.markup.html.bootstrap.navbar.Navbar
10+
import de.agilecoders.wicket.core.markup.html.bootstrap.utilities.BackgroundColorBehavior
1011
import org.apache.wicket.ajax.AjaxRequestTarget
1112
import org.apache.wicket.authroles.authentication.AuthenticatedWebSession
1213
import org.apache.wicket.bean.validation.PropertyValidator
@@ -26,7 +27,7 @@ import org.apache.wicket.request.mapper.parameter.PageParameters
2627
import org.apache.wicket.settings.DebugSettings
2728
import org.apache.wicket.spring.injection.annot.SpringBean
2829

29-
@Suppress("SameParameterValue", "TooManyFunctions")
30+
@Suppress("SameParameterValue", "TooManyFunctions", "serial")
3031
abstract class AbstractPage<T> : GenericWebPage<T> {
3132

3233
@SpringBean
@@ -120,10 +121,9 @@ abstract class AbstractPage<T> : GenericWebPage<T> {
120121
isVisible = isNavbarVisible
121122
}
122123
}.apply {
123-
fluid()
124-
position = Navbar.Position.STATIC_TOP
125124
setBrandName(Model.of(getBrandName(properties.brand)))
126125
setInverted(true)
126+
setBackgroundColor(BackgroundColorBehavior.Color.Primary)
127127
}.also {
128128
addLinksTo(it)
129129
}
@@ -165,6 +165,7 @@ abstract class AbstractPage<T> : GenericWebPage<T> {
165165
super.onConfigure()
166166
isEnabled = setResponsePageButtonEnabled()
167167
}
168+
168169
}
169170

170171
/**

common/common-wicket/src/main/kotlin/ch/difty/scipamato/common/web/pages/AbstractMenuBuilder.kt

+14-3
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ import org.apache.wicket.markup.html.link.AbstractLink
1818
import org.apache.wicket.model.Model
1919
import org.apache.wicket.model.StringResourceModel
2020
import org.apache.wicket.request.mapper.parameter.PageParameters
21-
import java.util.ArrayList
2221

2322
abstract class AbstractMenuBuilder protected constructor(
2423
val applicationProperties: ApplicationProperties,
2524
private val webSessionFacade: ScipamatoWebSessionFacade,
2625
) : MenuBuilder {
2726

27+
@Suppress("LongParameterList")
2828
fun <P : Page> addPageLink(
2929
navbar: Navbar,
3030
menuPage: Page,
@@ -68,11 +68,17 @@ abstract class AbstractMenuBuilder protected constructor(
6868
StringResourceModel("menu.$labelResource", page, null),
6969
Model.of(iconType)
7070
) {
71-
override fun newSubMenuButtons(buttonMarkupId: String) = ArrayList<AbstractLink>().apply { action.accept(this) }
71+
@java.io.Serial
72+
private val serialVersionUID: Long = 1L
73+
74+
override fun newSubMenuButtons(buttonMarkupId: String) = ArrayList<AbstractLink>().apply {
75+
action.accept(this)
76+
}
7277
}
7378
))
7479
}
7580

81+
@Suppress("LongParameterList")
7682
@JvmOverloads
7783
fun <P : AbstractPage<*>?> addEntryToMenu(
7884
label: String,
@@ -93,12 +99,17 @@ abstract class AbstractMenuBuilder protected constructor(
9399
val versionAnker: String
94100
get() {
95101
val buildVersion = applicationProperties.buildVersion
96-
return if (buildVersion == null || buildVersion.isEmpty()) ""
102+
return if (buildVersion.isNullOrEmpty()) ""
97103
else "#" + if (buildVersion.endsWith("SNAPSHOT")) "unreleased" else "v$buildVersion"
98104
}
99105

100106
val versionLink: String
101107
get() = "version ${applicationProperties.buildVersion}"
102108

103109
fun hasOneOfRoles(vararg roles: String): Boolean = webSessionFacade.hasAtLeastOneRoleOutOf(*roles)
110+
111+
companion object {
112+
@java.io.Serial
113+
private val serialVersionUID: Long = 1L
114+
}
104115
}

common/common-wicket/src/main/kotlin/ch/difty/scipamato/common/web/pages/login/AbstractLoginPage.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ <h2 class="form-signin-heading" wicket:id="header">Please sign in</h2>
3232
<div class="row">
3333
<div class="col-sm-4 col-md-5"></div>
3434
<div class="col-sm-4 col-md-2">
35-
<button type="submit" wicket:id="signin" class="btn btn-lg btn-primary btn-block"></button>
35+
<button type="submit" wicket:id="signin" class="btn-lg btn-block"></button>
3636
</div>
3737
<div class="col-sm-4 col-md-5"></div>
3838
</div>

0 commit comments

Comments
 (0)