Revision: 8782
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=8782&view=rev
Author:   dnaber
Date:     2013-01-02 14:37:35 +0000 (Wed, 02 Jan 2013)
Log Message:
-----------
work against the very first slow check because we use so much lazy init: init 
the LT object with the default language

Modified Paths:
--------------
    trunk/JLanguageTool/CHANGES.txt
    trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java
    trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java

Modified: trunk/JLanguageTool/CHANGES.txt
===================================================================
--- trunk/JLanguageTool/CHANGES.txt     2013-01-02 10:57:12 UTC (rev 8781)
+++ trunk/JLanguageTool/CHANGES.txt     2013-01-02 14:37:35 UTC (rev 8782)
@@ -24,6 +24,9 @@
    the three morfologik spell checker dictionaries (German, Austrian, und 
Swiss).
 
  -bugfix: suggestions for compounds parts were missing sometimes
+ 
+ -stand-alone GUI: the very first check for languages with a lot of rules
+  (e.g. German, French) should now be faster
 
 
 2.0 (2012-12-30)

Modified: 
trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java
===================================================================
--- 
trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java    
    2013-01-02 10:57:12 UTC (rev 8781)
+++ 
trunk/JLanguageTool/src/main/java/org/languagetool/gui/LanguageComboBox.java    
    2013-01-02 14:37:35 UTC (rev 8782)
@@ -56,6 +56,10 @@
     }
   }
 
+  Language getDefaultLanguage() {
+    return Language.getLanguageForLocale(Locale.getDefault());
+  }
+
   private void initAllLanguages() {
     i18nLanguages.clear();
     for (Language language : Language.LANGUAGES) {
@@ -71,8 +75,7 @@
   }
 
   private void preselectDefaultLanguage() {
-    final Language defaultLanguage = 
Language.getLanguageForLocale(Locale.getDefault());
-    selectLanguage(defaultLanguage);
+    selectLanguage(getDefaultLanguage());
   }
 
 }

Modified: trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java
===================================================================
--- trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java    
2013-01-02 10:57:12 UTC (rev 8781)
+++ trunk/JLanguageTool/src/main/java/org/languagetool/gui/Main.java    
2013-01-02 14:37:35 UTC (rev 8782)
@@ -242,11 +242,22 @@
     cons.insets = new Insets(1, 10, 10, 1);
     cons.gridy = 3;
     contentPane.add(panel, cons);
+    
+    warmUpChecker();
 
     frame.pack();
     frame.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
   }
 
+  private void warmUpChecker() {
+    // Warm-up: we have a lot of lazy init in LT, which causes the first check 
to
+    // be very slow (several seconds) for languages with a lot of data and a 
lot of 
+    // rules. We just assume that the default language is the language that 
the user
+    // often uses and init the LT object for that now, not just when it's 
first used.
+    // This makes the first check feel much faster:
+    getCurrentLanguageTool(languageBox.getDefaultLanguage());
+  }
+
   private void setLookAndFeel() {
     try {
       for (UIManager.LookAndFeelInfo info : 
UIManager.getInstalledLookAndFeels()) {
@@ -512,7 +523,7 @@
           new Thread() {
               @Override
               public void run() {
-                  if (!isAlreadyChecking) {              
+                  if (!isAlreadyChecking) {
                       isAlreadyChecking = true;
                       setWaitCursor();
                       checkTextButton.setEnabled(false);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
Languagetool-commits mailing list
Languagetool-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/languagetool-commits

Reply via email to