Skip to content

Commit 25607c6

Browse files
committed
Review remarks
1 parent 9e2456d commit 25607c6

9 files changed

Lines changed: 254 additions & 235 deletions

File tree

.github/workflows/examples_test.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,22 @@ jobs:
189189

190190
- name: Stop BaSyx Node-RED Example
191191
run: docker compose -f examples/BaSyxNodeRED/docker-compose.yml down
192+
193+
test-basyx-query-language:
194+
runs-on: ubuntu-latest
195+
name: Test BaSyx Query Language Example
196+
steps:
197+
- uses: actions/checkout@v5
198+
199+
- name: Set up JDK 17
200+
uses: actions/setup-java@v4
201+
with:
202+
java-version: '17'
203+
distribution: 'adopt'
204+
cache: maven
205+
206+
- name: Start BaSyx Query Language Example
207+
run: docker compose -f examples/BaSyxQueryLanguage/docker-compose.yml up -d
208+
209+
- name: Stop BaSyx Query Language Example
210+
run: docker compose -f examples/BaSyxQueryLanguage/docker-compose.yml down
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,46 @@
1-
/*******************************************************************************
2-
* Copyright (C) 2024 the Eclipse BaSyx Authors
3-
*
4-
* Permission is hereby granted, free of charge, to any person obtaining
5-
* a copy of this software and associated documentation files (the
6-
* "Software"), to deal in the Software without restriction, including
7-
* without limitation the rights to use, copy, modify, merge, publish,
8-
* distribute, sublicense, and/or sell copies of the Software, and to
9-
* permit persons to whom the Software is furnished to do so, subject to
10-
* the following conditions:
11-
*
12-
* The above copyright notice and this permission notice shall be
13-
* included in all copies or substantial portions of the Software.
14-
*
15-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22-
*
23-
* SPDX-License-Identifier: MIT
24-
******************************************************************************/
25-
26-
package org.eclipse.digitaltwin.basyx.aasrepository.feature.authorization;
27-
28-
import org.springframework.boot.SpringApplication;
29-
import org.springframework.boot.autoconfigure.SpringBootApplication;
30-
import org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticsearchRestHealthContributorAutoConfiguration;
31-
32-
/**
33-
* Spring application configured for tests.
34-
*
35-
* @author danish
36-
*
37-
*/
38-
39-
@SpringBootApplication(scanBasePackages = "org.eclipse.digitaltwin.basyx",
40-
exclude = {ElasticsearchRestHealthContributorAutoConfiguration.class})
41-
public class DummyAuthorizedAasRepositoryComponent {
42-
43-
public static void main(String[] args) {
44-
SpringApplication.run(DummyAuthorizedAasRepositoryComponent.class, args);
45-
}
46-
}
1+
/*******************************************************************************
2+
* Copyright (C) 2024 the Eclipse BaSyx Authors
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining
5+
* a copy of this software and associated documentation files (the
6+
* "Software"), to deal in the Software without restriction, including
7+
* without limitation the rights to use, copy, modify, merge, publish,
8+
* distribute, sublicense, and/or sell copies of the Software, and to
9+
* permit persons to whom the Software is furnished to do so, subject to
10+
* the following conditions:
11+
*
12+
* The above copyright notice and this permission notice shall be
13+
* included in all copies or substantial portions of the Software.
14+
*
15+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19+
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21+
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+
*
23+
* SPDX-License-Identifier: MIT
24+
******************************************************************************/
25+
26+
package org.eclipse.digitaltwin.basyx.aasrepository.feature.authorization;
27+
28+
import org.springframework.boot.SpringApplication;
29+
import org.springframework.boot.autoconfigure.SpringBootApplication;
30+
import org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticsearchRestHealthContributorAutoConfiguration;
31+
32+
/**
33+
* Spring application configured for tests.
34+
*
35+
* @author danish
36+
*
37+
*/
38+
39+
@SpringBootApplication(scanBasePackages = "org.eclipse.digitaltwin.basyx",
40+
exclude = {ElasticsearchRestHealthContributorAutoConfiguration.class})
41+
public class DummyAuthorizedAasRepositoryComponent {
42+
43+
public static void main(String[] args) {
44+
SpringApplication.run(DummyAuthorizedAasRepositoryComponent.class, args);
45+
}
46+
}
Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,42 @@
1-
server.port=8081
2-
server.error.path=/error
3-
4-
spring.application.name=AAS Repository
5-
basyx.aasrepo.name=aas-repo
6-
7-
basyx.backend = InMemory
8-
9-
#basyx.aasrepository.feature.registryintegration=http://host.docker.internal:8050/api/v3.0
10-
#basyx.externalurl=http://localhost:8081
11-
12-
#basyx.backend = MongoDB
13-
#spring.data.mongodb.host=127.0.0.1
14-
#spring.data.mongodb.port=27017
15-
#spring.data.mongodb.database=aas
16-
#spring.data.mongodb.authentication-database=admin
17-
#spring.data.mongodb.username=mongoAdmin
18-
#spring.data.mongodb.password=mongoPassword
19-
20-
21-
# basyx.aasrepository.feature.mqtt.enabled = true
22-
# mqtt.clientId=TestClient
23-
# mqtt.hostname = localhost
24-
# mqtt.port = 1883
25-
26-
# basyx.cors.allowed-origins=http://localhost:3000, http://localhost:4000
27-
28-
####################################################################################
29-
# Authorization
30-
####################################################################################
31-
basyx.feature.authorization.enabled = true
32-
basyx.feature.authorization.type = rbac
33-
basyx.feature.authorization.jwtBearerTokenProvider = keycloak
34-
basyx.feature.authorization.rbac.file = classpath:rbac_rules.json
35-
spring.security.oauth2.resourceserver.jwt.issuer-uri= http://localhost:9096/realms/BaSyx
36-
37-
####################################################################################
38-
# Operation Delegation
39-
####################################################################################
40-
# This feature is enabled by default
41-
1+
server.port=8081
2+
server.error.path=/error
3+
4+
spring.application.name=AAS Repository
5+
basyx.aasrepo.name=aas-repo
6+
7+
basyx.backend = InMemory
8+
9+
#basyx.aasrepository.feature.registryintegration=http://host.docker.internal:8050/api/v3.0
10+
#basyx.externalurl=http://localhost:8081
11+
12+
#basyx.backend = MongoDB
13+
#spring.data.mongodb.host=127.0.0.1
14+
#spring.data.mongodb.port=27017
15+
#spring.data.mongodb.database=aas
16+
#spring.data.mongodb.authentication-database=admin
17+
#spring.data.mongodb.username=mongoAdmin
18+
#spring.data.mongodb.password=mongoPassword
19+
20+
21+
# basyx.aasrepository.feature.mqtt.enabled = true
22+
# mqtt.clientId=TestClient
23+
# mqtt.hostname = localhost
24+
# mqtt.port = 1883
25+
26+
# basyx.cors.allowed-origins=http://localhost:3000, http://localhost:4000
27+
28+
####################################################################################
29+
# Authorization
30+
####################################################################################
31+
basyx.feature.authorization.enabled = true
32+
basyx.feature.authorization.type = rbac
33+
basyx.feature.authorization.jwtBearerTokenProvider = keycloak
34+
basyx.feature.authorization.rbac.file = classpath:rbac_rules.json
35+
spring.security.oauth2.resourceserver.jwt.issuer-uri= http://localhost:9096/realms/BaSyx
36+
37+
####################################################################################
38+
# Operation Delegation
39+
####################################################################################
40+
# This feature is enabled by default
41+
4242
#basyx.submodelrepository.feature.operation.delegation.enabled = false
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
1-
/*******************************************************************************
2-
* Copyright (C) 2023 the Eclipse BaSyx Authors
3-
*
4-
* Permission is hereby granted, free of charge, to any person obtaining
5-
* a copy of this software and associated documentation files (the
6-
* "Software"), to deal in the Software without restriction, including
7-
* without limitation the rights to use, copy, modify, merge, publish,
8-
* distribute, sublicense, and/or sell copies of the Software, and to
9-
* permit persons to whom the Software is furnished to do so, subject to
10-
* the following conditions:
11-
*
12-
* The above copyright notice and this permission notice shall be
13-
* included in all copies or substantial portions of the Software.
14-
*
15-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22-
*
23-
* SPDX-License-Identifier: MIT
24-
******************************************************************************/
25-
26-
27-
package org.eclipse.digitaltwin.basyx.aasrepository.http;
28-
29-
import org.eclipse.digitaltwin.basyx.http.CorsPathPatternProvider;
30-
import org.springframework.context.annotation.Bean;
31-
import org.springframework.context.annotation.Configuration;
32-
33-
/**
34-
*
35-
* @author schnicke
36-
*
37-
*/
38-
@Configuration
39-
public class AasRepoConfiguration {
40-
41-
@Bean
42-
public CorsPathPatternProvider getAasRepoCorsUrlProvider() {
43-
return new CorsPathPatternProvider("/shells/**");
44-
}
45-
46-
@Bean
47-
public CorsPathPatternProvider getAasRepoDescriptionCorsUrlProvider() {
48-
return new CorsPathPatternProvider("/description");
49-
}
50-
}
1+
/*******************************************************************************
2+
* Copyright (C) 2023 the Eclipse BaSyx Authors
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining
5+
* a copy of this software and associated documentation files (the
6+
* "Software"), to deal in the Software without restriction, including
7+
* without limitation the rights to use, copy, modify, merge, publish,
8+
* distribute, sublicense, and/or sell copies of the Software, and to
9+
* permit persons to whom the Software is furnished to do so, subject to
10+
* the following conditions:
11+
*
12+
* The above copyright notice and this permission notice shall be
13+
* included in all copies or substantial portions of the Software.
14+
*
15+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19+
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21+
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22+
*
23+
* SPDX-License-Identifier: MIT
24+
******************************************************************************/
25+
26+
27+
package org.eclipse.digitaltwin.basyx.aasrepository.http;
28+
29+
import org.eclipse.digitaltwin.basyx.http.CorsPathPatternProvider;
30+
import org.springframework.context.annotation.Bean;
31+
import org.springframework.context.annotation.Configuration;
32+
33+
/**
34+
*
35+
* @author schnicke
36+
*
37+
*/
38+
@Configuration
39+
public class AasRepoConfiguration {
40+
41+
@Bean
42+
public CorsPathPatternProvider getAasRepoCorsUrlProvider() {
43+
return new CorsPathPatternProvider("/shells/**");
44+
}
45+
46+
@Bean
47+
public CorsPathPatternProvider getAasRepoDescriptionCorsUrlProvider() {
48+
return new CorsPathPatternProvider("/description");
49+
}
50+
}
Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0"
2-
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">
3-
<modelVersion>4.0.0</modelVersion>
4-
5-
<parent>
6-
<groupId>org.eclipse.digitaltwin.basyx</groupId>
7-
<artifactId>basyx.parent</artifactId>
8-
<version>${revision}</version>
9-
</parent>
10-
11-
<artifactId>basyx.conceptdescriptionrepository</artifactId>
12-
<name>Concept Description Repository</name>
13-
<description>BaSyx Concept Description Repository</description>
14-
<packaging>pom</packaging>
15-
16-
<modules>
17-
<module>basyx.conceptdescriptionrepository-core</module>
18-
<module>basyx.conceptdescriptionrepository-http</module>
19-
<module>basyx.conceptdescriptionrepository-backend</module>
20-
<module>basyx.conceptdescriptionrepository-backend-inmemory</module>
21-
<module>basyx.conceptdescriptionrepository-backend-mongodb</module>
22-
<module>basyx.conceptdescriptionrepository-feature-authorization</module>
23-
<module>basyx.conceptdescriptionrepository-tck</module>
24-
<module>basyx.conceptdescriptionrepository.component</module>
25-
<module>basyx.conceptdescriptionrepository-feature-search</module>
26-
</modules>
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
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">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<parent>
6+
<groupId>org.eclipse.digitaltwin.basyx</groupId>
7+
<artifactId>basyx.parent</artifactId>
8+
<version>${revision}</version>
9+
</parent>
10+
11+
<artifactId>basyx.conceptdescriptionrepository</artifactId>
12+
<name>Concept Description Repository</name>
13+
<description>BaSyx Concept Description Repository</description>
14+
<packaging>pom</packaging>
15+
16+
<modules>
17+
<module>basyx.conceptdescriptionrepository-core</module>
18+
<module>basyx.conceptdescriptionrepository-http</module>
19+
<module>basyx.conceptdescriptionrepository-backend</module>
20+
<module>basyx.conceptdescriptionrepository-backend-inmemory</module>
21+
<module>basyx.conceptdescriptionrepository-backend-mongodb</module>
22+
<module>basyx.conceptdescriptionrepository-feature-authorization</module>
23+
<module>basyx.conceptdescriptionrepository-tck</module>
24+
<module>basyx.conceptdescriptionrepository.component</module>
25+
<module>basyx.conceptdescriptionrepository-feature-search</module>
26+
</modules>
2727
</project>

basyx.submodelregistry/basyx.submodelregistry-feature-search/src/test/java/org/eclipse/digitaltwin/basyx/submodelregistry/feature/search/TestSearchSubmodelRegistry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (C) 2024 the Eclipse BaSyx Authors
2+
* Copyright (C) 2025 the Eclipse BaSyx Authors
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining
55
* a copy of this software and associated documentation files (the

0 commit comments

Comments
 (0)