use of com.sun.enterprise.config.serverbeans.Server in project Payara by payara.
the class PostRegisterInstanceCommand method execute.
@Override
public void execute(AdminCommandContext context) {
ActionReport report = context.getActionReport();
final Logger logger = context.getLogger();
final InstanceRegisterInstanceCommandParameters suppInfo = context.getActionReport().getResultType(InstanceRegisterInstanceCommandParameters.class);
if (suppInfo != null && clusterName != null) {
try {
ParameterMapExtractor pme = new ParameterMapExtractor(suppInfo, this);
final ParameterMap paramMap = pme.extract();
List<String> targets = new ArrayList<String>();
List<Server> instances = target.getInstances(this.clusterName);
for (Server s : instances) {
targets.add(s.getName());
}
ClusterOperationUtil.replicateCommand("_register-instance-at-instance", FailurePolicy.Warn, FailurePolicy.Warn, FailurePolicy.Ignore, targets, context, paramMap, habitat);
} catch (Exception e) {
report.failure(logger, e.getMessage());
}
}
}
use of com.sun.enterprise.config.serverbeans.Server in project Payara by payara.
the class ConfigRefValidator method isValid.
@Override
public boolean isValid(final Named bean, final ConstraintValidatorContext constraintValidatorContext) {
if (bean == null)
return true;
Server server = null;
Cluster mycluster = null;
String configRef = null;
String serverName = null;
if (bean instanceof Server) {
server = (Server) bean;
configRef = server.getConfigRef();
serverName = server.getName();
} else if (bean instanceof Cluster) {
mycluster = (Cluster) bean;
configRef = mycluster.getConfigRef();
serverName = mycluster.getName();
}
// skip validation @NotNull is already on getConfigRef
if (configRef == null)
return true;
// cannot use default-config
if (configRef.equals(SystemPropertyConstants.TEMPLATE_CONFIG_NAME)) {
logger.warning(ConfigApiLoggerInfo.configRefDefaultconfig);
return false;
}
// cannot change config-ref of DAS
if (server != null) {
if (server.isDas() && !configRef.equals(SystemPropertyConstants.DAS_SERVER_CONFIG)) {
logger.warning(ConfigApiLoggerInfo.configRefDASconfig);
return false;
}
// cannot use server-config if not DAS
if (!server.isDas() && configRef.equals(SystemPropertyConstants.DAS_SERVER_CONFIG)) {
logger.warning(ConfigApiLoggerInfo.configRefServerconfig);
return false;
}
final Servers servers = server.getParent(Servers.class);
final Domain domain = servers.getParent(Domain.class);
final Configs configs = domain.getConfigs();
if (servers.getServer(serverName) != null) {
// validate for set, not _register-instance
// cannot change config ref of a clustered instance
Cluster cluster = domain.getClusterForInstance(serverName);
if (cluster != null) {
// cluster is not null during create-local-instance --cluster c1 i1
if (!cluster.getConfigRef().equals(configRef)) {
// During set when trying to change config-ref of a clustered instance,
// the value of desired config-ref will be different than the current config-ref.
// During _register-instance, (create-local-instance --cluster c1 i1)
// cluster.getConfigRef().equals(configRef) will be true and not come here.
logger.warning(ConfigApiLoggerInfo.configRefClusteredInstance);
return false;
}
}
// cannot use a non-existent config (Only used by set. _register-instance will fail earlier)
if (configs == null || configs.getConfigByName(configRef) == null) {
logger.warning(ConfigApiLoggerInfo.configRefNonexistent);
return false;
}
}
}
return true;
}
use of com.sun.enterprise.config.serverbeans.Server in project Payara by payara.
the class DuckMethodsTest method getClusterFromServerTest.
@Test
public void getClusterFromServerTest() {
Domain d = habitat.getService(Domain.class);
Server server = d.getServerNamed("server");
assertTrue(server != null);
Cluster cluster = server.getCluster();
System.out.println("Cluster name is " + cluster.getName());
}
use of com.sun.enterprise.config.serverbeans.Server in project Payara by payara.
the class DGTest method testGetServersFromDG.
@Test
public void testGetServersFromDG() {
Domain d = habitat.getService(Domain.class);
DeploymentGroups dgs = d.getDeploymentGroups();
assertNotNull("Deployment Groups should not be null", dgs);
List<DeploymentGroup> ldg = dgs.getDeploymentGroup();
assertNotNull("Deployment Groups List should not be null", ldg);
assertEquals("List should have 2 deployment groups", 2L, ldg.size());
// get first named group
DeploymentGroup dg = dgs.getDeploymentGroup("dg1");
assertNotNull("Deployment Group dg1 should not be null", dg);
List<Server> servers = dg.getInstances();
assertNotNull("Servers List for dg1 should not be null", servers);
assertEquals("List should have 1 Server", 1L, servers.size());
Server server = servers.get(0);
assertNotNull("Server for dg1 should not be null", server);
assertEquals("Server should be called server", "server", server.getName());
// get second named group
dg = dgs.getDeploymentGroup("dg2");
assertNotNull("Deployment Group dg2 should not be null", dg);
servers = dg.getInstances();
assertNotNull("Servers List for dg2 should not be null", servers);
assertEquals("List should have 2 Servers", 2L, servers.size());
server = servers.get(0);
assertNotNull("First Server for dg2 should not be null", server);
assertEquals("First Server should be called server", "server", server.getName());
server = servers.get(1);
assertNotNull("Second Server for dg2 should not be null", server);
assertEquals("Second Server should be called server2", "server2", server.getName());
}
use of com.sun.enterprise.config.serverbeans.Server in project Payara by payara.
the class ReferenceConstrainTest method serverConfigRefValid.
@Test
public void serverConfigRefValid() throws TransactionFailure {
Server server = habitat.getService(Server.class, "server");
assertNotNull(server);
ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(server);
Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>();
Map<String, String> configChanges = new HashMap<String, String>();
configChanges.put("config-ref", "server-config");
changes.put(serverConfig, configChanges);
try {
ConfigSupport cs = getHabitat().getService(ConfigSupport.class);
cs.apply(changes);
} catch (TransactionFailure tf) {
fail("Can not reach this point");
}
}
Aggregations