From 1177762340ebc0e7bee444ae2d7c119f697cbdbb Mon Sep 17 00:00:00 2001 From: ulrich@undisclosed Date: Sat, 02 May 2020 15:54:14 +0000 Subject: [PATCH] Kleinere Anpassungen --- src/de/uhilger/transit/JavaServer.java | 39 ++++++++++++++++++++++----------------- 1 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/de/uhilger/transit/JavaServer.java b/src/de/uhilger/transit/JavaServer.java index 5b993dd..43a0f5f 100644 --- a/src/de/uhilger/transit/JavaServer.java +++ b/src/de/uhilger/transit/JavaServer.java @@ -106,7 +106,7 @@ if(o != null) { Class c = o.getClass(); Method m = findeMethode(c.getDeclaredMethods(), methodenName); - resultat = methodeAusfuehren(o, m, format, parameter); + resultat = methodeAusfuehren(o, m, format, parameter); } return resultat; } @@ -124,23 +124,28 @@ public Object methodeAusfuehren(Object o, Method methode, String format, Object... parameter) throws Exception { Object resultat = null; if(methode != null) { - resultat = methode.invoke(o, parameterKonvertieren(methode, parameter, format)); - Class returnType = methode.getReturnType(); - /* - * Wenn der Rueckgabewert der Methode nicht vom Typ String ist, - * wird das Objekt in das Format verwandelt, das der Standardwandler - * liefert, z.B. JSON - */ - if(!returnType.getName().equals("java.lang.String")) { - //resultat = new JsonWandler().vonJava(resultat, returnType); - Wandler w = wandler.get(format); - if(w != null) { - resultat = w.vonJava(resultat, returnType); + Access access = methode.getAnnotation(Access.class); + if(access == null || access.type().equals(Access.Type.ALLOW)) { + resultat = methode.invoke(o, parameterKonvertieren(methode, parameter, format)); + Class returnType = methode.getReturnType(); + /* + * Wenn der Rueckgabewert der Methode nicht vom Typ String ist, + * wird das Objekt in das Format verwandelt, das der Standardwandler + * liefert, z.B. JSON + */ + if(!returnType.getName().equals("java.lang.String")) { + //resultat = new JsonWandler().vonJava(resultat, returnType); + Wandler w = wandler.get(format); + if(w != null) { + resultat = w.vonJava(resultat, returnType); + } + /*if(format == Wandler.JSON) { + resultat = new JsonWandler().vonJava(resultat, returnType); + }*/ } - /*if(format == Wandler.JSON) { - resultat = new JsonWandler().vonJava(resultat, returnType); - }*/ - } + } else { + // nicht zum Zugriff vorgesehen + } } return resultat; } -- Gitblit v1.9.3