Ignore:
Timestamp:
2016-06-14T19:03:34+02:00 (9 years ago)
Author:
darya
Message:

Clarification

Location:
applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/actions/IncompleteMembersDownloadThread.java

    r32237 r32238  
    33import java.util.ArrayList;
    44
    5 import org.openstreetmap.josm.Main;
    65import org.openstreetmap.josm.data.osm.PrimitiveId;
    76import org.openstreetmap.josm.data.osm.Relation;
    8 import org.openstreetmap.josm.data.osm.RelationMember;
    97import org.openstreetmap.josm.gui.io.DownloadPrimitivesWithReferrersTask;
    108
     
    2422                synchronized (this) {
    2523
    26                         ArrayList<PrimitiveId> list = new ArrayList<>();
    27                         for (RelationMember rm : relation.getMembers()) {
    28                                 list.add(rm);
    29                         }
     24                        ArrayList<PrimitiveId> list = new ArrayList<>(1);
     25                        list.add(relation);
    3026
    3127                        DownloadPrimitivesWithReferrersTask task = new DownloadPrimitivesWithReferrersTask(false, list, false, true,
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/PTAssitantValidatorTest.java

    r32237 r32238  
    66import java.util.List;
    77
    8 import javax.swing.JCheckBox;
    98import javax.swing.JOptionPane;
    109
     
    2120import org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator;
    2221import org.openstreetmap.josm.plugins.pt_assistant.actions.IncompleteMembersDownloadThread;
     22import org.openstreetmap.josm.plugins.pt_assistant.gui.IncompleteMembersDownloadDialog;
    2323import org.openstreetmap.josm.plugins.pt_assistant.utils.RouteUtils;
    2424
     
    3939                }
    4040
     41                // Download incomplete members. If the download does not work, finish.
    4142                if (r.hasIncompleteMembers()) {
    42 
    43                         // IncompleteMembersDownloadDialog incompleteDialog = new
    44                         // IncompleteMembersDownloadDialog(r.getId());
    45                         //
    46                         // int userInput = incompleteDialog.getUserSelection();
    47 
    48                         String message = tr("The relation (id=" + r.getId()
    49                                         + ") has incomplete members.\nThey need to be downloaded to proceed with validation of this relation.\nDo you want to download incomplete members?");
    50                         JCheckBox checkbox = new JCheckBox(tr("Remember my choice and don't ask me again in this session"));
    51                         Object[] params = { message, checkbox };
    52                         String[] options = { tr("Yes"), tr("No") };
    53 
    54                         int userInput = Integer.MIN_VALUE;
    55                         userInput = JOptionPane.showOptionDialog(null, params, tr("Fetch Request"), JOptionPane.YES_NO_OPTION,
    56                                         JOptionPane.QUESTION_MESSAGE, null, options, 0);
    57 
    58                         if (userInput == 0) {
    59 
    60                                 Thread t = new IncompleteMembersDownloadThread(r);
    61                                 t.start();
    62                                 synchronized (t) {
    63                                         try {
    64                                                 t.wait();
    65                                         } catch (InterruptedException e) {
    66                                                 return;
    67                                         }
    68                                 }
    69 
     43                        boolean downloadSuccessful = this.downloadIncompleteMembers(r);
     44                        if (!downloadSuccessful) {
     45                                return;
    7046                        }
    7147                }
    7248
     49                performDummyTest(r);
     50
     51
     52
     53
     54
     55        }
     56
     57        /**
     58         * Downloads incomplete relation members in an extra thread (user input
     59         * required)
     60         *
     61         * @return true if successful, false if not successful
     62         */
     63        private boolean downloadIncompleteMembers(Relation r) {
     64                IncompleteMembersDownloadDialog incompleteMembersDownloadDialog = new IncompleteMembersDownloadDialog(
     65                                r.getId());
     66
     67                int userInput = incompleteMembersDownloadDialog.getUserSelection();
     68
     69                if (userInput == JOptionPane.YES_OPTION) {
     70
     71                        Thread t = new IncompleteMembersDownloadThread(r);
     72                        t.start();
     73                        synchronized (t) {
     74                                try {
     75                                        t.wait();
     76                                } catch (InterruptedException e) {
     77                                        return false;
     78                                }
     79                        }
     80                        return true;
     81                }
     82               
     83                return false;
     84        }
     85
     86        /**
     87         * Checks if the test error is fixable
     88         */
     89        @Override
     90        public boolean isFixable(TestError testError) {
     91                return false;
     92        }
     93
     94        @Override
     95        public Command fixError(TestError testError) {
     96                return null;
     97        }
     98       
     99        private void performDirectionTest(Relation r) {
    73100                List<RelationMember> waysToCheck = new ArrayList<>();
    74101
     
    82109                        return;
    83110                }
    84 
     111               
    85112                WayConnectionTypeCalculator connectionTypeCalculator = new WayConnectionTypeCalculator();
    86113                final List<WayConnectionType> links = connectionTypeCalculator.updateLinks(waysToCheck);
     
    113140                        }
    114141                }
    115                
    116 //              List<Relation> primitives = new ArrayList<>(1);
    117 //              primitives.add(r);
    118 //              errors.add(new TestError(this, Severity.WARNING, tr("PT: test warning"), ERROR_CODE_DIRECTION, primitives));
    119                
    120142        }
    121 
    122         /**
    123          * Checks if the test error is fixable
    124          */
    125         @Override
    126         public boolean isFixable(TestError testError) {
    127                 return false;
    128         }
    129 
    130         @Override
    131         public Command fixError(TestError testError) {
    132                 return null;
     143       
     144        private void performDummyTest(Relation r) {
     145                 List<Relation> primitives = new ArrayList<>(1);
     146                 primitives.add(r);
     147                 errors.add(new TestError(this, Severity.WARNING, tr("PT: dummy test warning"), ERROR_CODE_DIRECTION, primitives));
    133148        }
    134149
Note: See TracChangeset for help on using the changeset viewer.