⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setpointsymbolstask.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
package com.esri.solutions.jitk.web.tasks.preferences.selectionsymbols;

import java.math.BigInteger;

import javax.xml.bind.JAXBException;

import com.esri.adf.web.data.WebContext;
import com.esri.adf.web.data.symbol.WebSimpleMarkerSymbol;
import com.esri.solutions.jitk.personalization.PersonalizationException;
import com.esri.solutions.jitk.personalization.data.beans.v1.ObjectFactory;
import com.esri.solutions.jitk.personalization.data.beans.v1.PointSymbolType;
import com.esri.solutions.jitk.personalization.data.beans.v1.RgbColorType;
import com.esri.solutions.jitk.personalization.data.beans.v1.impl.RgbColorTypeImpl;
import com.esri.solutions.jitk.web.tasks.RenderControlledTask;

public class SetPointSymbolsTask extends RenderControlledTask {
	private static final long serialVersionUID = -7057796246792111187L;
	protected int pointMarkerType;
	protected int pointMarkerWidth;
	protected String pointMarkerColor;
	protected String pointMarkerOutlineColor;
	protected double pointMarkerAngle;
	protected boolean pointMarkerAntialiasing;
	protected double pointMarkerTransparency;
	
	protected boolean readFromPreferences(PointSymbolType pPointSymbol) throws PersonalizationException {
		
		if(pPointSymbol != null) {
			this.pointMarkerType = pPointSymbol.getMarkerType();
			this.pointMarkerWidth = pPointSymbol.getWidth();
			this.pointMarkerColor = toADFRgbColor(pPointSymbol.getColor());
			this.pointMarkerOutlineColor = toADFRgbColor(pPointSymbol.getOutlineColor());
			this.pointMarkerAngle = pPointSymbol.getAngle();
			this.pointMarkerAntialiasing = pPointSymbol.isAntialiasing();
			this.pointMarkerTransparency = pPointSymbol.getTransparency();
				
			return true;
		}
		
		return false;
	}
	
	protected void readFromSession(WebContext context) {
		
		WebSimpleMarkerSymbol pointSymbol = context.getWebQuery().getPointGraphicSymbol();
		this.pointMarkerType = pointSymbol.getMarkerType();
		this.pointMarkerWidth = pointSymbol.getWidth();
		this.pointMarkerColor = pointSymbol.getColor();
		this.pointMarkerOutlineColor = pointSymbol.getOutlineColor();
		this.pointMarkerAngle = pointSymbol.getAngle();
		this.pointMarkerAntialiasing = pointSymbol.isAntialiasing();
		this.pointMarkerTransparency = pointSymbol.getTransparency();
	}
	
	protected WebSimpleMarkerSymbol getSimpleMarkerSymbol() {
		
		WebSimpleMarkerSymbol pointSymbol = new WebSimpleMarkerSymbol();
		pointSymbol.setMarkerType(this.pointMarkerType);
		pointSymbol.setWidth(this.pointMarkerWidth);
		pointSymbol.setColor(this.pointMarkerColor);
		pointSymbol.setOutlineColor(this.pointMarkerOutlineColor);
		
		pointSymbol.setAngle(this.pointMarkerAngle);
		pointSymbol.setAntialiasing(this.pointMarkerAntialiasing);
		pointSymbol.setTransparency(this.pointMarkerTransparency);
		
		return pointSymbol;
	}
	
	protected PointSymbolType getPointSymbolType() throws JAXBException {
		
		PointSymbolType pPointSymbol = new ObjectFactory().createPointSymbolType();
		pPointSymbol.setMarkerType(this.pointMarkerType);
		pPointSymbol.setWidth(this.pointMarkerWidth);
		pPointSymbol.setColor(toRgbColorType(this.pointMarkerColor));
		pPointSymbol.setOutlineColor(toRgbColorType(this.pointMarkerOutlineColor));
		pPointSymbol.setAngle(this.pointMarkerAngle);
		pPointSymbol.setAntialiasing(this.pointMarkerAntialiasing); 
		pPointSymbol.setTransparency(this.pointMarkerTransparency);
		
		return pPointSymbol;
	}

	protected RgbColorType toRgbColorType(String color) {
		
		RgbColorType ret = null;
		
		if(color != null && color.replaceAll("\\s", "").matches("\\d{1,3},\\d{1,3},\\d{1,3}")) {
			String[] rgb = color.split(",");
			
			ret = new RgbColorTypeImpl();
			ret.setBlue(new BigInteger(rgb[2]));
			ret.setGreen(new BigInteger(rgb[1]));
			ret.setRed(new BigInteger(rgb[0]));
		} 
		
		return ret;
	}

	protected String toADFRgbColor(RgbColorType color) {
		return (color != null) ? color.getRed() + "," + color.getGreen() + "," + color.getBlue() : "0,0,0";
	}

	public int getPointMarkerType() {
		return pointMarkerType;
	}

	public void setPointMarkerType(int pointMarkerType) {
		this.pointMarkerType = pointMarkerType;
	}

	public int getPointMarkerWidth() {
		return pointMarkerWidth;
	}

	public void setPointMarkerWidth(int pointMarkerWidth) {
		this.pointMarkerWidth = pointMarkerWidth;
	}

	public double getPointMarkerAngle() {
		return pointMarkerAngle;
	}

	public void setPointMarkerAngle(double pointMarkerAngle) {
		this.pointMarkerAngle = pointMarkerAngle;
	}

	public String getPointMarkerColor() {
		return pointMarkerColor;
	}

	public void setPointMarkerColor(String pointMarkerColor) {
		this.pointMarkerColor = pointMarkerColor;
	}

	public String getPointMarkerOutlineColor() {
		return pointMarkerOutlineColor;
	}

	public void setPointMarkerOutlineColor(String pointMarkerOutlineColor) {
		this.pointMarkerOutlineColor = pointMarkerOutlineColor;
	}

	public double getPointMarkerTransparency() {
		return pointMarkerTransparency;
	}

	public void setPointMarkerTransparency(double pointMarkerTransparency) {
		this.pointMarkerTransparency = pointMarkerTransparency;
	}

	public boolean isPointMarkerAntialiasing() {
		return pointMarkerAntialiasing;
	}

	public void setPointMarkerAntialiasing(boolean pointMarkerAntialiasing) {
		this.pointMarkerAntialiasing = pointMarkerAntialiasing;
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -