- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Executable Ergebnis verarbeiten
Hallo Community,
ich habe eine Executable-Klasse und mรถchte das Ergebnis in einem Script auswerten.
Beispiel:
public class ExampleExecutable implements Executable {
@Override
public Object execute(Map<String, Object> context) throws ExecutionException {
return execute(context, new PrintWriter(System.out), new PrintWriter(System.err));
}
@Override
public Object execute(Map<String, Object> param, Writer out, Writer err)
throws ExecutionException {
return Arrays.asList("Hallo", "Welt", "!");
}
}
Aufgerufen wird das Script folgendermaรen:
#! executable-class
de.example.script.executable.ExampleExecutable
Wie kann ich nun mit dem Ergebnis im Script weiterarbeiten?
Vielen Dank und Grรผรe
Philipp Bender
- Labels:
-
Developers
- Tags:
- executable
- script
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
ich verstehe die Frage leider nicht
Wenn das Skript so definiert ist, dass eine Executable genutzt wird, dann ist dies das einzige, was hier passiert. Weiteres Scripting ist hier nicht mรถglich.
Wieso muss es รผberhaupt eine Executable sein? Klingt mir eher danach, als wรผrde hier eine Utility-Klasse in einem Modul definiert, die in Beanshell-Skripten genutzt werden soll.
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Philipp Bender schrieb:
Aufgerufen wird das Script folgendermaรen:
#! executable-class
de.example.script.executable.ExampleExecutable
Wie kann ich nun mit dem Ergebnis im Script weiterarbeiten?
Gar nicht, denn das "Script" wurde auf eine ausfรผhrbare Klasse als "Scriptsprache" gesetzt, sprich, es wird die angegebene Klasse ausgefรผhrt.
Warum soll die Auswertung nicht innerhalb des Executable stattfinden?
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
danke fรผr die Antwort.
Das ganze dient als Refactoring von altem Beanshell-Scripten. Architekturbedingt muss ich auf das Ergebnis zugreifen, um nicht die kompletten Beanshell-Scripte auf einen Schlag auszulagern. Dies wรผrde sehr viel Aufwand verursachen.
Kann ich รผber context.setProperty den entsprechenden Rรผckgabewert bereitstellen und darauf zugreifen?
Viele Grรผรe
Philipp Bender
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
ich verstehe die Frage leider nicht
Wenn das Skript so definiert ist, dass eine Executable genutzt wird, dann ist dies das einzige, was hier passiert. Weiteres Scripting ist hier nicht mรถglich.
Wieso muss es รผberhaupt eine Executable sein? Klingt mir eher danach, als wรผrde hier eine Utility-Klasse in einem Modul definiert, die in Beanshell-Skripten genutzt werden soll.
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
eine Utility Klasse trifft wohl eher zu. Habe ich die Mรถglichkeit in einer Utility Klasse auf den Context zuzugreifen?
Viele Grรผรe
Philipp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die Implementierung liegt ja bei dir, und somit auch die Parameterisierung von Methoden
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oha :smileygrin:, da stand ich aber auf einem dicken Schlauch.
Danke fรผr den Hinweis.

