Statistics
| Revision:

gvsig-vectorediting / org.gvsig.vectorediting / trunk / org.gvsig.vectorediting / org.gvsig.vectorediting.lib / org.gvsig.vectorediting.lib.prov / org.gvsig.vectorediting.lib.prov.insertpoint / src / main / java / org / gvsig / vectorediting / lib / prov / insertpoint / InsertPointEditingProvider.java @ 37

History | View | Annotate | Download (3.17 KB)

1
/*
2
 * Copyright 2014 DiSiD Technologies S.L.L. All rights reserved.
3
 * 
4
 * Project  : DiSiD org.gvsig.vectorediting.lib.prov 
5
 * SVN Id   : $Id$
6
 */
7
package org.gvsig.vectorediting.lib.prov.insertpoint;
8

    
9
import java.awt.geom.Point2D;
10
import java.util.HashMap;
11
import java.util.List;
12
import java.util.Map;
13

    
14
import org.gvsig.fmap.geom.Geometry;
15
import org.gvsig.fmap.geom.primitive.Point;
16
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
17
import org.gvsig.tools.dynobject.DynObject;
18
import org.gvsig.tools.service.spi.ProviderServices;
19
import org.gvsig.vectorediting.lib.api.EditingServiceParameter;
20
import org.gvsig.vectorediting.lib.spi.AbstractEditingProvider;
21
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter;
22
import org.gvsig.vectorediting.lib.spi.EditingProvider;
23
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory;
24
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
25

    
26
public class InsertPointEditingProvider extends AbstractEditingProvider
27
    implements EditingProvider {
28

    
29
  private final static String PROVIDER_NAME = "InsertPoint";
30

    
31
  private final static String PROVIDER_DESCRIPTION = "Inserts points on the view";
32

    
33
  private EditingServiceParameter point = new DefaultEditingServiceParameter(
34
      PROVIDER_NAME, PROVIDER_DESCRIPTION, EditingServiceParameter.TYPE_POINT, "Inserte un punto");
35

    
36
  private Map<EditingServiceParameter, Object> values;
37

    
38
  private FLyrVect layer;
39

    
40
  public InsertPointEditingProvider(ProviderServices services,
41
      DynObject parameters) {
42
    // TODO Auto-generated constructor stub
43
    super(services);
44
    this.layer = (FLyrVect) parameters
45
        .getDynValue(EditingProviderFactory.LAYER_FIELD);
46
  }
47

    
48
  public void setProviderServices(ProviderServices services) {
49
    // TODO Auto-generated method stub
50

    
51
  }
52

    
53
  public Geometry drawOperation(Point mousePosition) {
54
    // TODO Auto-generated method stub
55
    return null;
56
  }
57

    
58
  public void stopEditingAndSave() {
59
    // TODO Auto-generated method stub
60

    
61
  }
62

    
63
  public void stopEditingAndDiscard() {
64
    // TODO Auto-generated method stub
65

    
66
  }
67

    
68
  private boolean isValidValue(EditingServiceParameter param, Object value) {
69
    // TODO Auto-generated method stub
70
    return true;
71
  }
72

    
73
  public EditingServiceParameter getNextParameter() {
74
    if (values.get(this.point) == null) {
75
      return this.point;
76
    }
77
    return null;
78
  }
79

    
80
  public List<EditingServiceParameter> getParameters() {
81
    // TODO Auto-generated method stub
82
    return null;
83
  }
84

    
85
  public void setValueParameter(EditingServiceParameter param, Object value) {
86
    if(isValidValue(param, value)){
87
      values.put(param, value);
88
    }
89
  }
90

    
91
  public void finishOperation() {
92
    // TODO Auto-generated method stub
93
    Point value = (Point) values.get(point);
94
    Point geometry = createPoint(value.getX(), value.getY(),
95
        layer.getFeatureStore());
96
    ((EditingProviderServices) getProviderServices())
97
        .insertGeometryIntoFeatureStore(geometry, layer.getFeatureStore());
98
  }
99

    
100
  public void start() {
101
    // TODO Auto-generated method stub
102
    this.values = new HashMap<EditingServiceParameter, Object>();
103
  }
104

    
105
  public String getName() {
106
    // TODO Auto-generated method stub
107
    return this.PROVIDER_NAME;
108
  }
109
}