Hallo ,
ich hoffe ich bin im richtigen Unterforum, habe kein passendes gefunden.
habe eine Funktion und bekomme folgendem Fehler:
"at java.util.Hashtable$Enumerator.next(Unknown Source)"
Verstehe nicht warum die Fehlermeldung kommt
wenn ich die zeilen
tableElem.put("sourcebuffer"+String.valueOf(zsourc ebuffer), queue);
und
tableElem.put("Con"+String.valueOf(zsourcebuffer), con);
raus nehme kommt der Fehler nicht
Es liegt also daran dass der Itterator nicht mit dem put Befehl klar kommt owohl der Iterator ja über die Hashtable vom model geht und der put Befehl auf die Hashtable tableElem angewendet wird. Würde ich die Table von model putten über die er itteriert würde ich Fehler verstehen da ja dann die Anzahl anders ist.
Kann mir vielleicht jemand helfen?
ich hoffe ich bin im richtigen Unterforum, habe kein passendes gefunden.
habe eine Funktion und bekomme folgendem Fehler:
"at java.util.Hashtable$Enumerator.next(Unknown Source)"
Code:
Hashtable <String, ModelElement> tableElem = new Hashtable<String, ModelElement>(); tableElem = model.getElements(); for (ModelElement element : model.getElements().values()) { if (element.getClass().getName().equalsIgnoreCase("sys4sim.internal_model.Source")) { ArrayList<Connector> outList = new ArrayList<Connector>(); outList = ((ModelBlock)element).getOut(); for ( Iterator<Connector> i = outList.iterator(); i.hasNext(); ) { //erzeuge Buffer zsourcebuffer+=1; sys4sim.internal_model.Queue queue = new sys4sim.internal_model.Queue(); queue.setCapacity(10000); queue.setName("sourcebuffer"+String.valueOf(zsourcebuffer)); tableElem.put("sourcebuffer"+String.valueOf(zsourcebuffer), queue); // Connector abändern Connector s = i.next(); ModelBlock z = s.getTarget(); s.setTarget(queue); s.setTargetName(queue.getName()); //neuen Connector zwischen Buffer und Elziel erzeugen sys4sim.internal_model.Connector con = new sys4sim.internal_model.Connector(); con.setSource(queue); con.setSourceName(queue.getName()); con.setTarget(z); con.setTargetName(z.getName()); tableElem.put("Con"+String.valueOf(zsourcebuffer), con); //neues Teil in Buffer get.out schreiben queue.getOut().add(con); } } } //tableElem = model2.getElements(); model.setElements(tableElem);
wenn ich die zeilen
tableElem.put("sourcebuffer"+String.valueOf(zsourc ebuffer), queue);
und
tableElem.put("Con"+String.valueOf(zsourcebuffer), con);
raus nehme kommt der Fehler nicht
Es liegt also daran dass der Itterator nicht mit dem put Befehl klar kommt owohl der Iterator ja über die Hashtable vom model geht und der put Befehl auf die Hashtable tableElem angewendet wird. Würde ich die Table von model putten über die er itteriert würde ich Fehler verstehen da ja dann die Anzahl anders ist.
Kann mir vielleicht jemand helfen?
Comment