Java Web Services via REST bereitstellen
ulrich@undisclosed
2020-05-02 1177762340ebc0e7bee444ae2d7c119f697cbdbb
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;
   }