Pourquoi ne pas simplement télécharger sourses
de la bibliothèque et regarder à l'intérieur?
L'analyse du code source montre que la différence est uniquement dans les états dans lesquels ces fonctions sont définies.
STATUS_STOPPED
est interprétée comme une configuration avortée par l'utilisateur. STATUS_EXIT
est interprétée comme la configuration venait d'être terminée.
I.e. ils sont presque égaux.
Faisons ensemble:
One:
public void exitExecution(String message) {
setStatus(STATUS_EXIT);
this.message = message;
}
Deux:
public void stopExecution() {
setStatus(STATUS_STOPPED);
}
Ensuite, allez BaseProcessor
classe, c'est l'un des deux endroits où STATUS_EXIT
ou STATUS_STOPPED
les statuts sont utilisés:
public Variable run(Scraper scraper, ScraperContext context) {
int scraperStatus = scraper.getStatus();
if (scraperStatus == Scraper.STATUS_STOPPED || scraperStatus == Scraper.STATUS_EXIT) {
return EmptyVariable.INSTANCE;
}
...
}
Un autre en classe ConfigPanel
:
public void onExecutionEnd(Scraper scraper) {
...
} else if (status == Scraper.STATUS_STOPPED) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GuiUtils.showWarningMessage("Configuration \"" + configDocument.getName() + "\" aborted by user!");
ide.setTabIcon(ConfigPanel.this, ResourceManager.SMALL_FINISHED_ICON);
}
});
} else if (status == Scraper.STATUS_EXIT && message != null && !"".equals(message.trim())) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GuiUtils.showWarningMessage("Configuration exited: " + message);
ide.setTabIcon(ConfigPanel.this, ResourceManager.SMALL_FINISHED_ICON);
}
});
}
...
}
Merci pour la réponse. Y a-t-il moyen de terminer le grattoir pour qu'il n'attende pas trop longtemps pour obtenir les données de la page Web? – codeMan