esgquerymodel.java

来自「world wind java sdk 源码」· Java 代码 · 共 417 行

JAVA
417
字号
/*Copyright (C) 2001, 2008 United States Government as represented bythe Administrator of the National Aeronautics and Space Administration.All Rights Reserved.*/package gov.nasa.worldwind.applications.gio.esg;import gov.nasa.worldwind.Configuration;import gov.nasa.worldwind.applications.gio.catalogui.CatalogKey;import gov.nasa.worldwind.applications.gio.catalogui.DefaultQueryModel;import gov.nasa.worldwind.avlist.AVList;import gov.nasa.worldwind.avlist.AVListImpl;import gov.nasa.worldwind.geom.Angle;import gov.nasa.worldwind.util.Logging;import java.text.DateFormat;import java.util.Date;import java.util.logging.Level;/** * @author dcollins * @version $Id: ESGQueryModel.java 5517 2008-07-15 23:36:34Z dcollins $ */public class ESGQueryModel extends DefaultQueryModel{    public ESGQueryModel(AVList params)    {        if (params == null)        {            String message = Logging.getMessage("nullValue.AVListIsNull");            Logging.logger().severe(message);            throw new IllegalArgumentException(message);        }        // Set configuration-based default values.        AVList defaultParams = new AVListImpl();        makeDefaultParams(defaultParams);        setValues(defaultParams);        // User specified values will override default values.        setValues(params);    }        public ESGQueryModel()    {        this(new AVListImpl());    }    private static AVList makeDefaultParams(AVList params)    {        if (params == null)        {            String message = Logging.getMessage("nullValue.AVListIsNull");            Logging.logger().severe(message);            throw new IllegalArgumentException(message);        }        Object o = Configuration.getStringValue(CatalogKey.KEYWORD_TEXT, "");        if (o != null)            params.setValue(CatalogKey.KEYWORD_TEXT, o);        o = getDateValue(CatalogKey.MIN_DATE, new Date(0));        if (o != null)            params.setValue(CatalogKey.MIN_DATE, o);        o = getDateValue(CatalogKey.MAX_DATE, new Date()); // Today        if (o != null)            params.setValue(CatalogKey.MAX_DATE, o);        o = getBooleanValue(CatalogKey.MIN_DATE_ENABLED, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.MIN_DATE_ENABLED, o);        o = getBooleanValue(CatalogKey.MAX_DATE_ENABLED, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.MAX_DATE_ENABLED, o);        o = getAngleValue(CatalogKey.MIN_LATITUDE, Angle.NEG90);        if (o != null)            params.setValue(CatalogKey.MIN_LATITUDE, o);        o = getAngleValue(CatalogKey.MAX_LATITUDE, Angle.POS90);        if (o != null)            params.setValue(CatalogKey.MAX_LATITUDE, o);        o = getAngleValue(CatalogKey.MIN_LONGITUDE, Angle.NEG180);        if (o != null)            params.setValue(CatalogKey.MIN_LONGITUDE, o);        o = getAngleValue(CatalogKey.MAX_LONGITUDE, Angle.POS180);        if (o != null)            params.setValue(CatalogKey.MAX_LONGITUDE, o);        o = getBooleanValue(CatalogKey.BBOX_ENABLED, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.BBOX_ENABLED, o);        o = getBooleanValue(CatalogKey.SIMPLE_QUERY, Boolean.TRUE);        if (o != null)            params.setValue(CatalogKey.SIMPLE_QUERY, o);        o = getBooleanValue(CatalogKey.WMS_ENABLED, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.WMS_ENABLED, o);        o = getBooleanValue(CatalogKey.WFS_ENABLED, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.WFS_ENABLED, o);        o = getBooleanValue(CatalogKey.WCS_ENABLED, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.WCS_ENABLED, o);        o  = getBooleanValue(CatalogKey.LINK_WITH_WWJ_VIEW, Boolean.FALSE);        if (o != null)            params.setValue(CatalogKey.LINK_WITH_WWJ_VIEW, o);        return params;    }    public String getKeywordText()    {        return getStringValue(this, CatalogKey.KEYWORD_TEXT);    }    public void setKeywordText(String newValue)    {        setValueFireEvent(CatalogKey.KEYWORD_TEXT, newValue);    }    public Date getMinDate()    {        return getDateValue(this, CatalogKey.MIN_DATE);    }    public void setMinDate(Date newValue)    {        setValueFireEvent(CatalogKey.MIN_DATE, newValue);    }    public Date getMaxDate()    {        return getDateValue(this, CatalogKey.MAX_DATE);    }    public void setMaxDate(Date newValue)    {        setValueFireEvent(CatalogKey.MAX_DATE, newValue);    }    public Boolean isMinDateEnabled()    {        return getBooleanValue(this, CatalogKey.MIN_DATE_ENABLED);    }    public void setMinDateEnabled(Boolean newValue)    {        setValueFireEvent(CatalogKey.MIN_DATE_ENABLED, newValue);    }    public Boolean isMaxDateEnabled()    {        return getBooleanValue(this, CatalogKey.MAX_DATE_ENABLED);    }    public void setMaxDateEnabled(Boolean newValue)    {        setValueFireEvent(CatalogKey.MAX_DATE_ENABLED, newValue);    }    public Angle getMinLatitude()    {        return getAngleValue(this, CatalogKey.MIN_LATITUDE);    }    public void setMinLatitude(Angle newValue)    {        setValueFireEvent(CatalogKey.MIN_LATITUDE, newValue);    }    public Angle getMaxLatitude()    {        return getAngleValue(this, CatalogKey.MAX_LATITUDE);    }    public void setMaxLatitude(Angle newValue)    {        setValueFireEvent(CatalogKey.MAX_LATITUDE, newValue);    }    public Angle getMinLongitude()    {        return getAngleValue(this, CatalogKey.MIN_LONGITUDE);    }    public void setMinLongitude(Angle newValue)    {        setValueFireEvent(CatalogKey.MIN_LONGITUDE, newValue);    }    public Angle getMaxLongitude()    {        return getAngleValue(this, CatalogKey.MAX_LONGITUDE);    }    public void setMaxLongitude(Angle newValue)    {        setValueFireEvent(CatalogKey.MAX_LONGITUDE, newValue);    }    public Boolean isBboxEnabled()    {        return getBooleanValue(this, CatalogKey.BBOX_ENABLED);    }    public void setBboxEnabled(Boolean newValue)    {        setValueFireEvent(CatalogKey.BBOX_ENABLED, newValue);    }    public Boolean isWMSEnabled()    {        return getBooleanValue(this, CatalogKey.WMS_ENABLED);    }    public void setWMSEnabled(Boolean newValue)    {        setValueFireEvent(CatalogKey.WMS_ENABLED, newValue);    }    public Boolean isWFSEnabled()    {        return getBooleanValue(this, CatalogKey.WFS_ENABLED);    }    public void setWFSEnabled(Boolean newValue)    {        setValueFireEvent(CatalogKey.WFS_ENABLED, newValue);    }    public Boolean isWCSEnabled()    {        return getBooleanValue(this, CatalogKey.WCS_ENABLED);    }    public void setWCSEnabled(Boolean newValue)    {        setValueFireEvent(CatalogKey.WCS_ENABLED, newValue);    }    public Boolean isSimpleQuery()    {        return getBooleanValue(this, CatalogKey.SIMPLE_QUERY);    }    public void setSimpleQuery(Boolean newValue)    {        setValueFireEvent(CatalogKey.SIMPLE_QUERY, newValue);    }    public Boolean isLinkWithWWJView()    {        return getBooleanValue(this, CatalogKey.LINK_WITH_WWJ_VIEW);    }    public void setLinkWithWWJView(Boolean newValue)    {        setValueFireEvent(CatalogKey.LINK_WITH_WWJ_VIEW, newValue);    }    private void setValueFireEvent(String key, Object newValue)    {        setValue(key, newValue);        firePropertyChange(key, null, newValue);    }    public static Boolean getBooleanValue(AVList avList, String key)    {        if (key == null)        {            String msg = Logging.getMessage("nullValue.AttributeKeyIsNull");            Logging.logger().severe(msg);            throw new IllegalStateException(msg);        }                Object o = avList.getValue(key);        if (o == null)            return null;        if (o instanceof Boolean)            return (Boolean) o;        String v = getStringValue(avList, key);        if (v == null)            return null;        return Boolean.parseBoolean(v);    }    public static Date getDateValue(AVList avList, String key)    {        if (key == null)        {            String msg = Logging.getMessage("nullValue.AttributeKeyIsNull");            Logging.logger().severe(msg);            throw new IllegalStateException(msg);        }        Object o = avList.getValue(key);        if (o == null)            return null;        if (o instanceof Date)            return (Date) o;        Long l = getLongValue(avList, key);        if (l != null)            return new Date(l);        String v = getStringValue(avList, key);        if (v == null)            return null;        try        {            return DateFormat.getDateInstance().parse(v);        }        catch (java.text.ParseException e)        {            Logging.logger().log(Level.SEVERE, "Configuration.ConversionError", v);            return null;        }    }    public static Angle getAngleValue(AVList avList, String key)    {        if (key == null)        {            String msg = Logging.getMessage("nullValue.AttributeKeyIsNull");            Logging.logger().severe(msg);            throw new IllegalStateException(msg);        }        Object o = avList.getValue(key);        if (o == null)            return null;        if (o instanceof Angle)            return (Angle) o;        Double d = getDoubleValue(avList, key);        if (d != null)            return Angle.fromDegrees(d);        return null;    }    private static Boolean getBooleanValue(String configurationKey, Boolean defaultValue)    {        if (configurationKey == null)        {            String msg = Logging.getMessage("nullValue.AttributeKeyIsNull");            Logging.logger().severe(msg);            throw new IllegalStateException(msg);        }        String v = Configuration.getStringValue(configurationKey);        if (v == null)            return defaultValue;        return Boolean.valueOf(v);    }    private static Date getDateValue(String configurationKey, Date defaultValue)    {        if (configurationKey == null)        {            String msg = Logging.getMessage("nullValue.AttributeKeyIsNull");            Logging.logger().severe(msg);            throw new IllegalStateException(msg);        }        Long l = Configuration.getLongValue(configurationKey);        if (l != null)            return new Date(l);        String v = Configuration.getStringValue(configurationKey);        if (v == null)            return defaultValue;        try        {            return DateFormat.getDateInstance().parse(v);        }        catch (java.text.ParseException e)        {            Logging.logger().log(Level.SEVERE, "Configuration.ConversionError", v);            return defaultValue;        }    }    private static Angle getAngleValue(String configurationKey, Angle defaultValue)    {        if (configurationKey == null)        {            String msg = Logging.getMessage("nullValue.AttributeKeyIsNull");            Logging.logger().severe(msg);            throw new IllegalStateException(msg);        }        Double d = Configuration.getDoubleValue(configurationKey);        if (d != null)            return Angle.fromDegrees(d);        return defaultValue;    }}

⌨️ 快捷键说明

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