List of usage examples for com.fasterxml.jackson.databind ObjectMapper writer
public ObjectWriter writer()
From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java
@Test public void testGenerateDocumentationForComposedTypes() throws Exception { // given// w w w .j a va2s. c o m ObjectMapper mapper = createMapper(); JavadocReader javadocReader = mock(JavadocReader.class); when(javadocReader.resolveFieldComment(ComposedTypes.class, "objectField")).thenReturn("An object"); when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "stringField")).thenReturn("A string"); when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "booleanField")).thenReturn("A boolean"); when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "numberField1")).thenReturn("An integer"); when(javadocReader.resolveFieldComment(PrimitiveTypes.class, "numberField2")).thenReturn("A decimal"); when(javadocReader.resolveFieldComment(ComposedTypes.class, "arrayField")).thenReturn("An array"); ConstraintReader constraintReader = mock(ConstraintReader.class); FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader, constraintReader); Type type = ComposedTypes.class; // when List<ExtendedFieldDescriptor> fieldDescriptions = cast( generator.generateDocumentation(type, mapper.getTypeFactory())); // then assertThat(fieldDescriptions.size(), is(10)); assertThat(fieldDescriptions.get(0), is(descriptor("objectField", "Object", "An object", "true"))); assertThat(fieldDescriptions.get(1), is(descriptor("objectField.stringField", "String", "A string", "true"))); assertThat(fieldDescriptions.get(2), is(descriptor("objectField.booleanField", "Boolean", "A boolean", "true"))); assertThat(fieldDescriptions.get(3), is(descriptor("objectField.numberField1", "Integer", "An integer", "true"))); assertThat(fieldDescriptions.get(4), is(descriptor("objectField.numberField2", "Decimal", "A decimal", "true"))); assertThat(fieldDescriptions.get(5), is(descriptor("arrayField", "Array", "An array", "true"))); assertThat(fieldDescriptions.get(6), is(descriptor("arrayField[].stringField", "String", "A string", "true"))); assertThat(fieldDescriptions.get(7), is(descriptor("arrayField[].booleanField", "Boolean", "A boolean", "true"))); assertThat(fieldDescriptions.get(8), is(descriptor("arrayField[].numberField1", "Integer", "An integer", "true"))); assertThat(fieldDescriptions.get(9), is(descriptor("arrayField[].numberField2", "Decimal", "A decimal", "true"))); }
From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java
@Test public void testGenerateDocumentationForFieldResolution() throws Exception { // given//from ww w. j a v a2 s .co m // different mapper for custom field resolution ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility(mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.PUBLIC_ONLY)); ConstraintReader constraintReader = mock(ConstraintReader.class); JavadocReader javadocReader = mock(JavadocReader.class); // comment on field directly when(javadocReader.resolveFieldComment(FieldCommentResolution.class, "location")).thenReturn("A location"); // comment on getter instead of field when(javadocReader.resolveMethodComment(FieldCommentResolution.class, "getType")).thenReturn("A type"); // comment on field instead of getter when(javadocReader.resolveFieldComment(FieldCommentResolution.class, "uri")).thenReturn("A uri"); when(javadocReader.resolveFieldComment(FieldCommentResolution.class, "secured")) .thenReturn("A secured flag"); FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader, constraintReader); Type type = FieldCommentResolution.class; // when List<ExtendedFieldDescriptor> fieldDescriptions = cast( generator.generateDocumentation(type, mapper.getTypeFactory())); // then assertThat(fieldDescriptions.size(), is(4)); // field comment assertThat(fieldDescriptions.get(0), is(descriptor("location", "String", "A location", "true"))); // getter comment assertThat(fieldDescriptions.get(1), is(descriptor("type", "String", "A type", "true"))); // field comment assertThat(fieldDescriptions.get(2), is(descriptor("uri", "String", "A uri", "true"))); assertThat(fieldDescriptions.get(3), is(descriptor("secured", "Boolean", "A secured flag", "true"))); }
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(); try {/* w ww. j a va 2 s . c o m*/ 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.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(); try {//from w ww .ja v a 2 s .c o m 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:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java
@Test public void testGenerateDocumentationForConstraints() throws Exception { // given/*w w w . j a v a 2s .c o m*/ ObjectMapper mapper = createMapper(); JavadocReader javadocReader = mock(JavadocReader.class); ConstraintReader constraintReader = mock(ConstraintReader.class); when(constraintReader.isMandatory(NotNull.class)).thenReturn(true); when(constraintReader.isMandatory(NotEmpty.class)).thenReturn(true); when(constraintReader.isMandatory(NotBlank.class)).thenReturn(true); when(constraintReader.getConstraintMessages(ConstraintResolution.class, "location")) .thenReturn(singletonList("A constraint for location")); when(constraintReader.getConstraintMessages(ConstraintResolution.class, "type")) .thenReturn(singletonList("A constraint for type")); when(constraintReader.getOptionalMessages(ConstraintResolution.class, "type")) .thenReturn(singletonList("false")); when(constraintReader.getOptionalMessages(ConstraintResolution.class, "params")) .thenReturn(singletonList("false")); when(constraintReader.getConstraintMessages(ConstraintField.class, "value")) .thenReturn(asList("A constraint1 for value", "A constraint2 for value")); when(constraintReader.getOptionalMessages(ConstraintField.class, "value")) .thenReturn(singletonList("false")); FieldDocumentationGenerator generator = new FieldDocumentationGenerator(mapper.writer(), javadocReader, constraintReader); Type type = ConstraintResolution.class; // when List<ExtendedFieldDescriptor> fieldDescriptions = cast( generator.generateDocumentation(type, mapper.getTypeFactory())); // then assertThat(fieldDescriptions.size(), is(5)); assertThat(fieldDescriptions.get(0), is(descriptor("location", "String", null, "true", "A constraint for location"))); assertThat(fieldDescriptions.get(1), is(descriptor("type", "Integer", null, "false", "A constraint for type"))); assertThat(fieldDescriptions.get(2), is(descriptor("params", "Array", null, "false"))); assertThat(fieldDescriptions.get(3), is(descriptor("params[].value", "String", null, "false", "A constraint1 for value", "A constraint2 for value"))); assertThat(fieldDescriptions.get(4), is(descriptor("flags", "Array", null, "true"))); }
From source file:org.apache.druid.query.aggregation.AggregationTestHelper.java
public QueryRunner<Row> makeStringSerdeQueryRunner(final ObjectMapper mapper, final QueryToolChest toolChest, final QueryRunner<Row> baseRunner) { return new QueryRunner<Row>() { @Override/* w w w. ja va2 s . com*/ public Sequence<Row> run(QueryPlus<Row> queryPlus, Map<String, Object> map) { try { Sequence<Row> resultSeq = baseRunner.run(queryPlus, Maps.newHashMap()); final Yielder yielder = resultSeq.toYielder(null, new YieldingAccumulator() { @Override public Object accumulate(Object accumulated, Object in) { yield(); return in; } }); String resultStr = mapper.writer().writeValueAsString(yielder); List resultRows = Lists.transform(readQueryResultArrayFromString(resultStr), toolChest.makePreComputeManipulatorFn(queryPlus.getQuery(), MetricManipulatorFns.deserializing())); return Sequences.simple(resultRows); } catch (Exception ex) { throw Throwables.propagate(ex); } } }; }
From source file:org.apache.james.jmap.methods.GetMessagesMethodTest.java
@Test public void processShouldReturnPropertyFilterWhenFilteringHeadersRequested() throws Exception { MessageManager inbox = mailboxManager.getMailbox(inboxPath, session); Date now = new Date(); ByteArrayInputStream message1Content = new ByteArrayInputStream( ("From: user@domain.tld\r\n" + "header1: Header1Content\r\n" + "HEADer2: Header2Content\r\n" + "Subject: message 1 subject\r\n\r\nmy message").getBytes(Charsets.UTF_8)); long message1Uid = inbox.appendMessage(message1Content, now, session, false, null); GetMessagesRequest request = GetMessagesRequest.builder() .ids(ImmutableList.of(new MessageId(ROBERT, inboxPath, message1Uid))) .properties(ImmutableList.of("headers.from", "headers.heADER2")).build(); List<JmapResponse> result = testee.process(request, clientId, session).collect(Collectors.toList()); assertThat(result).hasSize(1).extracting(JmapResponse::getFilterProvider) .are(new Condition<>(Optional::isPresent, "present")); SimpleFilterProvider actualFilterProvider = result.get(0).getFilterProvider().get(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper/*from www.j a va2 s .c o m*/ .setFilterProvider(actualFilterProvider.setDefaultFilter(SimpleBeanPropertyFilter.serializeAll())); String response = objectMapper.writer().writeValueAsString(result.get(0)); assertThat(JsonPath.parse(response).<Map<String, String>>read("$.response.list[0].headers")).containsOnly( MapEntry.entry("From", "user@domain.tld"), MapEntry.entry("HEADer2", "Header2Content")); }
From source file:org.apereo.openlrs.utils.JsonUtils.java
/** * Creates a JSON string from the given map * //from w w w. j a v a 2 s.c o m * @param jsonMap the map holding the objects to be converted to JSON the JSON string representing the map * @return */ public static String parseJsonMapToString(Map<String, ?> jsonMap) { assert jsonMap != null; ObjectMapper om = new ObjectMapper(); String rawJson = null; try { rawJson = om.writer().writeValueAsString(jsonMap); } catch (JsonProcessingException e) { log.error(e.getMessage(), e); } return rawJson; }