/*
* Copyright 2015 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.robotframework.ide.eclipse.main.plugin.project.editor.handlers;
import java.util.List;
import javax.inject.Named;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.rf.ide.core.project.RobotProjectConfig.VariableMapping;
import org.robotframework.ide.eclipse.main.plugin.project.RobotProjectConfigEvents;
import org.robotframework.ide.eclipse.main.plugin.project.editor.RedProjectEditorInput;
import org.robotframework.ide.eclipse.main.plugin.project.editor.handlers.DeleteVariableMappingHandler.E4DeleteVariableMappingHandler;
import org.robotframework.red.commands.DIParameterizedHandler;
import org.robotframework.red.viewers.Selections;
/**
* @author Michal Anglart
*
*/
public class DeleteVariableMappingHandler extends DIParameterizedHandler<E4DeleteVariableMappingHandler> {
public DeleteVariableMappingHandler() {
super(E4DeleteVariableMappingHandler.class);
}
public static class E4DeleteVariableMappingHandler {
@Execute
public void deleteMappings(@Named(Selections.SELECTION) final IStructuredSelection selection,
final RedProjectEditorInput input, final IEventBroker eventBroker) {
final List<VariableMapping> mappings = Selections.getElements(selection, VariableMapping.class);
input.getProjectConfiguration().removeVariableMappings(mappings);
eventBroker.send(RobotProjectConfigEvents.ROBOT_CONFIG_VAR_MAP_STRUCTURE_CHANGED,
input.getProjectConfiguration().getVariableMappings());
}
}
}