Revision 47
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/extensions/Circle2PExtension.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.app.mainplugin |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.app.mainplugin.extensions; |
|
8 |
|
|
9 |
import org.gvsig.andami.IconThemeHelper; |
|
10 |
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel; |
|
11 |
import org.gvsig.fmap.dal.exception.ReadException; |
|
12 |
import org.gvsig.fmap.geom.type.GeometryType; |
|
13 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
14 |
import org.gvsig.tools.service.ServiceException; |
|
15 |
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension; |
|
16 |
import org.gvsig.vectorediting.lib.api.EditingServiceInfo; |
|
17 |
import org.gvsig.vectorediting.lib.prov.circle2P.Circle2PEditingProviderFactory; |
|
18 |
|
|
19 |
public class Circle2PExtension extends BaseEditingServiceExtension { |
|
20 |
|
|
21 |
public void initialize() { |
|
22 |
// TODO Auto-generated method stub |
|
23 |
|
|
24 |
} |
|
25 |
|
|
26 |
public void execute(String arg0) { |
|
27 |
|
|
28 |
DefaultViewPanel view = getActiveView(); |
|
29 |
swingManager.activateTool(Circle2PEditingProviderFactory.PROVIDER_NAME, view.getMapControl()); |
|
30 |
|
|
31 |
registerIcons(); |
|
32 |
} |
|
33 |
|
|
34 |
private void registerIcons() { |
|
35 |
IconThemeHelper.registerIcon("action", "layer-insert-circle", this); |
|
36 |
} |
|
37 |
|
|
38 |
public boolean isEnabled() { |
|
39 |
EditingServiceInfo Circle2PInfo; |
|
40 |
try { |
|
41 |
Circle2PInfo = manager.getServiceInfo(Circle2PEditingProviderFactory.PROVIDER_NAME); |
|
42 |
DefaultViewPanel view = getActiveView(); |
|
43 |
FLyrVect layer = getActiveLayer(view); |
|
44 |
|
|
45 |
int[] supportedTypes = Circle2PInfo.getSupportedPrimitiveGeometryTypes(); |
|
46 |
GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes); |
|
47 |
|
|
48 |
if (isApplicable(supportedGeoTypes, layer.getShapeType())) { |
|
49 |
return true; |
|
50 |
} |
|
51 |
|
|
52 |
return false; |
|
53 |
|
|
54 |
} |
|
55 |
catch (ServiceException e1) { |
|
56 |
// TODO Auto-generated catch block |
|
57 |
e1.printStackTrace(); |
|
58 |
} |
|
59 |
catch (ReadException e) { |
|
60 |
// TODO Auto-generated catch block |
|
61 |
e.printStackTrace(); |
|
62 |
} |
|
63 |
return false; |
|
64 |
} |
|
65 |
|
|
66 |
public boolean isVisible() { |
|
67 |
DefaultViewPanel view = getActiveView(); |
|
68 |
if (view != null) { |
|
69 |
FLyrVect layer = getActiveLayer(view); |
|
70 |
if (layer != null && layer.isEditing()) { |
|
71 |
return true; |
|
72 |
} |
|
73 |
} |
|
74 |
return false; |
|
75 |
} |
|
76 |
|
|
77 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/extensions/CircleCRExtension.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.app.mainplugin |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.app.mainplugin.extensions; |
|
8 |
|
|
9 |
import org.gvsig.andami.IconThemeHelper; |
|
10 |
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel; |
|
11 |
import org.gvsig.fmap.dal.exception.ReadException; |
|
12 |
import org.gvsig.fmap.geom.type.GeometryType; |
|
13 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
14 |
import org.gvsig.tools.service.ServiceException; |
|
15 |
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension; |
|
16 |
import org.gvsig.vectorediting.lib.api.EditingServiceInfo; |
|
17 |
import org.gvsig.vectorediting.lib.prov.circlecr.CircleCREditingProviderFactory; |
|
18 |
|
|
19 |
public class CircleCRExtension extends BaseEditingServiceExtension { |
|
20 |
|
|
21 |
public void initialize() { |
|
22 |
// TODO Auto-generated method stub |
|
23 |
|
|
24 |
} |
|
25 |
|
|
26 |
public void execute(String arg0) { |
|
27 |
|
|
28 |
DefaultViewPanel view = getActiveView(); |
|
29 |
swingManager.activateTool(CircleCREditingProviderFactory.PROVIDER_NAME, view.getMapControl()); |
|
30 |
|
|
31 |
registerIcons(); |
|
32 |
} |
|
33 |
|
|
34 |
private void registerIcons() { |
|
35 |
IconThemeHelper.registerIcon("action", "layer-insert-circle", this); |
|
36 |
} |
|
37 |
|
|
38 |
public boolean isEnabled() { |
|
39 |
EditingServiceInfo Circle2PInfo; |
|
40 |
try { |
|
41 |
Circle2PInfo = manager.getServiceInfo(CircleCREditingProviderFactory.PROVIDER_NAME); |
|
42 |
DefaultViewPanel view = getActiveView(); |
|
43 |
FLyrVect layer = getActiveLayer(view); |
|
44 |
|
|
45 |
int[] supportedTypes = Circle2PInfo.getSupportedPrimitiveGeometryTypes(); |
|
46 |
GeometryType[] supportedGeoTypes = loadGeometryTypes(supportedTypes); |
|
47 |
|
|
48 |
if (isApplicable(supportedGeoTypes, layer.getShapeType())) { |
|
49 |
return true; |
|
50 |
} |
|
51 |
|
|
52 |
return false; |
|
53 |
|
|
54 |
} |
|
55 |
catch (ServiceException e1) { |
|
56 |
// TODO Auto-generated catch block |
|
57 |
e1.printStackTrace(); |
|
58 |
} |
|
59 |
catch (ReadException e) { |
|
60 |
// TODO Auto-generated catch block |
|
61 |
e.printStackTrace(); |
|
62 |
} |
|
63 |
return false; |
|
64 |
} |
|
65 |
|
|
66 |
public boolean isVisible() { |
|
67 |
DefaultViewPanel view = getActiveView(); |
|
68 |
if (view != null) { |
|
69 |
FLyrVect layer = getActiveLayer(view); |
|
70 |
if (layer != null && layer.isEditing()) { |
|
71 |
return true; |
|
72 |
} |
|
73 |
} |
|
74 |
return false; |
|
75 |
} |
|
76 |
|
|
77 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/resources-plugin/config.xml | ||
---|---|---|
63 | 63 |
</extension> |
64 | 64 |
|
65 | 65 |
<extension |
66 |
class-name="org.gvsig.vectorediting.app.mainplugin.extensions.Circle2PExtension"
|
|
66 |
class-name="org.gvsig.vectorediting.app.mainplugin.extensions.CircleCRExtension"
|
|
67 | 67 |
description="" active="true" priority="1"> |
68 | 68 |
|
69 | 69 |
<action |
70 |
name="insert-circle-2p"
|
|
71 |
label="_Insert_circle_2P"
|
|
72 |
tooltip="insert_circle_2P"
|
|
70 |
name="insert-circle-cr"
|
|
71 |
label="_Insert_circle_CR"
|
|
72 |
tooltip="insert_circle_CR"
|
|
73 | 73 |
position="601002100" |
74 |
action-command="insert-circle-2p"
|
|
74 |
action-command="insert-circle-cr"
|
|
75 | 75 |
icon="layer-insert-circle" |
76 | 76 |
accelerator="" |
77 | 77 |
/> |
78 | 78 |
|
79 |
<menu text="Layer/Insert/insert_circle" name="insert-circle-2p" />
|
|
79 |
<menu text="Layer/Insert/insert_circle" name="insert-circle-cr" />
|
|
80 | 80 |
|
81 | 81 |
<tool-bar name="vector_editing" position="601002100"> |
82 |
<selectable-tool name="insert-circle-2p" />
|
|
82 |
<selectable-tool name="insert-circle-cr" />
|
|
83 | 83 |
</tool-bar> |
84 | 84 |
|
85 | 85 |
</extension> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingProviderLibrary.java | ||
---|---|---|
1 | 1 |
/* |
2 | 2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
3 |
*
|
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.impl
|
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.impl |
|
5 | 5 |
* SVN Id : $Id$ |
6 | 6 |
*/ |
7 | 7 |
package org.gvsig.vectorediting.lib.impl; |
... | ... | |
9 | 9 |
import org.gvsig.fmap.dal.DALLibrary; |
10 | 10 |
import org.gvsig.tools.library.AbstractLibrary; |
11 | 11 |
import org.gvsig.tools.library.LibraryException; |
12 |
import org.gvsig.vectorediting.lib.prov.circle2P.Circle2PEditingProviderFactory;
|
|
12 |
import org.gvsig.vectorediting.lib.prov.circlecr.CircleCREditingProviderFactory;
|
|
13 | 13 |
import org.gvsig.vectorediting.lib.prov.insertpoint.InsertPointEditingProviderFactory; |
14 | 14 |
import org.gvsig.vectorediting.lib.spi.EditingProviderLibrary; |
15 | 15 |
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator; |
... | ... | |
17 | 17 |
|
18 | 18 |
|
19 | 19 |
public class DefaultEditingProviderLibrary extends AbstractLibrary { |
20 |
|
|
20 |
|
|
21 | 21 |
@Override |
22 | 22 |
public void doRegistration() { |
23 | 23 |
registerAsImplementationOf(EditingProviderLibrary.class); |
... | ... | |
33 | 33 |
@Override |
34 | 34 |
protected void doPostInitialize() throws LibraryException { |
35 | 35 |
// TODO Auto-generated method stub |
36 |
|
|
36 |
|
|
37 | 37 |
// Autoregister tools |
38 | 38 |
EditingProviderManager manager = EditingProviderLocator.getProviderManager(); |
39 |
|
|
39 |
|
|
40 | 40 |
manager.addProviderFactory(new InsertPointEditingProviderFactory()); |
41 |
manager.addProviderFactory(new Circle2PEditingProviderFactory());
|
|
42 |
|
|
41 |
manager.addProviderFactory(new CircleCREditingProviderFactory());
|
|
42 |
|
|
43 | 43 |
} |
44 | 44 |
|
45 | 45 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circle2P/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProviderFactory.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.prov.circle2P |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.prov.circlecr; |
|
8 |
|
|
9 |
import org.gvsig.fmap.geom.Geometry; |
|
10 |
import org.gvsig.tools.ToolsLocator; |
|
11 |
import org.gvsig.tools.dynobject.DynClass; |
|
12 |
import org.gvsig.tools.dynobject.DynObject; |
|
13 |
import org.gvsig.tools.service.spi.AbstractProviderFactory; |
|
14 |
import org.gvsig.tools.service.spi.Provider; |
|
15 |
import org.gvsig.tools.service.spi.ProviderServices; |
|
16 |
import org.gvsig.vectorediting.lib.api.EditingServiceInfo; |
|
17 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
|
18 |
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceinfo; |
|
19 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
|
20 |
|
|
21 |
public class CircleCREditingProviderFactory extends AbstractProviderFactory |
|
22 |
implements EditingProviderFactory { |
|
23 |
|
|
24 |
public static final String PROVIDER_NAME = "insert-circle-cr"; |
|
25 |
|
|
26 |
private final static String PROVIDER_DESCRIPTION = "Creates circles from the center and radius"; |
|
27 |
|
|
28 |
public static final String PROVIDER_NAME_PARAMS = "CircleCRParams"; |
|
29 |
|
|
30 |
public static final String PROVIDER_NAME_PARAMS_DESCRIPTION = ""; |
|
31 |
|
|
32 |
private DynClass dynclass; |
|
33 |
|
|
34 |
public void initialize() { |
|
35 |
dynclass = ToolsLocator.getDynObjectManager().createDynClass( |
|
36 |
PROVIDER_NAME_PARAMS, PROVIDER_NAME_PARAMS_DESCRIPTION); |
|
37 |
|
|
38 |
dynclass.addDynFieldString(PROVIDER_NAME_FIELD); |
|
39 |
dynclass.addDynFieldObject(FEATURE_STORE_FIELD); |
|
40 |
|
|
41 |
} |
|
42 |
|
|
43 |
public EditingServiceInfo getServiceInfo() { |
|
44 |
EditingServiceInfo serviceInfo = new DefaultEditingServiceinfo( |
|
45 |
PROVIDER_NAME, |
|
46 |
"", |
|
47 |
true, |
|
48 |
null, |
|
49 |
null, |
|
50 |
new int[]{ |
|
51 |
Geometry.TYPES.SURFACE, |
|
52 |
Geometry.TYPES.MULTISURFACE, |
|
53 |
Geometry.TYPES.CURVE, |
|
54 |
Geometry.TYPES.MULTICURVE}); |
|
55 |
|
|
56 |
return serviceInfo; |
|
57 |
} |
|
58 |
|
|
59 |
public EditingServiceParameter getServiceParameterInfo() { |
|
60 |
// TODO Auto-generated method stub |
|
61 |
return null; |
|
62 |
} |
|
63 |
|
|
64 |
@Override |
|
65 |
protected Provider doCreate(DynObject parameters, ProviderServices services) { |
|
66 |
return new CircleCREditingProvider(services, parameters); |
|
67 |
} |
|
68 |
|
|
69 |
public DynObject createParameters() { |
|
70 |
DynObject dynobject = ToolsLocator.getDynObjectManager().createDynObject( |
|
71 |
dynclass); |
|
72 |
|
|
73 |
dynobject.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
|
74 |
return dynobject; |
|
75 |
} |
|
76 |
|
|
77 |
@Override |
|
78 |
protected DynClass createParametersDynClass() { |
|
79 |
return null; |
|
80 |
} |
|
81 |
|
|
82 |
public String getName() { |
|
83 |
return this.PROVIDER_NAME; |
|
84 |
} |
|
85 |
|
|
86 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circle2P/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProvider.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.prov.circle2P |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.prov.circlecr; |
|
8 |
|
|
9 |
import java.util.ArrayList; |
|
10 |
import java.util.HashMap; |
|
11 |
import java.util.List; |
|
12 |
import java.util.Map; |
|
13 |
|
|
14 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
15 |
import org.gvsig.fmap.geom.Geometry; |
|
16 |
import org.gvsig.fmap.geom.aggregate.MultiCurve; |
|
17 |
import org.gvsig.fmap.geom.aggregate.MultiSurface; |
|
18 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
|
19 |
import org.gvsig.fmap.geom.primitive.Arc; |
|
20 |
import org.gvsig.fmap.geom.primitive.Circle; |
|
21 |
import org.gvsig.fmap.geom.primitive.Point; |
|
22 |
import org.gvsig.fmap.geom.type.GeometryType; |
|
23 |
import org.gvsig.tools.dynobject.DynObject; |
|
24 |
import org.gvsig.tools.service.spi.ProviderServices; |
|
25 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
|
26 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter.TYPE; |
|
27 |
import org.gvsig.vectorediting.lib.spi.AbstractEditingProvider; |
|
28 |
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter; |
|
29 |
import org.gvsig.vectorediting.lib.spi.EditingProvider; |
|
30 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
|
31 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
|
32 |
import org.slf4j.Logger; |
|
33 |
import org.slf4j.LoggerFactory; |
|
34 |
|
|
35 |
public class CircleCREditingProvider extends AbstractEditingProvider implements |
|
36 |
EditingProvider { |
|
37 |
|
|
38 |
private static final Logger logger = LoggerFactory.getLogger(CircleCREditingProvider.class); |
|
39 |
|
|
40 |
private EditingServiceParameter center = new DefaultEditingServiceParameter( |
|
41 |
"Center", "Center position of circle", TYPE.POSITION); |
|
42 |
|
|
43 |
private EditingServiceParameter radius = new DefaultEditingServiceParameter( |
|
44 |
"Radius", "Radius of circle", TYPE.VALUE); |
|
45 |
|
|
46 |
private Map<EditingServiceParameter, Object> values; |
|
47 |
|
|
48 |
private FeatureStore featureStore; |
|
49 |
|
|
50 |
public CircleCREditingProvider(ProviderServices providerServices, |
|
51 |
DynObject parameters) { |
|
52 |
super(providerServices); |
|
53 |
this.featureStore = (FeatureStore) parameters |
|
54 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
55 |
} |
|
56 |
|
|
57 |
public Geometry draw(Point mousePosition) { |
|
58 |
if (values.get(center) != null) { |
|
59 |
Point centerPoint = (Point) values.get(center); |
|
60 |
return createCircle(centerPoint, mousePosition, featureStore); |
|
61 |
} |
|
62 |
|
|
63 |
return null; |
|
64 |
|
|
65 |
} |
|
66 |
|
|
67 |
public EditingServiceParameter next() { |
|
68 |
if (values.get(center) == null) { |
|
69 |
return this.center; |
|
70 |
} |
|
71 |
else if (values.get(radius) == null) { |
|
72 |
return this.radius; |
|
73 |
} |
|
74 |
return null; |
|
75 |
} |
|
76 |
|
|
77 |
public void stop(){ |
|
78 |
|
|
79 |
} |
|
80 |
|
|
81 |
public boolean isValidValue(EditingServiceParameter param, Object value) { |
|
82 |
if (param ==center){ |
|
83 |
if (value instanceof Point) { |
|
84 |
return true; |
|
85 |
} |
|
86 |
} else if (param == radius) { |
|
87 |
if (value instanceof Point) { |
|
88 |
return true; |
|
89 |
} else if (value instanceof String) { |
|
90 |
//TODO: |
|
91 |
|
|
92 |
} |
|
93 |
} |
|
94 |
return false; |
|
95 |
} |
|
96 |
|
|
97 |
public List<EditingServiceParameter> getParameters() { |
|
98 |
List<EditingServiceParameter> list = new ArrayList<EditingServiceParameter>(); |
|
99 |
list.add(center); |
|
100 |
list.add(radius); |
|
101 |
return list; |
|
102 |
} |
|
103 |
|
|
104 |
public void value(Object value) { |
|
105 |
EditingServiceParameter param = next(); |
|
106 |
if (isValidValue(param, value)) { |
|
107 |
values.put(param, value); |
|
108 |
} |
|
109 |
} |
|
110 |
|
|
111 |
public void finish() { |
|
112 |
Point centerPoint = (Point) values.get(center); |
|
113 |
double radiusValue = ((Double)values.get(radius)).doubleValue(); |
|
114 |
GeometryType storeGeomType = getGeomType(featureStore); |
|
115 |
Geometry geometry = null; |
|
116 |
if(storeGeomType.isTypeOf(SURFACE)){ |
|
117 |
geometry = createCircle(centerPoint, radiusValue, featureStore); |
|
118 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(geometry, featureStore); |
|
119 |
} else if(storeGeomType.isTypeOf(CURVE)){ |
|
120 |
geometry = createArc(centerPoint, radiusValue, 0, 2*Math.PI, featureStore); |
|
121 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(geometry, featureStore); |
|
122 |
} else if(storeGeomType.isTypeOf(MULTISURFACE)){ |
|
123 |
geometry = createCircle(centerPoint, radiusValue, featureStore); |
|
124 |
MultiSurface multisurface; |
|
125 |
try { |
|
126 |
multisurface = geomManager.createMultiSurface(storeGeomType.getSubType()); |
|
127 |
multisurface.addSurface((Circle)geometry); |
|
128 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(multisurface, featureStore); |
|
129 |
} catch (CreateGeometryException e) { |
|
130 |
logger.error("Can't create multisurface", e); |
|
131 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(geometry, featureStore); |
|
132 |
} |
|
133 |
} else if(storeGeomType.isTypeOf(MULTICURVE)){ |
|
134 |
geometry = createArc(centerPoint, radiusValue, 0, 2*Math.PI, featureStore); |
|
135 |
MultiCurve multicurve; |
|
136 |
try { |
|
137 |
multicurve = geomManager.createMultiCurve(storeGeomType.getSubType()); |
|
138 |
multicurve.addCurve((Arc)geometry); |
|
139 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(multicurve, featureStore); |
|
140 |
} catch (CreateGeometryException e) { |
|
141 |
logger.error("Can't create multisurface", e); |
|
142 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(geometry, featureStore); |
|
143 |
} |
|
144 |
|
|
145 |
} else { |
|
146 |
((EditingProviderServices) getProviderServices()).insertGeometryIntoFeatureStore(geometry, featureStore); |
|
147 |
} |
|
148 |
} |
|
149 |
|
|
150 |
public void start() { |
|
151 |
this.values = new HashMap<EditingServiceParameter, Object>(); |
|
152 |
} |
|
153 |
|
|
154 |
public String getName() { |
|
155 |
return CircleCREditingProviderFactory.PROVIDER_NAME; |
|
156 |
} |
|
157 |
|
|
158 |
} |
Also available in: Unified diff