strokeGraphicStroke = stroke.getGraphicStroke();
if (strokeGraphicStroke != null) {
List<GraphicalSymbol> graphicalSymbolsList = strokeGraphicStroke.graphicalSymbols();
if (graphicalSymbolsList.size() > 0) {
GraphicalSymbol graphicalSymbol = graphicalSymbolsList.get(0);
if (graphicalSymbol instanceof ExternalGraphic) {
strokeExternalGraphicStroke = (ExternalGraphic) graphicalSymbol;
}
}
}
// dash
float[] dashArray = stroke.getDashArray();
if (dashArray != null) {
dash = Utilities.getDashString(dashArray);
} else {
dash = ""; //$NON-NLS-1$
}
// dashoffset
dashOffset = stroke.getDashOffset().evaluate(null, String.class);
// line cap
lineCap = stroke.getLineCap().evaluate(null, String.class);
// line join
lineJoin = stroke.getLineJoin().evaluate(null, String.class);
hasStroke = true;
} else {
hasStroke = false;
}
fill = polygonSymbolizer.getFill();
if (fill != null) {
Expression color = fill.getColor();
if (color != null) {
fillColor = expressionToString(color);
}
Expression opacity = fill.getOpacity();
fillOpacity = expressionToString(opacity);
fillGraphicFill = fill.getGraphicFill();
if (fillGraphicFill != null) {
List<GraphicalSymbol> graphicalSymbolsList = fillGraphicFill.graphicalSymbols();
if (graphicalSymbolsList.size() > 0) {
GraphicalSymbol graphicalSymbol = graphicalSymbolsList.get(0);
if (graphicalSymbol instanceof ExternalGraphic) {
fillExternalGraphicFill = (ExternalGraphic) graphicalSymbol;
} else if (graphicalSymbol instanceof Mark) {
mark = (Mark) graphicalSymbol;
wkMarkNameFill = mark.getWellKnownName().evaluate(null, String.class);