Example usage for com.fasterxml.jackson.databind ObjectMapper configure

List of usage examples for com.fasterxml.jackson.databind ObjectMapper configure

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind ObjectMapper configure.

Prototype

public ObjectMapper configure(JsonGenerator.Feature f, boolean state) 

Source Link

Document

Method for changing state of an on/off JsonGenerator feature for JsonFactory instance this object mapper uses.

Usage

From source file:io.fabric8.core.jmx.FabricManager.java

@Override
public void requirementsJson(String json) throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
    Object value = mapper.reader(FabricRequirements.class).readValue(json);
    if (value instanceof FabricRequirements) {
        requirements((FabricRequirements) value);
    } else {/*from w  w w  . j  a  v a2 s. com*/
        throw new IOException("Failed to parse FabricRequirements from JSON. Got " + value + ". JSON: " + json);
    }
}

From source file:com.dawg6.d3api.server.D3IO.java

private <T> T readValue(ObjectMapper mapper, URL url, Class<T> clazz, int retries)
        throws JsonParseException, JsonMappingException, IOException {

    //      log.info("URL " + url);

    HttpURLConnection c = (HttpURLConnection) url.openConnection();
    c.setRequestMethod("GET");
    c.setRequestProperty("Content-length", "0");
    c.setUseCaches(false);//from www.  ja v  a2  s . c o  m
    c.setAllowUserInteraction(false);
    c.setConnectTimeout(connectTimeout);
    c.setReadTimeout(readTimeout);
    c.connect();
    int status = c.getResponseCode();

    switch (status) {
    case 200:
    case 201:
        BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = br.readLine()) != null) {
            sb.append(line + "\n");
        }
        br.close();

        try {
            mapper = mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

            return mapper.readValue(sb.toString(), clazz);
        } catch (Exception e) {
            log.severe("JSON = " + sb.toString());
            log.log(Level.SEVERE, e.getMessage());

            return null;
        }

    case 408:
    case 504:
        log.info("HTTP Response: " + status + ", retries = " + retries + ", URL: " + url);
        errors++;
        onError(status);

        if (retries > 0) {
            retryAttempts++;
            onRetry();
            return readValue(mapper, url, clazz, retries - 1);
        } else
            return null;

    default:
        log.severe("HTTP Response: " + status + ", URL: " + url);
        return null;
    }
}

From source file:com.acentera.utils.ProjectsHelpers.java

public String getUserWithRolesAsJson(UserProjects uproject, User currentUser) {

    //TODO: Does currentUser have access to read this user information for this project ?

    //String projectAsJson = g.toJson(p);
    JSONObject jso = new JSONObject();

    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    ObjectWriter ow = mapper.writer();//from w  w w . j a va  2s.co  m

    try {
        Set<ProjectTags> projectTags = new HashSet<ProjectTags>();
        projectTags = ProjectImpl.getProjectTags(uproject);

        //jsoProject.put("user", lstUsers);
        JSONArray jsoProjectUserArray = new JSONArray();
        JSONArray jsoUserArray = new JSONArray();
        Project p = uproject.getProject();

        JSONArray jsoProjectIdArray = new JSONArray();
        jsoProjectIdArray.add(p.getId());

        User projectUser = uproject.getUser();
        jsoProjectUserArray.add(projectUser.getId());
        JSONObject jsoUser = JSONObject.fromObject(mapper.writeValueAsString(projectUser));

        jsoUser.put("projects", jsoProjectIdArray);
        jsoUser.put("project_id", p.getId());

        //Get the User Roles infos
        JSONArray jsRolesArray = new JSONArray();
        Set<ProjectTags> roles = ProjectImpl.getUserProjectRoles(uproject);
        Iterator<ProjectTags> itrRoles = roles.iterator();
        while (itrRoles.hasNext()) {
            ProjectTags userProjectRole = itrRoles.next();
            JSONObject role = JSONObject.fromObject(ow.writeValueAsString(userProjectRole));
            jsRolesArray.add(role);
        }

        jsoUser.put("roles", jsRolesArray);

        jsoUserArray.add(jsoUser);

        jso.put("users", jsoUserArray);

        Set<ProjectQuota> s = p.getQuotas();
        if ((s != null) && (s.size() > 0)) {
            jso.put("quotas", mapper.writeValueAsString(s));
        }

        Set<ProjectProviders> lstProviders = p.getProviders();
        if ((lstProviders != null) && (lstProviders.size() > 0)) {

            Set<ProjectProviders> userAccessProviders = new HashSet<ProjectProviders>();
            Iterator<ProjectProviders> itrProjectProviders = lstProviders.iterator();
            while (itrProjectProviders.hasNext()) {
                ProjectProviders pr = itrProjectProviders.next();
                if (SecurityController.isPermitted(p, pr)) {
                    userAccessProviders.add(pr);
                }
            }

            jso.put("providers", mapper.writeValueAsString(userAccessProviders));
        }

        Set<ProjectSshKey> lstKeys = p.getSshKeys();
        if ((lstKeys != null) && (lstKeys.size() > 0)) {
            Iterator<ProjectSshKey> itrKeys = lstKeys.iterator();
            JSONArray jsoKeys = new JSONArray();
            while (itrKeys.hasNext()) {
                ProjectSshKey sshKey = itrKeys.next();

                if (SecurityController.isPermitted(p, sshKey)) {
                    jsoKeys.add(mapper.writeValueAsString(sshKey));
                }

            }
            jso.put("sshkeys", jsoKeys);
        }

        jsoUser.put("tags", mapper.writeValueAsString(projectTags));

    } catch (Exception e) {
        e.printStackTrace();
    }

    return jso.toString();
}

From source file:com.jivesoftware.os.upena.deployable.UpenaMain.java

public AmzaService startAmza(String workingDir, AmzaStats amzaStats, BAInterner baInterner, int writerId,
        RingHost ringHost, RingMember ringMember, OAuthSigner authSigner,
        TenantAwareHttpClient<String> systemTakeClient, TenantAwareHttpClient<String> stripedTakeClient,
        TenantAwareHttpClient<String> ringClient, AtomicReference<Callable<RingTopology>> topologyProvider,
        String clusterDiscoveryName, String multicastGroup, int multicastPort) throws Exception {

    //Deployable deployable = new Deployable(new String[0]);

    SnowflakeIdPacker idPacker = new SnowflakeIdPacker();
    JiveEpochTimestampProvider timestampProvider = new JiveEpochTimestampProvider();

    SickThreads sickThreads = new SickThreads();
    SickPartitions sickPartitions = new SickPartitions();
    //deployable.addHealthCheck(new SickThreadsHealthCheck(deployable.config(AmzaSickThreadsHealthConfig.class), sickThreads));
    //deployable.addHealthCheck(new SickPartitionsHealthCheck(sickPartitions));

    TimestampedOrderIdProvider orderIdProvider = new OrderIdProviderImpl(new ConstantWriterIdProvider(writerId),
            idPacker, timestampProvider);

    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    mapper.configure(SerializationFeature.INDENT_OUTPUT, false);

    PartitionPropertyMarshaller partitionPropertyMarshaller = new PartitionPropertyMarshaller() {

        @Override//  www. j av a  2 s . co  m
        public PartitionProperties fromBytes(byte[] bytes) {
            try {
                return mapper.readValue(bytes, PartitionProperties.class);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        @Override
        public byte[] toBytes(PartitionProperties partitionProperties) {
            try {
                return mapper.writeValueAsBytes(partitionProperties);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        }
    };

    BinaryPrimaryRowMarshaller primaryRowMarshaller = new BinaryPrimaryRowMarshaller(); // hehe you cant change this :)
    BinaryHighwaterRowMarshaller highwaterRowMarshaller = new BinaryHighwaterRowMarshaller(baInterner);

    RowsTakerFactory systemRowsTakerFactory = () -> new HttpRowsTaker(amzaStats, systemTakeClient, mapper,
            baInterner);
    RowsTakerFactory rowsTakerFactory = () -> new HttpRowsTaker(amzaStats, stripedTakeClient, mapper,
            baInterner);

    AvailableRowsTaker availableRowsTaker = new HttpAvailableRowsTaker(ringClient, baInterner, mapper);
    AquariumStats aquariumStats = new AquariumStats();

    QuorumTimeouts quorumTimeoutsConfig = bindDefault(QuorumTimeouts.class);
    HealthTimer quorumLatency = HealthFactory.getHealthTimer(QuorumLatency.class, TimerHealthChecker.FACTORY);

    TriggerTimeoutHealthCheck quorumTimeoutHealthCheck = new TriggerTimeoutHealthCheck(
            () -> amzaStats.getGrandTotal().quorumTimeouts.longValue(), quorumTimeoutsConfig);
    //deployable.addHealthCheck(quorumTimeoutHealthCheck);

    //LABPointerIndexConfig amzaLabConfig = deployable.config(LABPointerIndexConfig.class);
    LABPointerIndexConfig amzaLabConfig = bindDefault(UpenaLABPointerIndexConfig.class);

    AmzaServiceConfig amzaServiceConfig = new AmzaServiceConfig();
    amzaServiceConfig.systemRingSize = 1;
    amzaServiceConfig.workingDirectories = new String[] { new File(workingDir, "state").getAbsolutePath() };
    amzaServiceConfig.aquariumLivelinessFeedEveryMillis = 5_000;
    amzaServiceConfig.checkIfCompactionIsNeededIntervalInMillis = 30_000;
    amzaServiceConfig.deltaMergeThreads = 2;
    amzaServiceConfig.maxUpdatesBeforeDeltaStripeCompaction = 10_000;
    amzaServiceConfig.numberOfTakerThreads = 2;
    amzaServiceConfig.hardFsync = true;
    amzaServiceConfig.takeSlowThresholdInMillis = 1_000;
    amzaServiceConfig.rackDistributionEnabled = false;

    Set<RingMember> blacklistRingMembers = Sets.newHashSet();
    AmzaService amzaService = new AmzaServiceInitializer().initialize(amzaServiceConfig, baInterner,
            aquariumStats, amzaStats, quorumLatency, () -> {
                Callable<RingTopology> ringTopologyCallable = topologyProvider.get();
                if (ringTopologyCallable != null) {
                    try {
                        return ringTopologyCallable.call().entries.size();
                    } catch (Exception x) {
                        LOG.error("issue determining system ring size", x);
                    }
                }
                return -1;
            }, sickThreads, sickPartitions, primaryRowMarshaller, highwaterRowMarshaller, ringMember, ringHost,
            blacklistRingMembers, orderIdProvider, idPacker, partitionPropertyMarshaller,
            (workingIndexDirectories, indexProviderRegistry, ephemeralRowIOProvider, persistentRowIOProvider,
                    partitionStripeFunction) -> {

                indexProviderRegistry
                        .register(
                                new BerkeleyDBWALIndexProvider(BerkeleyDBWALIndexProvider.INDEX_CLASS_NAME,
                                        partitionStripeFunction, workingIndexDirectories),
                                persistentRowIOProvider);

                indexProviderRegistry.register(new LABPointerIndexWALIndexProvider(amzaLabConfig,
                        LABPointerIndexWALIndexProvider.INDEX_CLASS_NAME, partitionStripeFunction,
                        workingIndexDirectories), persistentRowIOProvider);
            }, availableRowsTaker, systemRowsTakerFactory, rowsTakerFactory,
            Optional.<TakeFailureListener>absent(), rowsChanged -> {
            });

    topologyProvider.set(() -> amzaService.getRingReader().getRing(AmzaRingReader.SYSTEM_RING, -1));

    amzaService.start(ringMember, ringHost);
    LOG.info("-----------------------------------------------------------------------");
    LOG.info("|      Amza Service Started");
    LOG.info("-----------------------------------------------------------------------");

    if (clusterDiscoveryName != null) {
        AmzaDiscovery amzaDiscovery = new AmzaDiscovery(amzaService.getRingReader(),
                amzaService.getRingWriter(), clusterDiscoveryName, multicastGroup, multicastPort,
                new AtomicInteger(amzaService.getRingReader().getRingSize(AmzaRingReader.SYSTEM_RING, -1)) // Grrr
        );
        amzaDiscovery.start();
        LOG.info("-----------------------------------------------------------------------");
        LOG.info("|      Amza Service Discovery Online");
        LOG.info("-----------------------------------------------------------------------");
    } else {
        LOG.info("-----------------------------------------------------------------------");
        LOG.info("|     Amza Service is in manual Discovery mode.  No cluster discovery name was specified");
        LOG.info("-----------------------------------------------------------------------");
    }

    return amzaService;
}

From source file:data_gen.Data_gen.java

private static void Build_json_file(String config_dir, long startTime) throws IOException {
    File f = new File(output_dir + "/" + Default_DataSet_name);
    BufferedWriter wr = new BufferedWriter(new FileWriter(f));

    wr.write("{\"docs\":[");
    wr.write("\n");

    ObjectMapper objectMapper = new ObjectMapper();

    //////////////////////////////////////////////////// flow control: (for loop) for number of
    //////////////////////////////////////////////////// documents and (while) for each field in document
    for (int i = 0; i <= documents_count; i++) {

        fields = Parse_Document_fields(config_dir);
        Iterator iterator = fields.keySet().iterator();
        while (iterator.hasNext()) {

            String key = (String) iterator.next();
            String v = (String) fields.get(key);
            String value = generate_facet_value(v);
            if (value.startsWith("integer.key")) {
                integer_key(fields, key, value);
            }/*from ww  w.java  2  s  .  com*/
            if (value.startsWith("seq.integer")) {
                seq_integer(fields, key, value);
            }

            if (value.startsWith("range")) {
                range_integer(fields, key, value);
            }
            if (value.charAt(0) == '[') {
                single_enum(fields, key, value);
            }
            if (value.startsWith("multi")) {
                multi_enum_json(fields, key, value);
            }
            if (value.startsWith("date")) {
                generate_date(fields, key, value);
            }

            if (value.equals("text.key")) {
                generate_Text_json(fields, key);
            }

            if (value.equals("text")) {
                generate_Text_json(fields, key);
            }

            if (value.startsWith("(")) {
                String VALUE = value.substring(1, value.length() - 1);
                fields.put(key, VALUE);
            }
        }

        objectMapper.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, false);

        String s = objectMapper.writeValueAsString(fields);
        wr.write(s);
        wr.write(",\n");

        fields.clear();

        if (i == count_check) {
            System.out.println("Number of Documents created: " + count_check);
            System.out.println("Reading from file: (" + listOfFiles[file_index] + ")");
            System.out.println("Size of all documents so far: (" + total + ") Bytes");
            System.out.println("\n");

            count_check += 1000;
        }
        cnt = i;
    }

    System.out.println("Total Number of Documents created: " + cnt);
    System.out.println("Total size of Dataset created: " + total);

    wr.write("]}");
    wr.flush();

    wr.close();
    long endTime = System.nanoTime();
    long duration = endTime - startTime;
    System.out.println("Total execuion time: " + (double) duration / 1000000000.0 + " Seconds" + "\n");
}

From source file:com.acentera.utils.ProjectsHelpers.java

public String getUserProjectWithRolesAsJson(Project p, User u) {

    SecurityController.getSubject().checkPermission("project:" + p.getId() + ":view");

    //String projectAsJson = g.toJson(p);
    JSONObject jso = new JSONObject();

    UserProjects uproject = ProjectImpl.getUserProject(p.getId(), u);

    List<UserProjects> lstUsers = ProjectImpl.getUsersForProject(p);

    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    ObjectWriter ow = mapper.writer();/*from  w  ww .jav  a2  s . com*/

    try {
        jso.put("project", ow.writeValueAsString(p));
        JSONObject jsoProject = jso.getJSONObject("project");
        jsoProject.put("invitetoken", uproject.getInviteToken());

        //Get the current user roles for this project...
        JSONArray jsRolesArray = new JSONArray();
        Set<ProjectTags> roles = ProjectImpl.getUserProjectRoles(uproject);
        Logger.debug("GOR ROLES : " + roles);
        Iterator<ProjectTags> itrRoles = roles.iterator();
        while (itrRoles.hasNext()) {
            ProjectTags userProjectRole = itrRoles.next();
            JSONObject role = JSONObject.fromObject(ow.writeValueAsString(userProjectRole));
            jsRolesArray.add(role);
            jsoProject.put(userProjectRole.getName(), 1);
        }

        //jsoProject.put("user", lstUsers);
        JSONArray jsoProjectUserArray = new JSONArray();
        JSONArray jsoUserArray = new JSONArray();
        Iterator<UserProjects> up = lstUsers.iterator();
        JSONArray jsoProjectIdArray = new JSONArray();
        jsoProjectIdArray.add(p.getId());

        Set<User> proessedUsers = new HashSet<User>();

        Logger.debug("ALL USERS : " + lstUsers);

        Set<ProjectTags> projectTags = new HashSet<ProjectTags>();
        projectTags = ProjectImpl.getProjectTags(uproject);

        if (SecurityController.getSubject().isPermitted("project:" + p.getId() + ":user:view")) {
            while (up.hasNext()) {
                UserProjects userProject = up.next();
                if (SecurityController.getSubject()
                        .isPermitted("project:" + p.getId() + ":user:view:" + userProject.getId())) {

                    //TOOD: If user can view this user otherwise continue.. (we must make sure project.users : [ ID's match only the one we can view ]

                    User projectUser = userProject.getUser();
                    Logger.debug("WILL INSERT.. " + projectUser.getEmail());

                    jsoProjectUserArray.add(projectUser.getId());
                    JSONObject jsoUser = JSONObject.fromObject(mapper.writeValueAsString(projectUser));

                    if (!proessedUsers.contains(projectUser)) {

                        //jsoUser.put("projects", jsoProjectIdArray);
                        jsoUser.put("project_id", p.getId());

                        //get current user Tag only..
                        //Other tags will be gathered if end-user click on them..
                        if (projectUser.equals(u)) {
                            List<ProjectUserTags> tags = ProjectImpl.getUserProjectTags(uproject);
                            JSONArray jsoTagsArr = new JSONArray();
                            for (int i = 0; i < tags.size(); i++) {
                                jsoTagsArr.add(JSONObject.fromObject(mapper.writeValueAsString(tags.get(i))));
                            }

                            //jsoUser.put("tags", mapper.writeValueAsString(userProject.getTags()));
                            jsoUser.put("tags", jsoTagsArr);
                        }

                        //jsoUser.put("tags", mapper.writeValueAsString(userProject.getTags()));

                    }
                    jsoUserArray.add(jsoUser);
                    proessedUsers.add(projectUser);
                }
            }
        }

        jso.put("users", jsoUserArray);
        jsoProject.put("users", jsoProjectUserArray);

        jso.put("tags", mapper.writeValueAsString(projectTags));

        Set<ProjectQuota> s = p.getQuotas();
        if ((s != null) && (s.size() > 0)) {
            jso.put("quotas", mapper.writeValueAsString(s));
        }

        Set<ProjectRegions> projectRegionsSet = new HashSet<ProjectRegions>();
        Set<ProjectProviders> lstProviders = p.getProviders();
        if ((lstProviders != null) && (lstProviders.size() > 0)) {

            Iterator<ProjectProviders> itrProjectProviders = lstProviders.iterator();
            Set<ProjectProviders> userAccessProviders = new HashSet<ProjectProviders>();
            while (itrProjectProviders.hasNext()) {
                ProjectProviders pr = itrProjectProviders.next();

                if (SecurityController.isTagPermitted(p.getId(), pr)) {
                    userAccessProviders.add(pr);
                    try {
                        if (pr.getRegions() != null) {
                            Iterator<ProjectProvidersRegions> itrRegions = pr.getRegions().iterator();
                            while (itrRegions.hasNext()) {
                                ProjectProvidersRegions ppr = itrRegions.next();
                                projectRegionsSet.add(ppr.getProjectRegions());
                            }
                        }
                    } catch (Exception ee) {

                    }
                }
            }

            jso.put("regions", mapper.writeValueAsString(projectRegionsSet));

            jso.put("providers", mapper.writeValueAsString(userAccessProviders));

            Set<ProjectSshKey> lstKeys = p.getSshKeys();
            if ((lstKeys != null) && (lstKeys.size() > 0)) {
                Iterator<ProjectSshKey> itrKeys = lstKeys.iterator();
                JSONArray jsoKeys = new JSONArray();
                while (itrKeys.hasNext()) {
                    ProjectSshKey sshKey = itrKeys.next();

                    if (SecurityController.isPermitted(p, sshKey)) {
                        jsoKeys.add(mapper.writeValueAsString(sshKey));
                    }

                }
                jso.put("sshkeys", jsoKeys);
            }

        }

        jsoProject.put("roles", jsRolesArray);

    } catch (Exception e) {
        e.printStackTrace();
    }

    return jso.toString();
}

From source file:com.vmware.photon.controller.deployer.xenon.task.ProvisionHostTaskService.java

private void processCreateFabricNodeSubStage(State currentState, HostService.State hostState) throws Throwable {

    checkState(hostState.nsxFabricNodeId == null);

    NsxClient nsxClient = HostUtils.getNsxClientFactory(this).create(currentState.networkManagerAddress,
            currentState.networkManagerUserName, currentState.networkManagerPassword);

    HostNodeLoginCredential hostNodeLoginCredential = new HostNodeLoginCredential();
    hostNodeLoginCredential.setUsername(hostState.userName);
    hostNodeLoginCredential.setPassword(hostState.password);
    hostNodeLoginCredential/*from  www . j a va  2s.c  om*/
            .setThumbprint(nsxClient.getHostThumbprint(hostState.hostAddress, Constants.ESXI_PORT));

    FabricNodeCreateSpec request = new FabricNodeCreateSpec();
    request.setDisplayName(NameUtils.getFabricNodeName(hostState.hostAddress));
    request.setDescription(NameUtils.getFabricNodeDescription(hostState.hostAddress));
    request.setIpAddresses(Collections.singletonList(hostState.hostAddress));
    request.setOsType("ESXI");
    request.setResourceType("HostNode");
    request.setHostCredential(hostNodeLoginCredential);

    ObjectMapper om = new ObjectMapper();
    om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    String payload = om.writeValueAsString(request);
    ServiceUtils.logInfo(this, "FC request: " + payload);

    nsxClient.getFabricApi().registerFabricNode(request, new FutureCallback<FabricNode>() {
        @Override
        public void onSuccess(@javax.validation.constraints.NotNull FabricNode fabricNode) {
            try {
                setFabricNodeId(currentState, fabricNode.getId());
            } catch (Throwable t) {
                failTask(t);
            }
        }

        @Override
        public void onFailure(Throwable throwable) {
            failTask(throwable);
        }
    });
}

From source file:it.bz.tis.integreen.carsharingbzit.api.ApiClient.java

public <T> T callWebService(ServiceRequest request, Class<T> clazz) throws IOException {

    request.request.technicalUser.username = this.user;
    request.request.technicalUser.password = this.password;

    ObjectMapper mapper = new ObjectMapper();
    mapper.setVisibility(PropertyAccessor.FIELD, Visibility.NONE)
            .setVisibility(PropertyAccessor.IS_GETTER, Visibility.PUBLIC_ONLY)
            .setVisibility(PropertyAccessor.GETTER, Visibility.PUBLIC_ONLY)
            .setVisibility(PropertyAccessor.SETTER, Visibility.PUBLIC_ONLY);
    mapper.enable(SerializationFeature.INDENT_OUTPUT);

    StringWriter sw = new StringWriter();
    mapper.writeValue(sw, request);/*from  ww w. j a  v  a  2 s  .c  o  m*/

    String requestJson = sw.getBuffer().toString();

    logger.debug("callWebService(): jsonRequest:" + requestJson);

    URL url = new URL(this.endpoint);
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
    conn.setRequestMethod("POST");
    conn.setDoOutput(true);
    OutputStream out = conn.getOutputStream();
    out.write(requestJson.getBytes("UTF-8"));
    out.flush();
    int responseCode = conn.getResponseCode();

    InputStream input = conn.getInputStream();

    ByteArrayOutputStream data = new ByteArrayOutputStream();
    int len;
    byte[] buf = new byte[50000];
    while ((len = input.read(buf)) > 0) {
        data.write(buf, 0, len);
    }
    conn.disconnect();
    String jsonResponse = new String(data.toByteArray(), "UTF-8");

    if (responseCode != 200) {
        throw new IOException(jsonResponse);
    }

    logger.debug("callWebService(): jsonResponse:" + jsonResponse);

    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    T response = mapper.readValue(new StringReader(jsonResponse), clazz);

    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    sw = new StringWriter();
    mapper.writeValue(sw, response);
    logger.debug(
            "callWebService(): parsed response into " + response.getClass().getName() + ":" + sw.toString());

    return response;
}

From source file:com.dell.asm.asmcore.asmmanager.util.ServiceTemplateUtil.java

private static ObjectMapper buildBackendObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();
    AnnotationIntrospector ai = new JaxbAnnotationIntrospector(mapper.getTypeFactory());
    mapper.setAnnotationIntrospector(ai);
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    return mapper;
}