HI folgendes problem ich möchte bei einem server den ich auf javabasis erweitern kann die liste der "sharedObjects" abfragen dies sind objecte die in binärformat gespeichert werden und wohl hashmaps enthalten, wie auch immer mir gehts nur um die list der namen der objekte!
vorab der API ausschnitt bei dem es um den fraglichen befehl geht:
auch unter den genannten kopien steht nicht mehr.
eingebunden habe ich das ganze so
siehe kommentare als info)
das ist jetzt der aktuelle code aber ich habe auch noch bestimmt 80 andere versionen wo ich so ziemlich alles versucht hab was ich gefunden hab...
das problem macht so oder so wohl wirklich diese Zeile:
die ich wohl zu blöd bin synthaktich richtig zu schreiben, ich hab alles durch was mir eingefallen ist und hänge nun seit tagen an dieser einen zeile, vielleicht fällt ja dem geübten API leser sofort mein fehler ins auge, das wäre super aber auch für andere anregungen wäre ich sehr dankbar.
mfg
vorab der API ausschnitt bei dem es um den fraglichen befehl geht:
getSharedObjectNames
public Set<String> getSharedObjectNames(IScope scope)
Description copied from interface: ISharedObjectService
Get a set of the shared object names.
Specified by:
getSharedObjectNames in interface ISharedObjectService
Parameters:
scope - the scope to return the shared object names from
Returns:
set containing the shared object names
auch unter den genannten kopien steht nicht mehr.
eingebunden habe ich das ganze so
Code:
package demo;
import ......
public class Application extends ApplicationAdapter {//aplicatioAdapter enthält die fragliche methode
private Set<String> mySet;//erstellen einer variable fürs set
public boolean roomStart(IScope room) {//@Override überschreibt methode des Servers in ApplicationAdaptor
if (!super.roomStart(room))
return false;
createSharedObject(room, "sampleSO", true);//erstellt so ein SharedObject
ISharedObject so = getSharedObject(room, "sampleSO");//und refferenziert es
IConnection conn = Red5.getConnectionLocal();//intern um die verbindung (läuft über rtmp) zu ermitteln
IClient client = conn.getClient();//und den client eigentlich nicht notwendig
IScope scope = room.getScope();//scope holen
mySet = Set<String> getSharedObjectNames(IScope scope);// hier sagt mir eclipse dann ich solle das TOKEN scope entfernen danach das IScope und dann nach und nach den rest der zeile
return true;
}
public String getSOList()//hier die funktion lässt sch vom client aufrufen
{
String elementList = "Elements: ";//einen string erstellen um das ganze auch typ konform zurück zu geben
try {//hatte es zuerst ohne try aber ohne den try catch block habe ich
Iterator it = mySet.iterator();//<<<<<<hier eine NUllPointerException welche ich später an den client ausgebe(damit ich nicht immer log file lesen muss
while (it.hasNext()) {//mit dem iterator durch das set das falls das nicht leer ist was es nicht sein dürfte da ich ein SharedObject erstellt habe
// Get element
Object element = it.next();
elementList = elementList + "" + element;
}
} catch (NullPointerException E){
elementList = E.toString();
}
return elementList.toString();//hier dann die ausgabe
}
}
das ist jetzt der aktuelle code aber ich habe auch noch bestimmt 80 andere versionen wo ich so ziemlich alles versucht hab was ich gefunden hab...
das problem macht so oder so wohl wirklich diese Zeile:
Code:
mySet = Set<String> getSharedObjectNames(IScope scope);
die ich wohl zu blöd bin synthaktich richtig zu schreiben, ich hab alles durch was mir eingefallen ist und hänge nun seit tagen an dieser einen zeile, vielleicht fällt ja dem geübten API leser sofort mein fehler ins auge, das wäre super aber auch für andere anregungen wäre ich sehr dankbar.
mfg