/** * This is a little hacky, I'm not sure how to make this better when it's so late If a better * implementation is clear please re-write * * <p>This method invokes the change listener which will create the view objects on the petri net * tab * * @param propertyChangeListener */ private void initialiseNet(PetriNet net, PropertyChangeListener propertyChangeListener) { for (Token token : net.getTokens()) { PropertyChangeEvent changeEvent = new PropertyChangeEvent(net, PetriNet.NEW_TOKEN_CHANGE_MESSAGE, null, token); propertyChangeListener.propertyChange(changeEvent); } for (Place place : net.getPlaces()) { PropertyChangeEvent changeEvent = new PropertyChangeEvent(net, PetriNet.NEW_PLACE_CHANGE_MESSAGE, null, place); propertyChangeListener.propertyChange(changeEvent); } for (Transition transition : net.getTransitions()) { PropertyChangeEvent changeEvent = new PropertyChangeEvent(net, PetriNet.NEW_TRANSITION_CHANGE_MESSAGE, null, transition); propertyChangeListener.propertyChange(changeEvent); } for (Arc<? extends Connectable, ? extends Connectable> arc : net.getArcs()) { PropertyChangeEvent changeEvent = new PropertyChangeEvent(net, PetriNet.NEW_ARC_CHANGE_MESSAGE, null, arc); propertyChangeListener.propertyChange(changeEvent); } for (Annotation annotation : net.getAnnotations()) { PropertyChangeEvent changeEvent = new PropertyChangeEvent(net, PetriNet.NEW_ANNOTATION_CHANGE_MESSAGE, null, annotation); propertyChangeListener.propertyChange(changeEvent); } for (RateParameter rateParameter : net.getRateParameters()) { PropertyChangeEvent changeEvent = new PropertyChangeEvent( net, PetriNet.NEW_RATE_PARAMETER_CHANGE_MESSAGE, null, rateParameter); propertyChangeListener.propertyChange(changeEvent); } }