/*
* Copyright (c) 2016 wetransform GmbH
*
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this distribution. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* wetransform GmbH <http://www.wetransform.to>
*/
package de.fhg.igd.mapviewer.server.tiles.wizard.pages;
import org.eclipse.jface.preference.StringFieldEditor;
import de.fhg.igd.mapviewer.server.tiles.CustomTileMapServerConfiguration;
import de.fhg.igd.mapviewer.server.tiles.wizard.Messages;
/**
* Custom tile map server Name editor
*
* @author Arun
*/
public class ConfigurationNameFieldEditor extends StringFieldEditor {
private final CustomTileMapServerConfiguration configuration;
/**
* Default constructor
*
* @param configuration the WMS configuration
*/
public ConfigurationNameFieldEditor(CustomTileMapServerConfiguration configuration) {
super();
setEmptyStringAllowed(false);
this.configuration = configuration;
}
/**
* @see StringFieldEditor#doCheckState()
*/
@Override
protected boolean doCheckState() {
String text = getStringValue();
if (text.indexOf('/') >= 0) { // invalid characters
setErrorMessage(Messages.ServerNameFieldEditor_0);
return false;
}
try {
// don't allow already existing names
boolean exists = configuration.nameExists(text);
if (exists) {
setErrorMessage(Messages.ServerNameFieldEditor_1);
}
return !exists;
} catch (Exception e) {
setErrorMessage(e.getLocalizedMessage());
return false;
}
}
}