Search in sources :

Example 11 with SLDWriterInterface

use of com.sldeditor.common.output.SLDWriterInterface in project sldeditor by robward-scisys.

the class BatchUpdateFontUtilsTest method testContainsFonts.

/**
 * Test method for {@link com.sldeditor.tool.batchupdatefont.BatchUpdateFontUtils#containsFonts(com.sldeditor.common.SLDDataInterface)}.
 */
@Test
public void testContainsFonts() {
    StyledLayerDescriptor sld = DefaultSymbols.createNewSLD();
    SelectedSymbol.getInstance().createNewSLD(sld);
    NamedLayer namedLayer = DefaultSymbols.createNewNamedLayer();
    String expectedNameLayerValue = "named layer test value";
    namedLayer.setName(expectedNameLayerValue);
    Style style = DefaultSymbols.createNewStyle();
    String expectedNameStyleValue = "style test value";
    style.setName(expectedNameStyleValue);
    namedLayer.addStyle(style);
    FeatureTypeStyle fts = DefaultSymbols.createNewFeatureTypeStyle();
    String expectedNameFTSValue = "feature type style test value";
    fts.setName(expectedNameFTSValue);
    style.featureTypeStyles().add(fts);
    Rule rule = DefaultSymbols.createNewRule();
    String expectedRuleValue = "rule test value";
    rule.setName(expectedRuleValue);
    TextSymbolizer symbolizer = DefaultSymbols.createDefaultTextSymbolizer();
    String expectedNameValue = "symbolizer test value";
    symbolizer.setName(expectedNameValue);
    rule.symbolizers().add(DefaultSymbols.createDefaultPointSymbolizer());
    fts.rules().add(rule);
    sld.layers().add(namedLayer);
    SLDWriterInterface sldWriter = SLDWriterFactory.createWriter(null);
    String sldContents = sldWriter.encodeSLD(null, sld);
    SLDData sldData = new SLDData(new StyleWrapper("workspace", "layer.sld"), sldContents);
    // Empty sld
    List<BatchUpdateFontData> actualList = BatchUpdateFontUtils.containsFonts(null);
    assertNull(actualList);
    // No fonts
    actualList = BatchUpdateFontUtils.containsFonts(sldData);
    assertNull(actualList);
    // With textsymbolizer
    rule.symbolizers().add(symbolizer);
    sldContents = sldWriter.encodeSLD(null, sld);
    sldData = new SLDData(new StyleWrapper("workspace", "layer.sld"), sldContents);
    actualList = BatchUpdateFontUtils.containsFonts(sldData);
    assertEquals(1, actualList.size());
    assertEquals(rule.getName(), actualList.get(0).getRuleName());
}
Also used : SLDData(com.sldeditor.common.data.SLDData) StyledLayerDescriptor(org.geotools.styling.StyledLayerDescriptor) TextSymbolizer(org.geotools.styling.TextSymbolizer) StyleWrapper(com.sldeditor.common.data.StyleWrapper) Style(org.geotools.styling.Style) FeatureTypeStyle(org.geotools.styling.FeatureTypeStyle) FeatureTypeStyle(org.geotools.styling.FeatureTypeStyle) SLDWriterInterface(com.sldeditor.common.output.SLDWriterInterface) Rule(org.geotools.styling.Rule) BatchUpdateFontData(com.sldeditor.tool.batchupdatefont.BatchUpdateFontData) NamedLayer(org.geotools.styling.NamedLayer) Test(org.junit.Test)

Aggregations

SLDWriterInterface (com.sldeditor.common.output.SLDWriterInterface)11 StyledLayerDescriptor (org.geotools.styling.StyledLayerDescriptor)8 File (java.io.File)6 SLDData (com.sldeditor.common.data.SLDData)5 StyleWrapper (com.sldeditor.common.data.StyleWrapper)5 SLDEditorFile (com.sldeditor.datasource.SLDEditorFile)5 IOException (java.io.IOException)5 Test (org.junit.Test)5 SLDDataInterface (com.sldeditor.common.SLDDataInterface)4 BufferedWriter (java.io.BufferedWriter)4 FileWriter (java.io.FileWriter)4 BatchUpdateFontData (com.sldeditor.tool.batchupdatefont.BatchUpdateFontData)3 Rule (org.geotools.styling.Rule)3 TextSymbolizer (org.geotools.styling.TextSymbolizer)3 InputStream (java.io.InputStream)2 ArrayList (java.util.ArrayList)2 FeatureTypeStyle (org.geotools.styling.FeatureTypeStyle)2 Font (org.geotools.styling.Font)2 NamedLayer (org.geotools.styling.NamedLayer)2 Style (org.geotools.styling.Style)2