Struggling to create a dataset

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Struggling to create a dataset

Willy Ray-2
I have a Repast Simphony model with a custom ContextBuilder implementation, wherein all the rest of the objects are groovy classes.

I'm doing a little bit of the groovy metaprogramming (specifically, adding a method to the metaclass here or there).  

For the life of me, I cannot create a data set in the runtime on this model.  

I've tried counting agents in an aggregate dataset.  I wondered if the problem had to do with their groovy natures, so I tried making them delegates inside java wrappers.  I even tried making a java top-level-data-collection class and adding that to the context (with, for example, increment and decrement agent count methods).  No matter what I do, I exceptions like below when I try to initialize the run.  None of these classes are my own, so I'm struggling to debug.  

java.lang.NullPointerException

at repast.simphony.data2.AbstractDataSetManager$ObjList.init(AbstractDataSetManager.java:47)

at repast.simphony.data2.AbstractDataSetManager.runStarted(AbstractDataSetManager.java:222)

at repast.simphony.data2.SingleRunDataSetManager.runStarted(SingleRunDataSetManager.java:67)

at repast.simphony.data2.engine.DataInitActionCreator$1.runInitialize(DataInitActionCreator.java:61)

at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:214)

at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:1)

at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:292)

at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:295)

at repast.simphony.util.collections.NaryTree.preOrderTraversal(NaryTree.java:288)

at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:212)

at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:383)

at repast.simphony.ui.RSApplication.initSim(RSApplication.java:157)

at repast.simphony.ui.action.InitRun.actionPerformed(InitRun.java:17)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Struggling to create a dataset

srcnick
Willy,

In your custom ContextBuilder, do you set the id of the passed in Context in the build method? Does that id match what’s in your scenario’s context.xml file?

Nick

On Jul 5, 2017, at 1:20 PM, Willy Ray <[hidden email]> wrote:

I have a Repast Simphony model with a custom ContextBuilder implementation, wherein all the rest of the objects are groovy classes.

I'm doing a little bit of the groovy metaprogramming (specifically, adding a method to the metaclass here or there).  

For the life of me, I cannot create a data set in the runtime on this model.  

I've tried counting agents in an aggregate dataset.  I wondered if the problem had to do with their groovy natures, so I tried making them delegates inside java wrappers.  I even tried making a java top-level-data-collection class and adding that to the context (with, for example, increment and decrement agent count methods).  No matter what I do, I exceptions like below when I try to initialize the run.  None of these classes are my own, so I'm struggling to debug.  

java.lang.NullPointerException

at repast.simphony.data2.AbstractDataSetManager$ObjList.init(AbstractDataSetManager.java:47)

at repast.simphony.data2.AbstractDataSetManager.runStarted(AbstractDataSetManager.java:222)

at repast.simphony.data2.SingleRunDataSetManager.runStarted(SingleRunDataSetManager.java:67)

at repast.simphony.data2.engine.DataInitActionCreator$1.runInitialize(DataInitActionCreator.java:61)

at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:214)

at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:1)

at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:292)

at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:295)

at repast.simphony.util.collections.NaryTree.preOrderTraversal(NaryTree.java:288)

at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:212)

at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:383)

at repast.simphony.ui.RSApplication.initSim(RSApplication.java:157)

at repast.simphony.ui.action.InitRun.actionPerformed(InitRun.java:17)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Struggling to create a dataset

Willy Ray-2
And, that's why you're the man.  Thanks!  

I guess I continue to struggle with the bigger picture of how and why the contexts work the way they do, but that's a question or set of questions I'll try to formulate for another day.

Willy

On Wed, Jul 5, 2017 at 12:02 PM, Nick Collier <[hidden email]> wrote:
Willy,

In your custom ContextBuilder, do you set the id of the passed in Context in the build method? Does that id match what’s in your scenario’s context.xml file?

Nick

On Jul 5, 2017, at 1:20 PM, Willy Ray <[hidden email]> wrote:

I have a Repast Simphony model with a custom ContextBuilder implementation, wherein all the rest of the objects are groovy classes.

I'm doing a little bit of the groovy metaprogramming (specifically, adding a method to the metaclass here or there).  

For the life of me, I cannot create a data set in the runtime on this model.  

I've tried counting agents in an aggregate dataset.  I wondered if the problem had to do with their groovy natures, so I tried making them delegates inside java wrappers.  I even tried making a java top-level-data-collection class and adding that to the context (with, for example, increment and decrement agent count methods).  No matter what I do, I exceptions like below when I try to initialize the run.  None of these classes are my own, so I'm struggling to debug.  

java.lang.NullPointerException

at repast.simphony.data2.AbstractDataSetManager$ObjList.init(AbstractDataSetManager.java:47)

at repast.simphony.data2.AbstractDataSetManager.runStarted(AbstractDataSetManager.java:222)

at repast.simphony.data2.SingleRunDataSetManager.runStarted(SingleRunDataSetManager.java:67)

at repast.simphony.data2.engine.DataInitActionCreator$1.runInitialize(DataInitActionCreator.java:61)

at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:214)

at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:1)

at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:292)

at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:295)

at repast.simphony.util.collections.NaryTree.preOrderTraversal(NaryTree.java:288)

at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:212)

at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:383)

at repast.simphony.ui.RSApplication.initSim(RSApplication.java:157)

at repast.simphony.ui.action.InitRun.actionPerformed(InitRun.java:17)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Loading...