use of org.geotools.styling.StyledLayerDescriptor in project sldeditor by robward-scisys.
the class InlineFeatureUtilsTest method testDetermineGeometryType.
/**
* Test method for
* {@link com.sldeditor.ui.detail.config.inlinefeature.InlineFeatureUtils#determineGeometryType(org.opengis.feature.type.GeometryDescriptor, org.geotools.data.simple.SimpleFeatureCollection)}.
*/
@Test
public void testDetermineGeometryType() {
// Test 1
SLDData sldData = new SLDData(null, testInline1a);
StyledLayerDescriptor sld = SLDUtils.createSLDFromString(sldData);
UserLayer userLayer1 = (UserLayer) sld.layers().get(0);
GeometryDescriptor geometryDescriptor = userLayer1.getInlineFeatureType().getGeometryDescriptor();
String typeName = userLayer1.getInlineFeatureType().getTypeName();
SimpleFeatureCollection simpleFeatureCollection = null;
try {
simpleFeatureCollection = userLayer1.getInlineFeatureDatastore().getFeatureSource(typeName).getFeatures();
} catch (IOException e) {
e.printStackTrace();
}
assertEquals(GeometryTypeEnum.UNKNOWN, InlineFeatureUtils.determineGeometryType(null, null));
assertEquals(GeometryTypeEnum.UNKNOWN, InlineFeatureUtils.determineGeometryType(geometryDescriptor, null));
assertEquals(GeometryTypeEnum.POLYGON, InlineFeatureUtils.determineGeometryType(geometryDescriptor, simpleFeatureCollection));
}
use of org.geotools.styling.StyledLayerDescriptor in project sldeditor by robward-scisys.
the class InlineFeatureUtilsTest method testExtractUserLayers.
/**
* Test method for
* {@link com.sldeditor.ui.detail.config.inlinefeature.InlineFeatureUtils#extractUserLayers(org.geotools.styling.StyledLayerDescriptor)}.
*/
@Test
public void testExtractUserLayers() {
assertTrue(InlineFeatureUtils.extractUserLayers(null).isEmpty());
// Contains inline data
SLDData sldData = new SLDData(null, testInline1a);
StyledLayerDescriptor sld = SLDUtils.createSLDFromString(sldData);
assertEquals(1, InlineFeatureUtils.extractUserLayers(sld).size());
// Contains no inline data
sldData = new SLDData(null, testNoInline);
sld = SLDUtils.createSLDFromString(sldData);
assertEquals(1, InlineFeatureUtils.extractUserLayers(sld).size());
}
use of org.geotools.styling.StyledLayerDescriptor in project sldeditor by robward-scisys.
the class MXDParser method importLayer.
/**
* Import layer.
*
* @param layer the layer
* @param outputFormat the output format
* @return the styled layer descriptor
*/
private SLDDataInterface importLayer(JsonObject layer, SLDOutputFormatEnum outputFormat) {
StyledLayerDescriptor sld = null;
String layerName = layer.get("name").getAsString();
double minScale = layer.get("minScale").getAsDouble();
double maxScale = layer.get("maxScale").getAsDouble();
int transparency = layer.get("transparency").getAsInt();
JsonElement renderElement = layer.get("renderer");
sld = getRenderer(layerName, minScale, maxScale, transparency, renderElement);
JsonElement labelRenderArrayElement = layer.get("labelRenderers");
if (labelRenderArrayElement != null) {
processLabelRenderer(sld, labelRenderArrayElement.getAsJsonArray(), transparency);
}
JsonElement fieldArray = layer.get("fields");
List<DataSourceFieldInterface> fieldList = processFields(layerName, fieldArray);
JsonElement dataSourcePropertiesElement = layer.get("dataSource");
DataSourcePropertiesInterface dataSourceProperties = processDataSource(layerName, dataSourcePropertiesElement);
String sldContents = SLDWriterFactory.createWriter(outputFormat).encodeSLD(sld);
StyleWrapper styleWrapper = new StyleWrapper(layerName, layerName);
SLDDataInterface sldData = new SLDData(styleWrapper, sldContents);
sldData.setDataSourceProperties(dataSourceProperties);
sldData.setFieldList(fieldList);
sldData.setReadOnly(true);
return sldData;
}
use of org.geotools.styling.StyledLayerDescriptor in project sldeditor by robward-scisys.
the class SLDTreeTest method testSLDTree.
/**
* Test method for {@link com.sldeditor.ui.tree.SLDTree#SLDTree(java.util.List)} using values.
* Test method for
* {@link com.sldeditor.ui.tree.SLDTree#addSymbolSelectedListener(com.sldeditor.ui.iface.SymbolizerSelectedInterface)}.
* Test method for {@link com.sldeditor.ui.tree.SLDTree#selectFirstSymbol()}. Test method for
* {@link com.sldeditor.ui.tree.SLDTree#selectTreeItem(com.sldeditor.TreeSelectionData)}. Test
* method for {@link com.sldeditor.ui.tree.SLDTree#getSelectedSymbolPanel()}. Test method for
* {@link com.sldeditor.ui.tree.SLDTree#leafSelected()}.
*/
@Test
public void testSLDTree() {
List<RenderSymbolInterface> renderList = null;
SLDTreeTools treeTools = new SLDTreeTools();
SLDTree tree1 = new SLDTree(renderList, treeTools);
URL url = SLDTreeTest.class.getResource("/test/polygon_line_point.sld");
String sldContents = readFile(new File(url.getFile()).getAbsolutePath());
SLDData sldData = new SLDData(null, sldContents);
StyledLayerDescriptor sld = SLDUtils.createSLDFromString(sldData);
SelectedSymbol.getInstance().setSld(sld);
SymbolizerDetailsPanel symbolizerSelectedPanel = new SymbolizerDetailsPanel(null, null);
tree1.addSymbolSelectedListener(symbolizerSelectedPanel);
tree1.populateSLD();
// Nothing selected at this stage
tree1.leafSelected();
PopulateDetailsInterface panel = tree1.getSelectedSymbolPanel();
assertNull(panel);
// Select top level node
tree1.selectFirstSymbol();
tree1.leafSelected();
panel = tree1.getSelectedSymbolPanel();
assertEquals(EmptyPanel.class, panel.getClass());
// Select layer
TreeSelectionData selectedTreeData = new TreeSelectionData();
selectedTreeData.setLayerIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(NamedLayerDetails.class, panel.getClass());
// Select style
selectedTreeData.setStyleIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(StyleDetails.class, panel.getClass());
// Select feature type style
selectedTreeData.setFeatureTypeStyleIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(FeatureTypeStyleDetails.class, panel.getClass());
// Select rule
selectedTreeData.setRuleIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(RuleDetails.class, panel.getClass());
// Select polygon symbolizer
selectedTreeData.setSelectedPanel(PolygonSymbolizerDetails.class);
selectedTreeData.setSymbolizerIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(PolygonSymbolizerDetails.class, panel.getClass());
// Select line symbolizer
selectedTreeData.setSelectedPanel(LineSymbolizerDetails.class);
selectedTreeData.setRuleIndex(1);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(LineSymbolizerDetails.class, panel.getClass());
// Select point symbolizer
selectedTreeData.setSelectedPanel(PointSymbolizerDetails.class);
selectedTreeData.setRuleIndex(2);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(PointSymbolizerDetails.class, panel.getClass());
// Select text symbolizer
selectedTreeData.setSelectedPanel(TextSymbolizerDetails.class);
selectedTreeData.setSymbolizerIndex(1);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(TextSymbolizerDetails.class, panel.getClass());
// Select raster symbolizer
selectedTreeData.setSelectedPanel(RasterSymbolizerDetails.class);
selectedTreeData.setSymbolizerIndex(2);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(RasterSymbolizerDetails.class, panel.getClass());
// Select polygon symbolizer / fill
selectedTreeData.setSelectedPanel(PolygonFillDetails.class);
selectedTreeData.setSymbolizerIndex(0);
selectedTreeData.setSymbolizerDetailIndex(0);
selectedTreeData.setRuleIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(PolygonFillDetails.class, panel.getClass());
// Select polygon symbolizer / stroke
selectedTreeData.setSelectedPanel(StrokeDetails.class);
selectedTreeData.setSymbolizerDetailIndex(1);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(StrokeDetails.class, panel.getClass());
// Select point symbolizer / fill
selectedTreeData.setSelectedPanel(PointFillDetails.class);
selectedTreeData.setRuleIndex(2);
selectedTreeData.setSymbolizerIndex(0);
selectedTreeData.setSymbolizerDetailIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(PointFillDetails.class, panel.getClass());
// Select line symbolizer / stroke
selectedTreeData.setSelectedPanel(StrokeDetails.class);
selectedTreeData.setRuleIndex(1);
selectedTreeData.setSymbolizerIndex(0);
selectedTreeData.setSymbolizerDetailIndex(0);
assertTrue(tree1.selectTreeItem(selectedTreeData));
panel = tree1.getSelectedSymbolPanel();
assertEquals(StrokeDetails.class, panel.getClass());
// Error cases
selectedTreeData.setSymbolizerDetailIndex(-2);
assertFalse(tree1.selectTreeItem(selectedTreeData));
selectedTreeData.setSymbolizerDetailIndex(1);
assertFalse(tree1.selectTreeItem(selectedTreeData));
}
use of org.geotools.styling.StyledLayerDescriptor in project sldeditor by robward-scisys.
the class SLDTreeTest method testSLDTreeNull.
/**
* Test method for {@link com.sldeditor.ui.tree.SLDTree#SLDTree(java.util.List)} using null
* values.
*/
@Test
public void testSLDTreeNull() {
List<RenderSymbolInterface> renderList = null;
SLDTree tree1 = new SLDTree(renderList, null);
// Select top level node
tree1.selectFirstSymbol();
URL url = SLDTreeTest.class.getResource("/polygon/sld/polygon_attributebasedpolygon.sld");
String sldContents = readFile(new File(url.getFile()).getAbsolutePath());
SLDData sldData = new SLDData(null, sldContents);
StyledLayerDescriptor sld = SLDUtils.createSLDFromString(sldData);
SelectedSymbol.getInstance().setSld(sld);
tree1.populateSLD();
// Nothing selected at this stage
tree1.leafSelected();
PopulateDetailsInterface panel = tree1.getSelectedSymbolPanel();
assertNull(panel);
// Select top level node
tree1.selectFirstSymbol();
tree1.leafSelected();
panel = tree1.getSelectedSymbolPanel();
assertNull(panel);
}
Aggregations