List of usage examples for com.fasterxml.jackson.databind ObjectMapper convertValue
@SuppressWarnings("unchecked") public <T> T convertValue(Object fromValue, JavaType toValueType) throws IllegalArgumentException
From source file:org.flowable.engine.impl.bpmn.behavior.DmnActivityBehavior.java
protected void setVariablesOnExecution(List<Map<String, Object>> executionResult, String decisionKey, DelegateExecution execution, ObjectMapper objectMapper) { if (executionResult == null || executionResult.isEmpty()) { return;/*from w ww.j av a 2 s. c o m*/ } // multiple rule results // put on execution as JSON array; each entry contains output id (key) and output value (value) if (executionResult.size() > 1) { ArrayNode ruleResultNode = objectMapper.createArrayNode(); for (Map<String, Object> ruleResult : executionResult) { ObjectNode outputResultNode = objectMapper.createObjectNode(); for (Map.Entry<String, Object> outputResult : ruleResult.entrySet()) { outputResultNode.set(outputResult.getKey(), objectMapper.convertValue(outputResult.getValue(), JsonNode.class)); } ruleResultNode.add(outputResultNode); } execution.setVariable(decisionKey, ruleResultNode); } else { // single rule result // put on execution output id (key) and output value (value) Map<String, Object> ruleResult = executionResult.get(0); for (Map.Entry<String, Object> outputResult : ruleResult.entrySet()) { execution.setVariable(outputResult.getKey(), outputResult.getValue()); } } }
From source file:uk.ac.cam.cl.dtg.segue.dao.content.ContentMapper.java
/** * Map a DBObject into the appropriate Content DTO, without having to know what type it is. * /*from w ww .j a va2 s. c o m*/ * It so happens that RestEasy will correctly serialize Content or any of its subtypes when it is provided with an * object from this method (without having to do instanceof checks or anything). * * @param obj * to the DBObject obj * @return A content object or any subclass of Content or Null if the obj param is not provided. */ public Content mapDBObjectToContentDO(final DBObject obj) { Validate.notNull(obj); // Create an ObjectMapper capable of deserializing mongo ObjectIDs ObjectMapper contentMapper = MongoJackModule.configure(new ObjectMapper()); // Find out what type label the JSON object has String labelledType = (String) obj.get("type"); // Lookup the matching POJO class Class<? extends Content> contentClass = jsonTypes.get(labelledType); if (null == contentClass) { // We haven't registered this type. Deserialize into the Content // base class. return contentMapper.convertValue(obj, Content.class); } else { // We have a registered POJO class. Deserialize into it. return contentMapper.convertValue(obj, contentClass); } }
From source file:com.okta.swagger.codegen.AbstractOktaJavaClientCodegen.java
protected void buildDiscriminationMap(Swagger swagger) { swagger.getDefinitions().forEach((name, model) -> { ObjectNode discriminatorMapExtention = (ObjectNode) model.getVendorExtensions() .get("x-openapi-v3-discriminator"); if (discriminatorMapExtention != null) { String propertyName = discriminatorMapExtention.get("propertyName").asText(); ObjectNode mapping = (ObjectNode) discriminatorMapExtention.get("mapping"); ObjectMapper mapper = new ObjectMapper(); Map<String, String> result = mapper.convertValue(mapping, Map.class); result = result.entrySet().stream().collect(Collectors .toMap(e -> e.getValue().substring(e.getValue().lastIndexOf('/') + 1), e -> e.getKey())); result.forEach((key, value) -> { reverseDiscriminatorMap.put(key, name); });/* w w w . j ava2s . c o m*/ discriminatorMap.put(name, new Discriminator(name, propertyName, result)); } }); }
From source file:io.anserini.doc.DataModel.java
public String generateIndexingCommand(String collection) { Map<String, Object> config = this.collections.get(collection); ObjectMapper oMapper = new ObjectMapper(); StringBuilder builder = new StringBuilder(); builder.append("nohup sh "); builder.append(safeGet(config, "index_command")); builder.append(" -collection ").append(safeGet(config, "collection")); builder.append(" -generator ").append(safeGet(config, "generator")); builder.append(" -threads ").append(safeGet(config, "threads")); builder.append(" -input ").append("/path/to/" + collection); builder.append(" -index ").append("lucene-index." + safeGet(config, "name") + ".pos+docvectors"); List indexParams = oMapper.convertValue(safeGet(config, "index_options"), List.class); for (Object option : indexParams) { builder.append(" ").append(option); }/* w ww . j a v a2 s. c o m*/ builder.append(String.format(" >& log.%s.pos+docvectors%s &", collection, indexParams.contains("-storeRawDocs") ? "+rawdocs" : "")); return WordUtils.wrap(builder.toString(), 80, " \\\n", false); }
From source file:ijfx.service.ui.ImageJInfoService.java
@AngularMethod(sync = true, description = "Return the list of all widgets", inputDescription = "No input") public JSObject getModuleList() { try {/*from w w w. ja va 2 s .com*/ ObjectMapper mapper = new ObjectMapper(); logger.fine("Getting module list"); SimpleModule simpleModule = new SimpleModule("ModuleSerializer"); // simpleModule.addSerializer(ModuleItem<?>.class,new ModuleItemSerializer()); simpleModule.addSerializer(ModuleInfo.class, new ModuleSerializer()); simpleModule.addSerializer(ModuleItem.class, new ModuleItemSerializer()); mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true); mapper.enable(SerializationFeature.INDENT_OUTPUT); mapper.registerModule(simpleModule); ArrayNode arrayNode = mapper.createArrayNode(); moduleService.getModules().forEach(module -> { //System.out.println("Adding "+module.getName()); arrayNode.add(mapper.convertValue(module, JsonNode.class)); }); //String json = mapper.writeValueAsString(moduleService.getModules()); logger.fine("JSON done !"); return JSONUtils.parseToJSON(appService.getCurrentWebEngine(), arrayNode.toString()); //return JSONUtils.parseToJSON(appService.getCurrentWebEngine(), json); } catch (Exception ex) { logger.log(Level.SEVERE, null, ex); } logger.warning("Returning null"); return null; }
From source file:eu.europa.ec.fisheries.uvms.spatial.service.bean.impl.AreaServiceBean.java
@Override @SneakyThrows/*from w ww. ja v a 2 s .c om*/ @Interceptors(ValidationInterceptor.class) public List<Map<String, Object>> getAreasByPoint(@NotNull Double latitude, @NotNull Double longitude, @NotNull Integer crs, @NotNull String userName, @NotNull AreaType areaType) throws ServiceException { AreaLocationTypesEntity areaLocationTypesEntity = repository .findAreaLocationTypeByTypeName(areaType.value().toUpperCase()); Point point = (Point) GeometryUtils.toGeographic(latitude, longitude, crs); // FIXME try using ethod of repo remove DAOFactory stuff List byIntersect = DAOFactory.getAbstractSpatialDao(em, areaLocationTypesEntity.getTypeName()) .findByIntersect(point); ObjectMapper objectMapper = new ObjectMapper(); List<Map<String, Object>> objectAsMap = new ArrayList<>(); for (Object o : byIntersect) { objectAsMap.add(objectMapper.convertValue(o, Map.class)); } return objectAsMap; }
From source file:eu.trentorise.game.repo.GamePersistence.java
public Game toGame() { Game game = new Game(); game.setId(id);// w ww. jav a 2s. c o m game.setName(name); game.setOwner(owner); game.setDomain(domain); game.setActions(actions); game.setRules(rules); Set<GameTask> t = new HashSet<GameTask>(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); mapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true); for (GenericObjectPersistence obj : tasks) { // fix: Use @JsonDeserialize to maintain compatibility with // databases previous of version 2.0.0 in which // classificationTask was a concrete class representing general // classifications if (obj.getType().equals(ClassificationTask.class.getCanonicalName())) { obj.setType(GeneralClassificationTask.class.getCanonicalName()); } try { t.add(mapper.convertValue(obj.getObj(), (Class<? extends GameTask>) Thread.currentThread() .getContextClassLoader().loadClass(obj.getType()))); } catch (Exception e) { LogHub.error(id, logger, "Problem to load class {}", obj.getType(), e); } } game.setTasks(t); Set<GameConcept> gc = new HashSet<GameConcept>(); for (GenericObjectPersistence obj : concepts) { try { gc.add(mapper.convertValue(obj.getObj(), (Class<? extends GameConcept>) Thread.currentThread() .getContextClassLoader().loadClass(obj.getType()))); } catch (Exception e) { logger.error("Problem to load class {}", obj.getType()); } } game.setConcepts(gc); if (levels != null) { levels.stream().forEach(level -> game.getLevels().add(level)); } game.setExpiration(expiration); game.setTerminated(terminated); return game; }
From source file:com.yahoo.elide.parsers.state.RelationshipTerminalState.java
@Override public Supplier<Pair<Integer, JsonNode>> handleGet(StateContext state) { JsonApiDocument doc = new JsonApiDocument(); RequestScope requestScope = state.getRequestScope(); ObjectMapper mapper = requestScope.getMapper().getObjectMapper(); Optional<MultivaluedMap<String, String>> queryParams = requestScope.getQueryParams(); Map<String, Relationship> relationships = record.toResource().getRelationships(); Relationship relationship = null;//from w ww . j a v a 2 s . c o m if (relationships != null) { relationship = relationships.get(relationshipName); } // Handle valid relationship if (relationship != null) { // Set data Data<Resource> data = relationship.getData(); doc.setData(data); // Run include processor DocumentProcessor includedProcessor = new IncludedProcessor(); includedProcessor.execute(doc, record, queryParams); return () -> Pair.of(HttpStatus.SC_OK, mapper.convertValue(doc, JsonNode.class)); } // Handle no data for relationship if (relationshipType.isToMany()) { doc.setData(new Data<>(new ArrayList<>())); } else if (relationshipType.isToOne()) { doc.setData(new Data<>((Resource) null)); } else { throw new IllegalStateException( "Failed to GET a relationship; relationship is neither toMany nor toOne"); } return () -> Pair.of(HttpStatus.SC_OK, mapper.convertValue(doc, JsonNode.class)); }
From source file:com.thinkbiganalytics.integration.IntegrationTestBase.java
protected ServiceLevelAssessment[] getServiceLevelAssessments(String filter) { LOG.info(String.format("Getting up to 50 SLA Assessments for filter %s", filter)); Response response = given(ServiceLevelAssessmentsController.BASE).urlEncodingEnabled(false) //url encoding enabled false to avoid replacing percent symbols in url query part .when().get("?filter=" + filter + "&limit=50&sort=-createdTime&start=0"); response.then().statusCode(HTTP_OK); SearchResult result = response.as(SearchResultImpl.class); final ObjectMapper mapper = new ObjectMapper(); return result.getData().stream().map(o -> mapper.convertValue(o, ServiceLevelAssessment.class)) .toArray(ServiceLevelAssessment[]::new); }
From source file:com.hortonworks.streamline.streams.catalog.topology.component.TopologyComponentFactory.java
private Provider<StreamlineProcessor> createRulesProcessorProvider(final RuleExtractor ruleExtractor) { return new Provider<StreamlineProcessor>() { @Override/*from ww w . jav a 2 s. c o m*/ public StreamlineProcessor create(TopologyComponent component) { RulesProcessor processor = new RulesProcessor(); ObjectMapper objectMapper = new ObjectMapper(); Set<Stream> outputStreams = createOutputStreams((TopologyOutputComponent) component); processor.addOutputStreams(outputStreams); boolean processAll = component.getConfig().getBoolean(RulesProcessor.CONFIG_PROCESS_ALL, true); processor.setProcessAll(processAll); Object ruleList = component.getConfig().getAny(RulesProcessor.CONFIG_KEY_RULES); List<Long> ruleIds = objectMapper.convertValue(ruleList, new TypeReference<List<Long>>() { }); try { List<Rule> rules = new ArrayList<>(); for (Long ruleId : ruleIds) { rules.add( ruleExtractor.getRule(component.getTopologyId(), ruleId, component.getVersionId())); } processor.setRules(rules); } catch (Exception ex) { throw new RuntimeException(ex); } return processor; } }; }