// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.turnrestrictions.qa; import static org.openstreetmap.josm.tools.I18n.tr; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import org.openstreetmap.josm.gui.tagging.TagEditorModel; import org.openstreetmap.josm.gui.tagging.TagModel; /** * Issue if a required tag is missing in the current turn restriction. */ public class RequiredTagMissingError extends Issue { //private static final Logger logger = Logger.getLogger(RequiredTagMissingError.class.getName()); private String tagKey; private String tagValue; /** * Create the issue * * @param parent the issues model * @param tagKey the tag key * @param tagValue the tag value */ public RequiredTagMissingError(IssuesModel parent, String tagKey, String tagValue) { super(parent, Severity.ERROR); this.tagKey = tagKey; this.tagValue = tagValue; actions.add(new AddTagAction()); } @Override public String getText() { return tr("The required tag <tt>{0}={1}</tt> is missing.", this.tagKey, this.tagValue ); } private class AddTagAction extends AbstractAction { AddTagAction() { putValue(NAME, tr("Add missing tag")); putValue(SHORT_DESCRIPTION, tr("Add the missing tag {0}={1}", tagKey, tagValue)); } @Override public void actionPerformed(ActionEvent e) { TagEditorModel model = getIssuesModel().getEditorModel().getTagEditorModel(); TagModel t = model.get(tagKey); if (t == null) { t = new TagModel(tagKey, tagValue); model.prepend(t); } } } }