/* Spatial Operations & Editing Tools for uDig * * Axios Engineering under a funding contract with: * Diputación Foral de Gipuzkoa, Ordenación Territorial * * http://b5m.gipuzkoa.net * http://www.axios.es * * (C) 2006, Diputación Foral de Gipuzkoa, Ordenación Territorial (DFG-OT). * DFG-OT agrees to licence under Lesser General Public License (LGPL). * * You can redistribute it and/or modify it under the terms of the * GNU Lesser General Public License as published by the Free Software * Foundation; version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package es.axios.udig.ui.editingtools.internal.commands; import net.refractions.udig.project.ILayer; import net.refractions.udig.project.IMap; import net.refractions.udig.project.command.Command; import net.refractions.udig.project.command.UndoableMapCommand; import net.refractions.udig.project.internal.Map; import net.refractions.udig.tools.edit.EditToolHandler; import org.eclipse.core.runtime.IProgressMonitor; import org.geotools.feature.FeatureCollection; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; import com.vividsolutions.jts.geom.LineString; /** * Mock implementation of {@link EditingToolsCommandFactory} to support unit tests. * * @author Gabriel Roldan (www.axios.es) * @author Mauricio Pazos (www.axios.es) * @since 1.1.0 */ public class MockEdittingToolsCommandFactory implements EditingToolsCommandFactory { public UndoableMapCommand createMergeFeaturesCommand( ILayer layer, FeatureCollection<SimpleFeatureType, SimpleFeature> sourceFeatures, SimpleFeature mergedFeature ) { throw new UnsupportedOperationException(); } public UndoableMapCommand createSplitFeaturesCommand( EditToolHandler handler ) { MockSplitCommand mock = new MockSplitCommand(handler); return mock; } public UndoableMapCommand createTrimFeaturesCommand( EditToolHandler handler, ILayer selectedLayer, FeatureCollection<SimpleFeatureType, SimpleFeature> featuresToTrim, LineString trimmingLine ) { throw new UnsupportedOperationException(); } /** * Base class for mock commands. Extend as needed to provide specific test behaviour. */ public static abstract class MockUndoableMapCommand implements UndoableMapCommand { public IMap map; public Map getMap() { return (Map) map; } public void setMap( IMap map ) { this.map = map; } public Command copy() { throw new UnsupportedOperationException(); } public String getName() { return null; } public void run( IProgressMonitor monitor ) throws Exception { throw new UnsupportedOperationException(); } public void rollback( IProgressMonitor monitor ) throws Exception { throw new UnsupportedOperationException(); } } public static class MockSplitCommand extends MockUndoableMapCommand { public EditToolHandler handler; public MockSplitCommand( EditToolHandler handler ) { this.handler = handler; } } }