Example usage for org.springframework.core.env MapPropertySource MapPropertySource

List of usage examples for org.springframework.core.env MapPropertySource MapPropertySource

Introduction

In this page you can find the example usage for org.springframework.core.env MapPropertySource MapPropertySource.

Prototype

public MapPropertySource(String name, Map<String, Object> source) 

Source Link

Usage

From source file:com.kixeye.chassis.transport.MetricsTest.java

@Test
public void testMetricsPing() throws Exception {
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("admin.enabled", "true");
    properties.put("admin.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("admin.hostname", "localhost");

    properties.put("websocket.enabled", "true");
    properties.put("websocket.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("websocket.hostname", "localhost");

    properties.put("http.enabled", "true");
    properties.put("http.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("http.hostname", "localhost");

    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    StandardEnvironment environment = new StandardEnvironment();
    environment.getPropertySources().addFirst(new MapPropertySource("default", properties));
    context.setEnvironment(environment);
    context.register(PropertySourcesPlaceholderConfigurer.class);
    context.register(TransportConfiguration.class);
    context.register(MetricsConfiguration.class);

    RestTemplate httpClient = new RestTemplate();

    try {//from   www .  j a  v a 2 s  .c om
        context.refresh();

        httpClient.setInterceptors(Lists.newArrayList(LOGGING_INTERCEPTOR));
        List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
        for (MessageSerDe serDe : context.getBeansOfType(MessageSerDe.class).values()) {
            messageConverters.add(new SerDeHttpMessageConverter(serDe));
        }
        messageConverters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8));
        httpClient.setMessageConverters(messageConverters);

        ResponseEntity<String> response = httpClient.getForEntity(
                new URI("http://localhost:" + properties.get("admin.port") + "/metrics/ping"), String.class);

        logger.info("Got response: [{}]", response);

        Assert.assertEquals(response.getStatusCode().value(), HttpStatus.OK.value());
        Assert.assertEquals("pong".trim(), response.getBody().trim());
    } finally {
        context.close();
    }
}

From source file:org.ventiv.webjars.requirejs.config.RequireJsConfigBuilderTest.java

@Test
public void overrideShim() throws Exception {
    Map<String, Object> properties = new HashMap<>();
    properties.put("webjars.requirejs.newModules", "kendo-angular,kendo-colorpicker,kendo-ui-core");
    properties.put("webjars.requirejs.dependencies.kendo-angular", "angular,kendo-ui-core");
    properties.put("webjars.requirejs.dependencies.kendo-ui-core", "jquery");

    StandardEnvironment env = new StandardEnvironment();
    env.getPropertySources().addFirst(new MapPropertySource("props", properties));

    RequireJsConfigBuilder builder = new RequireJsConfigBuilder("/webjars/", env);
    Map<String, Object> requireJsConfig = builder.buildConfig();

    Map<String, Object> shim = (Map<String, Object>) requireJsConfig.get("shim");
    assertEquals(Arrays.asList("angular"), shim.get("angular-animate"));
    assertEquals(Arrays.asList("angular", "kendo-ui-core"), shim.get("kendo-angular"));
    assertEquals(Arrays.asList("jquery"), shim.get("kendo-ui-core"));
    assertEquals(null, shim.get("kendo-colorpicker"));
}

From source file:org.springframework.cloud.aws.context.config.annotation.ContextCredentialsConfigurationRegistrarTest.java

@Test
public void credentialsProvider_configWithAccessAndSecretKeyAsExpressions_staticAwsCredentialsProviderConfiguredWithResolvedExpressions()
        throws Exception {
    //Arrange//from  ww w . ja v a2s  .  c  o  m
    this.context = new AnnotationConfigApplicationContext();

    Map<String, Object> secretAndAccessKeyMap = new HashMap<>();
    secretAndAccessKeyMap.put("accessKey", "accessTest");
    secretAndAccessKeyMap.put("secretKey", "testSecret");

    this.context.getEnvironment().getPropertySources()
            .addLast(new MapPropertySource("test", secretAndAccessKeyMap));

    this.context.register(ApplicationConfigurationWithAccessKeyAndSecretKeyAsExpressions.class);
    this.context.refresh();
    //Act
    AWSCredentialsProvider awsCredentialsProvider = this.context.getBean(AWSCredentialsProvider.class);

    //Assert
    assertNotNull(awsCredentialsProvider);

    @SuppressWarnings("unchecked")
    List<CredentialsProvider> credentialsProviders = (List<CredentialsProvider>) ReflectionTestUtils
            .getField(awsCredentialsProvider, "credentialsProviders");
    assertEquals(1, credentialsProviders.size());
    assertTrue(StaticCredentialsProvider.class.isInstance(credentialsProviders.get(0)));

    assertEquals("accessTest", awsCredentialsProvider.getCredentials().getAWSAccessKeyId());
    assertEquals("testSecret", awsCredentialsProvider.getCredentials().getAWSSecretKey());
}

From source file:com.kixeye.chassis.transport.shared.SharedTest.java

@Test
public void testClassPath() throws Exception {

    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("admin.enabled", "true");
    properties.put("admin.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("admin.hostname", "localhost");

    properties.put("websocket.enabled", "true");
    properties.put("websocket.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("websocket.hostname", "localhost");

    properties.put("http.enabled", "true");
    properties.put("http.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("http.hostname", "localhost");

    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    StandardEnvironment environment = new StandardEnvironment();
    environment.getPropertySources().addFirst(new MapPropertySource("default", properties));
    context.setEnvironment(environment);
    context.register(PropertySourcesPlaceholderConfigurer.class);
    context.register(TransportConfiguration.class);
    context.register(MetricsConfiguration.class);
    RestTemplate httpClient = new RestTemplate();

    try {//from ww w .ja  v a  2 s  .com
        context.refresh();

        httpClient.setInterceptors(Lists.newArrayList(LOGGING_INTERCEPTOR));
        List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
        for (MessageSerDe messageSerDe : context.getBeansOfType(MessageSerDe.class).values()) {
            messageConverters.add(new SerDeHttpMessageConverter(messageSerDe));
        }
        messageConverters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8));
        httpClient.setMessageConverters(messageConverters);

        ResponseEntity<String> response = httpClient.getForEntity(
                new URI("http://localhost:" + properties.get("admin.port") + "/admin/classpath"), String.class);

        logger.info("Got response: [{}]", response);

        Assert.assertEquals(response.getStatusCode().value(), HttpStatus.OK.value());
        Assert.assertTrue(response.getBody().length() > 0);
    } finally {
        context.close();
    }
}

From source file:net.ggtools.maven.DDLGeneratorMojo.java

MapPropertySource createPropertySource() {
    final Map<String, Object> properties = new HashMap<String, Object>();
    properties.put(ENV_PREFIX + ".ddlFile", ddlFile);
    properties.put(ENV_PREFIX + ".defaultSchema", defaultSchema);
    properties.put(ENV_PREFIX + ".dialect", dialect);
    properties.put(ENV_PREFIX + ".namingStrategy", namingStrategy);
    properties.put(ENV_PREFIX + ".persistenceUnitName", persistenceUnitName);
    properties.put(ENV_PREFIX + ".useNewGenerator", useNewGenerator);
    properties.put(ENV_PREFIX + ".persistenceXmlLocations", persistenceXmlLocations);
    properties.put(ENV_PREFIX + ".log", getLog());
    return new MapPropertySource("mojoPropertySource", properties);
}

From source file:com.sitewhere.configuration.ExternalConfigurationResolver.java

@Override
public ApplicationContext resolveTenantContext(ITenant tenant, IVersion version, ApplicationContext parent)
        throws SiteWhereException {
    URL remoteTenantUrl = getRemoteTenantUrl(tenant, version);
    GenericApplicationContext context = new GenericApplicationContext(parent);

    // Plug in custom property source.
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("sitewhere.edition", version.getEditionIdentifier().toLowerCase());
    properties.put("tenant.id", tenant.getId());

    MapPropertySource source = new MapPropertySource("sitewhere", properties);
    context.getEnvironment().getPropertySources().addLast(source);

    try {// w  w  w . j av  a2 s  .c o m
        // Read context from XML configuration file.
        XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
        reader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);
        reader.loadBeanDefinitions(new InputStreamResource(remoteTenantUrl.openStream()));
        context.refresh();
        return context;
    } catch (BeanDefinitionStoreException e) {
        throw new SiteWhereException(e);
    } catch (IOException e) {
        throw new SiteWhereException(e);
    }
}

From source file:org.musa.tcpclients.Main.java

public static GenericXmlApplicationContext setupContext() {
    final GenericXmlApplicationContext context = new GenericXmlApplicationContext();

    System.out.print("Detect open server socket...");
    int availableServerSocket = SocketUtils.findAvailableServerSocket(5683);

    final Map<String, Object> sockets = new HashMap<String, Object>();
    sockets.put("availableServerSocket", availableServerSocket);

    final MapPropertySource propertySource = new MapPropertySource("sockets", sockets);

    context.getEnvironment().getPropertySources().addLast(propertySource);

    System.out.println("using port " + context.getEnvironment().getProperty("availableServerSocket"));

    context.load("classpath:META-INF/spring/integration/clientContext.xml");
    //context.registerShutdownHook();
    context.refresh();/*from   w  w  w . j  a  v a2 s  . co  m*/

    return context;
}

From source file:com.kixeye.chassis.transport.WebSocketTransportTest.java

@Test
public void testEmptyWebSocketFrameUsingBinary() throws Exception {
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("websocket.enabled", "true");
    properties.put("websocket.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("websocket.hostname", "localhost");

    properties.put("http.enabled", "false");
    properties.put("http.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("http.hostname", "localhost");

    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    StandardEnvironment environment = new StandardEnvironment();
    environment.getPropertySources().addFirst(new MapPropertySource("default", properties));
    context.setEnvironment(environment);
    context.register(PropertySourcesPlaceholderConfigurer.class);
    context.register(TransportConfiguration.class);
    context.register(TestWebSocketService.class);

    WebSocketClient wsClient = new WebSocketClient();

    try {//from   w ww .  j  a  v a2s  . c o m
        //start server
        context.refresh();

        // start client
        wsClient.start();

        final MessageSerDe serDe = context.getBean(JsonJacksonMessageSerDe.class);

        final WebSocketMessageRegistry messageRegistry = context.getBean(WebSocketMessageRegistry.class);

        QueuingWebSocketListener listener = new QueuingWebSocketListener(serDe, messageRegistry, null);

        WebSocketSession session = (WebSocketSession) wsClient.connect(listener, new URI(
                "ws://localhost:" + properties.get("websocket.port") + "/" + serDe.getMessageFormatName()))
                .get(5000, TimeUnit.MILLISECONDS);

        session.getRemote().sendBytes(ByteBuffer.wrap(new byte[0]));

        ServiceError error = listener.getResponse(5, TimeUnit.SECONDS);

        Assert.assertNotNull(error);
        Assert.assertEquals("EMPTY_ENVELOPE", error.code);
        Assert.assertEquals("STOPPED", session.getState());
    } finally {
        try {
            wsClient.stop();
        } finally {
            context.close();
        }
    }
}

From source file:com.kixeye.chassis.transport.HybridServiceTest.java

@Test
public void testHybridService() throws Exception {
    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put("websocket.enabled", "true");
    properties.put("websocket.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("websocket.hostname", "localhost");

    properties.put("http.enabled", "true");
    properties.put("http.port", "" + SocketUtils.findAvailableTcpPort());
    properties.put("http.hostname", "localhost");

    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    StandardEnvironment environment = new StandardEnvironment();
    environment.getPropertySources().addFirst(new MapPropertySource("default", properties));
    context.setEnvironment(environment);
    context.register(PropertySourcesPlaceholderConfigurer.class);
    context.register(TransportConfiguration.class);
    context.register(TestCombinedService.class);

    WebSocketClient wsClient = new WebSocketClient();

    RestTemplate httpClient = new RestTemplate();

    try {//from  ww  w. ja v  a 2 s.c  o  m
        context.refresh();

        final MessageSerDe serDe = context.getBean(ProtobufMessageSerDe.class);

        final WebSocketMessageRegistry messageRegistry = context.getBean(WebSocketMessageRegistry.class);

        messageRegistry.registerType("stuff", TestObject.class);

        wsClient.start();

        httpClient.setInterceptors(Lists.newArrayList(LOGGING_INTERCEPTOR));
        List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
        for (MessageSerDe messageSerDe : context.getBeansOfType(MessageSerDe.class).values()) {
            messageConverters.add(new SerDeHttpMessageConverter(messageSerDe));
        }
        messageConverters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8));
        httpClient.setMessageConverters(messageConverters);

        QueuingWebSocketListener webSocket = new QueuingWebSocketListener(serDe, messageRegistry, null);

        Session session = wsClient
                .connect(webSocket, new URI("ws://localhost:" + properties.get("websocket.port") + "/protobuf"))
                .get(5000, TimeUnit.MILLISECONDS);

        Envelope envelope = new Envelope("getStuff", null, null, null);

        session.getRemote().sendBytes(ByteBuffer.wrap(serDe.serialize(envelope)));

        TestObject response = webSocket.getResponse(5, TimeUnit.SECONDS);

        Assert.assertNotNull(response);
        Assert.assertEquals("stuff", response.value);

        byte[] rawStuff = serDe.serialize(new TestObject("more stuff"));

        envelope = new Envelope("setStuff", "stuff", null, ByteBuffer.wrap(rawStuff));

        session.getRemote().sendBytes(ByteBuffer.wrap(serDe.serialize(envelope)));

        response = webSocket.getResponse(5, TimeUnit.SECONDS);

        Assert.assertNotNull(response);
        Assert.assertEquals("stuff", response.value);

        envelope = new Envelope("getStuff", null, null, null);

        session.getRemote().sendBytes(ByteBuffer.wrap(serDe.serialize(envelope)));

        response = webSocket.getResponse(5, TimeUnit.SECONDS);

        Assert.assertNotNull(response);
        Assert.assertEquals("more stuff", response.value);

        response = httpClient.getForObject(
                new URI("http://localhost:" + properties.get("http.port") + "/stuff/"), TestObject.class);

        Assert.assertNotNull(response);
        Assert.assertEquals("more stuff", response.value);

        response = httpClient.postForObject(
                new URI("http://localhost:" + properties.get("http.port") + "/stuff/"),
                new TestObject("even more stuff"), TestObject.class);

        Assert.assertNotNull(response);
        Assert.assertEquals("more stuff", response.value);

        response = httpClient.getForObject(
                new URI("http://localhost:" + properties.get("http.port") + "/stuff/"), TestObject.class);

        Assert.assertNotNull(response);
        Assert.assertEquals("even more stuff", response.value);
    } finally {
        try {
            wsClient.stop();
        } finally {
            context.close();
        }
    }
}

From source file:ch.sdi.core.impl.mail.MailTextResolver.java

/**
 * @param aPerson/*from  w  ww. jav  a  2s  . c  o  m*/
 * @param aValue
 * @return
 * @throws SdiException
 */
private String resolveValue(Person<?> aPerson, String aKey) throws SdiException {
    myLog.debug("Resolving value for key " + aKey);
    MapPropertySource mps = new MapPropertySource(KEY_PERSON_TEMP, aPerson.getSource());
    myEnv.getPropertySources().addFirst(mps);
    try {
        return myEnv.getRequiredProperty(aKey);
    } catch (Throwable t) {
        throw new SdiException(
                "Problems loading property " + aKey + ". Original exception message:\n" + t.getMessage(), t,
                SdiException.EXIT_CODE_CONFIG_ERROR);

    } finally {
        myEnv.getPropertySources().remove(KEY_PERSON_TEMP);
    }
}