Print

Print


Hi Carlos,

I believe you're using a mason.jar file as a dependency, right?

What you described indicates that Eclipse cannot locate the Java 
sourcefiles. Go to your project settings, click configure build path, 
then set the Java source lookup to where you have the Mason sources.

Note that Mason has a few 3rd party libraries as dependencies, so if you 
want to be able to debug them too you have to download manually and add 
those libraries to your source lookup path too.

Hope that helps.

Best,
Richard

--
Richard O. Legendi
Software developer
Intelligent Applications and Web Services
AITIA International, Inc.
http://people.inf.elte.hu/legendi/

On 2012.05.23. 8:36, Carlos J. Domar D'Lima wrote:
> Hi there,
>
> I work in epidemiology modelling and I am starting using Mason to implement
> spatial-explicit infection processes.
>
> When using Eclipse (or Netbeans, for that matters) for debugging and I am having
> a problem when trying to dive deep into the classes. I mean,  when following the
> tutorial, implementing the class "StudentsWithUi.java", I'd like to be able to see and
> debug the code for instance of the class Console (and all the others) but Eclipse
> (nor Neatbeans) seems not being able to show those codes in debug mode..
>
> I have tried different alternatives to sort out the problem, such as moving the
> needed Mason classes (e.g. sim.display.*, etc) to my current package (Students)
> but that did not seen to work straightforward (a lot of errors are produced).
>
> I also have tried the other way around, that is to move my Student package to
> sim.display, not errors are produced then, but Eclipse is not able to find the correct
> main function.
>
> So my question is -It is possible to see and debug (and follow the code in debug
> mode) the Mason classes beyond the init, setupPortrayals, start, etc up to the
> basic classes such us GUIState, Console, and the likes?
>
> Any hint would be highly appreciated, and thanks in advance
>
> Cheers,
>
> Carlos
>
> ps. below is the tutorial example "StudentsWithUI" as I have it implemented  as a
> package "Studiantes" in Eclipse.
>
>
> package Studiantes;
>
> import sim.portrayal.network.*;
>
> public class StudentsWithUI extends GUIState
> 	{
> 	public Display2D display;
> 	public JFrame displayFrame;
>
> 	ContinuousPortrayal2D yardPortrayal = new ContinuousPortrayal2D();
> 	NetworkPortrayal2D buddiesPortrayal = new NetworkPortrayal2D();
>
> 	
> 	public static void main (String[] args)
> 		{
> 			StudentsWithUI vid = new StudentsWithUI();
> 			Console c = new Console(vid);
> 			c.setVisible(true);
> 		}
>
> 	public StudentsWithUI() { super(new Students(System.currentTimeMillis())); }
> 	public StudentsWithUI(SimState state) { super(state); }
> 	public static String getName() { return "Student Schoolyard Cliques"; }
>
> 	public void start()
>
> 		{
>
>
> 		setupPortrayals();
> 		}
>
> 	public void load(SimState state)
>
> 		{
> 		super.load(state);
> 		setupPortrayals();
> 		}
>
> 	public void setupPortrayals()
> 		{
> 		Students students = (Students) state;
>
> 		// tell the portrayals what to portray and how t portray them
> 		yardPortrayal.setField( students.yard );
> 		yardPortrayal.setPortrayalForAll(new OvalPortrayal2D());
>
> 		buddiesPortrayal.setField( new SpatialNetwork2D( students.yard,
> students.buddies ) );
> 		buddiesPortrayal.setPortrayalForAll( new SimpleEdgePortrayal2D() );
>
> 		// reschedule the displayer
> 		display.reset();
> 		display.setBackdrop(Color.white);
>
> 		// redraw the display
> 		display.repaint();
> 		}
> 	public void init (Controller c)
> 		{
> 			super.init(c);
> 			display = new Display2D(600,600,this);
> 			display.setClipping(false);
>
> 			displayFrame = display.createFrame();
> 			displayFrame.setTitle("Schoolyard Display");
> 			c.registerFrame(displayFrame); 			// so the frame
> appears in the "Display" list
> 			displayFrame.setVisible(true);
> 			display.attach (buddiesPortrayal, "Buddies");
> 			display.attach( yardPortrayal, "Yard" );	
>
> 		}
>
> 	public void quit()
> 	{
> 		super.quit();
> 		if (displayFrame!=null) displayFrame.dispose();
> 		displayFrame = null;
> 		display = null;
> 	}
>
> 	}