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