List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
From source file:JSR310TypeAdapters.java
License:Apache License
public static GsonBuilder registerYearTypeAdapter(GsonBuilder gsonBuilder) { return gsonBuilder.registerTypeAdapter(Year.class, new YearTypeAdapter()); }
From source file:JSR310TypeAdapters.java
License:Apache License
public static GsonBuilder registerZonedDateTimeTypeAdapter(GsonBuilder gsonBuilder) { return gsonBuilder.registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeTypeAdapter()); }
From source file:JodaTypeAdapters.java
License:Apache License
@Deprecated public static GsonBuilder registerDateMidnightTypeAdapter(GsonBuilder gsonBuilder) { return gsonBuilder.registerTypeAdapter(DateMidnight.class, new DateMidnightTypeAdapter()); }
From source file:JodaTypeAdapters.java
License:Apache License
public static GsonBuilder registerDateTimeTypeAdapter(GsonBuilder gsonBuilder) { return gsonBuilder.registerTypeAdapter(DateTime.class, new DateTimeTypeAdapter()); }
From source file:JodaTypeAdapters.java
License:Apache License
public static GsonBuilder registerIntervalTypeAdapter(GsonBuilder gsonBuilder) { return gsonBuilder.registerTypeAdapter(Interval.class, new IntervalTypeAdapter()); }
From source file:alfio.manager.NotificationManager.java
License:Open Source License
@Autowired public NotificationManager(Mailer mailer, MessageSource messageSource, PlatformTransactionManager transactionManager, EmailMessageRepository emailMessageRepository, EventRepository eventRepository, EventDescriptionRepository eventDescriptionRepository, OrganizationRepository organizationRepository, ConfigurationManager configurationManager, FileUploadManager fileUploadManager, TemplateManager templateManager, TicketReservationRepository ticketReservationRepository) { this.messageSource = messageSource; this.mailer = mailer; this.emailMessageRepository = emailMessageRepository; this.eventRepository = eventRepository; this.organizationRepository = organizationRepository; this.tx = new TransactionTemplate(transactionManager); this.configurationManager = configurationManager; GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Mailer.Attachment.class, new AttachmentConverter()); this.gson = builder.create(); attachmentTransformer = new EnumMap<>(Mailer.AttachmentIdentifier.class); attachmentTransformer.put(Mailer.AttachmentIdentifier.CALENDAR_ICS, (model) -> { Event event = eventRepository.findById(Integer.valueOf(model.get("eventId"), 10)); Locale locale = Json.fromJson(model.get("locale"), Locale.class); String description = eventDescriptionRepository.findDescriptionByEventIdTypeAndLocale(event.getId(), EventDescription.EventDescriptionType.DESCRIPTION, locale.getLanguage()).orElse(""); Organization organization = organizationRepository.getById(event.getOrganizationId()); return event.getIcal(description, organization.getName(), organization.getEmail()).orElse(null); });// www . j a va 2 s . c o m attachmentTransformer.put(Mailer.AttachmentIdentifier.RECEIPT_PDF, (model) -> { String reservationId = model.get("reservationId"); Event event = eventRepository.findById(Integer.valueOf(model.get("eventId"), 10)); Locale language = Json.fromJson(model.get("language"), Locale.class); Map<String, Object> reservationEmailModel = Json.fromJson(model.get("reservationEmailModel"), new TypeReference<Map<String, Object>>() { }); //FIXME hack: reservationEmailModel should be a minimal and typed container reservationEmailModel.put("event", event); Optional<byte[]> receipt = TemplateProcessor.buildReceiptPdf(event, fileUploadManager, language, templateManager, reservationEmailModel); if (!receipt.isPresent()) { log.warn("was not able to generate the bill for reservation id " + reservationId + " for locale " + language); } return receipt.orElse(null); }); attachmentTransformer.put(Mailer.AttachmentIdentifier.TICKET_PDF, (model) -> { ByteArrayOutputStream baos = new ByteArrayOutputStream(); Ticket ticket = Json.fromJson(model.get("ticket"), Ticket.class); try { TicketReservation reservation = ticketReservationRepository .findReservationById(ticket.getTicketsReservationId()); TicketCategory ticketCategory = Json.fromJson(model.get("ticketCategory"), TicketCategory.class); Event event = eventRepository.findById(ticket.getEventId()); Organization organization = organizationRepository .getById(Integer.valueOf(model.get("organizationId"), 10)); PDFTemplateGenerator pdfTemplateGenerator = TemplateProcessor.buildPDFTicket( Locale.forLanguageTag(ticket.getUserLanguage()), event, reservation, ticket, ticketCategory, organization, templateManager, fileUploadManager); pdfTemplateGenerator.generate().createPDF(baos); } catch (IOException e) { log.warn("was not able to generate ticket pdf for ticket with id" + ticket.getId(), e); } return baos.toByteArray(); }); }
From source file:allout58.mods.techtree.tree.TreeManager.java
License:Open Source License
public String getTreeAsString() { GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(TechNode.class, new TechNodeGSON()); Gson gson = gsonBuilder.create();/*from w ww . j a v a 2s. co m*/ TechNode[] nodes = currentTree.getRealNodes().toArray(new TechNode[currentTree.getNodes().size()]); return gson.toJson(nodes); // return treeString; }
From source file:allout58.mods.techtree.tree.TreeManager.java
License:Open Source License
public void makeFromReader(Reader reader) { GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(TechNode.class, new TechNodeGSON()); gsonBuilder.registerTypeAdapter(ItemStack.class, new ItemStackGSON()); Gson gson = gsonBuilder.create();/*from w ww . j a va 2 s.com*/ TechNode[] nodes = gson.fromJson(reader, TechNode[].class); TechNode head = null; for (TechNode node : nodes) { if (node.getParentID().size() == 0) { head = node; } else { for (int parentID : node.getParentID()) { if (parentID == node.getId()) throw new RuntimeException("Tree node with a self-referencing parent: " + parentID); TechNode parent = nodes[parentID]; node.addParentNode(parent); parent.addChildNode(node); } } } currentTree = new TechTree(head); }
From source file:android.zetterstrom.com.forecast.ForecastClient.java
License:Apache License
private static Gson createGson() { final long MILLIS = 1000; GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() { public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { return new Date(json.getAsJsonPrimitive().getAsLong() * MILLIS); }// w ww . ja v a 2s . c om }); return builder.create(); }
From source file:angularBeans.util.AngularBeansUtil.java
License:Open Source License
public String getJson(Object object) { if (object instanceof Properties) { return new Gson().toJson(object); }/*from w ww . j a v a 2 s .c om*/ GsonBuilder builder = new GsonBuilder().serializeNulls(); if (object == null) { return new GsonBuilder().serializeNulls().create().toJson(null); } Class clazz = object.getClass(); builder.registerTypeAdapter(LobWrapper.class, new ByteArrayJsonAdapter(cache)); Gson gson = builder.create(); return gson.toJson(object); }