[ 
https://issues.apache.org/jira/browse/AVRO-1585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tom White updated AVRO-1585:
----------------------------
    Attachment: AVRO-1585.patch

Here's an incomplete patch using the approach Doug suggested. I think we should 
go through a deprecation cycle, so it doesn't remove any Jackson public API 
methods.

I've summarized the classes in Avro that expose the Jackson API below. So far 
I've tackled JsonProperties, Schema, Schema.Field, and 
ResolvingGrammarGenerator. Not sure what to do about the JsonEncoder classes. 
The same thing? Is Idl a part of the public API? It's a generated class, so 
perhaps we could exclude it from the javadoc.

JsonProperties 
public synchronized void addProp(String name, JsonNode value)
public synchronized JsonNode getJsonProp(String name)
public Map<String,JsonNode> getJsonProps()
   
Schema.Field
public Schema.Field(String name, Schema schema, String doc, JsonNode 
defaultValue) 

public Schema.Field(String name, Schema schema, String doc, JsonNode 
defaultValue, Schema.Field.Order order)
public JsonNode defaultValue()

Schema
public static JsonNode parseJson(String s)

ResolvingGrammarGenerator 
public static void encode(Encoder e, Schema s, JsonNode n) 

JsonEncoder
public JsonEncoder configure(JsonGenerator generator)

EncoderFactory
public JsonEncoder jsonEncoder(Schema schema, JsonGenerator gen)

Json
public static void write(JsonNode node, Encoder out)

Json.Writer
public void write(JsonNode datum, Encoder out)

Json.Reader
public JsonNode read(JsonNode reuse, Decoder in)

Idl (generated class)
Various methods

> Remove Jackson classes from public Schema API
> ---------------------------------------------
>
>                 Key: AVRO-1585
>                 URL: https://issues.apache.org/jira/browse/AVRO-1585
>             Project: Avro
>          Issue Type: Sub-task
>          Components: java
>            Reporter: Sean Busbey
>            Assignee: Sean Busbey
>             Fix For: 1.8.0
>
>         Attachments: AVRO-1585.patch
>
>
> Remove the use of Jackson's classes from our public API. Namely, remove the 
> use of JsonNode for schema defaults. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to