Questions & Answers

kscheuing
I'm new here

Script Context aus Connection

Hallo zusammen,

gibt es eine Mรถglichkeit aus einer Connection ein Context Object (am besten Script Context) zu extrahieren ?

Hintergrund ist, dass ich nach einer guten Lรถsung zum lokalen Entwickeln von FirstSpirit Modulen suche. Ich benutze eine Luncher Klasse um eine Connection zu meinem lokalen FirstSpirit aufzubauen, mein Modul erwartet aber natรผrlich einen Context aus welchem es entsprechende Informationen/Agents extrahieren kann.

Wรผrde mir eine Menge arbeit sparen, denn dann kรถnnte ich das Modul quasi in mein Luncher Framework einbetten und es wรผrde genau so funktionieren wie spรคter aus Firstspirit.

Danke fรผr Antworten,

Kai

0 Kudos
6 Replies
kscheuing
I'm new here

Ich habe inzwischen ein Workaround gefunden, ich รผbergebe einfach ein Mock Objekt und implementiere die Methode die ich brauche so gut wies geht selber :

UtilClass util = new UtilClass (new ScheduleContext() {


                @Override

                public Connection getConnection() {

                    return connection;

                }

                @Override

                public Object getProperty(String s) {

                    return null;

                }

                @Override

                public ScheduleTask getTask() {

                    return null;

                }

                @Override

                public int getTaskIndex() {

                    return 0;

                }

                @Override

                public List<? extends ScheduleTask> getTasks() {

                    return connection.getService(AdminService.class).getScheduleStorage().getScheduleEntry(2720).getTasks();

                }

                public Project getProject(){

                      return connection.getProjectByName(projectName);

                }

               .....

}

Funktioniert fรผr mein Zweck immoment ganz gut, ist aber eben kein echtes Context Objekt und ich denk sobalds speziell wird bin ich damit raus. Vielleicht hat jemand ja doch noch eine Idee Smiley Wink

0 Kudos

Hallo Kai,

die connention hat die Methode getBroker() und liefert dir einen SpecialistsBroker zurรผck. Ich denke, damit solltest du weiter kommen.

GrรผรŸe

Jan

0 Kudos

Hallo Jan,

danke fรผr deine Antwort. Den Broker und die "Agency" kenne ich. Leider gibt es noch keinen Context Agent, sonst wรคre die Sache klar Smiley Happy

In der API find ich leider auch nichts. Ich denke auch, dass das was ich Suche, also ein Context Objekt ausserhalb eines Context, nicht vorgesehen ist, deshalb werde ich mich mal meines Workarounds bedienen.

GruรŸ, Kai

0 Kudos

Hallo Kai,

ja, darauf lรคuf es hinaus. Ein Context lรคuft ja ggf. auch in einer GUI mit dem ganzen Drumherum. D.h. รผber eine externe Connection wirst Du z.B. keinen OperationAgent bekommen. รœber einen projektgebundenen Broker aber durchaus einen StoreElementAgent. Achtung: connection.getBroker() liefert erstmal einen Broker ohne Projektbindung, von dem muss man sich erst รผber einen BrokerAgent einen Broker MIT Projektbindung holen.

Grundsรคtzlich empfehle ich immer - solange man nicht WIRKLICH einen context braucht - bei zu รผbergebenden Parametern mit einem SpecialistBroker zu arbeiten.

Natรผrlich ist das nicht immer mรถglich, in den Fรคllen wo man man aber letztlich nur an den Agents interessiert ist und die entsprechenden grundsรคtzlich dort zur Verfรผgung stehen, hilft es schonmal weiter.

Viele GrรผรŸe

Michael

Der ScriptContext ist ein Subinterface vom SpecialistsBroker. Reicht dir das?

GrรผรŸe

Jan

0 Kudos

Hi Michael,

ich denke Du hast Recht, man sollte immer schauen das man mit einem Broker einsteigt. Leider geht das nicht immer.. z.B. fรผr Workflow Geschichten.  Naja, jetzt bin ich auf jeden Fall erstmal schlauer Smiley Happy

Danke fรผr eure Hilfe,

Kai

0 Kudos

Type a product name