protected void createRasterServer(AVList parameters)
        {
            if (params == null)
            {
                String reason = Logging.getMessage("nullValue.ParamsIsNull");
                String msg    = Logging.getMessage("generic.CannotCreateRasterServer", reason);
                Logging.logger().severe(msg);
                throw new IllegalStateException(msg);
            }

            if (this.getDataFileStore() == null)
            {
                String reason = Logging.getMessage("nullValue.FileStoreIsNull");
                String msg    = Logging.getMessage("generic.CannotCreateRasterServer", reason);
                Logging.logger().severe(msg);
                throw new IllegalStateException(msg);
            }

            String datasetName = parameters.getStringValue(AVKey.DATASET_NAME);

            if (WWUtil.isEmpty(datasetName))
            {
                String reason = Logging.getMessage("generic.MissingRequiredParameter", AVKey.DATASET_NAME);
                String msg    = Logging.getMessage("generic.CannotCreateRasterServer", reason);
                Logging.logger().severe(msg);
                throw new IllegalStateException(msg);
            }

            String dataCacheName = parameters.getStringValue(AVKey.DATA_CACHE_NAME);

            if (WWUtil.isEmpty(dataCacheName))
            {
                String reason = Logging.getMessage("generic.MissingRequiredParameter", AVKey.DATA_CACHE_NAME);
                String msg    = Logging.getMessage("generic.CannotCreateRasterServer", reason);
                Logging.logger().severe(msg);
                throw new IllegalStateException(msg);
            }

            String rasterServerConfigFilename = dataCacheName + File.separator + datasetName + ".RasterServer.xml";

            final URL rasterServerFileURL = this.getDataFileStore().findFile(rasterServerConfigFilename, false);

            if (WWUtil.isEmpty(rasterServerFileURL))
            {
                String reason = Logging.getMessage("Configuration.ConfigNotFound", rasterServerConfigFilename);
                String msg    = Logging.getMessage("generic.CannotCreateRasterServer", reason);
                Logging.logger().severe(msg);
                throw new IllegalStateException(msg);
            }

            final AVList rasterServerParams = parameters.copy();

            rasterServerParams.setValue(AVKey.FILE_STORE, this.getDataFileStore());

            RetrieverFactory retrieverFactory = new RetrieverFactory()
            {
                final protected RasterServer rasterServer = new BasicRasterServer(rasterServerFileURL, rasterServerParams);
Ejemplo n.º 2
0
        public LevelSet(AVList parameters)
        {
            StringBuffer sb = new StringBuffer();

            Object o = parameters.getValue(AVKey.LEVEL_ZERO_TILE_DELTA);

            if (o == null || !(o is LatLon))
            {
                sb.append(Logging.getMessage("term.tileDelta")).append(" ");
            }

            o = parameters.getValue(AVKey.SECTOR);
            if (o == null || !(o is Sector))
            {
                sb.append(Logging.getMessage("term.sector")).append(" ");
            }

            int numLevels = 0;

            o = parameters.getValue(AVKey.NUM_LEVELS);
            if (o == null || !(o is Integer) || (numLevels = (Integer)o) < 1)
            {
                sb.append(Logging.getMessage("term.numLevels")).append(" ");
            }

            int numEmptyLevels = 0;

            o = parameters.getValue(AVKey.NUM_EMPTY_LEVELS);
            if (o != null && o is Integer && (Integer)o > 0)
            {
                numEmptyLevels = (Integer)o;
            }

            String[] inactiveLevels = null;
            o = parameters.getValue(AVKey.INACTIVE_LEVELS);
            if (o != null && !(o is String))
            {
                sb.append(Logging.getMessage("term.inactiveLevels")).append(" ");
            }
            else if (o != null)
            {
                inactiveLevels = ((String)o).split(",");
            }

            SectorResolution[] sectorLimits = null;
            o = parameters.getValue(AVKey.SECTOR_RESOLUTION_LIMITS);
            if (o != null && !(o is SectorResolution[]))
            {
                sb.append(Logging.getMessage("term.sectorResolutionLimits")).append(" ");
            }
            else if (o != null)
            {
                sectorLimits = (SectorResolution[])o;
                foreach (SectorResolution sr in sectorLimits)
                {
                    if (sr.levelNumber > numLevels - 1)
                    {
                        String message =
                            Logging.getMessage("LevelSet.sectorResolutionLimitsTooHigh", sr.levelNumber, numLevels - 1);
                        Logging.logger().warning(message);
                        break;
                    }
                }
            }
            this.sectorLevelLimits = sectorLimits;

            if (sb.length() > 0)
            {
                String message = Logging.getMessage("layers.LevelSet.InvalidLevelDescriptorFields", sb.ToString());
                Logging.logger().severe(message);
                throw new ArgumentException(message);
            }

            this.sector             = (Sector)parameters.getValue(AVKey.SECTOR);
            this.levelZeroTileDelta = (LatLon)parameters.getValue(AVKey.LEVEL_ZERO_TILE_DELTA);

            o = parameters.getValue(AVKey.TILE_ORIGIN);
            if (o != null && o is LatLon)
            {
                this.tileOrigin = (LatLon)o;
            }
            else
            {
                this.tileOrigin = new LatLon(Angle.NEG90, Angle.NEG180);
            }

            parameters = parameters.copy(); // copy so as not to modify the user's parameters

            TileUrlBuilder tub = (TileUrlBuilder)parameters.getValue(AVKey.TILE_URL_BUILDER);

            if (tub == null)
            {
                parameters.setValue(AVKey.TILE_URL_BUILDER, new TileUrlBuilder()
                {