Changeset 23982 in osm for applications/editors


Ignore:
Timestamp:
2010-11-01T04:02:26+01:00 (14 years ago)
Author:
oliverw
Message:

Bugfix: Repaired GuessAddressDataAction (wrong items were picked, etc.)

Location:
applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/AddressFinderThread.java

    r23973 r23982  
    3434
    3535public class AddressFinderThread extends PleaseWaitRunnable implements Visitor {
    36         private AddressEditContainer container;
     36        private List<AddressNode> addressesToGuess;
    3737        private double minDist;
    3838        private AddressNode curAddressNode;
     
    4343       
    4444        /**
    45          * @param AddressEditContainer
     45         * @param nodes
    4646         */
    47         public AddressFinderThread(AddressEditContainer AddressEditContainer, String title) {
     47        public AddressFinderThread(List<AddressNode> nodes, String title) {
    4848                super(title != null ? title : tr("Searching"));
    49                 setAddressEditContainer(AddressEditContainer);         
     49                setAddressEditContainer(nodes);         
    5050        }
    5151
    52         public void setAddressEditContainer(AddressEditContainer AddressEditContainer) {
     52        public void setAddressEditContainer(List<AddressNode> nodes) {
    5353                if (isRunning) {
    5454                        throw new ConcurrentModificationException();
    5555                }
    56                 this.container = AddressEditContainer;         
     56                this.addressesToGuess = nodes;         
    5757        }
    5858
    59         public AddressEditContainer getAddressEditContainer() {
    60                 return container;
     59        public List<AddressNode> getAddressEditContainer() {
     60                return addressesToGuess;
    6161        }
    6262        /**
     
    140140        protected void realRun() throws SAXException, IOException,
    141141                        OsmTransferException {
    142                 if (Main.main.getCurrentDataSet() == null || container == null) return;
     142                if (Main.main.getCurrentDataSet() == null || addressesToGuess == null) return;
    143143
    144144                isRunning = true;
     
    148148               
    149149                try {
    150                         progressMonitor.setTicksCount(container.getNumberOfUnresolvedAddresses());
     150                        progressMonitor.setTicksCount(addressesToGuess.size());
    151151                       
    152                         List<AddressNode> shadowCopy = new ArrayList<AddressNode>(container.getUnresolvedAddresses());
     152                        List<AddressNode> shadowCopy = new ArrayList<AddressNode>(addressesToGuess);
    153153                        for (AddressNode aNode : shadowCopy) {                                 
    154154                                minDist = Double.MAX_VALUE;
    155155                                curAddressNode = aNode;
     156                               
     157                                if (aNode.hasStreetName()) {
     158                                        progressMonitor.worked(1);
     159                                        continue;
     160                                }
    156161                               
    157162                                // check for cancel
     
    180185                                progressMonitor.worked(1);                             
    181186                        }
    182                         // request container update
    183                         container.invalidate();
    184187                } finally {
    185188                        isRunning = false;
  • applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/AddressNode.java

    r23970 r23982  
    250250                if (hasGuessedStreetName()) {
    251251                        setOSMTag(TagUtils.ADDR_STREET_TAG, guessedStreetName);
     252                        guessedStreetName = null;
    252253                }
    253254        }
  • applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/AddressEditDialog.java

    r23980 r23982  
    299299               
    300300                for (int i = 0; i < actions.length; i++) {
     301                        actions[i].setEvent(null);
    301302                        actions[i].setContainer(container);
    302303                }
  • applications/editors/josm/plugins/FixAddresses/src/org/openstreetmap/josm/plugins/fixAddresses/gui/GuessAddressDataAction.java

    r23963 r23982  
    8080         */
    8181        private void internalGuessAddresses(List<AddressNode> nodes) {
    82                 Main.worker.submit(new AddressFinderThread(container, tr("Guess street names")));               
     82                Main.worker.submit(new AddressFinderThread(nodes, tr("Guess street names")));
     83                if (container != null) {
     84                        container.invalidate();
     85                }
    8386        }
    8487}
Note: See TracChangeset for help on using the changeset viewer.