Mercurial > mxd2map
diff src/java/de/intevation/mxd/reader/SimpleMarkerSymbolReader.java @ 31:40c0b4e5f91a
Added utility class to store map attributes.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Mon, 11 Apr 2011 16:04:03 +0200 |
parents | 3e24fffdf2bb |
children | 8381aa59078e |
line wrap: on
line diff
--- a/src/java/de/intevation/mxd/reader/SimpleMarkerSymbolReader.java Fri Apr 08 17:58:37 2011 +0200 +++ b/src/java/de/intevation/mxd/reader/SimpleMarkerSymbolReader.java Mon Apr 11 16:04:03 2011 +0200 @@ -10,6 +10,8 @@ import com.esri.arcgis.display.IRgbColor; import com.esri.arcgis.display.RgbColor; +import org.w3c.dom.Element; + /** * Reads simple marker symbol information. * @@ -17,12 +19,20 @@ */ public class SimpleMarkerSymbolReader implements ISymbolReader{ - //Member - private static final Logger logger = Logger.getLogger(SimpleMarkerSymbolReader.class); + /** + * The logger. + */ + private static final Logger logger = + Logger.getLogger(SimpleMarkerSymbolReader.class); + /** + * Private member. + */ + private Element renderer; private SimpleMarkerSymbol symbol; + private MapToXMLUtils util; - //Constructor + public SimpleMarkerSymbolReader(ISymbol symbol) throws Exception{ logger.debug("contructor()"); if(symbol instanceof SimpleMarkerSymbol) @@ -31,50 +41,79 @@ throw new Exception("Not a SimpleMarkerSymbol!"); } + /** + * Setter for the parent XML element. + * + * @param parent The XML parent node. + */ + public void setParent(Element parent) { + this.renderer = parent; + } - //Methods - public boolean read() throws IOException{ + /** + * Setter for XML document helper. + * + * @param util The helper class for storing map information. + */ + public void setUtil(MapToXMLUtils util) { + this.util = util; + } + + /** + * Reads the symbol attributes. + * + * @return The XML node. + */ + public Element read() + throws IOException { logger.debug("read()"); - System.out.println("--------------------"); - System.out.println("Symbol information:"); - System.out.println("Name\t\t = " + symbol.getNameString()); + Element symbolElement; + try { + symbolElement = util.addSymbol(renderer); + } + catch(Exception e) { + e.printStackTrace(); + return null; + } + symbolElement.setAttribute("name", symbol.getNameString()); if(symbol.getStyle() == esriSimpleMarkerStyle.esriSMSCircle) - System.out.println("Style\t\t = Point"); - if(symbol.getColor() instanceof IRgbColor){ + symbolElement.setAttribute("style", "point"); + + if(symbol.getColor() instanceof IRgbColor) { IRgbColor color = (IRgbColor)symbol.getColor(); - System.out.println("Color\t\t = (" + color.getRed() + - "," + color.getGreen() + - "," + color.getBlue() + ")"); - System.out.println("Transparency\t = " + color.getTransparency()); + symbolElement.setAttribute("color", "(" + color.getRed() + + "," + color.getGreen() + + "," + color.getBlue() + ")"); + symbolElement.setAttribute("transparency", + String.valueOf(color.getTransparency())); } - else{ + else { + System.out.println("Color type unknown! " + + symbol.getColor().getClass().toString()); + } + + symbolElement.setAttribute("size", String.valueOf(symbol.getSize())); + symbolElement.setAttribute("outline_size", + String.valueOf(symbol.getOutlineSize())); + if(symbol.getOutlineColor() instanceof IRgbColor) { + IRgbColor color = (IRgbColor)symbol.getOutlineColor(); + symbolElement.setAttribute("outline_color", "(" + color.getRed() + + "," + color.getGreen() + + "," + color.getBlue() + ")"); + symbolElement.setAttribute("outline_transparency", + String.valueOf(color.getTransparency())); + } + else { System.out.println("Color type unknown! " + symbol.getColor().getClass().toString()); } - if(symbol.getOutlineColor() instanceof RgbColor){ - RgbColor color = (RgbColor)symbol.getOutlineColor(); - System.out.println("Outlinecolor\t = (" + color.getRed() + - "," + color.getGreen() + - "," + color.getBlue() + ")"); - System.out.println("Transparency\t = " + color.getTransparency()); - } - else{ - System.out.println("Color type unknown! " + - symbol.getOutlineColor().getClass().toString()); - } - System.out.println("Size\t\t = " + symbol.getSize()); - System.out.println("OutlineSize\t\t = " + symbol.getOutlineSize()); - System.out.println("Angle\t\t = " + symbol.getAngle()); - System.out.println("Offset\t\t = " + symbol.getXOffset() + - "," + symbol.getYOffset()); - System.out.println(""); - return true; - } + symbolElement.setAttribute("angle", String.valueOf(symbol.getAngle())); + symbolElement.setAttribute("offset", + symbol.getXOffset() + "," + symbol.getYOffset()); - public void getSymbol() throws IOException{ - logger.debug("getSymbol() -> not implemented jet."); + return symbolElement; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :