Browse Source

GUIMultiModelHandler: Refactor restarts of the WaitParseThread

Provide restartWaitParseThread helper.
accumulation-v4.7
Joachim Klein 7 years ago
committed by Dave Parker
parent
commit
84f4d7167d
  1. 42
      prism/src/userinterface/model/GUIMultiModelHandler.java

42
prism/src/userinterface/model/GUIMultiModelHandler.java

@ -225,6 +225,17 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
add(splitter, BorderLayout.CENTER); add(splitter, BorderLayout.CENTER);
} }
private synchronized void restartWaitParseThread()
{
if (waiter != null) {
waiter.interrupt();
}
int parseDelay = theModel.getPrism().getSettings().getInteger(PrismSettings.MODEL_PARSE_DELAY);
waiter = new WaitParseThread(parseDelay, this);
waiter.start();
//Funky thread waiting stuff
}
// New model... // New model...
public void newPRISMModel() public void newPRISMModel()
@ -544,13 +555,7 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
tree.makeNotUpToDate(); tree.makeNotUpToDate();
//start a new parse thread //start a new parse thread
if (isAutoParse()) { if (isAutoParse()) {
if (waiter != null) {
waiter.interrupt();
}
int parseDelay = theModel.getPrism().getSettings().getInteger(PrismSettings.MODEL_PARSE_DELAY);
waiter = new WaitParseThread(parseDelay, this);
waiter.start();
//Funky thread waiting stuff
restartWaitParseThread();
} }
} else if (buildAfterReceiveParseNotification) { } else if (buildAfterReceiveParseNotification) {
buildAfterParse(); buildAfterParse();
@ -583,13 +588,7 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
tree.makeNotUpToDate(); tree.makeNotUpToDate();
//start a new parse thread //start a new parse thread
if (isAutoParse()) { if (isAutoParse()) {
if (waiter != null) {
waiter.interrupt();
}
int parseDelay = theModel.getPrism().getSettings().getInteger(PrismSettings.MODEL_PARSE_DELAY);
waiter = new WaitParseThread(parseDelay, this);
waiter.start();
//Funky thread waiting stuff
restartWaitParseThread();
} }
} else { } else {
buildAfterReceiveParseNotification = false; buildAfterReceiveParseNotification = false;
@ -837,13 +836,7 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
if (!parsing) { if (!parsing) {
if (isAutoParse() && attemptReparse) { if (isAutoParse() && attemptReparse) {
if (waiter != null) {
waiter.interrupt();
}
int parseDelay = theModel.getPrism().getSettings().getInteger(PrismSettings.MODEL_PARSE_DELAY);
waiter = new WaitParseThread(parseDelay, this);
waiter.start();
//Funky thread waiting stuff
restartWaitParseThread();
} }
} else { } else {
parseAfterParse = true; parseAfterParse = true;
@ -955,12 +948,7 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
theModel.notifyEventListeners(new GUIModelEvent(GUIModelEvent.MODIFIED_SINCE_SAVE)); theModel.notifyEventListeners(new GUIModelEvent(GUIModelEvent.MODIFIED_SINCE_SAVE));
if (!parsing) { if (!parsing) {
if (isAutoParse()) { if (isAutoParse()) {
if (waiter != null) {
waiter.interrupt();
}
int parseDelay = theModel.getPrism().getSettings().getInteger(PrismSettings.MODEL_PARSE_DELAY);
waiter = new WaitParseThread(parseDelay, this);
waiter.start();
restartWaitParseThread();
} }
} else { } else {
parseAfterParse = true; parseAfterParse = true;

Loading…
Cancel
Save