List of usage examples for com.fasterxml.jackson.core JsonGenerator writeString
public abstract void writeString(SerializableString text) throws IOException, JsonGenerationException;
From source file:org.talend.dataprep.schema.xls.serialization.XlsRunnable.java
private void serializeColumns(Workbook workbook, JsonGenerator generator, Sheet sheet, List<ColumnMetadata> columns) throws IOException { for (int i = 0, size = sheet.getLastRowNum(); i <= size; i++) { if (limit > 0 && i > limit) { break; }// w ww . j a v a 2 s .com // is header line? Row row = sheet.getRow(i); if (isHeaderLine(i, columns) || row == null) { continue; } generator.writeStartObject(); for (ColumnMetadata columnMetadata : columns) { // do not write the values if this has been detected as an header if (i < columnMetadata.getHeaderSize()) { continue; } int colId = Integer.parseInt(columnMetadata.getId()); String cellValue = getCellValueAsString(row.getCell(colId), workbook.getCreationHelper().createFormulaEvaluator()); LOG.trace("cellValue for {}/{}: {}", i, colId, cellValue); generator.writeFieldName(columnMetadata.getId()); if (cellValue != null) { generator.writeString(cellValue); } else { generator.writeNull(); } } generator.writeEndObject(); } }
From source file:org.openiot.security.oauth.lsm.LSMOAuth20PermissionController.java
@Override protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response) throws Exception { final String clientId = request.getParameter(OAuthConstants.CLIENT_ID); log.debug("clientId : {}", clientId); final String accessToken = request.getParameter(OAuthConstants.ACCESS_TOKEN); log.debug("accessToken : {}", accessToken); final String callerClientId = request.getParameter(CALLER_CLIENT_ID); log.debug("callerClientId : {}", callerClientId); final String callerAccessToken = request.getParameter(CALLER_ACCESS_TOKEN); log.debug("callerAccessToken : {}", callerAccessToken); final String userClientId = request.getParameter(USER_CLIENT_ID); log.debug("userClientId : {}", userClientId); final String userAccessToken = request.getParameter(USER_ACCESS_TOKEN); log.debug("userAccessToken : {}", userAccessToken); final String targetClientId = request.getParameter(TARGET_CLIENT_ID); log.debug("targetClientId : {}", targetClientId); response.setContentType("application/json"); // accessToken is required if (StringUtils.isBlank(accessToken)) { log.error("missing accessToken"); writeErrorMessage(response, OAuthConstants.MISSING_ACCESS_TOKEN); return null; }//ww w.ja va 2 s . c om // clientId is required if (StringUtils.isBlank(clientId)) { log.error("missing clientId"); writeErrorMessage(response, MISSING_CLIENT_ID); return null; } // userToken is required if (StringUtils.isBlank(userAccessToken)) { log.error("missing user accessToken"); writeErrorMessage(response, "missing_userAccessToken"); return null; } // target clientId is required if (StringUtils.isBlank(targetClientId)) { log.error("missing target clientId"); writeErrorMessage(response, MISSING_CLIENT_ID + "for_target"); return null; } // caller accessToken and clientId are required if one of them is provided if (!StringUtils.isBlank(callerAccessToken) || !StringUtils.isBlank(callerClientId)) { if (StringUtils.isBlank(callerAccessToken)) { log.error("missing caller accessToken"); writeErrorMessage(response, "missing_callerAccessToken"); return null; } else if (StringUtils.isBlank(callerClientId)) { log.error("missing caller clientId"); writeErrorMessage(response, "missing_callerClientId"); return null; } } // get ticket granting ticket final TicketGrantingTicket ticketGrantingTicket = (TicketGrantingTicket) this.ticketRegistry .getTicket(accessToken); if (ticketGrantingTicket == null || ticketGrantingTicket.isExpired()) { log.error("expired accessToken : {}", accessToken); writeErrorMessage(response, OAuthConstants.EXPIRED_ACCESS_TOKEN); return null; } // get ticket granting ticket for the user final TicketGrantingTicket userTicketGrantingTicket; if (StringUtils.equals(accessToken, userAccessToken)) userTicketGrantingTicket = ticketGrantingTicket; else { userTicketGrantingTicket = (TicketGrantingTicket) this.ticketRegistry.getTicket(userAccessToken); if (userTicketGrantingTicket == null || userTicketGrantingTicket.isExpired()) { log.error("expired user accessToken : {}", userAccessToken); writeErrorMessage(response, OAuthConstants.EXPIRED_ACCESS_TOKEN + "_for_user"); return null; } } // Retrieve all registered services final Collection<RegisteredService> services = servicesManager.getAllServices(); // If called accessToken and clientId are provided, check their validity if (!StringUtils.isBlank(callerAccessToken)) { // get ticket granting ticket for the caller final TicketGrantingTicket callerTicketGrantingTicket = (TicketGrantingTicket) this.ticketRegistry .getTicket(callerAccessToken); if (callerTicketGrantingTicket == null || callerTicketGrantingTicket.isExpired()) { log.error("expired accessToken : {}", callerAccessToken); writeErrorMessage(response, OAuthConstants.EXPIRED_ACCESS_TOKEN + "_for_caller"); return null; } // name of the CAS service for caller RegisteredService callerService = null; for (final RegisteredService aService : services) { if (StringUtils.equals(aService.getName(), callerClientId)) { callerService = aService; break; } } if (callerService == null) { log.error("nonexistent caller clientId : {}", callerClientId); writeErrorMessage(response, NONEXISTENT_CLIENT_ID + "for_caller"); return null; } } // if user clienId is provided, check its validity if (!StringUtils.isBlank(userClientId)) { RegisteredService userService = null; for (final RegisteredService aService : services) { if (StringUtils.equals(aService.getName(), userClientId)) { userService = aService; break; } } if (userService == null) { log.error("nonexistent clientId : {}", userClientId); writeErrorMessage(response, NONEXISTENT_CLIENT_ID + "_for_user"); return null; } } // check validity of clientId RegisteredService service = null; for (final RegisteredService aService : services) { if (StringUtils.equals(aService.getName(), clientId)) { service = aService; break; } } if (service == null) { log.error("nonexistent clientId : {}", clientId); writeErrorMessage(response, NONEXISTENT_CLIENT_ID); return null; } // check validity of target clientId RegisteredService targetService = null; for (final RegisteredService aService : services) { if (StringUtils.equals(aService.getName(), targetClientId)) { targetService = aService; break; } } if (targetService == null) { log.error("nonexistent target clientId : {}", clientId); writeErrorMessage(response, NONEXISTENT_CLIENT_ID + "for_target"); return null; } // TODO: check if the TGT is granted to the client?! // final TicketGrantingTicket rawTicket = // ((AbstractDistributedTicketRegistry.TicketGrantingTicketDelegator)ticketGrantingTicket).getTicket(); // final Field servicesField = // rawTicket.getClass().getDeclaredField("services"); // servicesField.setAccessible(true); // HashMap<String, Service> servicesMap = new HashMap<String, // Service>(); // servicesMap = (HashMap<String, Service>) // servicesField.get(rawTicket); // log.error("ServiceMaps is empty ? {}", servicesMap.isEmpty()); // for(Map.Entry<String, Service> entry : servicesMap.entrySet()){ // AbstractWebApplicationService webAppService = // (AbstractWebApplicationService) entry.getValue(); // log.error("Service for ticket {} is {}", rawTicket.getId(), // webAppService.getId()); // } // if (!servicesMap.containsKey(service.getId()) || // !servicesMap.get(service.getId()).equals(service)) { // log.error("Ticket is not granted to client : {}", clientId); // jsonGenerator.writeStartObject(); // jsonGenerator.writeStringField("error", TICKET_NOT_GRANTED); // jsonGenerator.writeEndObject(); // jsonGenerator.close(); // response.flushBuffer(); // return null; // } // Check if the caller has permission for retrieving permission information if (!targetClientId.equals(clientId)) { final Principal principal = ticketGrantingTicket.getAuthentication().getPrincipal(); if (!isPermitted(principal.getId(), targetService.getId())) { log.error("[{} from {}] is not permitted to retrieve permission information on [{}]", principal.getId(), clientId, targetClientId); writeErrorMessage(response, "permission_denied"); return null; } } final JsonFactory jsonFactory = new JsonFactory(); final JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(response.getWriter()); final Principal principal = userTicketGrantingTicket.getAuthentication().getPrincipal(); final Map<String, Set<String>> permissions = extractPermissions(targetService.getId(), principal.getId()); jsonGenerator.writeStartObject(); jsonGenerator.writeStringField(CasWrapperProfile.ID, principal.getId()); jsonGenerator.writeArrayFieldStart("role_permissions"); for (final String roleName : permissions.keySet()) { jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart(roleName); for (final String permission : permissions.get(roleName)) jsonGenerator.writeString(permission); jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); jsonGenerator.close(); response.flushBuffer(); return null; }
From source file:org.apache.olingo.commons.core.serialization.JsonSerializer.java
protected void primitiveValue(final JsonGenerator jgen, final EdmTypeInfo typeInfo, final Object value) throws IOException, EdmPrimitiveTypeException { final EdmPrimitiveTypeKind kind = typeInfo == null ? null : typeInfo.getPrimitiveTypeKind(); final boolean isNumber = kind == null ? value instanceof Number : ArrayUtils.contains(NUMBER_TYPES, kind); final boolean isBoolean = kind == null ? value instanceof Boolean : kind == EdmPrimitiveTypeKind.Boolean; if (value == null) { jgen.writeNull();/* w w w . j a v a 2 s. c om*/ } else if (isBoolean) { jgen.writeBoolean((Boolean) value); } else { final String serialized = kind == null ? value.toString() // TODO: add facets : EdmPrimitiveTypeFactory.getInstance(kind).valueToString(value, null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null); if (isNumber) { jgen.writeNumber(serialized); } else { jgen.writeString(serialized); } } }
From source file:com.algodefu.yeti.web.rest.ClusterFormatSerializer.java
@Override public void serialize(ClusterFormat clusterFormat, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { StringBuilder sb = new StringBuilder(); String sep = "; "; // symbol/*from w w w . j a v a 2 s.c o m*/ sb.append(clusterFormat.getSymbol()); sb.append(sep); // type sb.append(clusterFormat.getType()); sb.append(sep); // beginDt sb.append(clusterFormat.getBeginDt().format(dtf)); sb.append(sep); // endDt sb.append(clusterFormat.getEndDt().format(dtf)); sb.append(sep); // count sb.append("count: " + clusterFormat.getCount()); sb.append(sep); switch (clusterFormat.getType()) { case TIMEFRAME: case TICKTIME: sb.append("timeInterval: " + clusterFormat.getTimeInterval()); sb.append(sep); sb.append("chronoUnit: " + clusterFormat.getChronoUnit()); break; case PRICERANGE: sb.append("priceRange: " + clusterFormat.getPriceRange()); break; case VOLUME: sb.append("clusterVolume: " + clusterFormat.getClusterVolume()); break; case TRADECOUNT: sb.append("maxTicksInCluster: " + clusterFormat.getMaxTicksInCluster()); break; } jgen.writeString(sb.toString()); }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
protected void primitiveValue(final JsonGenerator jgen, final EdmTypeInfo typeInfo, final Object value) throws IOException, EdmPrimitiveTypeException { final EdmPrimitiveTypeKind kind = typeInfo == null ? null : typeInfo.getPrimitiveTypeKind(); final boolean isNumber = kind == null ? value instanceof Number : ArrayUtils.contains(NUMBER_TYPES, kind); final boolean isBoolean = kind == null ? value instanceof Boolean : kind == EdmPrimitiveTypeKind.Boolean; if (value == null) { jgen.writeNull();/* w w w.j a va 2s.co m*/ } else if (isBoolean) { jgen.writeBoolean((Boolean) value); } else { String serialized = kind == null ? value.toString() // TODO: add facets : EdmPrimitiveTypeFactory.getInstance(kind).valueToString(value, null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null); if (isIEEE754Compatible && (kind == EdmPrimitiveTypeKind.Int64 || kind == EdmPrimitiveTypeKind.Decimal)) { jgen.writeString(serialized); } else if (isNumber) { jgen.writeNumber(serialized); } else { jgen.writeString(serialized); } } }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeNativeFields(Native nativ, JsonGenerator gen) throws IOException { switch (nativ.getRequestOneofCase()) { case REQUEST_NATIVE: gen.writeFieldName("request"); if (factory().isForceNativeAsObject()) { nativeWriter().writeNativeRequest(nativ.getRequestNative(), gen); } else {/* w w w. j av a2 s . c om*/ gen.writeString(nativeWriter().writeNativeRequest(nativ.getRequestNative())); } break; case REQUEST: gen.writeStringField("request", nativ.getRequest()); break; case REQUESTONEOF_NOT_SET: checkRequired(false); } if (nativ.hasVer()) { gen.writeStringField("ver", nativ.getVer()); } writeEnums("api", nativ.getApiList(), gen); writeEnums("battr", nativ.getBattrList(), gen); }
From source file:org.apache.airavata.db.AbstractThriftSerializer.java
@Override public void serialize(final T value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject();/*from w ww . ja v a 2s . c o m*/ for (final E field : getFieldValues()) { if (value.isSet(field)) { final Object fieldValue = value.getFieldValue(field); if (fieldValue != null) { log.debug("Adding field {} to the JSON string...", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); jgen.writeFieldName(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); if (fieldValue instanceof Short) { jgen.writeNumber((Short) fieldValue); } else if (fieldValue instanceof Integer) { jgen.writeNumber((Integer) fieldValue); } else if (fieldValue instanceof Long) { jgen.writeNumber((Long) fieldValue); } else if (fieldValue instanceof Double) { jgen.writeNumber((Double) fieldValue); } else if (fieldValue instanceof Float) { jgen.writeNumber((Float) fieldValue); } else if (fieldValue instanceof Boolean) { jgen.writeBoolean((Boolean) fieldValue); } else if (fieldValue instanceof String) { jgen.writeString(fieldValue.toString()); } else if (fieldValue instanceof Collection) { log.debug("Array opened for field {}.", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); jgen.writeStartArray(); for (final Object arrayObject : (Collection<?>) fieldValue) { jgen.writeObject(arrayObject); } jgen.writeEndArray(); log.debug("Array closed for field {}.", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); } else { jgen.writeObject(fieldValue); } } else { log.debug("Skipping converting field {} to JSON: value is null!", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); } } else { log.debug("Skipping converting field {} to JSON: field has not been set!", CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName())); } } jgen.writeEndObject(); }
From source file:de.fraunhofer.iosb.ilt.sta.serialize.EntitySerializer.java
@Override public void serialize(Entity entity, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeStartObject();/*from ww w .j ava2s . com*/ try { BasicBeanDescription beanDescription = serializers.getConfig() .introspect(serializers.constructType(entity.getClass())); List<BeanPropertyDefinition> properties = beanDescription.findProperties(); for (BeanPropertyDefinition property : properties) { // 0. check if it should be serialized if (selectedProperties != null) { if (!selectedProperties.contains(property.getName())) { continue; } } // 1. is it a NavigableElement? if (NavigableElement.class.isAssignableFrom(property.getAccessor().getRawType())) { Object rawValue = property.getAccessor().getValue(entity); if (rawValue != null) { NavigableElement value = (NavigableElement) rawValue; // If navigation link set, output navigation link. if (value.getNavigationLink() != null && !value.getNavigationLink().isEmpty()) { gen.writeFieldName(property.getName() + "@iot.navigationLink"); gen.writeString(value.getNavigationLink()); } // If object should not be exported, skip any further processing. if (!value.isExportObject()) { continue; } } } // 2. check if property has CustomSerialization annotation -> use custom serializer Annotation annotation = property.getAccessor().getAnnotation(CustomSerialization.class); if (annotation != null) { serializeFieldCustomized(entity, gen, property, properties, (CustomSerialization) annotation); } else { serializeField(entity, gen, serializers, beanDescription, property); } // 3. check if property is EntitySet than eventually write count if (EntitySet.class.isAssignableFrom(property.getAccessor().getRawType())) { Object rawValue = property.getAccessor().getValue(entity); if (rawValue != null) { EntitySet set = (EntitySet) rawValue; long count = set.getCount(); if (count >= 0) { gen.writeNumberField(property.getName() + "@iot.count", count); } String nextLink = set.getNextLink(); if (nextLink != null) { gen.writeStringField(property.getName() + "@iot.nextLink", nextLink); } } } } } catch (Exception e) { LOGGER.error("could not serialize Entity", e); throw new IOException("could not serialize Entity", e); } finally { gen.writeEndObject(); } }
From source file:org.talend.dataprep.schema.xls.serialization.XlsxStreamRunnable.java
/** * @see Runnable#run()/*from ww w . j a va2 s . c o m*/ */ @Override public void run() { try { JsonGenerator generator = jsonFactory.createGenerator(jsonOutput); Workbook workbook = StreamingReader.builder() // .bufferSize(4096) // .rowCacheSize(1) // .open(rawContent); try { Sheet sheet = StringUtils.isEmpty(metadata.getSheetName()) ? // workbook.getSheetAt(0) : workbook.getSheet(metadata.getSheetName()); generator.writeStartArray(); for (Row row : sheet) { if (limit > 0 && row.getRowNum() > limit) { break; } if (!XlsSerializer.isHeaderLine(row.getRowNum(), metadata.getRowMetadata().getColumns())) { generator.writeStartObject(); // data quality Analyzer doesn't like to not have all columns even if we don't have any values // so create so field with empty value otherwise we get exceptions int i = 0; for (ColumnMetadata columnMetadata : metadata.getRowMetadata().getColumns()) { Cell cell = row.getCell(i); String cellValue = cell == null ? null : cell.getStringCellValue(); // StringUtils.EMPTY generator.writeFieldName(columnMetadata.getId()); if (cellValue != null) { generator.writeString(cellValue); } else { generator.writeNull(); } i++; } generator.writeEndObject(); } } generator.writeEndArray(); generator.flush(); } finally { workbook.close(); } } catch (Exception e) { // Consumer may very well interrupt consumption of stream (in case of limit(n) use for sampling). // This is not an issue as consumer is allowed to partially consumes results, it's up to the // consumer to ensure data it consumed is consistent. LOG.debug("Unable to continue serialization for {}. Skipping remaining content.", metadata.getId(), e); } finally { try { jsonOutput.close(); } catch (IOException e) { LOG.error("Unable to close output", e); } } }
From source file:msearch.filmlisten.MSFilmlisteSchreiben.java
public void filmlisteSchreibenJson(String datei, ListeFilme listeFilme) { MSLog.systemMeldung("Filme schreiben (" + listeFilme.size() + " Filme) :"); File file = new File(datei); File dir = new File(file.getParent()); if (!dir.exists()) { if (!dir.mkdirs()) { MSLog.fehlerMeldung(915236478, MSLog.FEHLER_ART_PROG, "MSearchIoXmlFilmlisteSchreiben.xmlSchreibenStart", "Kann den Pfad nicht anlegen: " + dir.toString()); }/*from ww w. java 2 s . co m*/ } MSLog.systemMeldung(" --> Start Schreiben nach: " + datei); try { String sender = "", thema = ""; JsonFactory jsonF = new JsonFactory(); JsonGenerator jg; if (datei.endsWith(MSConst.FORMAT_XZ)) { LZMA2Options options = new LZMA2Options(); XZOutputStream out = new XZOutputStream(new FileOutputStream(file), options); jg = jsonF.createGenerator(out); } else if (datei.endsWith(MSConst.FORMAT_BZ2)) { bZip2CompressorOutputStream = new BZip2CompressorOutputStream(new FileOutputStream(file), 9 /*Blocksize: 1 - 9*/); jg = jsonF.createGenerator(bZip2CompressorOutputStream, JsonEncoding.UTF8); } else if (datei.endsWith(MSConst.FORMAT_ZIP)) { zipOutputStream = new ZipOutputStream(new FileOutputStream(file)); ZipEntry entry = new ZipEntry(MSConst.XML_DATEI_FILME); zipOutputStream.putNextEntry(entry); jg = jsonF.createGenerator(zipOutputStream, JsonEncoding.UTF8); } else { jg = jsonF.createGenerator(new File(datei), JsonEncoding.UTF8); } jg.useDefaultPrettyPrinter(); // enable indentation just to make debug/testing easier jg.writeStartObject(); // Infos zur Filmliste jg.writeArrayFieldStart(ListeFilme.FILMLISTE); for (int i = 0; i < ListeFilme.MAX_ELEM; ++i) { jg.writeString(listeFilme.metaDaten[i]); } jg.writeEndArray(); // Infos der Felder in der Filmliste jg.writeArrayFieldStart(ListeFilme.FILMLISTE); for (int i = 0; i < DatenFilm.COLUMN_NAMES_JSON.length; ++i) { jg.writeString(DatenFilm.COLUMN_NAMES[DatenFilm.COLUMN_NAMES_JSON[i]]); } jg.writeEndArray(); //Filme schreiben ListIterator<DatenFilm> iterator; DatenFilm datenFilm; iterator = listeFilme.listIterator(); while (iterator.hasNext()) { datenFilm = iterator.next(); jg.writeArrayFieldStart(DatenFilm.FILME_); for (int i = 0; i < DatenFilm.COLUMN_NAMES_JSON.length; ++i) { int m = DatenFilm.COLUMN_NAMES_JSON[i]; if (m == DatenFilm.FILM_SENDER_NR) { if (datenFilm.arr[m].equals(sender)) { jg.writeString(""); } else { sender = datenFilm.arr[m]; jg.writeString(datenFilm.arr[m]); } } else if (m == DatenFilm.FILM_THEMA_NR) { if (datenFilm.arr[m].equals(thema)) { jg.writeString(""); } else { thema = datenFilm.arr[m]; jg.writeString(datenFilm.arr[m]); } } else { jg.writeString(datenFilm.arr[m]); } } jg.writeEndArray(); } jg.writeEndObject(); jg.close(); MSLog.systemMeldung(" --> geschrieben!"); } catch (Exception ex) { MSLog.fehlerMeldung(846930145, MSLog.FEHLER_ART_PROG, "IoXmlSchreiben.FilmeSchreiben", ex, "nach: " + datei); } }