List of usage examples for com.fasterxml.jackson.core JsonGenerator writeObject
public abstract void writeObject(Object pojo) throws IOException, JsonProcessingException;
From source file:org.n52.tamis.core.json.serialize.processes.execute.ExtendedExecuteHttpPostBodySerializer.java
@Override public void serialize(Execute_HttpPostBody executeBody_short, JsonGenerator jsonGenerator, SerializerProvider serProvider) throws IOException, JsonProcessingException { logger.info("Start serialization of execute HTTP POST input body \"{}\"", executeBody_short); /*/* w w w. j a va 2 s .c o m*/ * the structure of the target JSON body looks like: * * { "Execute": { "Identifier": "org.n52.tamis.algorithm.interpolation", "Input": [ { "Input": [ { "Reference": { "_href": "http://fluggs.wupperverband.de/sos2/service?service=SOS&request=GetObservation&version=2.0.0&offering=Zeitreihen_2m_Tiefe&observedProperty=Grundwasserstand&responseFormat=http%3A//www.opengis.net/om/2.0", "_mimeType": "application/om+xml; version=2.0", "_schema": "http://schemas.opengis.net/om/2.0/observation.xsd" }, "_id": "gw1" }, { "Reference": { "_href": "http://fluggs.wupperverband.de/sos2/service?service=SOS&request=GetObservation&version=2.0.0&offering=Zeitreihen_2m_Tiefe&observedProperty=Sohlenwasserdruck&responseFormat=http%3A//www.opengis.net/om/2.0", "_mimeType": "application/om+xml; version=2.0", "_schema": "http://schemas.opengis.net/om/2.0/observation.xsd" }, "_id": "swd1" } ], "_id": "input-variables" }, { "Data": { "_mimeType": "text/xml", "_schema": "http://schemas.opengis.net/gml/3.2.1/base/feature.xsd", "__text": "<wfs:FeatureCollection xmlns:testbed11="http://opengeospatial.org" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wml2="http://www.opengis.net/waterml/2.0" xmlns:sf="http://www.opengis.net/sampling/2.0" xmlns:sams="http://www.opengis.net/samplingSpatial/2.0" numberOfFeatures="1" timeStamp="2016-02-15T16:24:55.640Z" xsi:schemaLocation="http://www.opengis.net/wfs http://geoprocessing.demo.52north.org:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"> <gml:featureMembers> <wml2:MonitoringPoint gml:id="xyz.1"> <gml:identifier codeSpace="http://www.opengis.net/def/nil/OGC/0/unknown">xyz</gml:identifier> <gml:name codeSpace="http://www.opengis.net/def/nil/OGC/0/unknown">xyz</gml:name> <sf:sampledFeature xlink:href="urn:ogc:def:nil:OGC:unknown" /> <sams:shape> <ns:Point xmlns:ns="http://www.opengis.net/gml/3.2" ns:id="point_xyz"> <ns:pos srsName="http://www.opengis.net/def/crs/EPSG/0/31466">5668202.8356 2595842.8958</ns:pos> </ns:Point> </sams:shape> </wml2:MonitoringPoint> </gml:featureMembers> </wfs:FeatureCollection>" }, "_id": "target-variable-point" } ], "output": { "_mimeType": "application/om+xml; version=2.0", "_schema": "http://schemas.opengis.net/om/2.0/observation.xsd", "_id": "estimated-values", "_transmission": "value" }, "_service": "WPS", "_version": "2.0.0"} } */ jsonGenerator.writeStartObject(); jsonGenerator.writeObjectFieldStart("Execute"); jsonGenerator.writeStringField("Identifier", executeBody_short.getProcessId()); jsonGenerator.writeArrayFieldStart("Input"); List<ExecuteInput> inputs = executeBody_short.getInputs(); for (ExecuteInput executeInput : inputs) { jsonGenerator.writeObject(executeInput); } jsonGenerator.writeEndArray(); /** * TODO is it really correct, that "output" starts with a small "o"? */ jsonGenerator.writeArrayFieldStart("output"); List<ExecuteOutput> outputs = executeBody_short.getOutputs(); for (ExecuteOutput executeOutput : outputs) { jsonGenerator.writeObject(executeOutput); } jsonGenerator.writeEndArray(); jsonGenerator.writeStringField("_service", Execute_HttpPostBody.service); jsonGenerator.writeStringField("_version", executeBody_short.getVersion()); jsonGenerator.writeEndObject(); jsonGenerator.writeEndObject(); logger.info("Serialization of execute HTTP POST input body ended."); }
From source file:io.apiman.manager.ui.server.servlets.ConfigurationServlet.java
/** * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) *///from w w w. j av a2 s . c o m @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Class.forName("io.apiman.manager.ui.server.UIConfig"); //$NON-NLS-1$ } catch (Throwable t) { t.printStackTrace(); } JsonGenerator g = null; try { response.getOutputStream().write("window.APIMAN_CONFIG_DATA = ".getBytes("UTF-8")); //$NON-NLS-1$ //$NON-NLS-2$ JsonFactory f = new JsonFactory(); g = f.createGenerator(response.getOutputStream(), JsonEncoding.UTF8); ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(Include.NON_NULL); g.setCodec(mapper); g.useDefaultPrettyPrinter(); // Get data from various sources. String endpoint = getConfig().getManagementApiEndpoint(); if (endpoint == null) { endpoint = getDefaultEndpoint(request); } UIVersion version = UIVersion.get(); ApiAuthType authType = getConfig().getManagementApiAuthType(); ConfigurationBean configBean = new ConfigurationBean(); configBean.setApiman(new AppConfigurationBean()); configBean.setUser(new UserConfigurationBean()); configBean.setUi(new UiConfigurationBean()); configBean.setApi(new ApiConfigurationBean()); configBean.getUi().setHeader("community"); //$NON-NLS-1$ configBean.getUi().setMetrics(getConfig().isMetricsEnabled()); configBean.getUi().setPlatform(getConfig().getPlatform()); configBean.getApiman().setVersion(version.getVersionString()); configBean.getApiman().setBuiltOn(version.getVersionDate()); configBean.getApiman().setLogoutUrl(getConfig().getLogoutUrl()); configBean.getUser().setUsername(request.getRemoteUser()); configBean.getApi().setEndpoint(endpoint); configBean.getApi().setAuth(new ApiAuthConfigurationBean()); switch (authType) { case authToken: { configBean.getApi().getAuth().setType(ApiAuthType.authToken); String tokenGeneratorClassName = getConfig().getManagementApiAuthTokenGenerator(); if (tokenGeneratorClassName == null) { throw new ServletException("No token generator class specified."); //$NON-NLS-1$ } Class<?> c = Class.forName(tokenGeneratorClassName); ITokenGenerator tokenGenerator = (ITokenGenerator) c.newInstance(); configBean.getApi().getAuth().setBearerToken(tokenGenerator.generateToken(request)); break; } case basic: { configBean.getApi().getAuth().setType(ApiAuthType.basic); configBean.getApi().getAuth().setBasic(new BasicAuthCredentialsBean()); String username = getConfig().getManagementApiAuthUsername(); String password = getConfig().getManagementApiAuthPassword(); configBean.getApi().getAuth().getBasic().setUsername(username); configBean.getApi().getAuth().getBasic().setPassword(password); break; } case bearerToken: { configBean.getApi().getAuth().setType(ApiAuthType.bearerToken); String tokenGeneratorClassName = getConfig().getManagementApiAuthTokenGenerator(); if (tokenGeneratorClassName == null) throw new ServletException("No token generator class specified."); //$NON-NLS-1$ Class<?> c = Class.forName(tokenGeneratorClassName); ITokenGenerator tokenGenerator = (ITokenGenerator) c.newInstance(); configBean.getApi().getAuth().setBearerToken(tokenGenerator.generateToken(request)); break; } case samlBearerToken: { configBean.getApi().getAuth().setType(ApiAuthType.samlBearerToken); String tokenGeneratorClassName = getConfig().getManagementApiAuthTokenGenerator(); if (tokenGeneratorClassName == null) throw new ServletException("No token generator class specified."); //$NON-NLS-1$ Class<?> c = Class.forName(tokenGeneratorClassName); ITokenGenerator tokenGenerator = (ITokenGenerator) c.newInstance(); configBean.getApi().getAuth().setBearerToken(tokenGenerator.generateToken(request)); break; } } g.writeObject(configBean); g.flush(); response.getOutputStream().write(";".getBytes("UTF-8")); //$NON-NLS-1$ //$NON-NLS-2$ } catch (Exception e) { throw new ServletException(e); } finally { IOUtils.closeQuietly(g); } }
From source file:org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.java
protected void marshallDefinitions(Definitions def, JsonGenerator generator, String preProcessingData) throws JsonGenerationException, IOException { try {/*from w w w . j av a 2s . c o m*/ generator.writeStartObject(); generator.writeObjectField("resourceId", def.getId()); /** * "properties":{"name":"", * "documentation":"", * "auditing":"", * "monitoring":"", * "executable":"true", * "package":"com.sample", * "vardefs":"a,b,c,d", * "lanes" : "a,b,c", * "id":"", * "version":"", * "author":"", * "language":"", * "namespaces":"", * "targetnamespace":"", * "expressionlanguage":"", * "typelanguage":"", * "creationdate":"", * "modificationdate":"" * } */ Map<String, Object> props = new LinkedHashMap<String, Object>(); props.put("namespaces", ""); //props.put("targetnamespace", def.getTargetNamespace()); props.put("targetnamespace", "http://www.omg.org/bpmn20"); props.put("typelanguage", def.getTypeLanguage()); props.put("name", unescapeXml(def.getName())); props.put("id", def.getId()); props.put("expressionlanguage", def.getExpressionLanguage()); props.put("exporter", StringUtils.isNotEmpty(def.getExporter()) ? def.getExporter() : ""); props.put("exporterversion", StringUtils.isNotEmpty(def.getExporterVersion()) ? def.getExporterVersion() : ""); // backwards compat for BZ 1048191 if (def.getDocumentation() != null && def.getDocumentation().size() > 0) { props.put("documentation", def.getDocumentation().get(0).getText()); } for (RootElement rootElement : def.getRootElements()) { if (rootElement instanceof Process) { // have to wait for process node to finish properties and stencil marshalling props.put("executable", ((Process) rootElement).isIsExecutable() + ""); props.put("id", rootElement.getId()); if (rootElement.getDocumentation() != null && rootElement.getDocumentation().size() > 0) { props.put("documentation", rootElement.getDocumentation().get(0).getText()); } Process pr = (Process) rootElement; if (pr.getName() != null && pr.getName().length() > 0) { props.put("processn", unescapeXml(((Process) rootElement).getName())); } List<Property> processProperties = ((Process) rootElement).getProperties(); if (processProperties != null && processProperties.size() > 0) { String propVal = ""; for (int i = 0; i < processProperties.size(); i++) { Property p = processProperties.get(i); String pKPI = Utils.getMetaDataValue(p.getExtensionValues(), "customKPI"); propVal += p.getId(); // check the structureRef value if (p.getItemSubjectRef() != null && p.getItemSubjectRef().getStructureRef() != null) { propVal += ":" + p.getItemSubjectRef().getStructureRef(); } if (pKPI != null && pKPI.length() > 0) { propVal += ":" + pKPI; } if (i != processProperties.size() - 1) { propVal += ","; } } props.put("vardefs", propVal); } // packageName and version and adHoc are jbpm-specific extension attribute Iterator<FeatureMap.Entry> iter = ((Process) rootElement).getAnyAttribute().iterator(); while (iter.hasNext()) { FeatureMap.Entry entry = iter.next(); if (entry.getEStructuralFeature().getName().equals("packageName")) { props.put("package", entry.getValue()); } if (entry.getEStructuralFeature().getName().equals("version")) { props.put("version", entry.getValue()); } if (entry.getEStructuralFeature().getName().equals("adHoc")) { props.put("adhocprocess", entry.getValue()); } } // process imports, custom description and globals extension elements String allImports = ""; if ((rootElement).getExtensionValues() != null && (rootElement).getExtensionValues().size() > 0) { String importsStr = ""; String globalsStr = ""; for (ExtensionAttributeValue extattrval : rootElement.getExtensionValues()) { FeatureMap extensionElements = extattrval.getValue(); @SuppressWarnings("unchecked") List<ImportType> importExtensions = (List<ImportType>) extensionElements .get(DroolsPackage.Literals.DOCUMENT_ROOT__IMPORT, true); @SuppressWarnings("unchecked") List<GlobalType> globalExtensions = (List<GlobalType>) extensionElements .get(DroolsPackage.Literals.DOCUMENT_ROOT__GLOBAL, true); List<MetaDataType> metadataExtensions = (List<MetaDataType>) extensionElements .get(DroolsPackage.Literals.DOCUMENT_ROOT__META_DATA, true); for (ImportType importType : importExtensions) { importsStr += importType.getName(); importsStr += "|default,"; } for (GlobalType globalType : globalExtensions) { globalsStr += (globalType.getIdentifier() + ":" + globalType.getType()); globalsStr += ","; } for (MetaDataType metaType : metadataExtensions) { if (metaType.getName().equals("customDescription")) { props.put("customdescription", metaType.getMetaValue()); } else if (metaType.getName().equals("customCaseIdPrefix")) { props.put("customcaseidprefix", metaType.getMetaValue()); } else if (metaType.getName().equals("customCaseRoles")) { props.put("customcaseroles", metaType.getMetaValue()); } else if (metaType.getName().equals("customSLADueDate")) { props.put("customsladuedate", metaType.getMetaValue()); } else { props.put(metaType.getName(), metaType.getMetaValue()); } } } allImports += importsStr; if (globalsStr.length() > 0) { if (globalsStr.endsWith(",")) { globalsStr = globalsStr.substring(0, globalsStr.length() - 1); } props.put("globals", globalsStr); } } // definitions imports (wsdl) List<org.eclipse.bpmn2.Import> wsdlImports = def.getImports(); if (wsdlImports != null) { for (org.eclipse.bpmn2.Import imp : wsdlImports) { allImports += imp.getLocation() + "|" + imp.getNamespace() + "|wsdl,"; } } if (allImports.endsWith(",")) { allImports = allImports.substring(0, allImports.length() - 1); } props.put("imports", allImports); // simulation if (_simulationScenario != null && _simulationScenario.getScenarioParameters() != null) { props.put("currency", _simulationScenario.getScenarioParameters().getBaseCurrencyUnit() == null ? "" : _simulationScenario.getScenarioParameters().getBaseCurrencyUnit()); props.put("timeunit", _simulationScenario.getScenarioParameters().getBaseTimeUnit().getName()); } marshallProperties(props, generator); marshallStencil("BPMNDiagram", generator); linkSequenceFlows(((Process) rootElement).getFlowElements()); marshallProcess((Process) rootElement, def, generator, preProcessingData); } else if (rootElement instanceof Interface) { // TODO } else if (rootElement instanceof ItemDefinition) { // TODO } else if (rootElement instanceof Resource) { // TODO } else if (rootElement instanceof Error) { // TODO } else if (rootElement instanceof Message) { // TODO } else if (rootElement instanceof Signal) { // TODO } else if (rootElement instanceof Escalation) { // TODO } else if (rootElement instanceof Collaboration) { } else { _logger.warn("Unknown root element " + rootElement + ". This element will not be parsed."); } } generator.writeObjectFieldStart("stencilset"); generator.writeObjectField("url", this.profile.getStencilSetURL()); generator.writeObjectField("namespace", this.profile.getStencilSetNamespaceURL()); generator.writeEndObject(); generator.writeArrayFieldStart("ssextensions"); generator.writeObject(this.profile.getStencilSetExtensionURL()); generator.writeEndArray(); generator.writeEndObject(); } finally { _diagramElements.clear(); } }