Changed mote creation to always be done by the MoteType (allows application motes to be loaded with the right class loader)
This commit is contained in:
parent
7922108cbd
commit
115ee7b936
|
@ -24,7 +24,7 @@
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: Simulation.java,v 1.57 2010/01/15 14:00:06 fros4943 Exp $
|
* $Id: Simulation.java,v 1.58 2010/01/24 20:10:57 nifi Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package se.sics.cooja;
|
package se.sics.cooja;
|
||||||
|
@ -633,15 +633,9 @@ public class Simulation extends Observable implements Runnable {
|
||||||
if (moteType == null) {
|
if (moteType == null) {
|
||||||
throw new Exception("No mote type for mote: " + moteClassName);
|
throw new Exception("No mote type for mote: " + moteClassName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Load mote class using mote type's class loader */
|
/* Create mote using mote type */
|
||||||
Class<? extends Mote> moteClass = myGUI.tryLoadClass(moteType, Mote.class, moteClassName);
|
Mote mote = moteType.generateMote(this);
|
||||||
if (moteClass == null) {
|
|
||||||
throw new Exception("Could not load mote class: " + element.getText().trim());
|
|
||||||
}
|
|
||||||
|
|
||||||
Mote mote = moteClass.getConstructor((Class[]) null).newInstance((Object[]) null);
|
|
||||||
mote.setType(moteType);
|
|
||||||
if (mote.setConfigXML(this, element.getChildren(), visAvailable)) {
|
if (mote.setConfigXML(this, element.getChildren(), visAvailable)) {
|
||||||
addMote(mote);
|
addMote(mote);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue