Hi Sacha, sorry for your problems. I haven't been following the list closely, but if you paid attention to the error line:
"Type mismatch: cannot convert from Iterator<String> to Set<String>" it could save you some time.. But, aside of that, there is one thing I am wondering about: how the hell did you get this to compile? you should get compiler error like: "incompatible types found :Set required: Iterator " or something similar.. I am really curious.... -m -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Sascha Sent: Wednesday, August 16, 2006 9:52 AM To: [email protected] Subject: [Red5] Error in API documentation or Typechange during versionchange? and strange SO behavour. API documentation probably wrong or type changed with version?? hi 2 days ago i asked for a simple sample sourcecode how to get all shared obect names i posted a sourcecode and the only answhere whrere about my other question regarding missing external classes, anyway i did go on and tried now for 3 day, somehow 30 hours to bring a java 5 liner with only one error in one line to run and as i imagine no one else that was reading the list was able too, else i suggest somone would have had time to help on a 5 liner. well anyway... the probably WRONG API description: ~~~~~~~~~~~~~~~~~~~~~~~~ [API] 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 [/API] ~~~~~~~~~~~~~~~~~~~~~~~~ the way it DOES NOT work and that i tried for the whole while: [code] Set <String> mySet = getSharedObjectNames(scope); [/code] result is a typemissmatch eg.: [log] INFO | jvm 1 | 2006/08/15 20:09:55 | Caused by: java.lang.Error: Unresolved compilation problem: INFO | jvm 1 | 2006/08/15 20:09:55 | Type mismatch: cannot convert from Iterator<String> to Set<String> INFO | jvm 1 | 2006/08/15 20:09:55 | INFO | jvm 1 | 2006/08/15 20:09:55 | at demo.Application.getSOList(Application.java:33) INFO | jvm 1 | 2006/08/15 20:09:55 | ... 17 more [/log] ~~~~~~~~~~~~~~~~~~~~~~~~ what also would NOT work is trying to cast to the described "returns set of..." from Iterator to Set type [log] INFO | jvm 1 | 2006/08/15 20:04:04 | Caused by: java.lang.ClassCastException: org.red5.server.Scope$PrefixFilteringStringIterator INFO | jvm 1 | 2006/08/15 20:04:04 | at demo.Application.getSOList(Application.java:33) INFO | jvm 1 | 2006/08/15 20:04:04 | ... 17 more [/log] ~~~~~~~~~~~~~~~~~~~~~~~~ >>>>> but what will work is...: [code] Iterator<String> mySet = getSharedObjectNames(scope); [/code] so the API should be corrected, because it returns an Iterator not a Set: my suggestion: [API] getSharedObjectNames public Iterator<String> getSharedObjectNames(IScope scope) Description copied from interface: ISharedObjectService Get a iterator of the shared object names. Specified by: getSharedObjectNames in interface ISharedObjectService Parameters: scope - the scope to return the shared object names from Returns: Iterator containing the shared object names Example[Java): package demo; import org.red5.server.api.Red5; import java.util.Iterator; import java.lang.String; import org.red5.server.api.IScope; import org.red5.server.api.IClient; import org.red5.server.api.IConnection; import org.red5.server.adapter.ApplicationAdapter; public class Application extends ApplicationAdapter { public String getSOList() { String elementList = "Elements: "; IConnection conn = Red5.getConnectionLocal(); IClient client = conn.getClient(); IScope scope = conn.getScope(); Iterator<String> Iterator = getSharedObjectNames(scope); while (myIterator.hasNext()) { Object element = myIterator.next(); elementList = elementList + "" + element; } return "Output from Server : iam " + client + " and running with scope " + scope + ". i require the following SharedObjects: " + elementList; } } Example(Flash): main_nc.onResult = function(obj){ trace(obj); }; main_nc.connect("rtmp:/demo"); }; main_nc.call("getSOList", main_nc); [/API] ~~~~~~~~~~~~~~~~~~~~~~~~ in that case i also discovered a strange behavour. while all my testing with several ways to understand why this one dammed line would not like to work i also tried with the demoprogramm from the migrationguide where i first create these SOSampleObject well it may has been created but gets not listed the only listed object are those my client had made. Is that a default behavour shouldent the created SO been listed also?? if u need more informations pls ask. best regards Sascha _______________________________________________ Red5 mailing list [email protected] http://osflash.org/mailman/listinfo/red5_osflash.org
