Changeset 8509 in josm for trunk/src/org/openstreetmap/josm/tools
- Timestamp:
- 2015-06-20T14:36:00+02:00 (10 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/tools
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java
r8374 r8509 48 48 private static class BugReporterThread extends Thread { 49 49 50 private final class BugReporterWorker implements Runnable { 51 private final PluginDownloadTask pluginDownloadTask; 52 53 private BugReporterWorker(PluginDownloadTask pluginDownloadTask) { 54 this.pluginDownloadTask = pluginDownloadTask; 55 } 56 57 @Override 58 public void run() { 59 // Then ask for submitting a bug report, for exceptions thrown from a plugin too, unless updated to a new version 60 if (pluginDownloadTask == null) { 61 String[] buttonTexts = new String[] {tr("Do nothing"), tr("Report Bug")}; 62 String[] buttonIcons = new String[] {"cancel", "bug"}; 63 int defaultButtonIdx = 1; 64 String message = tr("An unexpected exception occurred.<br>" + 65 "This is always a coding error. If you are running the latest<br>" + 66 "version of JOSM, please consider being kind and file a bug report." 67 ); 68 // Check user is running current tested version, the error may already be fixed 69 int josmVersion = Version.getInstance().getVersion(); 70 if (josmVersion != Version.JOSM_UNKNOWN_VERSION) { 71 try { 72 int latestVersion = Integer.parseInt(new WikiReader(). 73 read(Main.getJOSMWebsite()+"/wiki/TestedVersion?format=txt").trim()); 74 if (latestVersion > josmVersion) { 75 buttonTexts = new String[] {tr("Do nothing"), tr("Update JOSM"), tr("Report Bug")}; 76 buttonIcons = new String[] {"cancel", "download", "bug"}; 77 defaultButtonIdx = 2; 78 message = tr("An unexpected exception occurred. This is always a coding error.<br><br>" + 79 "However, you are running an old version of JOSM ({0}),<br>" + 80 "instead of using the current tested version (<b>{1}</b>).<br><br>"+ 81 "<b>Please update JOSM</b> before considering to file a bug report.", 82 String.valueOf(josmVersion), String.valueOf(latestVersion)); 83 } 84 } catch (IOException | NumberFormatException e) { 85 Main.warn("Unable to detect latest version of JOSM: "+e.getMessage()); 86 } 87 } 88 // Show dialog 89 ExtendedDialog ed = new ExtendedDialog(Main.parent, tr("Unexpected Exception"), buttonTexts); 90 ed.setButtonIcons(buttonIcons); 91 ed.setIcon(JOptionPane.ERROR_MESSAGE); 92 ed.setCancelButton(1); 93 ed.setDefaultButton(defaultButtonIdx); 94 JPanel pnl = new JPanel(new GridBagLayout()); 95 pnl.add(new JLabel("<html>" + message + "</html>"), GBC.eol()); 96 JCheckBox cbSuppress = null; 97 if (exceptionCounter > 1) { 98 cbSuppress = new JCheckBox(tr("Suppress further error dialogs for this session.")); 99 pnl.add(cbSuppress, GBC.eol()); 100 } 101 ed.setContent(pnl); 102 ed.setFocusOnDefaultButton(true); 103 ed.showDialog(); 104 if (cbSuppress != null && cbSuppress.isSelected()) { 105 suppressExceptionDialogs = true; 106 } 107 if (ed.getValue() <= 1) { 108 // "Do nothing" 109 return; 110 } else if (ed.getValue() < buttonTexts.length) { 111 // "Update JOSM" 112 try { 113 Main.platform.openUrl(Main.getJOSMWebsite()); 114 } catch (IOException e) { 115 Main.warn("Unable to access JOSM website: "+e.getMessage()); 116 } 117 } else { 118 // "Report bug" 119 askForBugReport(e); 120 } 121 } else { 122 // Ask for restart to install new plugin 123 PluginPreference.notifyDownloadResults( 124 Main.parent, pluginDownloadTask, !pluginDownloadTask.getDownloadedPlugins().isEmpty()); 125 } 126 } 127 } 128 50 129 private final Throwable e; 51 130 131 /** 132 * Constructs a new {@code BugReporterThread}. 133 * @param t the exception 134 */ 52 135 public BugReporterThread(Throwable t) { 53 136 super("Bug Reporter"); … … 58 141 public void run() { 59 142 // Give the user a chance to deactivate the plugin which threw the exception (if it was thrown from a plugin) 60 final PluginDownloadTask pluginDownloadTask = PluginHandler.updateOrdisablePluginAfterException(e); 61 62 SwingUtilities.invokeLater(new Runnable() { 63 @Override 64 public void run() { 65 // Then ask for submitting a bug report, for exceptions thrown from a plugin too, unless updated to a new version 66 if (pluginDownloadTask == null) { 67 String[] buttonTexts = new String[] {tr("Do nothing"), tr("Report Bug")}; 68 String[] buttonIcons = new String[] {"cancel", "bug"}; 69 int defaultButtonIdx = 1; 70 String message = tr("An unexpected exception occurred.<br>" + 71 "This is always a coding error. If you are running the latest<br>" + 72 "version of JOSM, please consider being kind and file a bug report." 73 ); 74 // Check user is running current tested version, the error may already be fixed 75 int josmVersion = Version.getInstance().getVersion(); 76 if (josmVersion != Version.JOSM_UNKNOWN_VERSION) { 77 try { 78 int latestVersion = Integer.parseInt(new WikiReader(). 79 read(Main.getJOSMWebsite()+"/wiki/TestedVersion?format=txt").trim()); 80 if (latestVersion > josmVersion) { 81 buttonTexts = new String[] {tr("Do nothing"), tr("Update JOSM"), tr("Report Bug")}; 82 buttonIcons = new String[] {"cancel", "download", "bug"}; 83 defaultButtonIdx = 2; 84 message = tr("An unexpected exception occurred. This is always a coding error.<br><br>" + 85 "However, you are running an old version of JOSM ({0}),<br>" + 86 "instead of using the current tested version (<b>{1}</b>).<br><br>"+ 87 "<b>Please update JOSM</b> before considering to file a bug report.", 88 String.valueOf(josmVersion), String.valueOf(latestVersion)); 89 } 90 } catch (IOException | NumberFormatException e) { 91 Main.warn("Unable to detect latest version of JOSM: "+e.getMessage()); 92 } 93 } 94 // Show dialog 95 ExtendedDialog ed = new ExtendedDialog(Main.parent, tr("Unexpected Exception"), buttonTexts); 96 ed.setButtonIcons(buttonIcons); 97 ed.setIcon(JOptionPane.ERROR_MESSAGE); 98 ed.setCancelButton(1); 99 ed.setDefaultButton(defaultButtonIdx); 100 JPanel pnl = new JPanel(new GridBagLayout()); 101 pnl.add(new JLabel("<html>" + message + "</html>"), GBC.eol()); 102 JCheckBox cbSuppress = null; 103 if (exceptionCounter > 1) { 104 cbSuppress = new JCheckBox(tr("Suppress further error dialogs for this session.")); 105 pnl.add(cbSuppress, GBC.eol()); 106 } 107 ed.setContent(pnl); 108 ed.setFocusOnDefaultButton(true); 109 ed.showDialog(); 110 if (cbSuppress != null && cbSuppress.isSelected()) { 111 suppressExceptionDialogs = true; 112 } 113 if (ed.getValue() <= 1) { 114 // "Do nothing" 115 return; 116 } else if (ed.getValue() < buttonTexts.length) { 117 // "Update JOSM" 118 try { 119 Main.platform.openUrl(Main.getJOSMWebsite()); 120 } catch (IOException e) { 121 Main.warn("Unable to access JOSM website: "+e.getMessage()); 122 } 123 } else { 124 // "Report bug" 125 askForBugReport(e); 126 } 127 } else { 128 // Ask for restart to install new plugin 129 PluginPreference.notifyDownloadResults( 130 Main.parent, pluginDownloadTask, !pluginDownloadTask.getDownloadedPlugins().isEmpty()); 131 } 132 } 133 }); 143 SwingUtilities.invokeLater(new BugReporterWorker(PluginHandler.updateOrdisablePluginAfterException(e))); 134 144 } 135 145 } -
trunk/src/org/openstreetmap/josm/tools/ExceptionUtil.java
r8470 r8509 105 105 return Pair.create(n, refs); 106 106 } 107 m = Pattern.compile(".*Way (\\d+) requires the nodes with id in " + ids + ".*").matcher(msg); // ... ", which either do not exist, or are not visible" 107 m = Pattern.compile(".*Way (\\d+) requires the nodes with id in " + ids + ".*").matcher(msg); 108 // ... ", which either do not exist, or are not visible" 108 109 if (m.matches()) { 109 110 OsmPrimitive n = new Way(Long.parseLong(m.group(1))); -
trunk/src/org/openstreetmap/josm/tools/ExifReader.java
r8470 r8509 83 83 * <li>The 0th row is the visual left-hand side of the image, and the 0th column is the visual bottom.</li></ol> 84 84 * @see <a href="http://www.impulseadventure.com/photo/exif-orientation.html">http://www.impulseadventure.com/photo/exif-orientation.html</a> 85 * @see <a href="http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto">http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto</a> 85 * @see <a href="http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto"> 86 * http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto</a> 86 87 */ 87 88 public static Integer readOrientation(File filename) { … … 136 137 * Returns the direction of the given JPEG file. 137 138 * @param filename The JPEG file to read 138 * @return The direction of the image when it was captures (in degrees between 0.0 and 359.99), or {@code null} if missing or if {@code dirGps} is null 139 * @return The direction of the image when it was captures (in degrees between 0.0 and 359.99), 140 * or {@code null} if missing or if {@code dirGps} is null 139 141 * @since 6209 140 142 */ … … 155 157 * Returns the direction of the given EXIF GPS directory. 156 158 * @param dirGps The EXIF GPS directory 157 * @return The direction of the image when it was captures (in degrees between 0.0 and 359.99), or {@code null} if missing or if {@code dirGps} is null 159 * @return The direction of the image when it was captures (in degrees between 0.0 and 359.99), 160 * or {@code null} if missing or if {@code dirGps} is null 158 161 * @since 6209 159 162 */ -
trunk/src/org/openstreetmap/josm/tools/Geometry.java
r8470 r8509 905 905 if (nodes.size() == 1 906 906 ? nodeInsidePolygon(nodes.get(0), out.getNodes()) 907 : EnumSet.of(PolygonIntersection.FIRST_INSIDE_SECOND, PolygonIntersection.CROSSING).contains(polygonIntersection(nodes, out.getNodes()))) { 907 : EnumSet.of(PolygonIntersection.FIRST_INSIDE_SECOND, PolygonIntersection.CROSSING).contains( 908 polygonIntersection(nodes, out.getNodes()))) { 908 909 boolean insideInner = false; 909 910 // If inside an outer, check it is not inside an inner … … 920 921 if (!insideInner) { 921 922 // Final check using predicate 922 if (isOuterWayAMatch == null || isOuterWayAMatch.evaluate(out.ways.get(0) /* TODO give a better representation of the outer ring to the predicate */)) { 923 if (isOuterWayAMatch == null || isOuterWayAMatch.evaluate(out.ways.get(0) 924 /* TODO give a better representation of the outer ring to the predicate */)) { 923 925 return true; 924 926 } -
trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
r8459 r8509 546 546 if (!optional) { 547 547 String ext = name.indexOf('.') != -1 ? "" : ".???"; 548 throw new RuntimeException(tr("Fatal: failed to locate image ''{0}''. This is a serious configuration problem. JOSM will stop working.", name + ext)); 548 throw new RuntimeException( 549 tr("Fatal: failed to locate image ''{0}''. This is a serious configuration problem. JOSM will stop working.", 550 name + ext)); 549 551 } else { 550 552 if (!suppressWarnings) { -
trunk/src/org/openstreetmap/josm/tools/MultikeyActionsHandler.java
r8376 r8509 34 34 private Map<MultikeyShortcutAction, MyAction> myActions = new HashMap<>(); 35 35 36 private final class ShowLayersPopupWorker implements Runnable { 37 private final MyAction action; 38 39 private ShowLayersPopupWorker(MyAction action) { 40 this.action = action; 41 } 42 43 @Override 44 public void run() { 45 JPopupMenu layers = new JPopupMenu(); 46 47 JMenuItem lbTitle = new JMenuItem((String) action.action.getValue(Action.SHORT_DESCRIPTION)); 48 lbTitle.setEnabled(false); 49 JPanel pnTitle = new JPanel(); 50 pnTitle.add(lbTitle); 51 layers.add(pnTitle); 52 53 char repeatKey = (char) action.shortcut.getKeyStroke().getKeyCode(); 54 boolean repeatKeyUsed = false; 55 56 for (final MultikeyInfo info: action.action.getMultikeyCombinations()) { 57 58 if (info.getShortcut() == repeatKey) { 59 repeatKeyUsed = true; 60 } 61 62 JMenuItem item = new JMenuItem(formatMenuText(action.shortcut.getKeyStroke(), 63 String.valueOf(info.getShortcut()), info.getDescription())); 64 item.setMnemonic(info.getShortcut()); 65 item.addActionListener(new ActionListener() { 66 @Override 67 public void actionPerformed(ActionEvent e) { 68 action.action.executeMultikeyAction(info.getIndex(), false); 69 } 70 }); 71 layers.add(item); 72 } 73 74 if (!repeatKeyUsed) { 75 MultikeyInfo lastLayer = action.action.getLastMultikeyAction(); 76 if (lastLayer != null) { 77 JMenuItem repeateItem = new JMenuItem(formatMenuText(action.shortcut.getKeyStroke(), 78 KeyEvent.getKeyText(action.shortcut.getKeyStroke().getKeyCode()), 79 "Repeat " + lastLayer.getDescription())); 80 repeateItem.setMnemonic(action.shortcut.getKeyStroke().getKeyCode()); 81 repeateItem.addActionListener(new ActionListener() { 82 @Override 83 public void actionPerformed(ActionEvent e) { 84 action.action.executeMultikeyAction(-1, true); 85 } 86 }); 87 layers.add(repeateItem); 88 } 89 } 90 layers.addPopupMenuListener(new PopupMenuListener() { 91 92 @Override 93 public void popupMenuWillBecomeVisible(PopupMenuEvent e) { 94 // Do nothing 95 } 96 97 @Override 98 public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { 99 Main.map.statusLine.resetHelpText(STATUS_BAR_ID); 100 } 101 102 @Override 103 public void popupMenuCanceled(PopupMenuEvent e) { 104 // Do nothing 105 } 106 }); 107 108 layers.show(Main.parent, Integer.MAX_VALUE, Integer.MAX_VALUE); 109 layers.setLocation(Main.parent.getX() + Main.parent.getWidth() - layers.getWidth(), 110 Main.parent.getY() + Main.parent.getHeight() - layers.getHeight()); 111 } 112 } 113 36 114 private class MyKeyEventDispatcher implements KeyEventDispatcher { 37 115 @Override … … 102 180 if (lastTimestamp == MultikeyActionsHandler.this.lastTimestamp && 103 181 lastAction == MultikeyActionsHandler.this.lastAction) { 104 showLayersPopup(lastAction);182 SwingUtilities.invokeLater(new ShowLayersPopupWorker(lastAction)); 105 183 MultikeyActionsHandler.this.lastAction = null; 106 184 } … … 112 190 private Timer timer; 113 191 114 115 192 private MultikeyActionsHandler() { 116 193 KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new MyKeyEventDispatcher()); 117 timer = new Timer();194 timer = new Timer(); 118 195 } 119 196 … … 132 209 133 210 private String formatMenuText(KeyStroke keyStroke, String index, String description) { 134 String shortcutText = KeyEvent.getKeyModifiersText(keyStroke.getModifiers()) + "+" + KeyEvent.getKeyText(keyStroke.getKeyCode()) + "," + index; 211 String shortcutText = KeyEvent.getKeyModifiersText(keyStroke.getModifiers()) + "+" 212 + KeyEvent.getKeyText(keyStroke.getKeyCode()) + "," + index; 135 213 136 214 return "<html><i>" + shortcutText + "</i> " + description; 137 138 }139 140 private void showLayersPopup(final MyAction action) {141 SwingUtilities.invokeLater(new Runnable() {142 @Override143 public void run() {144 JPopupMenu layers = new JPopupMenu();145 146 JMenuItem lbTitle = new JMenuItem((String) action.action.getValue(Action.SHORT_DESCRIPTION));147 lbTitle.setEnabled(false);148 JPanel pnTitle = new JPanel();149 pnTitle.add(lbTitle);150 layers.add(pnTitle);151 152 char repeatKey = (char) action.shortcut.getKeyStroke().getKeyCode();153 boolean repeatKeyUsed = false;154 155 156 for (final MultikeyInfo info: action.action.getMultikeyCombinations()) {157 158 if (info.getShortcut() == repeatKey) {159 repeatKeyUsed = true;160 }161 162 JMenuItem item = new JMenuItem(formatMenuText(action.shortcut.getKeyStroke(), String.valueOf(info.getShortcut()), info.getDescription()));163 item.setMnemonic(info.getShortcut());164 item.addActionListener(new ActionListener() {165 @Override166 public void actionPerformed(ActionEvent e) {167 action.action.executeMultikeyAction(info.getIndex(), false);168 }169 });170 layers.add(item);171 }172 173 if (!repeatKeyUsed) {174 MultikeyInfo lastLayer = action.action.getLastMultikeyAction();175 if (lastLayer != null) {176 JMenuItem repeateItem = new JMenuItem(formatMenuText(action.shortcut.getKeyStroke(),177 KeyEvent.getKeyText(action.shortcut.getKeyStroke().getKeyCode()),178 "Repeat " + lastLayer.getDescription()));179 repeateItem.setMnemonic(action.shortcut.getKeyStroke().getKeyCode());180 repeateItem.addActionListener(new ActionListener() {181 @Override182 public void actionPerformed(ActionEvent e) {183 action.action.executeMultikeyAction(-1, true);184 }185 });186 layers.add(repeateItem);187 }188 }189 layers.addPopupMenuListener(new PopupMenuListener() {190 191 @Override192 public void popupMenuWillBecomeVisible(PopupMenuEvent e) {}193 194 @Override195 public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {196 Main.map.statusLine.resetHelpText(STATUS_BAR_ID);197 }198 199 @Override200 public void popupMenuCanceled(PopupMenuEvent e) {}201 });202 203 layers.show(Main.parent, Integer.MAX_VALUE, Integer.MAX_VALUE);204 layers.setLocation(Main.parent.getX() + Main.parent.getWidth() - layers.getWidth(), Main.parent.getY() + Main.parent.getHeight() - layers.getHeight());205 }206 });207 215 } 208 216 -
trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
r8461 r8509 132 132 // TODO: Insert system shortcuts here. See Windows and especially OSX to see how to. 133 133 for(int i = KeyEvent.VK_F1; i <= KeyEvent.VK_F12; ++i) 134 Shortcut.registerSystemShortcut("screen:toogle"+i, tr("reserved"), i, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK).setAutomatic(); 135 Shortcut.registerSystemShortcut("system:reset", tr("reserved"), KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK).setAutomatic(); 136 Shortcut.registerSystemShortcut("system:resetX", tr("reserved"), KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK).setAutomatic(); 134 Shortcut.registerSystemShortcut("screen:toogle"+i, tr("reserved"), 135 i, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK).setAutomatic(); 136 Shortcut.registerSystemShortcut("system:reset", tr("reserved"), 137 KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK).setAutomatic(); 138 Shortcut.registerSystemShortcut("system:resetX", tr("reserved"), 139 KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK).setAutomatic(); 137 140 } 138 141 … … 407 410 "Oracle", tr("April 2015"))+"</b><br><br>"; 408 411 } 409 content += "<b>"+tr("JOSM will soon stop working with this version; we highly recommend you to update to Java {0}.", "8")+"</b><br><br>"+ 412 content += "<b>" + 413 tr("JOSM will soon stop working with this version; we highly recommend you to update to Java {0}.", "8") 414 + "</b><br><br>" + 410 415 tr("Would you like to update now ?"); 411 416 ed.setContent(content); -
trunk/src/org/openstreetmap/josm/tools/Shortcut.java
r8443 r8509 47 47 48 48 // simple constructor 49 private Shortcut(String shortText, String longText, int requestedKey, int requestedGroup, int assignedKey, int assignedModifier, boolean assignedDefault, boolean assignedUser) { 49 private Shortcut(String shortText, String longText, int requestedKey, int requestedGroup, int assignedKey, int assignedModifier, 50 boolean assignedDefault, boolean assignedUser) { 50 51 this.shortText = shortText; 51 52 this.longText = longText; … … 68 69 } 69 70 70 // a shortcut will be renamed when it is handed out again, because the original name 71 // may be a dummy 71 // a shortcut will be renamed when it is handed out again, because the original name may be a dummy 72 72 private void setLongText(String longText) { 73 73 this.longText = longText; -
trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java
r8419 r8509 133 133 private void setValue(Entry entry, String fieldName, String value) throws SAXException { 134 134 CheckParameterUtil.ensureParameterNotNull(entry, "entry"); 135 if ("class".equals(fieldName) || "default".equals(fieldName) || "throw".equals(fieldName) || "new".equals(fieldName) || "null".equals(fieldName)) { 135 if ("class".equals(fieldName) || "default".equals(fieldName) || "throw".equals(fieldName) || 136 "new".equals(fieldName) || "null".equals(fieldName)) { 136 137 fieldName += "_"; 137 138 } -
trunk/src/org/openstreetmap/josm/tools/template_engine/ContextSwitchTemplate.java
r8285 r8509 220 220 return new OrSet((ContextProvider)lhs, (ContextProvider)rhs); 221 221 else if (lhs instanceof ContextProvider) 222 throw new ParseError(tr("Error in search expression on position {0} - right side of or(|) expression must return set of primitives", searchExpressionPosition)); 222 throw new ParseError( 223 tr("Error in search expression on position {0} - right side of or(|) expression must return set of primitives", 224 searchExpressionPosition)); 223 225 else if (rhs instanceof ContextProvider) 224 throw new ParseError(tr("Error in search expression on position {0} - left side of or(|) expression must return set of primitives", searchExpressionPosition)); 226 throw new ParseError( 227 tr("Error in search expression on position {0} - left side of or(|) expression must return set of primitives", 228 searchExpressionPosition)); 225 229 else 226 230 return m; … … 228 232 Match match = transform(((Not) m).getMatch(), searchExpressionPosition); 229 233 if (match instanceof ContextProvider) 230 throw new ParseError(tr("Error in search expression on position {0} - not(-) cannot be used in this context", searchExpressionPosition)); 234 throw new ParseError( 235 tr("Error in search expression on position {0} - not(-) cannot be used in this context", 236 searchExpressionPosition)); 231 237 else 232 238 return m; … … 238 244 Match m = transform(match, searchExpressionPosition); 239 245 if (!(m instanceof ContextProvider)) 240 throw new ParseError(tr("Error in search expression on position {0} - expression must return different then current primitive", searchExpressionPosition)); 246 throw new ParseError( 247 tr("Error in search expression on position {0} - expression must return different then current primitive", 248 searchExpressionPosition)); 241 249 else { 242 250 context = (ContextProvider) m; -
trunk/src/org/openstreetmap/josm/tools/template_engine/TemplateParser.java
r7937 r8509 89 89 } else { 90 90 try { 91 result.getEntries().add(new SearchExpressionCondition(SearchCompiler.compile(searchExpression.getText(), false, false), condition)); 91 result.getEntries().add(new SearchExpressionCondition( 92 SearchCompiler.compile(searchExpression.getText(), false, false), condition)); 92 93 } catch (org.openstreetmap.josm.actions.search.SearchCompiler.ParseError e) { 93 94 throw new ParseError(searchExpression.getPosition(), e);
Note:
See TracChangeset
for help on using the changeset viewer.