Package org.geomajas.gwt.client.map.workflow

Source Code of org.geomajas.gwt.client.map.workflow.TestSequenceProcessor$ExpectErrorHandler

/*
* This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
*
* Copyright 2008-2011 Geosparc nv, http://www.geosparc.com/, Belgium.
*
* The program is available in open source according to the GNU Affero
* General Public License. All contributions in this program are covered
* by the Geomajas Contributors License Agreement. For full licensing
* details, see LICENSE.txt in the project root.
*/

package org.geomajas.gwt.client.map.workflow;

import java.util.ArrayList;
import java.util.List;

import org.geomajas.configuration.client.ClientLayerInfo;
import org.geomajas.configuration.client.ClientMapInfo;
import org.geomajas.configuration.client.ClientVectorLayerInfo;
import org.geomajas.configuration.VectorLayerInfo;
import org.geomajas.geometry.Bbox;
import org.geomajas.geometry.Coordinate;
import org.geomajas.gwt.client.map.MapModel;
import org.geomajas.gwt.client.map.feature.Feature;
import org.geomajas.gwt.client.map.workflow.activity.Activity;
import org.geomajas.gwt.client.map.workflow.activity.ValidationActivity;
import org.geomajas.gwt.client.spatial.geometry.GeometryFactory;
import org.geomajas.gwt.client.spatial.geometry.LinearRing;
import org.geomajas.gwt.client.spatial.geometry.Polygon;
import org.geomajas.layer.LayerType;
import org.junit.Assert;
import org.junit.Test;

/**
* Testcase for the SequenceProcessor implementation of the workflow.
*
* @author Pieter De Graef
*/
public class TestSequenceProcessor {

  private MapModel mapModel;

  public TestSequenceProcessor() {
    mapModel = new MapModel("foobar");
    ClientMapInfo info = new ClientMapInfo();
    info.setCrs("EPSG:4326");
    info.setInitialBounds(new Bbox(0, 0, 180, 180));

    ClientVectorLayerInfo layerInfo = new ClientVectorLayerInfo();
    VectorLayerInfo serverInfo = new VectorLayerInfo();
    serverInfo.setLayerType(LayerType.POLYGON);
    layerInfo.setLayerInfo(serverInfo);
    layerInfo.setMaxExtent(new Bbox(0, 0, 180, 180));
    layerInfo.setServerLayerId("test");
    layerInfo.setId("testLayer");
    List<ClientLayerInfo> layers = new ArrayList<ClientLayerInfo>();
    layers.add(layerInfo);
    info.setLayers(layers);

    mapModel.initialize(info);
    mapModel.selectLayer(mapModel.getLayer("testLayer"));

    Feature feature = new Feature();
    GeometryFactory factory = new GeometryFactory(4326, -1);
    LinearRing invalidRing = factory.createLinearRing(new Coordinate[] {new Coordinate(10, 10),
        new Coordinate(20, 10), new Coordinate(15, 20)/*, new Coordinate(15, 5)*/});
    Polygon inValidPolygon = factory.createPolygon(invalidRing, null);
    feature.setGeometry(inValidPolygon);
    mapModel.getFeatureEditor().startEditing(new Feature[] {feature}, new Feature[] {feature});
  }

  @Test
  public void testSimpleActivities() {
    List<Activity> activities = new ArrayList<Activity>();
    activities.add(new ValidationActivity());
    WorkflowProcessor processor = new SequenceProcessor(new MapModelWorkflowContext());
    processor.setDefaultErrorHandler(new ExpectErrorHandler());
    processor.setActivities(activities);
    processor.doActivities(mapModel);
  }

  private class ExpectErrorHandler implements WorkflowErrorHandler {

    public void handleError(WorkflowContext context, Throwable throwable) {
      Assert.fail();
    }
  }
}
TOP

Related Classes of org.geomajas.gwt.client.map.workflow.TestSequenceProcessor$ExpectErrorHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.