Hallo,
ich habe eine SOAP Schnittstelle programmiert (http://jagosi.soebes.de).
Jetzt habe ich aber ein paar Fragen:
Die Schnittstelle selbst ist ja "flach", sprich viele Methoden in einer Klasse, die die Funktionalitäten darstellen:
Manche Methoden haben jetzt aber eine lange Reihe von Parameter.
Ok. Ist ja schon ok....
Mein erster Weg zur "verschönerung" ist der Folgende:
Das obige wollte ich auch mit "getArtifacts" machen, in etwa so:
Das Problem was auftaucht ist, dass in der Klasse JaGoSIGroup nun eine Instanz (JaGoSI) gehalten werden muss, um die Verkettung durchführen zu können und ich muss selbstverständlich die Methode getArtifactTypes in die Klasse JaGoSIGroup entprechend implementieren. Auch wenn die Implementation lediglich aus einem Delegator besteht...
Das bedeutet, das ich in jeder Klasse den Delegator implementieren muss, damit die Verkettung wie oben gewünscht funktioniert.
Die Frage ist zum einen, ob es einen geschickten(ren) Weg gibt eine solche flache Schnittstelle besser (was auch immer das heißen mag) zu verpacken?
und zum anderen, ob es einen Besseren Weg gibt als mit den og. Delegatoren in den anderen Klassen.....
Vielen Dank im Voraus.
MfG
Karl Heinz Marbaise
ich habe eine SOAP Schnittstelle programmiert (http://jagosi.soebes.de).
Jetzt habe ich aber ein paar Fragen:
Die Schnittstelle selbst ist ja "flach", sprich viele Methoden in einer Klasse, die die Funktionalitäten darstellen:
Manche Methoden haben jetzt aber eine lange Reihe von Parameter.
Code:
JaGoSI gf = new JaGoSI ("http://gforge.domain/soap/index.php");
gf.login("username", "password");
..
JaGoSIArtifact[] artifactList = jg.getArtifacts(Group, ArtifactType, assignedTo, state);
Mein erster Weg zur "verschönerung" ist der Folgende:
Code:
JaGoSIGroup group = gf.getGroups().get("SVN Test Project");
JaGoSIArtifactType artifactType = gf.getGroups().get("SVN Test Project").getArtifactTypes().get("Bugs");
Code:
JaGoSIArtifact[] artifacts = gf.getGroups()
.get("SVN Test Project").getArtifactTypes()
.get("Bugs").getAssigned()
.get("ANY").getStates()
.get("OPEN");
Das Problem was auftaucht ist, dass in der Klasse JaGoSIGroup nun eine Instanz (JaGoSI) gehalten werden muss, um die Verkettung durchführen zu können und ich muss selbstverständlich die Methode getArtifactTypes in die Klasse JaGoSIGroup entprechend implementieren. Auch wenn die Implementation lediglich aus einem Delegator besteht...
Das bedeutet, das ich in jeder Klasse den Delegator implementieren muss, damit die Verkettung wie oben gewünscht funktioniert.
Die Frage ist zum einen, ob es einen geschickten(ren) Weg gibt eine solche flache Schnittstelle besser (was auch immer das heißen mag) zu verpacken?
und zum anderen, ob es einen Besseren Weg gibt als mit den og. Delegatoren in den anderen Klassen.....
Vielen Dank im Voraus.
MfG
Karl Heinz Marbaise