List of usage examples for com.fasterxml.jackson.databind ObjectMapper getTypeFactory
public TypeFactory getTypeFactory()
From source file:org.saiku.web.rest.resources.QueryResource.java
@PUT @Consumes("application/x-www-form-urlencoded") @Path("/{queryname}/zoomin") public SaikuQuery zoomIn(@PathParam("queryname") String queryName, @FormParam("selections") String positionListString) { try {//from w w w . ja v a 2s . c om if (log.isDebugEnabled()) { log.debug("TRACK\t" + "\t/query/" + queryName + "/zoomIn\tPUT"); } List<List<Integer>> realPositions = new ArrayList<>(); if (StringUtils.isNotBlank(positionListString)) { ObjectMapper mapper = new ObjectMapper(); String[] positions = mapper.readValue(positionListString, mapper.getTypeFactory().constructArrayType(String.class)); if (positions != null && positions.length > 0) { for (String position : positions) { String[] rPos = position.split(":"); List<Integer> cellPosition = new ArrayList<>(); for (String p : rPos) { Integer pInt = Integer.parseInt(p); cellPosition.add(pInt); } realPositions.add(cellPosition); } } } IQuery query = olapQueryService.zoomIn(queryName, realPositions); return ObjectUtil.convert(query); } catch (Exception e) { log.error("Cannot updates selections for query (" + queryName + ")", e); throw new WebApplicationException(e); } }
From source file:org.saiku.web.rest.resources.QueryResource.java
@DELETE @Consumes("application/x-www-form-urlencoded") @Path("/{queryname}/axis/{axis}/dimension/{dimension}/member/") public Response removeMembers(@PathParam("queryname") String queryName, @PathParam("axis") String axisName, @PathParam("dimension") String dimensionName, MultivaluedMap<String, String> formParams) { try {/*from ww w. j a v a2 s .co m*/ if (log.isDebugEnabled()) { log.debug("TRACK\t" + "\t/query/" + queryName + "/axis/" + axisName + "/dimension/" + dimensionName + "\tPUT"); } if (formParams.containsKey("selections")) { LinkedList<String> sels = (LinkedList<String>) formParams.get("selections"); String selectionJSON = (String) sels.getFirst(); ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally List<SelectionRestObject> selections = mapper.readValue(selectionJSON, mapper.getTypeFactory() .constructCollectionType(ArrayList.class, SelectionRestObject.class)); for (SelectionRestObject member : selections) { removeMember("MEMBER", queryName, axisName, dimensionName, member.getUniquename()); } return Response.ok().build(); } throw new Exception("Form did not contain 'selections' parameter"); } catch (Exception e) { log.error("Cannot updates selections for query (" + queryName + ")", e); return Response.serverError().entity(e.getMessage()).status(Status.INTERNAL_SERVER_ERROR).build(); } }
From source file:org.saiku.web.rest.resources.QueryResource.java
@PUT @Consumes("application/x-www-form-urlencoded") @Path("/{queryname}/axis/{axis}/dimension/{dimension}/") public Response updateSelections(@PathParam("queryname") String queryName, @PathParam("axis") String axisName, @PathParam("dimension") String dimensionName, @FormParam("selections") String selectionJSON) { try {/*from ww w .j av a 2 s. co m*/ if (log.isDebugEnabled()) { log.debug("TRACK\t" + "\t/query/" + queryName + "/axis/" + axisName + "/dimension/" + dimensionName + "\tPUT\t"); } if (selectionJSON != null) { ObjectMapper mapper = new ObjectMapper(); List<SelectionRestObject> selections = mapper.readValue(selectionJSON, mapper.getTypeFactory() .constructCollectionType(ArrayList.class, SelectionRestObject.class)); // remove stuff first, then add, removing removes all selections for that level first for (SelectionRestObject selection : selections) { if (selection.getType() != null && "member".equals(selection.getType().toLowerCase())) { if (selection.getAction() != null && "delete".equals(selection.getAction().toLowerCase())) { olapQueryService.removeMember(queryName, dimensionName, selection.getUniquename(), "MEMBER"); } } if (selection.getType() != null && "level".equals(selection.getType().toLowerCase())) { if (selection.getAction() != null && "delete".equals(selection.getAction().toLowerCase())) { olapQueryService.removeLevel(queryName, dimensionName, selection.getHierarchy(), selection.getUniquename()); } } } for (SelectionRestObject selection : selections) { if (selection.getType() != null && "member".equals(selection.getType().toLowerCase())) { if (selection.getAction() != null && "add".equals(selection.getAction().toLowerCase())) { olapQueryService.includeMember(queryName, dimensionName, selection.getUniquename(), "MEMBER", selection.getTotalsFunction(), -1); } } if (selection.getType() != null && "level".equals(selection.getType().toLowerCase())) { if (selection.getAction() != null && "add".equals(selection.getAction().toLowerCase())) { olapQueryService.includeLevel(queryName, dimensionName, selection.getHierarchy(), selection.getUniquename(), selection.getTotalsFunction()); } } } SaikuDimensionSelection dimsels = getAxisDimensionInfo(queryName, axisName, dimensionName); if (dimsels != null && dimsels.getSelections().size() == 0) { moveDimension(queryName, "UNUSED", dimensionName, -1); } return Response.ok().build(); } throw new Exception("Form did not contain 'selections' parameter"); } catch (Exception e) { log.error("Cannot updates selections for query (" + queryName + ")", e); return Response.serverError().entity(e.getMessage()).status(Status.INTERNAL_SERVER_ERROR).build(); } }
From source file:org.wso2.emm.agent.services.operation.OperationManager.java
/** * Monitor currently enforced policy for compliance. * * @param operation - Operation object.//from w w w .j av a 2 s. c o m */ public void monitorPolicy(org.wso2.emm.agent.beans.Operation operation) throws AndroidAgentException { if (Constants.DEBUG_MODE_ENABLED) { Log.d(TAG, "monitorPolicy started."); } String payload = Preference.getString(context, Constants.PreferenceFlag.APPLIED_POLICY); PolicyOperationsMapper operationsMapper = new PolicyOperationsMapper(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); PolicyComplianceChecker policyChecker = new PolicyComplianceChecker(context); ArrayList<ComplianceFeature> result = new ArrayList<>(); try { if (payload != null) { List<org.wso2.emm.agent.beans.Operation> operations = mapper.readValue(payload, mapper.getTypeFactory().constructCollectionType(List.class, org.wso2.emm.agent.beans.Operation.class)); for (org.wso2.emm.agent.beans.Operation op : operations) { op = operationsMapper.getOperation(op); result.add(policyChecker.checkPolicyState(op)); } operation.setStatus(resources.getString(R.string.operation_value_completed)); operation.setPayLoad(mapper.writeValueAsString(result)); resultBuilder.build(operation); } } catch (IOException e) { operation.setStatus(resources.getString(R.string.operation_value_error)); operation.setOperationResponse("Error in parsing policy monitor payload stream."); resultBuilder.build(operation); throw new AndroidAgentException("Error occurred while parsing stream.", e); } if (Constants.DEBUG_MODE_ENABLED) { Log.d(TAG, "monitorPolicy completed."); } }
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; }
From source file:capital.scalable.restdocs.jackson.FieldDocumentationGeneratorTest.java
@Test public void testGenerateDocumentationForComposedTypes() throws Exception { // given//from www.j a v a 2 s . com 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/* www . j ava 2 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:org.wso2.iot.agent.services.operation.OperationManager.java
/** * Monitor currently enforced policy for compliance. * * @param operation - Operation object.//from w w w. j av a2 s .co m */ public void monitorPolicy(org.wso2.iot.agent.beans.Operation operation) throws AndroidAgentException { if (Constants.DEBUG_MODE_ENABLED) { Log.d(TAG, "monitorPolicy started."); } String payload = Preference.getString(context, Constants.PreferenceFlag.APPLIED_POLICY); PolicyOperationsMapper operationsMapper = new PolicyOperationsMapper(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); PolicyComplianceChecker policyChecker = new PolicyComplianceChecker(context); ArrayList<ComplianceFeature> result = new ArrayList<>(); try { if (payload != null) { List<org.wso2.iot.agent.beans.Operation> operations = mapper.readValue(payload, mapper.getTypeFactory().constructCollectionType(List.class, org.wso2.iot.agent.beans.Operation.class)); for (org.wso2.iot.agent.beans.Operation op : operations) { op = operationsMapper.getOperation(op); result.add(policyChecker.checkPolicyState(op)); } operation.setStatus(resources.getString(R.string.operation_value_completed)); operation.setPayLoad(mapper.writeValueAsString(result)); resultBuilder.build(operation); } } catch (IOException e) { operation.setStatus(resources.getString(R.string.operation_value_error)); operation.setOperationResponse("Error in parsing policy monitor payload stream."); resultBuilder.build(operation); throw new AndroidAgentException("Error occurred while parsing stream.", e); } if (Constants.DEBUG_MODE_ENABLED) { Log.d(TAG, "monitorPolicy completed."); } }
From source file:ai.general.net.MethodHandlerTest.java
/** * Tests handling of call requests with no error. *//*from www . java2 s.c om*/ @Test public void call() { try { // call 2 argument method with primitives types ObjectMapper json_parser = new ObjectMapper(); Object[] data = json_parser.readValue("[2, 3.14]", Object[].class); TestObject test = new TestObject(); MethodHandler handler = new MethodHandler("call1", false, test, test.getClass().getDeclaredMethod("call1", int.class, double.class)); Request request = TestUtilities.createRequest("wamp://general.ai/call?type=call", data); handler.handle(request); Result result = request.getResult(); Assert.assertFalse(result.hasErrors()); assertThat(test.getNumber(), is(2)); assertThat(test.getReal(), is(3.14)); assertThat(result.numValues(), is(1)); assertThat((double) result.getValue(0), is(6.28)); // second call adds more results handler = new MethodHandler("call2", false, test, test.getClass().getDeclaredMethod("call2", int.class, double.class)); handler.handle(request); result = request.getResult(); assertThat(result.numValues(), is(2)); assertThat((double) result.getValue(0), is(6.28)); assertThat((double) result.getValue(1), is(13.8596)); // call Object array with Object array return value test.clear(); Object[] array = { json_parser.readValue( "[{\"real\":0.5, \"text\":\"1/2\"}," + "{\"real\":0.25, \"text\":\"1/4\"}]", json_parser.getTypeFactory().constructCollectionType(ArrayList.class, Object.class)) }; handler = new MethodHandler("callBeanArray", false, test, test.getClass().getDeclaredMethod("callBeanArray", TestBean[].class)); request = TestUtilities.createRequest("wamp://general.ai/callBeanArray?type=call", array); handler.handle(request); result = request.getResult(); Assert.assertFalse(result.hasErrors()); Assert.assertNotNull(test.getBeanArray()); assertThat(test.getBeanArray().length, is(2)); Assert.assertNotNull(test.getBeanArray()[0]); assertThat(test.getBeanArray()[0].getReal(), is(0.5)); assertThat(test.getBeanArray()[0].getText(), is("1/2")); Assert.assertNotNull(test.getBeanArray()[1]); assertThat(test.getBeanArray()[1].getReal(), is(0.25)); assertThat(test.getBeanArray()[1].getText(), is("1/4")); assertThat(result.numValues(), is(1)); TestBean[] result_beans = (TestBean[]) result.getValue(0); assertThat(result_beans.length, is(2)); assertThat(result_beans[0].getNumber(), is(1)); assertThat(result_beans[0].getReal(), is(0.5)); assertThat(result_beans[0].getText(), is("1/2")); assertThat(result_beans[1].getNumber(), is(2)); assertThat(result_beans[1].getReal(), is(0.25)); assertThat(result_beans[1].getText(), is("1/4")); } catch (Exception e) { Assert.fail(e.toString()); } }