Search in sources :

Example 26 with JacksonJaxbJsonProvider

use of com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider in project archiva by apache.

the class AbstractArchivaRestTest method getBrowseService.

protected BrowseService getBrowseService(String authzHeader, boolean useXml) {
    // START SNIPPET: cxf-browseservice-creation
    BrowseService service = JAXRSClientFactory.create(getBaseUrl() + "/" + getRestServicesPath() + "/archivaServices/", BrowseService.class, Collections.singletonList(new JacksonJaxbJsonProvider()));
    // to add authentification
    if (authzHeader != null) {
        WebClient.client(service).header("Authorization", authzHeader);
    }
    // Set the Referer header to your archiva server url
    WebClient.client(service).header("Referer", "http://localhost:" + port);
    WebClient.getConfig(service).getHttpConduit().getClient().setReceiveTimeout(100000000);
    if (useXml) {
        WebClient.client(service).accept(MediaType.APPLICATION_XML_TYPE);
        WebClient.client(service).type(MediaType.APPLICATION_XML_TYPE);
    } else {
        WebClient.client(service).accept(MediaType.APPLICATION_JSON_TYPE);
        WebClient.client(service).type(MediaType.APPLICATION_JSON_TYPE);
    }
    return service;
// END SNIPPET: cxf-browseservice-creation
}
Also used : BrowseService(org.apache.archiva.rest.api.services.BrowseService) JacksonJaxbJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider)

Example 27 with JacksonJaxbJsonProvider

use of com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider in project archiva by apache.

the class AbstractArchivaRestTest method getArchivaAdministrationService.

protected ArchivaAdministrationService getArchivaAdministrationService() {
    ArchivaAdministrationService service = JAXRSClientFactory.create(getBaseUrl() + "/" + getRestServicesPath() + "/archivaServices/", ArchivaAdministrationService.class, Collections.singletonList(new JacksonJaxbJsonProvider()));
    WebClient.client(service).accept(MediaType.APPLICATION_JSON_TYPE);
    WebClient.client(service).type(MediaType.APPLICATION_JSON_TYPE);
    WebClient.client(service).header("Authorization", authorizationHeader);
    WebClient.client(service).header("Referer", "http://localhost:" + port);
    WebClient.getConfig(service).getHttpConduit().getClient().setReceiveTimeout(300000);
    return service;
}
Also used : JacksonJaxbJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider) ArchivaAdministrationService(org.apache.archiva.rest.api.services.ArchivaAdministrationService)

Example 28 with JacksonJaxbJsonProvider

use of com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider in project kylo by Teradata.

the class JerseyConfig method createJsonProvider.

private JacksonJaxbJsonProvider createJsonProvider() {
    final JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider();
    final ObjectMapper om = new ObjectMapper();
    om.registerModule(new JodaModule());
    om.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
    om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    provider.setMapper(om);
    return provider;
}
Also used : JodaModule(com.fasterxml.jackson.datatype.joda.JodaModule) JacksonJaxbJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Example 29 with JacksonJaxbJsonProvider

use of com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider in project cassandra-mesos-deprecated by mesosphere.

the class Main method _main.

private static int _main() throws UnknownHostException {
    final Optional<String> portOption = Env.option("PORT0");
    if (!portOption.isPresent()) {
        throw new SystemExitException("Environment variable PORT0 must be defined", 5);
    }
    final int port0 = Integer.parseInt(portOption.get());
    final String host = Env.option("HOST").or("localhost");
    final Optional<String> clusterNameOpt = Env.option("CASSANDRA_CLUSTER_NAME");
    final int executorCount = Integer.parseInt(Env.option("CASSANDRA_NODE_COUNT").or("3"));
    final int seedCount = Integer.parseInt(Env.option("CASSANDRA_SEED_COUNT").or("2"));
    final double resourceCpuCores = Double.parseDouble(Env.option("CASSANDRA_RESOURCE_CPU_CORES").or("2.0"));
    final long resourceMemoryMegabytes = Long.parseLong(Env.option("CASSANDRA_RESOURCE_MEM_MB").or("2048"));
    final long resourceDiskMegabytes = Long.parseLong(Env.option("CASSANDRA_RESOURCE_DISK_MB").or("2048"));
    final long javaHeapMb = Long.parseLong(Env.option("CASSANDRA_RESOURCE_HEAP_MB").or("0"));
    final long healthCheckIntervalSec = Long.parseLong(Env.option("CASSANDRA_HEALTH_CHECK_INTERVAL_SECONDS").or("60"));
    final long bootstrapGraceTimeSec = Long.parseLong(Env.option("CASSANDRA_BOOTSTRAP_GRACE_TIME_SECONDS").or("120"));
    final String cassandraVersion = "2.1.4";
    final String clusterName = clusterNameOpt.or("cassandra");
    final String frameworkName = frameworkName(clusterNameOpt);
    final String zkUrl = Env.option("CASSANDRA_ZK").or("zk://localhost:2181/cassandra-mesos");
    final long zkTimeoutMs = Long.parseLong(Env.option("CASSANDRA_ZK_TIMEOUT_MS").or("10000"));
    final String mesosMasterZkUrl = Env.option("MESOS_ZK").or("zk://localhost:2181/mesos");
    final String mesosUser = Env.option("MESOS_USER").or("");
    final long failoverTimeout = Long.parseLong(Env.option("CASSANDRA_FAILOVER_TIMEOUT_SECONDS").or(String.valueOf(Period.days(7).toStandardSeconds().getSeconds())));
    final String mesosRole = Env.option("CASSANDRA_FRAMEWORK_MESOS_ROLE").or("*");
    // TODO: Temporary. Will be removed when MESOS-1554 is released
    final String dataDirectory = Env.option("CASSANDRA_DATA_DIRECTORY").or(DEFAULT_DATA_DIRECTORY);
    final String backupDirectory = Env.option("CASSANDRA_BACKUP_DIRECTORY").or(DEFAULT_BACKUP_DIRECTORY);
    final boolean jmxLocal = Boolean.parseBoolean(Env.option("CASSANDRA_JMX_LOCAL").or("true"));
    final boolean jmxNoAuthentication = Boolean.parseBoolean(Env.option("CASSANDRA_JMX_NO_AUTHENTICATION").or("false"));
    final String defaultRack = Env.option("CASSANDRA_DEFAULT_RACK").or("RAC1");
    final String defaultDc = Env.option("CASSANDRA_DEFAULT_DC").or("DC1");
    final List<ExternalDc> externalDcs = getExternalDcs(Env.filterStartsWith("CASSANDRA_EXTERNAL_DC_", true));
    final Matcher matcher = validateZkUrl(zkUrl);
    final State state = new ZooKeeperState(matcher.group(1), zkTimeoutMs, TimeUnit.MILLISECONDS, matcher.group(2));
    if (seedCount > executorCount || seedCount <= 0 || executorCount <= 0) {
        throw new IllegalArgumentException("number of nodes (" + executorCount + ") and/or number of seeds (" + seedCount + ") invalid");
    }
    final PersistedCassandraFrameworkConfiguration configuration = new PersistedCassandraFrameworkConfiguration(state, frameworkName, healthCheckIntervalSec, bootstrapGraceTimeSec, cassandraVersion, resourceCpuCores, resourceDiskMegabytes, resourceMemoryMegabytes, javaHeapMb, executorCount, seedCount, mesosRole, backupDirectory, dataDirectory, jmxLocal, jmxNoAuthentication, defaultRack, defaultDc, externalDcs, clusterName);
    final FrameworkInfo.Builder frameworkBuilder = FrameworkInfo.newBuilder().setFailoverTimeout(failoverTimeout).setUser(mesosUser).setName(frameworkName).setRole(mesosRole).setCheckpoint(true);
    final Optional<String> frameworkId = configuration.frameworkId();
    if (frameworkId.isPresent()) {
        frameworkBuilder.setId(frameworkId(frameworkId.get()));
    }
    final URI httpServerBaseUri = URI.create("http://" + host + ":" + port0 + "/");
    final Clock clock = new SystemClock();
    final PersistedCassandraClusterHealthCheckHistory healthCheckHistory = new PersistedCassandraClusterHealthCheckHistory(state);
    final PersistedCassandraClusterState clusterState = new PersistedCassandraClusterState(state);
    final SeedManager seedManager = new SeedManager(configuration, new ObjectMapper(), new SystemClock());
    final CassandraCluster cassandraCluster = new CassandraCluster(clock, httpServerBaseUri.toString(), new ExecutorCounter(state, 0L), clusterState, healthCheckHistory, new PersistedCassandraClusterJobs(state), configuration, seedManager);
    final HealthReportService healthReportService = new HealthReportService(clusterState, configuration, healthCheckHistory, clock);
    final Scheduler scheduler = new CassandraScheduler(configuration, cassandraCluster, clock);
    final JsonFactory factory = new JsonFactory();
    final ObjectMapper objectMapper = new ObjectMapper(factory);
    objectMapper.registerModule(new GuavaModule());
    // create JsonProvider to provide custom ObjectMapper
    JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider();
    provider.setMapper(objectMapper);
    final ResourceConfig rc = new ResourceConfig().registerInstances(new FileResourceController(cassandraVersion), new ApiController(factory), new ClusterCleanupController(cassandraCluster, factory), new ClusterRepairController(cassandraCluster, factory), new ClusterRollingRestartController(cassandraCluster, factory), new ClusterBackupController(cassandraCluster, factory), new ClusterRestoreController(cassandraCluster, factory), new ConfigController(cassandraCluster, factory), new LiveEndpointsController(cassandraCluster, factory), new NodeController(cassandraCluster, factory), new HealthCheckController(healthReportService), new QaReportController(cassandraCluster, factory), new ScaleOutController(cassandraCluster, factory), provider);
    final HttpServer httpServer = GrizzlyHttpServerFactory.createHttpServer(httpServerBaseUri, rc);
    final MesosSchedulerDriver driver;
    final Optional<Credential> credentials = getCredential();
    if (credentials.isPresent()) {
        frameworkBuilder.setPrincipal(credentials.get().getPrincipal());
        driver = new MesosSchedulerDriver(scheduler, frameworkBuilder.build(), mesosMasterZkUrl, credentials.get());
    } else {
        frameworkBuilder.setPrincipal("cassandra-framework");
        driver = new MesosSchedulerDriver(scheduler, frameworkBuilder.build(), mesosMasterZkUrl);
    }
    seedManager.startSyncingSeeds(60);
    final int status;
    switch(driver.run()) {
        case DRIVER_STOPPED:
            status = 0;
            break;
        case DRIVER_ABORTED:
            status = 1;
            break;
        case DRIVER_NOT_STARTED:
            status = 2;
            break;
        default:
            status = 3;
            break;
    }
    httpServer.shutdownNow();
    // Ensure that the driver process terminates.
    driver.stop(true);
    return status;
}
Also used : Clock(io.mesosphere.mesos.util.Clock) SystemClock(io.mesosphere.mesos.util.SystemClock) JacksonJaxbJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider) HealthReportService(io.mesosphere.mesos.frameworks.cassandra.scheduler.health.HealthReportService) MesosSchedulerDriver(org.apache.mesos.MesosSchedulerDriver) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) SystemClock(io.mesosphere.mesos.util.SystemClock) GuavaModule(com.fasterxml.jackson.datatype.guava.GuavaModule) State(org.apache.mesos.state.State) ZooKeeperState(org.apache.mesos.state.ZooKeeperState) Matcher(java.util.regex.Matcher) FrameworkInfo(org.apache.mesos.Protos.FrameworkInfo) Scheduler(org.apache.mesos.Scheduler) JsonFactory(com.fasterxml.jackson.core.JsonFactory) ExternalDc(io.mesosphere.mesos.frameworks.cassandra.CassandraFrameworkProtos.ExternalDc) URI(java.net.URI) ZooKeeperState(org.apache.mesos.state.ZooKeeperState) HttpServer(org.glassfish.grizzly.http.server.HttpServer) ResourceConfig(org.glassfish.jersey.server.ResourceConfig) Credential(org.apache.mesos.Protos.Credential)

Example 30 with JacksonJaxbJsonProvider

use of com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider in project athenz by yahoo.

the class MSDClient method initClient.

/**
 * Initialize the client for class constructors
 *
 * @param url        MSD Server url
 * @param sslContext SSLContext for service authentication
 */
private void initClient(String url, SSLContext sslContext) {
    String msdUrl;
    if (url == null || "".equals(url)) {
        LOGGER.error("No MSD URL is specified. Trying to look in environment.");
        msdUrl = System.getProperty(MSD_CLIENT_PROP_MSD_URL);
        if (msdUrl == null || "".equals(msdUrl)) {
            throw new IllegalArgumentException("MSD URL must be specified");
        }
    } else {
        msdUrl = url;
    }
    /* determine our read and connect timeouts */
    int readTimeout = Integer.parseInt(System.getProperty(MSD_CLIENT_PROP_READ_TIMEOUT, "30000"));
    int connectTimeout = Integer.parseInt(System.getProperty(MSD_CLIENT_PROP_CONNECT_TIMEOUT, "30000"));
    ClientBuilder builder = getClientBuilder();
    builder = builder.sslContext(sslContext);
    final JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    ClientConfig clientConfig = new ClientConfig(jacksonJsonProvider);
    clientConfig.connectorProvider(new ApacheConnectorProvider());
    // JerseyClientBuilder::withConfig() replaces the existing config with the new client
    // config. Hence the client config should be added to the builder before the timeouts.
    // Otherwise the timeout settings would be overridden.
    Client rsClient = builder.withConfig(clientConfig).connectTimeout(connectTimeout, TimeUnit.MILLISECONDS).readTimeout(readTimeout, TimeUnit.MILLISECONDS).build();
    client = new MSDRDLGeneratedClient(msdUrl, rsClient);
}
Also used : JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) ApacheConnectorProvider(org.glassfish.jersey.apache.connector.ApacheConnectorProvider) JacksonJaxbJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider) ClientConfig(org.glassfish.jersey.client.ClientConfig) Client(javax.ws.rs.client.Client) ClientBuilder(javax.ws.rs.client.ClientBuilder)

Aggregations

JacksonJaxbJsonProvider (com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider)35 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)5 ResourceConfig (org.glassfish.jersey.server.ResourceConfig)5 ArrayList (java.util.ArrayList)4 Test (org.junit.Test)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 URI (java.net.URI)3 Response (javax.ws.rs.core.Response)3 JacksonJsonProvider (com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider)2 Provides (com.google.inject.Provides)2 Singleton (com.google.inject.Singleton)2 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2 Annotation (java.lang.annotation.Annotation)2 ElementType (java.lang.annotation.ElementType)2 Retention (java.lang.annotation.Retention)2 RetentionPolicy (java.lang.annotation.RetentionPolicy)2 Target (java.lang.annotation.Target)2 Method (java.lang.reflect.Method)2 Type (java.lang.reflect.Type)2