blob: 786d47009c37855fd9eff51e21034e292bbc75a6 [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2009, 2018 Stephan Wahlbrink and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.rj.servi.webapp;
import javax.annotation.PostConstruct;
import javax.management.OperationsException;
import javax.naming.directory.InvalidAttributeValueException;
import org.eclipse.statet.rj.servi.pool.NetConfig;
import org.eclipse.statet.rj.servi.pool.PoolServer;
public class NetConfigBean extends NetConfig {
public NetConfigBean() {
}
@PostConstruct
public void init() {
FacesUtils.loadFromFile(this, false);
}
public String getEffectivePoolAddress() {
final String address= getPoolAddress(this, FacesUtils.getPoolId());
return (address != null) ? address : "";
}
public String actionLoadCurrent() {
final PoolServer poolServer= FacesUtils.getPoolServer();
synchronized (this) {
poolServer.getNetConfig(this);
FacesUtils.validate(this);
}
return RJWeb.NETCONFIG_NAV;
}
public String actionLoadDefaults() throws InvalidAttributeValueException {
synchronized (this) {
load(new NetConfigBean());
FacesUtils.validate(this);
}
return RJWeb.NETCONFIG_NAV;
}
public String actionRestart() {
final NetConfig config= new NetConfig(this);
if (!FacesUtils.validate(config)) {
return null;
}
final PoolServer poolServer= FacesUtils.getPoolServer();
poolServer.setNetConfig(config);
try {
poolServer.restart();
}
catch (final OperationsException e) {
FacesUtils.addErrorMessage(null, e.getMessage());
}
return null;
}
public String actionSave() {
FacesUtils.saveToFile(this);
return null;
}
}