001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.plugins.streetside.history.commands;
003
004import static org.openstreetmap.josm.tools.I18n.trn;
005
006import java.util.Set;
007
008import org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage;
009import org.openstreetmap.josm.plugins.streetside.StreetsideLayer;
010
011
012/**
013 * Imports a set of images stored locally.
014 *
015 * @author nokutu
016 *
017 */
018public class CommandImport extends StreetsideExecutableCommand {
019
020  /**
021   * Main constructor.
022   *
023   * @param images
024   *          The set of images that are going to be added. Might be in the same
025   *          sequence or not.
026   */
027  public CommandImport(Set<StreetsideAbstractImage> images) {
028    super(images);
029  }
030
031  @Override
032  public void execute() {
033    StreetsideLayer.getInstance().getData().addAll(this.images);
034  }
035
036  @Override
037  public void undo() {
038    for (StreetsideAbstractImage img : this.images) {
039      StreetsideLayer.getInstance().getData().getImages().remove(img);
040    }
041    StreetsideLayer.invalidateInstance();
042  }
043
044  @Override
045  public void redo() {
046    this.execute();
047  }
048
049  @Override
050  public void sum(StreetsideCommand command) {
051  }
052
053  @Override
054  public String toString() {
055    // TODO: trn( RRH
056    return trn("Imported {0} image", "Imported {0} images", this.images.size(),
057        this.images.size());
058  }
059}