Mercurial > gemma
view pkg/common/warn.go @ 4606:dfe9cde6a20c geoserver_sql_views
Reflect database model changes for SQL views in backend
In principle, we could use many datasources with different database
schemas, but this would imply changing GeoServer initialization,
service filtering, endpoints and eventually more. Since we do not need
it, just hard-code the schema name as a constant.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 05 Sep 2019 12:23:31 +0200 |
parents | 5a650cde0574 |
children | 6270951dda28 |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2019 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package common // WarningLimiter limits outputs with Log to a maximal number // of MaxWarnings outputs. type WarningLimiter struct { Log func(format string, args ...interface{}) MaxWarnings int Warnings int } // Warn is a wrapper around the Log function with the // same signature as the Log function so it can be used // instead. func (w *WarningLimiter) Warn(format string, args ...interface{}) { if w.Warnings++; w.Warnings <= w.MaxWarnings { w.Log(format, args...) } } // Close can be called to write a final message if the limit // was reached. func (w *WarningLimiter) Close() { if w.Warnings > w.MaxWarnings { w.Log("Too many warnings. %d ignored.", w.Warnings-w.MaxWarnings) } }