Classes derived from openwns.node.NoRadio cannot be instantiated any more

Bug #605073 reported by Obaid Mushtaq
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openWNS Library
Fix Committed
Undecided
Unassigned

Bug Description

After the introduction of the abstract "setChannelModel" method to scenarios.interfaces.INode, no class derived from openwns.node.NoRadio (which in turn is derived from scenarios.interfaces.INode) can be instantiated (e.g., ip.VirtualARP.VirtualARPServer) because the "setChannelModel" is not implemented in NoRadio (or in ip.VirtualARP.VirtualARPServer).

It could be fixed by adding this method to NoRadio (similar to the other methods implemented there):
 def setChannelModel(self):
        assert False, "This node is not a mobile radio node"

This is the error you get when trying to instantiate the ip.VirtualARP.VirtualARPServer:

PyConfig says:
Traceback (most recent call last):
  File "config_ITU.py", line 337, in <module>
    varp = VirtualARPServer("vARP", "WIMAXRAN")
  File "/home/gu68pal/openwns-sdk/sandbox/dbg/bin/../lib/PyConfig/openwns/interface.py", line 73, in __new__
    method.__doc__))
TypeError: Abstract method 'scenarios.interfaces.INode.setChannelModel' not implemented in 'VirtualARPServer':

INode.setChannelModel(self, channelModel) :
NOTE: This is an abstract method.

        Set the channel model for this node

        @type channelModel: ChannelModel
        @param antenna: The ChannelModel that should be installed in this node

Revision history for this message
Jan (jan-ellenbeck) wrote :

This happens for example in the wimac-tests/configIMTA system tests.

Changed in openwns-library:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.