public static void refreshdisplay() {
		// Retrieve scene grid size
		Object[] paramsIntern = { 0 };

		String engineData = (String) consumer.consumeService( "getSize", paramsIntern );
		String[] sizeArray = engineData.split(":");
		displayPanel.setVirtualSize(Integer.parseInt(sizeArray[0]), Integer.parseInt(sizeArray[1]));
		// Retrieve all object position and display them 
		engineData = (String) consumer.consumeService( "getAllPositions", paramsIntern );
	    if(engineData == null) {
	    	return;
	    }
		String[] engineDataLines = engineData.split("\n");
	    if(engineDataLines == null) {
	    	return;
	    }
	    displayPanel.reset();
	    for(String line : engineDataLines) {
	    	if(line.matches("[0-9]*:[0-9]*:[a-zA-Z]*:[0-9]:[0-9]:[0-9]")) {
	    		String[] lineInformations = line.split(":");
		    	int x = Integer.parseInt(lineInformations[0]);
		    	int y = Integer.parseInt(lineInformations[1]);
		    	String type = lineInformations[2];
		    	boolean hasBox = Integer.parseInt(lineInformations[3]) == 1;
		    	boolean hasAgent = Integer.parseInt(lineInformations[4]) == 1;
		    	boolean agentHasBox = Integer.parseInt(lineInformations[5]) == 1;
		    	
		    			
		    	switch(type) {
		    	case "Wall" :
		    		displayPanel.addGraphics(new WallDrawable(x, y));
		    		break;
		    	case "Home" :
		    		displayPanel.addGraphics(new Drawable(x, y, BasicDrawable.RECTANGLE, Color.decode("0x40FF87")));
		    		break;
		    	case "Storage" :
		    		displayPanel.addGraphics(new Drawable(x, y, BasicDrawable.RECTANGLE, Color.decode("0x996739")));
		    		break;
		    	}
		    	if( hasAgent ) {
		    		displayPanel.addGraphics(new FenwickDrawable(x, y, !agentHasBox));
		    	}
		    	if( hasBox ) {
		    		displayPanel.addGraphics(new BoxDrawable(x, y));
		    	}
	    	}
	    }
	    displayPanel.repaint();
	}