From ee3e2416fc038ce5e0c1f524c687ce23abbc492b Mon Sep 17 00:00:00 2001 From: Jad El-khoury Date: Sun, 25 Oct 2026 14:18:23 +0100 Subject: [PATCH 1/2] Using `LyoCorsFilter` from the lyo library instead of the generated one from Lyo Designer --- src/server-am/pom.xml | 4 + .../refimpl/am/gen/servlet/Application.java | 5 +- .../am/gen/servlet/ApplicationBinder.java | 1 + src/server-cm/pom.xml | 4 + .../refimpl/cm/gen/servlet/Application.java | 5 +- .../cm/gen/servlet/ApplicationBinder.java | 1 + src/server-qm/pom.xml | 4 + .../refimpl/qm/gen/servlet/Application.java | 5 +- .../qm/gen/servlet/ApplicationBinder.java | 1 + src/server-rm/pom.xml | 4 + .../refimpl/rm/gen/servlet/Application.java | 5 +- .../rm/gen/servlet/ApplicationBinder.java | 1 + .../refimpl/rm/gen/servlet/CorsFilter.java | 78 ------------------- .../rm/gen/servlet/LyoAppConfiguration.java | 23 ------ src/server-rm/src/main/webapp/WEB-INF/web.xml | 4 + 15 files changed, 36 insertions(+), 109 deletions(-) delete mode 100644 src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/CorsFilter.java delete mode 100644 src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/LyoAppConfiguration.java diff --git a/src/server-am/pom.xml b/src/server-am/pom.xml index 5db9f73b..9ce0c21c 100644 --- a/src/server-am/pom.xml +++ b/src/server-am/pom.xml @@ -239,6 +239,10 @@ org.eclipse.lyo.oslc4j.core oslc4j-json4j-provider + + org.eclipse.lyo.server + lyo-server-common + org.eclipse.lyo.trs trs-server diff --git a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/Application.java b/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/Application.java index 38db0279..6821dabe 100644 --- a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/Application.java +++ b/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/Application.java @@ -56,6 +56,7 @@ import org.eclipse.lyo.oslc4j.core.model.ServiceProviderCatalog; import org.eclipse.lyo.oslc4j.provider.jena.JenaProvidersRegistry; import org.eclipse.lyo.oslc4j.provider.json4j.Json4JProvidersRegistry; +import org.eclipse.lyo.server.common.LyoCorsFilter; import io.swagger.v3.jaxrs2.integration.resources.AcceptHeaderOpenApiResource; import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource; @@ -90,7 +91,7 @@ // End of user code /** - * Generated by Lyo Designer 7.0.0-SNAPSHOT + * Generated by Lyo Designer */ @OpenAPIDefinition(info = @Info(title = "AM", version = "1.0.0"), servers = @Server(url = "/services/")) @@ -116,7 +117,7 @@ public Set getSingletons() { RESOURCE_CLASSES.addAll(Json4JProvidersRegistry.getProviders()); // CORS support - RESOURCE_CLASSES.add(co.oslc.refimpl.am.gen.servlet.CorsFilter.class); + RESOURCE_CLASSES.add(LyoCorsFilter.class); RESOURCE_CLASSES.add(ResourcesService.class); RESOURCE_CLASSES.add(LinksService.class); diff --git a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/ApplicationBinder.java b/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/ApplicationBinder.java index 70ba6d23..23ff7cc6 100644 --- a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/ApplicationBinder.java +++ b/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/ApplicationBinder.java @@ -41,6 +41,7 @@ import org.eclipse.lyo.oslc4j.trs.server.PagedTrsFactory; import org.eclipse.lyo.oslc4j.trs.server.TrsEventHandler; import org.eclipse.lyo.oslc4j.core.OSLC4JUtils; +import org.eclipse.lyo.server.common.LyoAppConfiguration; // Start of user code imports import org.eclipse.lyo.oslc.domains.am.Resource; import org.eclipse.lyo.oslc.domains.am.LinkType; diff --git a/src/server-cm/pom.xml b/src/server-cm/pom.xml index d6849574..b3a871f6 100644 --- a/src/server-cm/pom.xml +++ b/src/server-cm/pom.xml @@ -238,6 +238,10 @@ org.eclipse.lyo.oslc4j.core oslc4j-json4j-provider + + org.eclipse.lyo.server + lyo-server-common + org.eclipse.lyo.clients oslc-client diff --git a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/Application.java b/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/Application.java index d8db8bc7..65d8102e 100644 --- a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/Application.java +++ b/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/Application.java @@ -56,6 +56,7 @@ import org.eclipse.lyo.oslc4j.core.model.ServiceProviderCatalog; import org.eclipse.lyo.oslc4j.provider.jena.JenaProvidersRegistry; import org.eclipse.lyo.oslc4j.provider.json4j.Json4JProvidersRegistry; +import org.eclipse.lyo.server.common.LyoCorsFilter; import io.swagger.v3.jaxrs2.integration.resources.AcceptHeaderOpenApiResource; import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource; @@ -105,7 +106,7 @@ // End of user code /** - * Generated by Lyo Designer 7.0.0-SNAPSHOT + * Generated by Lyo Designer */ @OpenAPIDefinition(info = @Info(title = "CM", version = "1.0.0"), servers = @Server(url = "/services/")) @@ -131,7 +132,7 @@ public Set getSingletons() { RESOURCE_CLASSES.addAll(Json4JProvidersRegistry.getProviders()); // CORS support - RESOURCE_CLASSES.add(co.oslc.refimpl.cm.gen.servlet.CorsFilter.class); + RESOURCE_CLASSES.add(LyoCorsFilter.class); RESOURCE_CLASSES.add(Change_requestsService.class); RESOURCE_CLASSES.add(WsChangeRequest.class); diff --git a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/ApplicationBinder.java b/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/ApplicationBinder.java index 7890a00d..a0fb0545 100644 --- a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/ApplicationBinder.java +++ b/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/ApplicationBinder.java @@ -35,6 +35,7 @@ import java.util.Set; import org.eclipse.lyo.oslc4j.core.OSLC4JUtils; +import org.eclipse.lyo.server.common.LyoAppConfiguration; // Start of user code imports // End of user code // spotless:on diff --git a/src/server-qm/pom.xml b/src/server-qm/pom.xml index eced60a2..203d8358 100644 --- a/src/server-qm/pom.xml +++ b/src/server-qm/pom.xml @@ -238,6 +238,10 @@ org.eclipse.lyo.oslc4j.core oslc4j-json4j-provider + + org.eclipse.lyo.server + lyo-server-common + org.eclipse.lyo.clients oslc-client diff --git a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/Application.java b/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/Application.java index e451669f..fded966b 100644 --- a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/Application.java +++ b/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/Application.java @@ -56,6 +56,7 @@ import org.eclipse.lyo.oslc4j.core.model.ServiceProviderCatalog; import org.eclipse.lyo.oslc4j.provider.jena.JenaProvidersRegistry; import org.eclipse.lyo.oslc4j.provider.json4j.Json4JProvidersRegistry; +import org.eclipse.lyo.server.common.LyoCorsFilter; import io.swagger.v3.jaxrs2.integration.resources.AcceptHeaderOpenApiResource; import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource; @@ -117,7 +118,7 @@ // End of user code /** - * Generated by Lyo Designer 7.0.0-SNAPSHOT + * Generated by Lyo Designer */ @OpenAPIDefinition(info = @Info(title = "QM", version = "1.0.0"), servers = @Server(url = "/services/")) @@ -143,7 +144,7 @@ public Set getSingletons() { RESOURCE_CLASSES.addAll(Json4JProvidersRegistry.getProviders()); // CORS support - RESOURCE_CLASSES.add(co.oslc.refimpl.qm.gen.servlet.CorsFilter.class); + RESOURCE_CLASSES.add(LyoCorsFilter.class); RESOURCE_CLASSES.add(CasesService.class); RESOURCE_CLASSES.add(PlansService.class); diff --git a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/ApplicationBinder.java b/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/ApplicationBinder.java index 9bef46d4..2352e7f6 100644 --- a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/ApplicationBinder.java +++ b/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/ApplicationBinder.java @@ -35,6 +35,7 @@ import java.util.Set; import org.eclipse.lyo.oslc4j.core.OSLC4JUtils; +import org.eclipse.lyo.server.common.LyoAppConfiguration; // Start of user code imports // End of user code // spotless:on diff --git a/src/server-rm/pom.xml b/src/server-rm/pom.xml index a27a6a1d..c64c93c9 100644 --- a/src/server-rm/pom.xml +++ b/src/server-rm/pom.xml @@ -256,6 +256,10 @@ org.eclipse.lyo.trs trs-server + + org.eclipse.lyo.server + lyo-server-common + org.eclipse.lyo.clients oslc-client diff --git a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/Application.java b/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/Application.java index f8476c94..386d933c 100644 --- a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/Application.java +++ b/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/Application.java @@ -56,6 +56,7 @@ import org.eclipse.lyo.oslc4j.core.model.ServiceProviderCatalog; import org.eclipse.lyo.oslc4j.provider.jena.JenaProvidersRegistry; import org.eclipse.lyo.oslc4j.provider.json4j.Json4JProvidersRegistry; +import org.eclipse.lyo.server.common.LyoCorsFilter; import io.swagger.v3.jaxrs2.integration.resources.AcceptHeaderOpenApiResource; import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource; @@ -87,7 +88,7 @@ // End of user code /** - * Generated by Lyo Designer 7.0.0-SNAPSHOT + * Generated by Lyo Designer */ @OpenAPIDefinition(info = @Info(title = "RM", version = "1.0.0"), servers = @Server(url = "/services/")) @@ -113,7 +114,7 @@ public Set getSingletons() { RESOURCE_CLASSES.addAll(Json4JProvidersRegistry.getProviders()); // CORS support - RESOURCE_CLASSES.add(co.oslc.refimpl.rm.gen.servlet.CorsFilter.class); + RESOURCE_CLASSES.add(LyoCorsFilter.class); RESOURCE_CLASSES.add(RequirementsService.class); RESOURCE_CLASSES.add(Requirement_collectionsService.class); diff --git a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/ApplicationBinder.java b/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/ApplicationBinder.java index 0b131b60..4b186882 100644 --- a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/ApplicationBinder.java +++ b/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/ApplicationBinder.java @@ -41,6 +41,7 @@ import org.eclipse.lyo.oslc4j.trs.server.PagedTrsFactory; import org.eclipse.lyo.oslc4j.trs.server.TrsEventHandler; import org.eclipse.lyo.oslc4j.core.OSLC4JUtils; +import org.eclipse.lyo.server.common.LyoAppConfiguration; // Start of user code imports import java.util.Map; import org.eclipse.lyo.oslc.domains.rm.Requirement; diff --git a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/CorsFilter.java b/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/CorsFilter.java deleted file mode 100644 index 90c4bc9f..00000000 --- a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/CorsFilter.java +++ /dev/null @@ -1,78 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.rm.gen.servlet; - -// spotless:off -import java.io.IOException; - -import jakarta.inject.Inject; -import jakarta.ws.rs.container.ContainerRequestContext; -import jakarta.ws.rs.container.ContainerResponseContext; -import jakarta.ws.rs.container.ContainerResponseFilter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -// Start of user code imports -// End of user code -// spotless:on - -// Start of user code pre_class_code -// End of user code - -public class CorsFilter implements ContainerResponseFilter { - private final static Logger log = LoggerFactory.getLogger(CorsFilter.class); - - // Start of user code class_attributes - // End of user code - - @Inject - private LyoAppConfiguration config; - - // Start of user code class_methods - // End of user code - - @Override - public void filter(ContainerRequestContext requestContext, - ContainerResponseContext responseContext) throws IOException { - if (config.corsFriends().isEmpty()) { - return; - } - - String originAllow = "*"; - final String requestOrigin = requestContext.getHeaderString("Origin"); - if (requestOrigin != null && !requestOrigin.isBlank()) { - if (!config.corsFriends().contains("*") && !config.corsFriends().contains(requestOrigin) ) { - return; - } - originAllow = requestOrigin; - } else { - if (!config.corsFriends().contains("*")) { - return; - } - } - responseContext.getHeaders().add( - "Access-Control-Allow-Origin", originAllow); - responseContext.getHeaders().add( - "Access-Control-Allow-Credentials", "true"); - responseContext.getHeaders().add( - "Access-Control-Allow-Headers", - "origin, content-type, accept, authorization, oslc-core-version, Configuration-Context, OSLC-Configuration-Context"); - responseContext.getHeaders().add( - "Access-Control-Allow-Methods", - "GET, POST, PUT, DELETE, OPTIONS, HEAD"); - } -} diff --git a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/LyoAppConfiguration.java b/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/LyoAppConfiguration.java deleted file mode 100644 index b9fe980e..00000000 --- a/src/server-rm/src/main/java/co/oslc/refimpl/rm/gen/servlet/LyoAppConfiguration.java +++ /dev/null @@ -1,23 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.rm.gen.servlet; - -import java.util.Set; - -public record LyoAppConfiguration(String baseUrl, String servletPath, Set corsFriends) { -} diff --git a/src/server-rm/src/main/webapp/WEB-INF/web.xml b/src/server-rm/src/main/webapp/WEB-INF/web.xml index 9f66cc3a..7646d53d 100644 --- a/src/server-rm/src/main/webapp/WEB-INF/web.xml +++ b/src/server-rm/src/main/webapp/WEB-INF/web.xml @@ -21,6 +21,10 @@ + * From 68d518fc83a56c2ff68ef670fb07546cd728d2e4 Mon Sep 17 00:00:00 2001 From: Jad El-khoury Date: Sun, 25 Oct 2026 14:24:27 +0100 Subject: [PATCH 2/2] Delete unused classses --- .../refimpl/am/gen/servlet/CorsFilter.java | 78 ------------------- .../am/gen/servlet/LyoAppConfiguration.java | 23 ------ .../refimpl/cm/gen/servlet/CorsFilter.java | 78 ------------------- .../cm/gen/servlet/LyoAppConfiguration.java | 23 ------ .../refimpl/qm/gen/servlet/CorsFilter.java | 78 ------------------- .../qm/gen/servlet/LyoAppConfiguration.java | 23 ------ 6 files changed, 303 deletions(-) delete mode 100644 src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/CorsFilter.java delete mode 100644 src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/LyoAppConfiguration.java delete mode 100644 src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/CorsFilter.java delete mode 100644 src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/LyoAppConfiguration.java delete mode 100644 src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/CorsFilter.java delete mode 100644 src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/LyoAppConfiguration.java diff --git a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/CorsFilter.java b/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/CorsFilter.java deleted file mode 100644 index efccf1c3..00000000 --- a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/CorsFilter.java +++ /dev/null @@ -1,78 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.am.gen.servlet; - -// spotless:off -import java.io.IOException; - -import jakarta.inject.Inject; -import jakarta.ws.rs.container.ContainerRequestContext; -import jakarta.ws.rs.container.ContainerResponseContext; -import jakarta.ws.rs.container.ContainerResponseFilter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -// Start of user code imports -// End of user code -// spotless:on - -// Start of user code pre_class_code -// End of user code - -public class CorsFilter implements ContainerResponseFilter { - private final static Logger log = LoggerFactory.getLogger(CorsFilter.class); - - // Start of user code class_attributes - // End of user code - - @Inject - private LyoAppConfiguration config; - - // Start of user code class_methods - // End of user code - - @Override - public void filter(ContainerRequestContext requestContext, - ContainerResponseContext responseContext) throws IOException { - if (config.corsFriends().isEmpty()) { - return; - } - - String originAllow = "*"; - final String requestOrigin = requestContext.getHeaderString("Origin"); - if (requestOrigin != null && !requestOrigin.isBlank()) { - if (!config.corsFriends().contains("*") && !config.corsFriends().contains(requestOrigin) ) { - return; - } - originAllow = requestOrigin; - } else { - if (!config.corsFriends().contains("*")) { - return; - } - } - responseContext.getHeaders().add( - "Access-Control-Allow-Origin", originAllow); - responseContext.getHeaders().add( - "Access-Control-Allow-Credentials", "true"); - responseContext.getHeaders().add( - "Access-Control-Allow-Headers", - "origin, content-type, accept, authorization, oslc-core-version, Configuration-Context, OSLC-Configuration-Context"); - responseContext.getHeaders().add( - "Access-Control-Allow-Methods", - "GET, POST, PUT, DELETE, OPTIONS, HEAD"); - } -} diff --git a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/LyoAppConfiguration.java b/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/LyoAppConfiguration.java deleted file mode 100644 index 227ef123..00000000 --- a/src/server-am/src/main/java/co/oslc/refimpl/am/gen/servlet/LyoAppConfiguration.java +++ /dev/null @@ -1,23 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.am.gen.servlet; - -import java.util.Set; - -public record LyoAppConfiguration(String baseUrl, String servletPath, Set corsFriends) { -} diff --git a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/CorsFilter.java b/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/CorsFilter.java deleted file mode 100644 index c5e902ac..00000000 --- a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/CorsFilter.java +++ /dev/null @@ -1,78 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.cm.gen.servlet; - -// spotless:off -import java.io.IOException; - -import jakarta.inject.Inject; -import jakarta.ws.rs.container.ContainerRequestContext; -import jakarta.ws.rs.container.ContainerResponseContext; -import jakarta.ws.rs.container.ContainerResponseFilter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -// Start of user code imports -// End of user code -// spotless:on - -// Start of user code pre_class_code -// End of user code - -public class CorsFilter implements ContainerResponseFilter { - private final static Logger log = LoggerFactory.getLogger(CorsFilter.class); - - // Start of user code class_attributes - // End of user code - - @Inject - private LyoAppConfiguration config; - - // Start of user code class_methods - // End of user code - - @Override - public void filter(ContainerRequestContext requestContext, - ContainerResponseContext responseContext) throws IOException { - if (config.corsFriends().isEmpty()) { - return; - } - - String originAllow = "*"; - final String requestOrigin = requestContext.getHeaderString("Origin"); - if (requestOrigin != null && !requestOrigin.isBlank()) { - if (!config.corsFriends().contains("*") && !config.corsFriends().contains(requestOrigin) ) { - return; - } - originAllow = requestOrigin; - } else { - if (!config.corsFriends().contains("*")) { - return; - } - } - responseContext.getHeaders().add( - "Access-Control-Allow-Origin", originAllow); - responseContext.getHeaders().add( - "Access-Control-Allow-Credentials", "true"); - responseContext.getHeaders().add( - "Access-Control-Allow-Headers", - "origin, content-type, accept, authorization, oslc-core-version, Configuration-Context, OSLC-Configuration-Context"); - responseContext.getHeaders().add( - "Access-Control-Allow-Methods", - "GET, POST, PUT, DELETE, OPTIONS, HEAD"); - } -} diff --git a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/LyoAppConfiguration.java b/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/LyoAppConfiguration.java deleted file mode 100644 index 510f95f3..00000000 --- a/src/server-cm/src/main/java/co/oslc/refimpl/cm/gen/servlet/LyoAppConfiguration.java +++ /dev/null @@ -1,23 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.cm.gen.servlet; - -import java.util.Set; - -public record LyoAppConfiguration(String baseUrl, String servletPath, Set corsFriends) { -} diff --git a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/CorsFilter.java b/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/CorsFilter.java deleted file mode 100644 index 369d0220..00000000 --- a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/CorsFilter.java +++ /dev/null @@ -1,78 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.qm.gen.servlet; - -// spotless:off -import java.io.IOException; - -import jakarta.inject.Inject; -import jakarta.ws.rs.container.ContainerRequestContext; -import jakarta.ws.rs.container.ContainerResponseContext; -import jakarta.ws.rs.container.ContainerResponseFilter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -// Start of user code imports -// End of user code -// spotless:on - -// Start of user code pre_class_code -// End of user code - -public class CorsFilter implements ContainerResponseFilter { - private final static Logger log = LoggerFactory.getLogger(CorsFilter.class); - - // Start of user code class_attributes - // End of user code - - @Inject - private LyoAppConfiguration config; - - // Start of user code class_methods - // End of user code - - @Override - public void filter(ContainerRequestContext requestContext, - ContainerResponseContext responseContext) throws IOException { - if (config.corsFriends().isEmpty()) { - return; - } - - String originAllow = "*"; - final String requestOrigin = requestContext.getHeaderString("Origin"); - if (requestOrigin != null && !requestOrigin.isBlank()) { - if (!config.corsFriends().contains("*") && !config.corsFriends().contains(requestOrigin) ) { - return; - } - originAllow = requestOrigin; - } else { - if (!config.corsFriends().contains("*")) { - return; - } - } - responseContext.getHeaders().add( - "Access-Control-Allow-Origin", originAllow); - responseContext.getHeaders().add( - "Access-Control-Allow-Credentials", "true"); - responseContext.getHeaders().add( - "Access-Control-Allow-Headers", - "origin, content-type, accept, authorization, oslc-core-version, Configuration-Context, OSLC-Configuration-Context"); - responseContext.getHeaders().add( - "Access-Control-Allow-Methods", - "GET, POST, PUT, DELETE, OPTIONS, HEAD"); - } -} diff --git a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/LyoAppConfiguration.java b/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/LyoAppConfiguration.java deleted file mode 100644 index d40280ef..00000000 --- a/src/server-qm/src/main/java/co/oslc/refimpl/qm/gen/servlet/LyoAppConfiguration.java +++ /dev/null @@ -1,23 +0,0 @@ -// Start of user code Copyright -/* - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Distribution License 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: BSD-3-Simple - * - * This file is generated by Lyo Designer (https://www.eclipse.org/lyo/) - */ -// End of user code - -package co.oslc.refimpl.qm.gen.servlet; - -import java.util.Set; - -public record LyoAppConfiguration(String baseUrl, String servletPath, Set corsFriends) { -}