From 72fd54150812bfdd6fee3035f9aca2d82af9ba0c Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Wed, 8 Aug 2018 16:25:55 +0200 Subject: [PATCH] [Minor] Added method context to opening of TX in Inspector and ModelQuery --- .../li/strolch/rest/endpoint/AuditsService.java | 15 ++++++++++----- .../java/li/strolch/rest/endpoint/Inspector.java | 7 ++++++- .../java/li/strolch/rest/endpoint/ModelQuery.java | 13 +++++++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/AuditsService.java b/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/AuditsService.java index 82a8a2b6a..1be94fc55 100644 --- a/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/AuditsService.java +++ b/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/AuditsService.java @@ -1,12 +1,12 @@ /* * Copyright 2015 Robert von Burg - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -35,6 +35,11 @@ import li.strolch.rest.model.visitor.ToAuditQueryVisitor; @Path("strolch/audits") public class AuditsService { + private static String getContext() { + StackTraceElement element = new Throwable().getStackTrace()[1]; + return element.getClassName() + "." + element.getMethodName(); + } + @GET @Path("types") @Consumes(MediaType.APPLICATION_JSON) @@ -43,7 +48,7 @@ public class AuditsService { Certificate cert = (Certificate) request.getAttribute(StrolchRestfulConstants.STROLCH_CERTIFICATE); StrolchRealm realm = RestfulStrolchComponent.getInstance().getContainer().getRealm(cert); - try (StrolchTransaction tx = realm.openTx(cert, AuditsService.class)) { + try (StrolchTransaction tx = realm.openTx(cert, getContext())) { JsonArray dataJ = new JsonArray(); tx.getAuditTrail().getTypes(tx).forEach(dataJ::add); return Response.ok(dataJ.toString(), MediaType.APPLICATION_JSON).build(); @@ -58,7 +63,7 @@ public class AuditsService { Certificate cert = (Certificate) request.getAttribute(StrolchRestfulConstants.STROLCH_CERTIFICATE); StrolchRealm realm = RestfulStrolchComponent.getInstance().getContainer().getRealm(cert); - try (StrolchTransaction tx = realm.openTx(cert, AuditsService.class)) { + try (StrolchTransaction tx = realm.openTx(cert, getContext())) { li.strolch.model.query.AuditQuery auditQuery = new ToAuditQueryVisitor().create(query); JsonArray dataJ = new JsonArray(); diff --git a/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/Inspector.java b/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/Inspector.java index 35ee308f5..c2b7f8da1 100644 --- a/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/Inspector.java +++ b/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/Inspector.java @@ -86,9 +86,14 @@ public class Inspector { private static final Logger logger = LoggerFactory.getLogger(Inspector.class); + private static String getContext() { + StackTraceElement element = new Throwable().getStackTrace()[2]; + return element.getClassName() + "." + element.getMethodName(); + } + private StrolchTransaction openTx(Certificate certificate, String realm) { return RestfulStrolchComponent.getInstance().getContainer().getRealm(realm) - .openTx(certificate, Inspector.class); + .openTx(certificate, getContext()); } private String toString(JsonElement jsonElement) { diff --git a/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/ModelQuery.java b/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/ModelQuery.java index 5f6dbacf7..f585aab45 100644 --- a/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/ModelQuery.java +++ b/li.strolch.rest/src/main/java/li/strolch/rest/endpoint/ModelQuery.java @@ -22,6 +22,15 @@ import li.strolch.soql.core.QueryResponse; @Path("strolch/model") public class ModelQuery { + private static String getContext() { + StackTraceElement element = new Throwable().getStackTrace()[2]; + return element.getClassName() + "." + element.getMethodName(); + } + + private StrolchTransaction openTx(Certificate certificate, String realm) { + return RestfulStrolchComponent.getInstance().getContainer().getRealm(realm).openTx(certificate, getContext()); + } + @POST @Produces(MediaType.APPLICATION_JSON) @Path("soql") @@ -42,8 +51,4 @@ public class ModelQuery { .build(); } - private StrolchTransaction openTx(Certificate certificate, String realm) { - return RestfulStrolchComponent.getInstance().getContainer().getRealm(realm) - .openTx(certificate, ModelQuery.class); - } }