use of org.geotools.styling.Rule in project sldeditor by robward-scisys.
the class MXDParser method processLabelRenderer.
/**
* Gets the label renderer.
*
* @param sld the sld
* @param labelRenderArrayElement the label render array element
* @param transparency the transparency
*/
private void processLabelRenderer(StyledLayerDescriptor sld, JsonArray labelRenderArrayElement, int transparency) {
if (sld != null) {
if (labelRenderArrayElement != null) {
List<StyledLayer> styledLayers = sld.layers();
if (!styledLayers.isEmpty()) {
if (styledLayers.get(0) instanceof NamedLayer) {
NamedLayer namedLayer = (NamedLayer) styledLayers.get(0);
List<Style> styleList = namedLayer.styles();
if (!styleList.isEmpty()) {
List<FeatureTypeStyle> ftsList = styleList.get(0).featureTypeStyles();
if (!ftsList.isEmpty()) {
List<Rule> ruleList = ftsList.get(0).rules();
List<Rule> newLabelRuleList = new ArrayList<Rule>();
for (int index = 0; index < labelRenderArrayElement.size(); index++) {
JsonElement labelRenderElement = labelRenderArrayElement.get(index);
JsonObject renderer = labelRenderElement.getAsJsonObject();
boolean found = false;
for (String labelRendererType : labelRendererMap.keySet()) {
JsonElement obj = renderer.get(labelRendererType);
if (obj != null) {
EsriLabelRendererInterface esriLabelRenderer = labelRendererMap.get(labelRendererType);
if (esriLabelRenderer != null) {
for (Rule rule : ruleList) {
esriLabelRenderer.convert(newLabelRuleList, rule, obj, transparency);
}
}
found = true;
break;
}
}
if (!found) {
ConsoleManager.getInstance().error(this, "Unsupported label renderer : " + SymbolUtils.extractName(labelRenderElement));
}
}
ruleList.addAll(newLabelRuleList);
}
}
}
}
}
}
}
use of org.geotools.styling.Rule in project sldeditor by robward-scisys.
the class SLDTreeSymbolizerButtonStateTest method testLine.
/**
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#setGeometryType(com.sldeditor.datasource.impl.GeometryTypeEnum)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isMarkerVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isLineVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isPolygonVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isRasterVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isTextVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isImageOutlineLineVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isImageOutlinePolygonVisible(java.lang.Object, java.lang.Object)}.
*/
@Test
public void testLine() {
SLDTreeSymbolizerButtonState obj = new SLDTreeSymbolizerButtonState();
obj.setGeometryType(GeometryTypeEnum.LINE);
obj.showSymbolizerButtons();
assertFalse(obj.isLineVisible(null, null));
assertFalse(obj.isMarkerVisible(null, null));
assertFalse(obj.isPolygonVisible(null, null));
assertFalse(obj.isRasterVisible(null, null));
assertFalse(obj.isTextVisible(null, null));
assertFalse(obj.isImageOutlineLineVisible(null, null));
assertFalse(obj.isImageOutlinePolygonVisible(null, null));
Rule rule = DefaultSymbols.createNewRule();
assertTrue(obj.isLineVisible(null, rule));
assertTrue(obj.isTextVisible(null, rule));
}
use of org.geotools.styling.Rule in project sldeditor by robward-scisys.
the class SLDTreeSymbolizerButtonStateTest method testMarker.
/**
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#setGeometryType(com.sldeditor.datasource.impl.GeometryTypeEnum)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isMarkerVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isLineVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isPolygonVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isRasterVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isTextVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isImageOutlineLineVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isImageOutlinePolygonVisible(java.lang.Object, java.lang.Object)}.
*/
@Test
public void testMarker() {
SLDTreeSymbolizerButtonState obj = new SLDTreeSymbolizerButtonState();
obj.setGeometryType(GeometryTypeEnum.POINT);
obj.showSymbolizerButtons();
assertFalse(obj.isLineVisible(null, null));
assertFalse(obj.isMarkerVisible(null, null));
assertFalse(obj.isPolygonVisible(null, null));
assertFalse(obj.isRasterVisible(null, null));
assertFalse(obj.isTextVisible(null, null));
assertFalse(obj.isImageOutlineLineVisible(null, null));
assertFalse(obj.isImageOutlinePolygonVisible(null, null));
Rule rule = DefaultSymbols.createNewRule();
assertTrue(obj.isMarkerVisible(null, rule));
assertTrue(obj.isTextVisible(null, rule));
}
use of org.geotools.styling.Rule in project sldeditor by robward-scisys.
the class SLDTreeSymbolizerButtonStateTest method testPolygon.
/**
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#setGeometryType(com.sldeditor.datasource.impl.GeometryTypeEnum)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isMarkerVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isLineVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isPolygonVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isRasterVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isTextVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isImageOutlineLineVisible(java.lang.Object, java.lang.Object)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTreeSymbolizerButtonState#isImageOutlinePolygonVisible(java.lang.Object, java.lang.Object)}.
*/
@Test
public void testPolygon() {
SLDTreeSymbolizerButtonState obj = new SLDTreeSymbolizerButtonState();
obj.setGeometryType(GeometryTypeEnum.POLYGON);
obj.showSymbolizerButtons();
assertFalse(obj.isLineVisible(null, null));
assertFalse(obj.isMarkerVisible(null, null));
assertFalse(obj.isPolygonVisible(null, null));
assertFalse(obj.isRasterVisible(null, null));
assertFalse(obj.isTextVisible(null, null));
assertFalse(obj.isImageOutlineLineVisible(null, null));
assertFalse(obj.isImageOutlinePolygonVisible(null, null));
Rule rule = DefaultSymbols.createNewRule();
assertTrue(obj.isPolygonVisible(null, rule));
assertTrue(obj.isTextVisible(null, rule));
}
use of org.geotools.styling.Rule in project sldeditor by robward-scisys.
the class SimpleRenderer method convert.
/* (non-Javadoc)
* @see com.sldeditor.convert.esri.renderer.EsriRendererInterface#convert(com.google.gson.JsonObject, java.lang.String, double, double, int)
*/
@Override
public StyledLayerDescriptor convert(JsonObject json, String layerName, double minScale, double maxScale, int transparency) {
StyledLayerDescriptor sld = styleFactory.createStyledLayerDescriptor();
NamedLayer namedLayer = styleFactory.createNamedLayer();
String label = json.get(CommonRendererKeys.LABEL).getAsString();
namedLayer.setName(label);
sld.addStyledLayer(namedLayer);
Style style = styleFactory.createStyle();
namedLayer.addStyle(style);
List<FeatureTypeStyle> ftsList = style.featureTypeStyles();
// style.setAbstract(json.get(IntermediateFileKeys.DESCRIPTION).getAsString());
FeatureTypeStyle fts = styleFactory.createFeatureTypeStyle();
ftsList.add(fts);
Rule rule = styleFactory.createRule();
if (minScale > 0.0) {
rule.setMinScaleDenominator(minScale);
}
if (maxScale > 0.0) {
rule.setMaxScaleDenominator(maxScale);
}
JsonElement jsonElement = json.get(CommonRendererKeys.SYMBOL);
rule.setName(label);
SymbolManager.getInstance().convertSymbols(rule, layerName, transparency, jsonElement);
fts.rules().add(rule);
return sld;
}
Aggregations