Revision: 5500
          http://sourceforge.net/p/jump-pilot/code/5500
Author:   edso
Date:     2017-09-19 18:08:03 +0000 (Tue, 19 Sep 2017)
Log Message:
-----------
some finetuning for the task status reporting
fix a unnecessary 
"
java.lang.StackOverflowError
                             at 
com.vividsolutions.jump.workbench.ui.task.TaskMonitorDialog.report(TaskMonitorDialog.java:236)
"
introduced w/ the CreateGrid changes

Modified Paths:
--------------
    
core/trunk/src/com/vividsolutions/jump/workbench/ui/task/TaskMonitorDialog.java
    
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/CreateGridPlugIn.java

Added Paths:
-----------
    core/trunk/src/com/vividsolutions/jump/task/RefreshRated.java

Added: core/trunk/src/com/vividsolutions/jump/task/RefreshRated.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/task/RefreshRated.java               
                (rev 0)
+++ core/trunk/src/com/vividsolutions/jump/task/RefreshRated.java       
2017-09-19 18:08:03 UTC (rev 5500)
@@ -0,0 +1,14 @@
+package com.vividsolutions.jump.task;
+
+public interface RefreshRated {
+  /**
+   * retrieve the interval for updating the ui components
+   * @return interval in milliseconds
+   */
+  public int getRefreshRate();
+  
+  /**
+   * set the interval for updating the ui components
+   */
+  public void setRefreshRate(int millisecondDelay);
+}


Property changes on: 
core/trunk/src/com/vividsolutions/jump/task/RefreshRated.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/ui/task/TaskMonitorDialog.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/ui/task/TaskMonitorDialog.java 
    2017-09-17 14:42:57 UTC (rev 5499)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/ui/task/TaskMonitorDialog.java 
    2017-09-19 18:08:03 UTC (rev 5500)
@@ -55,12 +55,13 @@
 import javax.swing.text.JTextComponent;
 
 import com.vividsolutions.jump.I18N;
+import com.vividsolutions.jump.task.RefreshRated;
 import com.vividsolutions.jump.task.TaskMonitorV2;
 import com.vividsolutions.jump.workbench.ui.AnimatedClockPanel;
 import com.vividsolutions.jump.workbench.ui.ErrorHandler;
 
 
-public class TaskMonitorDialog extends JDialog implements TaskMonitorV2 {
+public class TaskMonitorDialog extends JDialog implements TaskMonitorV2, 
RefreshRated {
     private JPanel mainPanel = new JPanel();
     private JPanel labelPanel = new JPanel();
 
@@ -233,7 +234,7 @@
 
     public void report(int subtasksDone, int totalSubtasks,
         String subtaskDescription) {
-        report(subtasksDone, totalSubtasks, subtaskDescription);
+        report((long)subtasksDone, (long)totalSubtasks, subtaskDescription);
     }
 
     public void allowCancellationRequests() {

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/CreateGridPlugIn.java
===================================================================
--- 
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/CreateGridPlugIn.java 
    2017-09-17 14:42:57 UTC (rev 5499)
+++ 
core/trunk/src/org/openjump/core/ui/plugin/tools/generate/CreateGridPlugIn.java 
    2017-09-19 18:08:03 UTC (rev 5500)
@@ -30,6 +30,7 @@
 import com.vividsolutions.jump.feature.FeatureCollection;
 import com.vividsolutions.jump.feature.FeatureDataset;
 import com.vividsolutions.jump.feature.FeatureSchema;
+import com.vividsolutions.jump.task.RefreshRated;
 import com.vividsolutions.jump.task.TaskMonitor;
 import com.vividsolutions.jump.task.TaskMonitorUtil;
 import com.vividsolutions.jump.task.TaskMonitorV2Util;
@@ -77,6 +78,8 @@
     boolean createPolys  = false;
     
     TaskMonitor taskMonitor = null;
+    // interval (milliseconds) that taskmonitor is updated
+    private int interval = 300;
 
     public CreateGridPlugIn() {
     }
@@ -120,6 +123,8 @@
       this.taskMonitor = monitor;
       TaskMonitorV2Util.setTitle(monitor, getName());
       monitor.allowCancellationRequests();
+      if (monitor instanceof RefreshRated)
+        ((RefreshRated)monitor).setRefreshRate(interval);
       createGrid(context);
     }
 
@@ -315,11 +320,10 @@
     }
 
     private long lastMsg = 0;
-    private long interval = 300;
     // report only every <interval> millisecs
     private void reportItems(long itemsDone, long itemsTotal, String message ){
       long now = Timer.milliSecondsSince(0);
-      // show status every .5s
+      // update status every interval millisecs
       if (now - interval >= lastMsg) {
         lastMsg = now;
         TaskMonitorV2Util.report(this.taskMonitor, itemsDone, itemsTotal, 
message);


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to