From 78b085815b9873acdf178b2e9c9598d065fd40c0 Mon Sep 17 00:00:00 2001
From: Joaquín Reñé <jrene@curisit.net>
Date: Mon, 20 Apr 2026 19:30:51 +0000
Subject: [PATCH] #4479 - upgrade SecurisServer to Java 21
---
securis/src/main/java/net/curisit/securis/services/OrganizationResource.java | 44 +++++++++++++++++++++++++-------------------
1 files changed, 25 insertions(+), 19 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
index 30d5940..831e5a3 100644
--- a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
@@ -10,6 +10,7 @@
import jakarta.annotation.security.RolesAllowed;
import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
import jakarta.persistence.EntityManager;
import jakarta.persistence.TypedQuery;
import jakarta.servlet.http.HttpServletRequest;
@@ -26,6 +27,7 @@
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.SecurityContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -55,8 +57,7 @@
private static final Logger LOG = LogManager.getLogger(OrganizationResource.class);
- @Context EntityManager em;
- @Context BasicSecurityContext bsc;
+ @Inject EntityManager em;
public OrganizationResource() { }
@@ -72,23 +73,28 @@
@Path("/")
@Produces({ MediaType.APPLICATION_JSON })
@Securable
- public Response index() {
- LOG.info("Getting organizations list ");
- em.clear();
- TypedQuery<Organization> q;
- if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
- LOG.info("GEtting all orgs for user: " + bsc.getUserPrincipal());
- q = em.createNamedQuery("list-organizations", Organization.class);
- } else {
- if (bsc.getOrganizationsIds() == null || bsc.getOrganizationsIds().isEmpty()) {
- return Response.ok().build();
- } else {
- q = em.createNamedQuery("list-organizations-by-ids", Organization.class);
- q.setParameter("list_ids", bsc.getOrganizationsIds());
- }
- }
- List<Organization> list = q.getResultList();
- return Response.ok(list).build();
+ public Response index(@Context SecurityContext securityContext) {
+ BasicSecurityContext bsc = org.jboss.resteasy.core.ResteasyContext.getContextData(BasicSecurityContext.class);
+ if (bsc == null) {
+ LOG.error("BasicSecurityContext not found in ResteasyContext");
+ return Response.status(Status.UNAUTHORIZED).build();
+ }
+ LOG.info("Getting organizations list ");
+ em.clear();
+ TypedQuery<Organization> q;
+ if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
+ LOG.info("Getting all orgs for user: " + bsc.getUserPrincipal());
+ q = em.createNamedQuery("list-organizations", Organization.class);
+ } else {
+ if (bsc.getOrganizationsIds() == null || bsc.getOrganizationsIds().isEmpty()) {
+ return Response.ok().build();
+ } else {
+ q = em.createNamedQuery("list-organizations-by-ids", Organization.class);
+ q.setParameter("list_ids", bsc.getOrganizationsIds());
+ }
+ }
+ List<Organization> list = q.getResultList();
+ return Response.ok(list).build();
}
/**
--
Gitblit v1.3.2