Search in sources :

Example 76 with Server

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());
        }
    }
}
Also used : InstanceRegisterInstanceCommandParameters(com.sun.enterprise.config.util.InstanceRegisterInstanceCommandParameters) ParameterMapExtractor(org.glassfish.common.util.admin.ParameterMapExtractor) Server(com.sun.enterprise.config.serverbeans.Server) ArrayList(java.util.ArrayList) ActionReport(org.glassfish.api.ActionReport) Logger(java.util.logging.Logger)

Example 77 with Server

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;
}
Also used : Server(com.sun.enterprise.config.serverbeans.Server) Configs(com.sun.enterprise.config.serverbeans.Configs) Cluster(com.sun.enterprise.config.serverbeans.Cluster) Servers(com.sun.enterprise.config.serverbeans.Servers) Domain(com.sun.enterprise.config.serverbeans.Domain)

Example 78 with Server

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());
}
Also used : Server(com.sun.enterprise.config.serverbeans.Server) Cluster(com.sun.enterprise.config.serverbeans.Cluster) Domain(com.sun.enterprise.config.serverbeans.Domain) ConfigApiTest(com.sun.enterprise.configapi.tests.ConfigApiTest) Test(org.junit.Test)

Example 79 with Server

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());
}
Also used : DeploymentGroups(fish.payara.enterprise.config.serverbeans.DeploymentGroups) Server(com.sun.enterprise.config.serverbeans.Server) Domain(com.sun.enterprise.config.serverbeans.Domain) DeploymentGroup(fish.payara.enterprise.config.serverbeans.DeploymentGroup) ConfigApiTest(com.sun.enterprise.configapi.tests.ConfigApiTest) Test(org.junit.Test)

Example 80 with Server

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");
    }
}
Also used : TransactionFailure(org.jvnet.hk2.config.TransactionFailure) ConfigSupport(org.jvnet.hk2.config.ConfigSupport) Server(com.sun.enterprise.config.serverbeans.Server) HashMap(java.util.HashMap) ConfigBean(org.jvnet.hk2.config.ConfigBean) HashMap(java.util.HashMap) Map(java.util.Map) ConfigApiTest(com.sun.enterprise.configapi.tests.ConfigApiTest) Test(org.junit.Test)

Aggregations

Server (com.sun.enterprise.config.serverbeans.Server)86 ActionReport (org.glassfish.api.ActionReport)27 Cluster (com.sun.enterprise.config.serverbeans.Cluster)26 Domain (com.sun.enterprise.config.serverbeans.Domain)16 Config (com.sun.enterprise.config.serverbeans.Config)15 ArrayList (java.util.ArrayList)12 DeploymentGroup (fish.payara.enterprise.config.serverbeans.DeploymentGroup)11 PropertyVetoException (java.beans.PropertyVetoException)11 Properties (java.util.Properties)10 TransactionFailure (org.jvnet.hk2.config.TransactionFailure)10 HashMap (java.util.HashMap)9 ApplicationRef (com.sun.enterprise.config.serverbeans.ApplicationRef)8 File (java.io.File)8 IOException (java.io.IOException)8 Test (org.junit.Test)8 Property (org.jvnet.hk2.config.types.Property)8 Node (com.sun.enterprise.config.serverbeans.Node)7 Map (java.util.Map)7 Logger (java.util.logging.Logger)7 ParameterMap (org.glassfish.api.admin.ParameterMap)7