diff --git a/domiSMP-ui-tests/pom.xml b/domiSMP-ui-tests/pom.xml index 2eee64d7cc37185f29d6b7e3e50294c8b35511cd..42996b2de32360cf1cced994aba6ae4f8a173625 100644 --- a/domiSMP-ui-tests/pom.xml +++ b/domiSMP-ui-tests/pom.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> diff --git a/pom.xml b/pom.xml index 8bb8965aa489da966796ae5fd3e77ee1dbe14701..66d48b55d83ce33bd75dbe634df22f91c44c7088 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>eu.europa.ec.edelivery</groupId> <artifactId>smp-modules</artifactId> @@ -113,8 +113,6 @@ <!-- plugins --> <plugin.frontend-maven-plugin.version>1.15.0</plugin.frontend-maven-plugin.version> <plugin.exec-maven-plugin.version>1.6.0</plugin.exec-maven-plugin.version> - <surefire.jvm.args></surefire.jvm.args> - <failsafe.jvm.args></failsafe.jvm.args> <sonar.jacoco.remotePort>${jacocoRemotePort}</sonar.jacoco.remotePort> <sonar.jacoco.remoteAddress>${jacocoRemoteAddress}</sonar.jacoco.remoteAddress> @@ -778,6 +776,10 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> + <systemPropertyVariables> + <!-- build directory for test logging --> + <buildDirectory>${project.build.directory}</buildDirectory> + </systemPropertyVariables> <!-- make sure methods are always run in same order --> <runOrder>alphabetical</runOrder> <argLine>-ea ${argLine}</argLine> @@ -787,6 +789,11 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <configuration> + <systemPropertyVariables> + <!-- build directory for test logging --> + <buildDirectory>${project.build.directory}</buildDirectory> + </systemPropertyVariables> + <!-- ... fool Sonar to show test success for both unit and integration tests together by instructing Failsafe to store its test reports to the same directory as Surefire instead of the default failsafe-reports. diff --git a/smp-aggregator/pom.xml b/smp-aggregator/pom.xml index 003ce3bbf88a6c3ff22023f927efd59c00d0e26d..cccf769a7c14fa3c097d4b1c6c3e355602ed8824 100644 --- a/smp-aggregator/pom.xml +++ b/smp-aggregator/pom.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>smp-modules</artifactId> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-angular/pom.xml b/smp-angular/pom.xml index 1949c6bb05ad914de95f19f08a78cce8e8b77372..8cb7d2dfc07869ec673868221d6d8ac512709408 100644 --- a/smp-angular/pom.xml +++ b/smp-angular/pom.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.html b/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.html index 5dda43cc757c73861c63cb18c2e60a0c449e5406..66d31eb2d9dd05fd29e5abf676c725cc02604694 100644 --- a/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.html +++ b/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.html @@ -7,5 +7,6 @@ 'alert-error': type === 'error'}" > <mat-icon *ngIf="icon" style="width:50px">{{icon}}</mat-icon> - <span>{{label}}</span> + <span *ngIf="label">{{label}}</span> + <span *ngIf="htmlContent" [innerHTML]="htmlContent"></span> </div> diff --git a/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.ts b/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.ts index 7ca12d58545fe0f7b6c89601189ac3bdb2ce00e3..f125e8d5d25df773d3680d9f0617f82758f7f8e1 100644 --- a/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.ts +++ b/smp-angular/src/app/common/components/smp-warning-panel/smp-warning-panel.component.ts @@ -1,13 +1,13 @@ -import { Component, Input } from '@angular/core'; +import {Component, Input} from '@angular/core'; @Component({ selector: 'smp-warning-panel', templateUrl: './smp-warning-panel.component.html', }) export class SmpWarningPanelComponent { - @Input() padding:boolean = true; - @Input() label:string; - @Input() icon:string; - @Input() type:string = 'warning'; - + @Input() padding: boolean = true; + @Input() label: string; + @Input() htmlContent: string; + @Input() icon: string; + @Input() type: string = 'warning'; } diff --git a/smp-angular/src/app/common/model/domain-ro.model.ts b/smp-angular/src/app/common/model/domain-ro.model.ts index 1b9aa54f7e611c87d6cd5696cb74b233892b734c..7cf3d30bb1dd30bc37160fe97b34707e89f458a9 100644 --- a/smp-angular/src/app/common/model/domain-ro.model.ts +++ b/smp-angular/src/app/common/model/domain-ro.model.ts @@ -14,5 +14,6 @@ export interface DomainRo extends SearchTableEntity { visibility?:VisibilityEnum; defaultResourceTypeIdentifier?:string; resourceDefinitions?: string[] + adminMemberCount?: number; } diff --git a/smp-angular/src/app/common/panels/membership-panel/membership-panel.component.ts b/smp-angular/src/app/common/panels/membership-panel/membership-panel.component.ts index 22d1e838467381551bcf290515b6eb903de51ab1..a7fb063d95ca6fe5f0b59f52eaf43ca1bc1ae3da 100644 --- a/smp-angular/src/app/common/panels/membership-panel/membership-panel.component.ts +++ b/smp-angular/src/app/common/panels/membership-panel/membership-panel.component.ts @@ -67,6 +67,10 @@ export class MembershipPanelComponent implements BeforeLeaveGuard { return this._domain; } + public get membershipCount(): number { + return this.resultsLength; + } + @Input() set domain(value: DomainRo) { this._domain = value; if (!!value) { diff --git a/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.html b/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.html index 00847e1344d5115b09574cb407f573910bf09fe8..9d9a25deb02c8f2eec7f14abad43f29ba67e98d8 100644 --- a/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.html +++ b/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.html @@ -91,9 +91,8 @@ <tr class="mat-row" *matNoDataRow> - <td *ngIf="inputDomainFilter.value;else noDataFound" class="mat-cell" colspan="2">No data matching the filter - "{{inputDomainFilter.value}}" - </td> + <td *ngIf="inputDomainFilter.value;else noDataFound" class="mat-cell" colspan="2" + >No data matching the filter "{{inputDomainFilter.value}}"</td> <ng-template #noDataFound> <td class="mat-cell" colspan="2">No data</td> </ng-template> diff --git a/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.ts b/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.ts index e061a73a465d980e6dad35c41ed277ba1c89f45d..50e33b37674887ab8cb5b043b7910ee7110639d7 100644 --- a/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.ts +++ b/smp-angular/src/app/system-settings/admin-domain/admin-domain.component.ts @@ -108,7 +108,7 @@ export class AdminDomainComponent implements OnInit, OnDestroy, AfterViewInit, B ngAfterViewInit() { this.dataSource.paginator = this.paginator; this.dataSource.sort = this.sort; - // currenctly MatTab has only onTabChanged which is a bit to late. Register new listener to internal + // currently MatTab has only onTabChanged which is a bit to late. Register new listener to internal // _handleClick handler this.registerTabClick(); } @@ -272,7 +272,6 @@ export class AdminDomainComponent implements OnInit, OnDestroy, AfterViewInit, B this.registerTabClick(); } - if (this.selected == domainSelected) { return; } @@ -286,8 +285,6 @@ export class AdminDomainComponent implements OnInit, OnDestroy, AfterViewInit, B } }); } else { - console.log("domain selected") - this.selected = domainSelected; } } diff --git a/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.html b/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.html index a3ef8b7c4573a196bd5646f74a119ff1bd34ab58..b72db1151091c0f661fe995013c17c04de6deaf1 100644 --- a/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.html +++ b/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.html @@ -5,9 +5,9 @@ <smp-warning-panel *ngIf="showWarning" icon="warning" type="warning" - [label]="showWarningMessage"></smp-warning-panel> + [htmlContent]="showWarningMessage"></smp-warning-panel> <mat-form-field style="width:100%"> - <mat-label>Domain Code</mat-label> + <mat-label>Domain Code [{{domainForm.controls['adminMemberCount'].value}}]</mat-label> <input matInput id="domainCode_id" #domainCode matTooltip="The SMP's domain code. The code must be unique and is used in HTTP header 'Domain' or URL path sequence when retrieving/creating the resource using the webservice API" diff --git a/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.ts b/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.ts index 2681acdd1b2e1216e1cccbeeda960f550d16358c..8eb5f56d15b0096f6197713892f21992721f4eeb 100644 --- a/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.ts +++ b/smp-angular/src/app/system-settings/admin-domain/domain-panel/domain-panel.component.ts @@ -86,6 +86,7 @@ export class DomainPanelComponent implements BeforeLeaveGuard { 'domainCode': new FormControl({value: '', readonly: true}, [Validators.pattern(this.domainCodePattern), this.notInList(this.currentDomains?.map(a => a.domainCode), this._domain?.domainCode)]), 'signatureKeyAlias': new FormControl({value: '', readonly: true}), + 'adminMemberCount': new FormControl({value: '', readonly: true}), 'visibility': new FormControl({value: '', readonly: true}), 'defaultResourceTypeIdentifier': new FormControl({value: '', disabled: this.isNewDomain()}), }); @@ -106,6 +107,7 @@ export class DomainPanelComponent implements BeforeLeaveGuard { if (!!value) { this.domainForm.controls['domainCode'].setValue(this._domain.domainCode); this.domainForm.controls['signatureKeyAlias'].setValue(this._domain.signatureKeyAlias); + this.domainForm.controls['adminMemberCount'].setValue(this._domain.adminMemberCount); this.domainForm.controls['visibility'].setValue(this._domain.visibility); this.domainForm.controls['defaultResourceTypeIdentifier'].setValue(this._domain.defaultResourceTypeIdentifier); this.domainForm.enable(); @@ -115,6 +117,7 @@ export class DomainPanelComponent implements BeforeLeaveGuard { } else { this.domainForm.controls['domainCode'].setValue(""); this.domainForm.controls['signatureKeyAlias'].setValue(""); + this.domainForm.controls['adminMemberCount'].setValue("0"); this.domainForm.controls['visibility'].setValue(VisibilityEnum.Public); this.domainForm.controls['defaultResourceTypeIdentifier'].setValue(""); this.domainForm.disable(); @@ -137,12 +140,26 @@ export class DomainPanelComponent implements BeforeLeaveGuard { return this.domiSMPResourceDefinitions.filter(resType => this._domain.resourceDefinitions.includes(resType.identifier)) } - get showWarning(){ - return !!this._domain?.domainId && !this.domainResourceTypes?.length + get showWarning() { + return !!this._domain?.domainId && (!this.domainResourceTypes?.length + || !this._domain.signatureKeyAlias + || !this._domain.adminMemberCount + || this._domain.adminMemberCount < 1) } - get showWarningMessage(){ - return "To complete domain configuration, please select at least one resource type from the Resource Types tab"; + get showWarningMessage() { + let message = "To complete domain configuration, please: <ul>"; + if (!this._domain.signatureKeyAlias) { + message += "<li>select the signature key to be used for signing the domain's responses!</li>"; + } + if (!this.domainResourceTypes?.length) { + message += "<li>select at least one resource type from the Resource Types tab</li>"; + } + if (!this._domain.adminMemberCount || this._domain.adminMemberCount < 1) { + message += "<li>add a domain member with 'ADMIN' role from the Members tab!</li>"; + } + message += "</ul>"; + return message; } get submitButtonEnabled(): boolean { diff --git a/smp-docker/pom.xml b/smp-docker/pom.xml index 69069e46af0a95e389effd8b480734a00eb2f827..1bfbf0720914b0aa2a0f4ff5a72b65106ee70a43 100644 --- a/smp-docker/pom.xml +++ b/smp-docker/pom.xml @@ -2,7 +2,7 @@ <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> diff --git a/smp-examples/pom.xml b/smp-examples/pom.xml index 780759819e1fa7f3a1fb23022c963ff59dcdbfd6..c6431f1728797e1cd904d4e7ae49239fdf0d7b37 100644 --- a/smp-examples/pom.xml +++ b/smp-examples/pom.xml @@ -12,7 +12,7 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-examples/resource-spi-example/pom.xml b/smp-examples/resource-spi-example/pom.xml index 17428cf461538b472cf571a364b0e1d70274a9bd..c600081f87c6f7c22ea0d80926d0f39269bcdf00 100644 --- a/smp-examples/resource-spi-example/pom.xml +++ b/smp-examples/resource-spi-example/pom.xml @@ -12,7 +12,7 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-examples/smp-spi-payload-validation-example/pom.xml b/smp-examples/smp-spi-payload-validation-example/pom.xml index 74039b668aef3b9e4498ae42925373fef2d9a5b1..16b0396b160610da359f7214871bc69eeb77444f 100644 --- a/smp-examples/smp-spi-payload-validation-example/pom.xml +++ b/smp-examples/smp-spi-payload-validation-example/pom.xml @@ -12,7 +12,7 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-resource-extensions/oasis-cppa3-spi/pom.xml b/smp-resource-extensions/oasis-cppa3-spi/pom.xml index 3312dbb6ecedc00a8840c26f78cbf778f4f29b06..8a4bceac566e2513830dccc64e2849ceae0a2b71 100644 --- a/smp-resource-extensions/oasis-cppa3-spi/pom.xml +++ b/smp-resource-extensions/oasis-cppa3-spi/pom.xml @@ -12,7 +12,7 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-resource-extensions/oasis-smp-spi/pom.xml b/smp-resource-extensions/oasis-smp-spi/pom.xml index e8d6d2e99efb6089e09a06156142236e0279e327..e04e24e48c14761807f9b5cfa2f81ad65c36eb45 100644 --- a/smp-resource-extensions/oasis-smp-spi/pom.xml +++ b/smp-resource-extensions/oasis-smp-spi/pom.xml @@ -12,7 +12,7 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-resource-extensions/pom.xml b/smp-resource-extensions/pom.xml index 5a033ef10ab0bfd9f886c82dcc052bc68c7df763..3fefd1b618de03926452458dc2e45596a912b5bc 100644 --- a/smp-resource-extensions/pom.xml +++ b/smp-resource-extensions/pom.xml @@ -13,7 +13,7 @@ --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-server-library/pom.xml b/smp-server-library/pom.xml index a9c89d531c123295944000407a93cdd21b3b9bde..59a9b583d9effe34e32ea465b25779752c09ceae 100644 --- a/smp-server-library/pom.xml +++ b/smp-server-library/pom.xml @@ -11,7 +11,8 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> @@ -252,41 +253,35 @@ <build> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <runOrder>alphabetical</runOrder> - </configuration> - </plugin> - <plugin> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <id>generate-ddl</id> - <phase>process-classes</phase> - <goals> - <goal>run</goal> - </goals> - <configuration> - <target> - <!-- ANT Task definition - Class generates ddl scripts - 1. Parameter: comma separated hibernate database dialects - 2. script version - 3. export scripts.--> - <java classname="eu.europa.ec.edelivery.smp.data.dao.utils.SMPSchemaGenerator" fork="true" failonerror="true"> - <arg value="org.hibernate.dialect.MySQL5InnoDBDialect,org.hibernate.dialect.Oracle10gDialect" /> - <arg value="${project.version}" /> - <arg value="${project.basedir}/../smp-webapp/src/main/smp-setup/database-scripts" /> - <!-- reference to the passed-in classpath reference --> - <classpath refid="maven.compile.classpath" /> - </java> - </target> - </configuration> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>generate-ddl</id> + <phase>process-classes</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target> + <!-- ANT Task definition + Class generates ddl scripts + 1. Parameter: comma separated hibernate database dialects + 2. script version + 3. export scripts.--> + <java classname="eu.europa.ec.edelivery.smp.data.dao.utils.SMPSchemaGenerator" + fork="true" failonerror="true"> + <arg value="org.hibernate.dialect.MySQL5InnoDBDialect,org.hibernate.dialect.Oracle10gDialect"/> + <arg value="${project.version}"/> + <arg value="${project.basedir}/../smp-webapp/src/main/smp-setup/database-scripts"/> + <!-- reference to the passed-in classpath reference --> + <classpath refid="maven.compile.classpath"/> + </java> + </target> + </configuration> - </execution> - </executions> - </plugin> + </execution> + </executions> + </plugin> </plugins> </build> </project> diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBDomainToDomainROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBDomainToDomainROConverter.java index 035fdf5d0cbc968e79735b64a63c16acbbc2a491..988ce676603a7c9ed93ad6ef1a08f93cbc273e1f 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBDomainToDomainROConverter.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBDomainToDomainROConverter.java @@ -1,5 +1,7 @@ package eu.europa.ec.edelivery.smp.conversion; +import eu.europa.ec.edelivery.smp.data.dao.DomainMemberDao; +import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType; import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.data.ui.DomainRO; import eu.europa.ec.edelivery.smp.logging.SMPLogger; @@ -15,18 +17,30 @@ import java.util.stream.Collectors; /** + * Converter for domain DAO entity {@link DBDomain} to enriched webservice object {@link DomainRO}. * + * @author Joze Rihtarsic + * @since 5.0 */ @Component public class DBDomainToDomainROConverter implements Converter<DBDomain, DomainRO> { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(DBDomainToDomainROConverter.class); + private final DomainMemberDao domainMemberDao; + + public DBDomainToDomainROConverter(DomainMemberDao domainMemberDao) { + this.domainMemberDao = domainMemberDao; + } + @Override public DomainRO convert(DBDomain source) { DomainRO target = new DomainRO(); try { BeanUtils.copyProperties(target, source); + Long memberCount = domainMemberDao.getDomainMemberCount(source.getId(), null, MembershipRoleType.ADMIN); + target.setAdminMemberCount(memberCount); + List<String> domainDocuments = source.getDomainResourceDefs().stream().map(dbDomainResourceDef -> dbDomainResourceDef.getResourceDef().getIdentifier()).collect(Collectors.toList()); target.getResourceDefinitions().addAll(domainDocuments); target.setDomainId(SessionSecurityUtils.encryptedEntityId(source.getId())); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java index 208bd22e4e580723bd023c931c758e569a692802..0a42720c2f65d4c3b7ad0c0c33fa7e87914de5f8 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java @@ -31,6 +31,7 @@ import java.util.Optional; import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.DOMAIN_NOT_EXISTS; import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.ILLEGAL_STATE_DOMAIN_MULTIPLE_ENTRY; +import static eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType.toList; /** * @author gutowpa @@ -175,11 +176,6 @@ public class DomainDao extends BaseDao<DBDomain> { return query.getResultList(); } - public List<MembershipRoleType> toList(MembershipRoleType ... roleTypes){ - return Arrays.asList(roleTypes ==null || roleTypes.length==0 ?MembershipRoleType.values(): roleTypes); - } - - /** * Check if domain for domain code exists. If not SMPRuntimeException with DOMAIN_NOT_EXISTS is thrown. * If code is null or blank - then null is returned. diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainMemberDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainMemberDao.java index 10d33b66845bf8e38223b6441520d2eaa33ba650..063d74e538c4605f0d353b0d7acebb4d87582153 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainMemberDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainMemberDao.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.stream.Collectors; import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; +import static eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType.toList; /** * @author Joze Rihtarsic @@ -92,10 +93,11 @@ public class DomainMemberDao extends BaseDao<DBDomainMember> { return query.getResultList(); } - public Long getDomainMemberCount(Long domainId, String filter) { + public Long getDomainMemberCount(Long domainId, String filter, MembershipRoleType ... roleTypes) { boolean hasFilter = StringUtils.isNotBlank(filter); TypedQuery<Long> query = memEManager.createNamedQuery(hasFilter ? QUERY_DOMAIN_MEMBERS_FILTER_COUNT : QUERY_DOMAIN_MEMBERS_COUNT, Long.class); query.setParameter(PARAM_DOMAIN_ID, domainId); + query.setParameter(PARAM_MEMBERSHIP_ROLES, toList(roleTypes)); if (hasFilter) { query.setParameter(PARAM_USER_FILTER, StringUtils.wrapIfMissing(StringUtils.trim(filter),"%" )); } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/enums/MembershipRoleType.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/enums/MembershipRoleType.java index 20a5b057525d318f72011ff78e2a513666afb618..aa6d8838d56e39993001ec196c4454d32b445892 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/enums/MembershipRoleType.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/enums/MembershipRoleType.java @@ -1,6 +1,30 @@ package eu.europa.ec.edelivery.smp.data.enums; +import java.util.Arrays; +import java.util.List; + +/** + * Enum for membership role types. At the moment there are two types of roles: + * <ul> + * <li>VIEWER - user is the readonly member of the the domain.</li> + * <li>ADMIN - user is administrator of the domain and can view and edit the domain data.</li> + * </ul> + * + * @author Joze Rihtarsic + * @since 5.0 + */ public enum MembershipRoleType { VIEWER, - ADMIN + ADMIN; + + /** + * Method to convert MembershipRoleType to List<MembershipRoleType>. if roleTypes is null or empty, + * all values are returned as list + * + * @param roleTypes - list of role types + * @return list of role types + */ + public static List<MembershipRoleType> toList(MembershipRoleType... roleTypes) { + return Arrays.asList(roleTypes == null || roleTypes.length == 0 ? values() : roleTypes); + } } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/user/DBDomainMember.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/user/DBDomainMember.java index 9967e2572dd66e5091b945e0283607c5ab5f5a58..7524553c97f12223a5aa743c262a0131827bd3fe 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/user/DBDomainMember.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/user/DBDomainMember.java @@ -30,13 +30,18 @@ import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; @NamedQuery(name = QUERY_DOMAIN_MEMBER_BY_USER_DOMAINS, query = "SELECT c FROM DBDomainMember c " + "WHERE c.user.id = :user_id and c.domain.id in (:domain_ids)") @NamedQuery(name = QUERY_DOMAIN_MEMBERS_COUNT, query = "SELECT count(c) FROM DBDomainMember c " + - " WHERE c.domain.id = :domain_id") + " WHERE c.domain.id = :domain_id AND c.role in (:membership_roles)") @NamedQuery(name = QUERY_DOMAIN_MEMBERS, query = "SELECT c FROM DBDomainMember c " + " WHERE c.domain.id = :domain_id order by c.user.username") @NamedQuery(name = QUERY_DOMAIN_MEMBERS_FILTER_COUNT, query = "SELECT count(c) FROM DBDomainMember c " + - " WHERE c.domain.id = :domain_id AND (lower(c.user.fullName) like lower(:user_filter) OR lower(c.user.username) like lower(:user_filter))") + " WHERE c.domain.id = :domain_id " + + " AND c.role in (:membership_roles)" + + " AND (lower(c.user.fullName) like lower(:user_filter) " + + " OR lower(c.user.username) like lower(:user_filter))") @NamedQuery(name = QUERY_DOMAIN_MEMBERS_FILTER, query = "SELECT c FROM DBDomainMember c " + - " WHERE c.domain.id = :domain_id AND (lower(c.user.fullName) like lower(:user_filter) OR lower(c.user.username) like lower(:user_filter)) order by c.user.username") + " WHERE c.domain.id = :domain_id " + + " AND (lower(c.user.fullName) like lower(:user_filter) " + + " OR lower(c.user.username) like lower(:user_filter)) order by c.user.username") public class DBDomainMember extends BaseEntity { @Id diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java index be5ed1676aadb5d5c3fd32280a1c2756852c7c06..36eea8201d4ba908ba9a70df0042d0b3b472e325 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java @@ -27,6 +27,7 @@ public class DomainRO extends BaseRO { private String defaultResourceTypeIdentifier; private final List<GroupRO> groups = new ArrayList<>(); private final List<String> resourceDefinitions = new ArrayList<>(); + private long adminMemberCount = -1; public String getDomainId() { return domainId; @@ -115,4 +116,12 @@ public class DomainRO extends BaseRO { public List<String> getResourceDefinitions() { return resourceDefinitions; } + + public long getAdminMemberCount() { + return adminMemberCount; + } + + public void setAdminMemberCount(long adminMemberCount) { + this.adminMemberCount = adminMemberCount; + } } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java index 6e26f1a3aa210d803f082467d6c5a1636b335293..dfeedd4145373f471a2b0dec078ac8b595001bbd 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java @@ -1,7 +1,5 @@ package eu.europa.ec.edelivery.smp.services.ui; -import eu.europa.ec.edelivery.security.utils.KeystoreUtils; -import eu.europa.ec.edelivery.security.utils.X509CertificateUtils; import eu.europa.ec.edelivery.smp.data.dao.UserDao; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.data.ui.CertificateRO; @@ -13,7 +11,6 @@ import org.apache.commons.io.FileUtils; import org.hamcrest.MatcherAssert; import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.ArgumentMatchers; @@ -22,14 +19,15 @@ import org.springframework.core.convert.ConversionService; import javax.security.auth.x500.X500Principal; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.math.BigInteger; import java.nio.file.Path; import java.nio.file.Paths; import java.security.KeyStore; import java.security.cert.*; -import java.util.*; +import java.util.Base64; +import java.util.Collections; +import java.util.Optional; +import java.util.UUID; import java.util.regex.Pattern; import static org.junit.jupiter.api.Assertions.*; @@ -371,7 +369,7 @@ public class UITruststoreServiceTest { @Test - public void testAddCertificate() throws Exception { + public void testAddCertificate() throws Exception { String subject = "CN=Something,O=test,C=EU"; X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(subject); @@ -386,7 +384,7 @@ public class UITruststoreServiceTest { } @Test - public void testDeleteCertificate() throws Exception { + public void testDeleteCertificate() throws Exception { String subject = "CN=Something,O=test,C=EU"; X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(subject); doReturn(targetTruststore.toFile()).when(configurationService).getTruststoreFile(); @@ -402,30 +400,6 @@ public class UITruststoreServiceTest { assertEquals(count - 1, testInstance.getNormalizedTrustedList().size()); } - /** - * This method is not a tests is it done for generating the tests Soapui certificates - * - * @throws Exception if an error occurs - */ - @Test - @Disabled - public void generateSoapUITestCertificates() throws Exception { - - List<String[]> listCerts = Arrays.asList(new String[]{"f71ee8b11cb3b787", "CN=EHEALTH_SMP_EC,O=European Commission,C=BE", "ehealth_smp_ec",}, - new String[]{"E07B6b956330a19a", "CN=blue_gw,O=eDelivery,C=BE", "blue_gw"}, - new String[]{"9792ce69BC89F14C", "CN=red_gw,O=eDelivery,C=BE", "red_gw"} - ); - String token = "test123"; - File keystoreFile = new File("./target/smp-test-examples.p12"); - KeyStore keyStore = KeystoreUtils.createNewKeystore(keystoreFile, token); - for (String[] data : listCerts) { - BigInteger serial = new BigInteger(data[0], 16); - X509CertificateUtils.createAndStoreSelfSignedCertificate(serial, data[1], data[2], keyStore, token); - } - try (FileOutputStream fos = new FileOutputStream(keystoreFile)) { - keyStore.store(fos, token.toCharArray()); - } - } protected void resetKeystore() throws IOException { FileUtils.deleteDirectory(targetDirectory.toFile()); diff --git a/smp-server-library/src/test/resources/logback-test.xml b/smp-server-library/src/test/resources/logback-test.xml index 596f79545321b98cea6f6826743816622f3e9bc5..14b67cc75e6dbe0bbb3130b1ab03567df93fa60f 100644 --- a/smp-server-library/src/test/resources/logback-test.xml +++ b/smp-server-library/src/test/resources/logback-test.xml @@ -6,7 +6,7 @@ <property name="consolePattern" value="%d{ISO8601} [%X{smp_user}] [%X{smp_session_id}] [%X{smp_request_id}] [%thread] %5p %c{1}:%L - %m%n" scope="global"/> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${project.build.directory}/logs/edelivery-smp.log</file> + <file>${buildDirectory}/logs/edelivery-smp.log</file> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> <marker>SECURITY</marker> @@ -17,7 +17,7 @@ </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> - <fileNamePattern>${project.build.directory}/logs/edelivery-smp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> + <fileNamePattern>${buildDirectory}/logs/edelivery-smp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- each file should be at most 30MB, keep 60 days worth of history, but at most 20GB --> <maxFileSize>30MB</maxFileSize> <maxHistory>60</maxHistory> @@ -40,4 +40,4 @@ <appender-ref ref="file"/> <appender-ref ref="stdout"/> </root> -</configuration> \ No newline at end of file +</configuration> diff --git a/smp-soapui-tests/pom.xml b/smp-soapui-tests/pom.xml index 668e02cd9d87ba8060101673a9afe9f6cd7f60f7..56719e62824437400f219fca75f87eeed68dddb6 100644 --- a/smp-soapui-tests/pom.xml +++ b/smp-soapui-tests/pom.xml @@ -1,4 +1,4 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-spi/pom.xml b/smp-spi/pom.xml index 7ca4f2ead2fa1e4483b31b120d2f118167a3a7e1..a45c0186ca47f1fa83bede6c0ed47edf40da6a5b 100644 --- a/smp-spi/pom.xml +++ b/smp-spi/pom.xml @@ -12,7 +12,7 @@ ~ See the Licence for the specific language governing permissions and limitations under the Licence. --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-springboot/pom.xml b/smp-springboot/pom.xml index fbc2b81bdfdc8b38c97956ab3e570cb87426bdff..d3fa84d0055bb766c332e353858466dab544d5d2 100644 --- a/smp-springboot/pom.xml +++ b/smp-springboot/pom.xml @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> diff --git a/smp-ui-tests/pom.xml b/smp-ui-tests/pom.xml index 5b67a087a2eac1036139030774bfb29ec5d0fcbe..08f7e6ea19c232a170c90e1191e3f530d0cf9f61 100644 --- a/smp-ui-tests/pom.xml +++ b/smp-ui-tests/pom.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test.smp</groupId> @@ -139,4 +139,4 @@ </profiles> -</project> \ No newline at end of file +</project> diff --git a/smp-webapp/pom.xml b/smp-webapp/pom.xml index a1cda88d397040a045a492ca89fe360185547cab..64ec89eea90a82e41f6fc5f35370e413f74d3032 100644 --- a/smp-webapp/pom.xml +++ b/smp-webapp/pom.xml @@ -1,5 +1,5 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId> @@ -145,8 +145,6 @@ <targetPath>${project.build.directory}/webapp-classes</targetPath> </resource> </resources> - - <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -160,14 +158,6 @@ </archive> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> diff --git a/smp-webapp/src/test/resources/logback-test.xml b/smp-webapp/src/test/resources/logback-test.xml index 646509a144d30ff4f005a928f1cd6e56c41b6730..d68a829e9783c1e6d19548d1a660d8869be87a86 100644 --- a/smp-webapp/src/test/resources/logback-test.xml +++ b/smp-webapp/src/test/resources/logback-test.xml @@ -6,7 +6,7 @@ <property name="consolePattern" value="%d{ISO8601} [%X{smp_user}] [%X{smp_session_id}] [%X{smp_request_id}] [%thread] %5p %c{1}:%L - %m%n" scope="global"/> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${project.build.directory}/logs/edelivery-smp.log</file> + <file>${buildDirectory}/logs/edelivery-smp.log</file> <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator"> <marker>SECURITY</marker> @@ -17,7 +17,7 @@ </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> - <fileNamePattern>${project.build.directory}/logs/edelivery-smp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> + <fileNamePattern>${buildDirectory}/logs/edelivery-smp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!-- each file should be at most 30MB, keep 60 days worth of history, but at most 20GB --> <maxFileSize>30MB</maxFileSize> <maxHistory>60</maxHistory> diff --git a/smp-wls-deploy/pom.xml b/smp-wls-deploy/pom.xml index ce1bd2e83ff9c023699bbe1e6098dac15516987f..1e48fdbd72637db72a1e7752ac8ceff3ef97e5b2 100644 --- a/smp-wls-deploy/pom.xml +++ b/smp-wls-deploy/pom.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>eu.europa.ec.edelivery</groupId>