Search in sources :

Example 1 with Type

use of org.glassfish.hk2.classmodel.reflect.Type in project Payara by payara.

the class InplantedTest method Test.

@Test
public void Test() {
    ServiceLocator habitat = server.getHabitat();
    System.out.println("Process type is " + habitat.<ProcessEnvironment>getService(ProcessEnvironment.class).getProcessType());
    for (Sniffer s : habitat.<Sniffer>getAllServices(Sniffer.class)) {
        System.out.println("Got sniffer " + s.getModuleType());
    }
}
Also used : ServiceLocator(org.glassfish.hk2.api.ServiceLocator) Sniffer(org.glassfish.api.container.Sniffer) Test(org.junit.Test)

Example 2 with Type

use of org.glassfish.hk2.classmodel.reflect.Type in project Payara by payara.

the class BasicServiceDiscoveryPaaSTest method testGetServiceMetadata.

// Test for CLI : '_get-service-metadata''
/*
        The war file contains the following service definition and service reference
          1.In glassfish-services.xml
        <glassfish-services>
            <service-description name="basic-db" init-type="lazy">
                <characteristics><characteristic name="service-type" value="JavaEE"/></characteristics>
                <configurations>
                    <configuration name="min.clustersize" value="1"/>
                    <configuration name="max.clustersize" value="2"/>
                </configurations>
            </service-description>
         </glassfish-services>
         <service-description name="db-service" init-type="lazy">
        <characteristics>
            <characteristic name="service-type" value="Database"/>
        </characteristics>
        <configurations>
            <configuration name="database.name" value=""/>
            <configuration name="database.init.sql" value=""/>
        </configurations>
    </service-description>

         2.In web.xml
         <resource-ref>
                <res-ref-name>jdbc/__basic_db_paas_sample</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
         </resource-ref>
     */
private void testGetServiceMetadata(File archive) {
    ServiceLocator habitat = Globals.getDefaultHabitat();
    org.glassfish.api.admin.CommandRunner commandRunner = habitat.getService(org.glassfish.api.admin.CommandRunner.class);
    ActionReport report = habitat.getService(ActionReport.class);
    org.glassfish.api.admin.CommandRunner.CommandInvocation invocation = commandRunner.getCommandInvocation("_get-service-metadata", report);
    ParameterMap parameterMap = new ParameterMap();
    parameterMap.add("DEFAULT", System.getProperty("basedir") + "/target/basic_sd_paas_sample.war");
    boolean testPassed = false;
    invocation.parameters(parameterMap).execute();
    testPassed = !report.hasFailures();
    String appName = "basic_sd_paas_sample";
    String serviceName = "basic-sd";
    testGetServiceDescription(appName, serviceName);
    List<Map<String, Object>> serviceDescList = (List<Map<String, Object>>) report.getExtraProperties().get("list");
    Map<String, Object> serviceDescMap = serviceDescList.get(1);
    serviceName = (String) serviceDescMap.get("name");
    String init_type = (String) serviceDescMap.get("init-type");
    Map<String, String> svcCharacteristicMap = (Map<String, String>) serviceDescMap.get("characteristics");
    String serviceType = (String) svcCharacteristicMap.get("service-type");
    Map<String, String> svcConfigurationMap = (Map<String, String>) serviceDescMap.get("configurations");
    if (serviceName.equalsIgnoreCase("db-service")) {
        if ("lazy".equalsIgnoreCase(init_type)) {
            if ("Database".equals(serviceType)) {
                Map<String, String> serviceConfigurationsMap = (Map<String, String>) serviceDescMap.get("configurations");
                if (serviceConfigurationsMap.containsKey("database.init.sql") && serviceConfigurationsMap.containsKey("database.name")) {
                    testPassed = true;
                }
            }
        }
    }
    System.out.println("CLI 'get-service-metadata' test passed? :: " + testPassed);
    Assert.assertTrue(testPassed);
}
Also used : ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) ServiceLocator(org.glassfish.hk2.api.ServiceLocator) List(java.util.List) CommandRunner(org.glassfish.embeddable.CommandRunner) ParameterMap(org.glassfish.api.admin.ParameterMap) Map(java.util.Map)

Example 3 with Type

use of org.glassfish.hk2.classmodel.reflect.Type in project Payara by payara.

the class BasicServiceDiscoveryPaaSTest method testGetServiceDescription.

// Test for CLI : '_get-service-description''
private void testGetServiceDescription(String appName, String serviceName) {
    ServiceLocator habitat = Globals.getDefaultHabitat();
    org.glassfish.api.admin.CommandRunner commandRunner = habitat.getService(org.glassfish.api.admin.CommandRunner.class);
    ActionReport report = habitat.getService(ActionReport.class);
    ParameterMap parameterMap = new ParameterMap();
    parameterMap.add("appname", appName);
    parameterMap.add("DEFAULT", serviceName);
    boolean testPassed = false;
    org.glassfish.api.admin.CommandRunner.CommandInvocation invocation = commandRunner.getCommandInvocation("_get-service-description", report);
    invocation.parameters(parameterMap).execute();
    Map<String, Object> SDMap = (Map<String, Object>) report.getExtraProperties().get("list");
    if (serviceName.equalsIgnoreCase((String) SDMap.get("name"))) {
        if ("lazy".equalsIgnoreCase((String) SDMap.get("init-type"))) {
            Map<String, String> serviceCharacteristicsMap = (Map<String, String>) SDMap.get("characteristics");
            if ("JavaEE".equals(serviceCharacteristicsMap.get("service-type"))) {
                Map<String, String> serviceConfigurationsMap = (Map<String, String>) SDMap.get("configurations");
                String minclustersize = serviceConfigurationsMap.get("min.clustersize");
                String maxclustersize = serviceConfigurationsMap.get("max.clustersize");
                if (Integer.parseInt(minclustersize) == 1 && Integer.parseInt(maxclustersize) == 2) {
                    testPassed = true;
                }
            }
        }
    }
    System.out.println("CLI 'get-service-description' test passed? :: " + testPassed);
    Assert.assertTrue(testPassed);
}
Also used : ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) ServiceLocator(org.glassfish.hk2.api.ServiceLocator) CommandRunner(org.glassfish.embeddable.CommandRunner) ParameterMap(org.glassfish.api.admin.ParameterMap) Map(java.util.Map)

Example 4 with Type

use of org.glassfish.hk2.classmodel.reflect.Type in project Payara by payara.

the class ExistingDomainTest method Test.

@Test
public void Test() throws Exception {
    ServiceLocator habitat = server.getHabitat();
    System.out.println("Process type is " + habitat.<ProcessEnvironment>getService(ProcessEnvironment.class).getProcessType());
    Collection<ServiceHandle<?>> listeners = habitat.getAllServiceHandles(org.glassfish.grizzly.config.dom.NetworkListener.class);
    Assert.assertTrue(listeners.size() > 1);
    for (ServiceHandle<?> s : listeners) {
        Object networkListener = s.getService();
        Method m = networkListener.getClass().getMethod("getPort");
        Assert.assertNotNull("Object returned does not implement getPort, is it a networkListener ?", m);
        String port = (String) m.invoke(networkListener);
        System.out.println("Network Listener " + port);
        Assert.assertNotNull("Got a null networkListener port", port);
    }
}
Also used : ServiceLocator(org.glassfish.hk2.api.ServiceLocator) ServiceHandle(org.glassfish.hk2.api.ServiceHandle) Method(java.lang.reflect.Method) Test(org.junit.Test)

Example 5 with Type

use of org.glassfish.hk2.classmodel.reflect.Type in project athenz by yahoo.

the class AthenzJettyContainer method addContainerRequestFilter.

public <T> void addContainerRequestFilter(ResourceConfig rconf, final Class<T> targetType) {
    AbstractBinder binder = new AbstractBinder() {

        Class<T> type = targetType;

        @Override
        protected void configure() {
            bind(type).to(javax.ws.rs.container.ContainerRequestFilter.class);
        }
    };
    rconf.register(binder);
}
Also used : AbstractBinder(org.glassfish.hk2.utilities.binding.AbstractBinder)

Aggregations

ServiceLocator (org.glassfish.hk2.api.ServiceLocator)21 ActionReport (org.glassfish.api.ActionReport)19 List (java.util.List)17 MultiException (org.glassfish.hk2.api.MultiException)16 IOException (java.io.IOException)13 AnnotationModel (org.glassfish.hk2.classmodel.reflect.AnnotationModel)12 Map (java.util.Map)11 ArrayList (java.util.ArrayList)10 ParameterMap (org.glassfish.api.admin.ParameterMap)10 Types (org.glassfish.hk2.classmodel.reflect.Types)10 Logger (java.util.logging.Logger)9 File (java.io.File)8 Inject (javax.inject.Inject)7 PropertyVetoException (java.beans.PropertyVetoException)6 Collection (java.util.Collection)6 HashMap (java.util.HashMap)6 HashSet (java.util.HashSet)6 Type (org.glassfish.hk2.classmodel.reflect.Type)6 ServerEnvironment (org.glassfish.api.admin.ServerEnvironment)5 Sniffer (org.glassfish.api.container.Sniffer)5