This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new fbb4d3e Annotation improvements.
fbb4d3e is described below
commit fbb4d3ea74da8009edb0736c301e20bf6b30d989
Author: JamesBognar <[email protected]>
AuthorDate: Wed Nov 11 14:54:49 2020 -0500
Annotation improvements.
---
.../jsonschema/JsonSchemaConfigAnnotationTest.java | 5 -
.../juneau/jsonschema/JsonSchemaGeneratorTest.java | 104 ++++++++++++---------
.../juneau/html/HtmlSchemaSerializerBuilder.java | 5 +-
.../juneau/json/JsonSchemaSerializerBuilder.java | 5 +-
.../juneau/jsonschema/JsonSchemaGenerator.java | 44 ---------
.../jsonschema/JsonSchemaGeneratorBuilder.java | 5 +-
.../jsonschema/JsonSchemaGeneratorSession.java | 21 +----
.../jsonschema/annotation/JsonSchemaConfig.java | 20 ----
.../annotation/JsonSchemaConfigAnnotation.java | 3 -
9 files changed, 73 insertions(+), 139 deletions(-)
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
index a82633a..2ae1ccb 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
@@ -20,7 +20,6 @@ import java.util.function.*;
import java.util.stream.*;
import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
import org.apache.juneau.jsonschema.annotation.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.svl.*;
@@ -62,7 +61,6 @@ public class JsonSchemaConfigAnnotationTest {
allowNestedDescriptions="$X{true}",
allowNestedExamples="$X{true}",
beanDefMapper=BasicBeanDefMapper.class,
- defaultSchemas=@CS(k=A.class,v="{foo:'bar'}"),
ignoreTypes="$X{foo}",
useBeanDefs="$X{true}"
)
@@ -78,7 +76,6 @@ public class JsonSchemaConfigAnnotationTest {
check("true", x.isAllowNestedDescriptions());
check("true", x.isAllowNestedExamples());
check("BasicBeanDefMapper", x.getBeanDefMapper());
-
check("{org.apache.juneau.jsonschema.JsonSchemaConfigAnnotationTest$A={foo:'bar'}}",
x.getDefaultSchemas());
check("foo", x.getIgnoreTypes());
check("true", x.isUseBeanDefs());
}
@@ -100,7 +97,6 @@ public class JsonSchemaConfigAnnotationTest {
check("false", x.isAllowNestedDescriptions());
check("false", x.isAllowNestedExamples());
check("BasicBeanDefMapper", x.getBeanDefMapper());
- check("{}", x.getDefaultSchemas());
check("", x.getIgnoreTypes());
check("false", x.isUseBeanDefs());
}
@@ -121,7 +117,6 @@ public class JsonSchemaConfigAnnotationTest {
check("false", x.isAllowNestedDescriptions());
check("false", x.isAllowNestedExamples());
check("BasicBeanDefMapper", x.getBeanDefMapper());
- check("{}", x.getDefaultSchemas());
check("", x.getIgnoreTypes());
check("false", x.isUseBeanDefs());
}
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index 547fa50..0c4e962 100755
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -21,6 +21,8 @@ import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.jsonschema.annotation.*;
+import org.apache.juneau.reflect.*;
+import org.apache.juneau.svl.*;
import org.apache.juneau.testutils.pojos.*;
import org.apache.juneau.transform.*;
import org.junit.*;
@@ -1215,27 +1217,27 @@ public class JsonSchemaGeneratorTest {
.defaultSchema(char.class, OMap.of("type", "bar"))
.defaultSchema(TestEnumToString.class, OMap.of("type",
"bar"))
.build().createSession();
-
assertObject(s.getSchema(SimpleBean.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(BeanMap.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(BeanList.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(BeanList[][].class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(boolean.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(Boolean.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(short.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(Short.class)).json().is("{type:'bar'}");
- assertObject(s.getSchema(int.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(Integer.class)).json().is("{type:'bar'}");
- assertObject(s.getSchema(long.class)).json().is("{type:'bar'}");
- assertObject(s.getSchema(Long.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(float.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(Float.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(double.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(Double.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(String.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(StringBuilder.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(Character.class)).json().is("{type:'bar'}");
- assertObject(s.getSchema(char.class)).json().is("{type:'bar'}");
-
assertObject(s.getSchema(TestEnumToString.class)).json().is("{type:'bar'}");
+
assertObject(s.getSchema(SimpleBean.class)).json().contains("type:'bar'}");
+
assertObject(s.getSchema(BeanMap.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(BeanList.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(BeanList[][].class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(boolean.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Boolean.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(short.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Short.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(int.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Integer.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(long.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Long.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(float.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Float.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(double.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Double.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(String.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(StringBuilder.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(Character.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(char.class)).json().contains("type:'bar'");
+
assertObject(s.getSchema(TestEnumToString.class)).json().contains("type:'bar'");
}
// If default schema does not contain 'type', the value is augmented
@@ -1264,27 +1266,27 @@ public class JsonSchemaGeneratorTest {
.defaultSchema(char.class, OMap.of("foo", "bar"))
.defaultSchema(TestEnumToString.class, OMap.of("foo",
"bar"))
.build().createSession();
-
assertObject(s.getSchema(SimpleBean.class)).json().is("{type:'object',properties:{f1:{type:'string',foo:'bar'}},foo:'bar'}");
-
assertObject(s.getSchema(BeanMap.class)).json().is("{type:'object',additionalProperties:{type:'object',properties:{f1:{type:'string',foo:'bar'}},foo:'bar'},foo:'bar'}");
-
assertObject(s.getSchema(BeanList.class)).json().is("{type:'array',items:{type:'object',properties:{f1:{type:'string',foo:'bar'}},foo:'bar'},foo:'bar'}");
-
assertObject(s.getSchema(BeanList[][].class)).json().is("{type:'array',items:{type:'array',items:{type:'array',items:{type:'object',properties:{f1:{type:'string',foo:'bar'}},foo:'bar'},foo:'bar'}},foo:'bar'}");
-
assertObject(s.getSchema(boolean.class)).json().is("{type:'boolean',foo:'bar'}");
-
assertObject(s.getSchema(Boolean.class)).json().is("{type:'boolean',foo:'bar'}");
-
assertObject(s.getSchema(short.class)).json().is("{type:'integer',format:'int16',foo:'bar'}");
-
assertObject(s.getSchema(Short.class)).json().is("{type:'integer',format:'int16',foo:'bar'}");
-
assertObject(s.getSchema(int.class)).json().is("{type:'integer',format:'int32',foo:'bar'}");
-
assertObject(s.getSchema(Integer.class)).json().is("{type:'integer',format:'int32',foo:'bar'}");
-
assertObject(s.getSchema(long.class)).json().is("{type:'integer',format:'int64',foo:'bar'}");
-
assertObject(s.getSchema(Long.class)).json().is("{type:'integer',format:'int64',foo:'bar'}");
-
assertObject(s.getSchema(float.class)).json().is("{type:'number',format:'float',foo:'bar'}");
-
assertObject(s.getSchema(Float.class)).json().is("{type:'number',format:'float',foo:'bar'}");
-
assertObject(s.getSchema(double.class)).json().is("{type:'number',format:'double',foo:'bar'}");
-
assertObject(s.getSchema(Double.class)).json().is("{type:'number',format:'double',foo:'bar'}");
-
assertObject(s.getSchema(String.class)).json().is("{type:'string',foo:'bar'}");
-
assertObject(s.getSchema(StringBuilder.class)).json().is("{type:'string',foo:'bar'}");
-
assertObject(s.getSchema(Character.class)).json().is("{type:'string',foo:'bar'}");
-
assertObject(s.getSchema(char.class)).json().is("{type:'string',foo:'bar'}");
-
assertObject(s.getSchema(TestEnumToString.class)).json().is("{type:'string','enum':['one','two','three'],foo:'bar'}");
+
assertObject(s.getSchema(SimpleBean.class)).json().is("{foo:'bar',type:'object',properties:{f1:{foo:'bar',type:'string'}}}");
+
assertObject(s.getSchema(BeanMap.class)).json().is("{foo:'bar',type:'object',additionalProperties:{foo:'bar',type:'object',properties:{f1:{foo:'bar',type:'string'}}}}");
+
assertObject(s.getSchema(BeanList.class)).json().is("{foo:'bar',type:'array',items:{foo:'bar',type:'object',properties:{f1:{foo:'bar',type:'string'}}}}");
+
assertObject(s.getSchema(BeanList[][].class)).json().is("{foo:'bar',type:'array',items:{type:'array',items:{foo:'bar',type:'array',items:{foo:'bar',type:'object',properties:{f1:{foo:'bar',type:'string'}}}}}}");
+
assertObject(s.getSchema(boolean.class)).json().is("{foo:'bar',type:'boolean'}");
+
assertObject(s.getSchema(Boolean.class)).json().is("{foo:'bar',type:'boolean'}");
+
assertObject(s.getSchema(short.class)).json().is("{foo:'bar',type:'integer',format:'int16'}");
+
assertObject(s.getSchema(Short.class)).json().is("{foo:'bar',type:'integer',format:'int16'}");
+
assertObject(s.getSchema(int.class)).json().is("{foo:'bar',type:'integer',format:'int32'}");
+
assertObject(s.getSchema(Integer.class)).json().is("{foo:'bar',type:'integer',format:'int32'}");
+
assertObject(s.getSchema(long.class)).json().is("{foo:'bar',type:'integer',format:'int64'}");
+
assertObject(s.getSchema(Long.class)).json().is("{foo:'bar',type:'integer',format:'int64'}");
+
assertObject(s.getSchema(float.class)).json().is("{foo:'bar',type:'number',format:'float'}");
+
assertObject(s.getSchema(Float.class)).json().is("{foo:'bar',type:'number',format:'float'}");
+
assertObject(s.getSchema(double.class)).json().is("{foo:'bar',type:'number',format:'double'}");
+
assertObject(s.getSchema(Double.class)).json().is("{foo:'bar',type:'number',format:'double'}");
+
assertObject(s.getSchema(String.class)).json().is("{foo:'bar',type:'string'}");
+
assertObject(s.getSchema(StringBuilder.class)).json().is("{foo:'bar',type:'string'}");
+
assertObject(s.getSchema(Character.class)).json().is("{foo:'bar',type:'string'}");
+
assertObject(s.getSchema(char.class)).json().is("{foo:'bar',type:'string'}");
+
assertObject(s.getSchema(TestEnumToString.class)).json().is("{foo:'bar',type:'string','enum':['one','two','three']}");
}
//====================================================================================================
@@ -1486,4 +1488,22 @@ public class JsonSchemaGeneratorTest {
@JsonSchemaConfig(applySchema=@Schema(on="SwapWithAnnotation2",
type="foo",format="bar",description="baz",example="123"))
public static class SwapWithAnnotation2 extends
PojoSwap<SimpleBean,Integer> {}
+
+
//====================================================================================================
+ // @JsonSchema on PojoSwap
+
//====================================================================================================
+
+ @Schema(onClass=B.class,value="{foo:'bar'}")
+ static class BConfig {}
+
+ static class B {}
+ static ClassInfo bConfig = ClassInfo.of(BConfig.class);
+
+ @Test
+ public void schemaOnClass_onConfig() throws Exception {
+ AnnotationList al = bConfig.getAnnotationList();
+ JsonSchemaGeneratorSession x =
JsonSchemaGenerator.create().applyAnnotations(al,
VarResolver.DEFAULT.createSession()).build().createSession();
+ assertObject(x.getSchema(new B())).json().contains("foo:'bar'");
+ }
+
}
\ No newline at end of file
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
index 5348acb..699325f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
@@ -25,6 +25,7 @@ import org.apache.juneau.collections.*;
import org.apache.juneau.http.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.jsonschema.*;
+import org.apache.juneau.jsonschema.annotation.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.svl.*;
import org.apache.juneau.xml.*;
@@ -199,7 +200,7 @@ public class HtmlSchemaSerializerBuilder extends
HtmlSerializerBuilder {
* Keys are full class names.
*
* <ul class='seealso'>
- * <li class='jf'>{@link
JsonSchemaGenerator#JSONSCHEMA_defaultSchemas}
+ * <li class='jf'>{@link Schema#value}
* </ul>
*
* @param c
@@ -210,7 +211,7 @@ public class HtmlSchemaSerializerBuilder extends
HtmlSerializerBuilder {
*/
@FluentSetter
public HtmlSchemaSerializerBuilder defaultSchema(Class<?> c, OMap
schema) {
- return putTo(JSONSCHEMA_defaultSchemas, c.getName(), schema);
+ return
annotations(SchemaAnnotation.create(c).value(schema.toString()).build());
}
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index 93a8685..3835ca4 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -25,6 +25,7 @@ import org.apache.juneau.collections.*;
import org.apache.juneau.http.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.jsonschema.*;
+import org.apache.juneau.jsonschema.annotation.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.svl.*;
@@ -198,7 +199,7 @@ public class JsonSchemaSerializerBuilder extends
JsonSerializerBuilder {
* Keys are full class names.
*
* <ul class='seealso'>
- * <li class='jf'>{@link
JsonSchemaGenerator#JSONSCHEMA_defaultSchemas}
+ * <li class='jf'>{@link Schema#value}
* </ul>
*
* @param c
@@ -209,7 +210,7 @@ public class JsonSchemaSerializerBuilder extends
JsonSerializerBuilder {
*/
@FluentSetter
public JsonSchemaSerializerBuilder defaultSchema(Class<?> c, OMap
schema) {
- return putTo(JSONSCHEMA_defaultSchemas, c.getName(), schema);
+ return
annotations(SchemaAnnotation.create(c).value(schema.toString()).build());
}
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
index bd6dc59..22916e0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
@@ -217,36 +217,6 @@ public class JsonSchemaGenerator extends
BeanTraverseContext implements JsonSche
public static final String JSONSCHEMA_beanDefMapper = PREFIX +
".beanDefMapper.o";
/**
- * Configuration property: Default schemas.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.jsonschema.JsonSchemaGenerator#JSONSCHEMA_defaultSchemas
JSONSCHEMA_defaultSchemas}
- * <li><b>Name:</b>
<js>"JsonSchemaGenerator.defaultSchema.smo"</js>
- * <li><b>Data type:</b> <c>Map<String,{@link
org.apache.juneau.collections.OMap}></c>
- * <li><b>System property:</b>
<c>JsonSchemaGenerator.defaultSchema</c>
- * <li><b>Environment variable:</b>
<c>JSONSCHEMAGENERATOR_DEFAULTSCHEMA</c>
- * <li><b>Default:</b> Empty map.
- * <li><b>Session property:</b> <jk>false</jk>
- * <li><b>Annotations:</b>
- * <ul>
- * <li class='ja'>{@link
org.apache.juneau.jsonschema.annotation.JsonSchemaConfig#defaultSchemas()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.jsonschema.JsonSchemaGeneratorBuilder#defaultSchema(Class,OMap)}
- * </ul>
- * </ul>
- *
- * <h5 class='section'>Description:</h5>
- * <p>
- * Allows you to override or provide custom schema information for
particular class types.
- * <p>
- * Keys are full class names.
- */
- public static final String JSONSCHEMA_defaultSchemas = PREFIX +
".defaultSchemas.smo";
-
- /**
* Configuration property: Ignore types from schema definitions.
*
* <h5 class='section'>Property:</h5>
@@ -335,7 +305,6 @@ public class JsonSchemaGenerator extends
BeanTraverseContext implements JsonSche
private final boolean useBeanDefs, allowNestedExamples,
allowNestedDescriptions;
private final BeanDefMapper beanDefMapper;
private final Set<TypeCategory> addExamplesTo, addDescriptionsTo;
- private final Map<String,OMap> defaultSchemas;
private final JsonSerializer jsonSerializer;
private final Set<Pattern> ignoreTypes;
private final Map<ClassMeta<?>,JsonSchemaClassMeta>
jsonSchemaClassMetas = new ConcurrentHashMap<>();
@@ -355,7 +324,6 @@ public class JsonSchemaGenerator extends
BeanTraverseContext implements JsonSche
beanDefMapper = getInstanceProperty(JSONSCHEMA_beanDefMapper,
BeanDefMapper.class, BasicBeanDefMapper.class);
addExamplesTo =
TypeCategory.parse(getStringProperty(JSONSCHEMA_addExamplesTo, null));
addDescriptionsTo =
TypeCategory.parse(getStringProperty(JSONSCHEMA_addDescriptionsTo, null));
- defaultSchemas = getMapProperty(JSONSCHEMA_defaultSchemas,
OMap.class);
Set<Pattern> ignoreTypes = new LinkedHashSet<>();
for (String s : split(ps.getProperty(JSONSCHEMA_ignoreTypes,
String.class, "")))
@@ -456,17 +424,6 @@ public class JsonSchemaGenerator extends
BeanTraverseContext implements JsonSche
}
/**
- * Default schemas.
- *
- * @see #JSONSCHEMA_defaultSchemas
- * @return
- * Custom schema information for particular class types.
- */
- protected final Map<String,OMap> getDefaultSchemas() {
- return defaultSchemas;
- }
-
- /**
* Ignore types from schema definitions.
*
* @see JsonSchemaGenerator#JSONSCHEMA_ignoreTypes
@@ -547,7 +504,6 @@ public class JsonSchemaGenerator extends
BeanTraverseContext implements JsonSche
.a("beanDefMapper", beanDefMapper)
.a("addExamplesTo", addExamplesTo)
.a("addDescriptionsTo", addDescriptionsTo)
- .a("defaultSchemas", defaultSchemas)
.a("ignoreTypes", ignoreTypes)
);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
index 439fde0..30f169b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
@@ -23,6 +23,7 @@ import org.apache.juneau.annotation.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.http.*;
import org.apache.juneau.internal.*;
+import org.apache.juneau.jsonschema.annotation.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.svl.*;
@@ -196,7 +197,7 @@ public class JsonSchemaGeneratorBuilder extends
BeanTraverseBuilder {
* Keys are full class names.
*
* <ul class='seealso'>
- * <li class='jf'>{@link
JsonSchemaGenerator#JSONSCHEMA_defaultSchemas}
+ * <li class='jf'>{@link Schema#value}
* </ul>
*
* @param c
@@ -207,7 +208,7 @@ public class JsonSchemaGeneratorBuilder extends
BeanTraverseBuilder {
*/
@FluentSetter
public JsonSchemaGeneratorBuilder defaultSchema(Class<?> c, OMap
schema) {
- return putTo(JSONSCHEMA_defaultSchemas, c.getName(), schema);
+ return
annotations(SchemaAnnotation.create(c.getName()).value(schema.toString()).build());
}
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
index 7f38072..589eb28 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
@@ -133,12 +133,6 @@ public class JsonSchemaGeneratorSession extends
BeanTraverseSession {
return new OMap().a("$ref", getBeanDefUri(sType));
}
- OMap ds =
getDefaultSchemas().get(sType.getInnerClass().getName());
- if (ds != null && ds.containsKey("type")) {
- pop();
- return out.aa(ds);
- }
-
JsonSchemaClassMeta jscm = null;
ClassMeta pojoSwapCM = pojoSwap == null ? null :
getClassMeta(pojoSwap.getClass());
if (pojoSwapCM != null &&
pojoSwapCM.hasAnnotation(Schema.class))
@@ -254,8 +248,8 @@ public class JsonSchemaGeneratorSession extends
BeanTraverseSession {
out.appendIf(false, true, true, "description", description);
out.appendIf(false, true, true, "x-example", example);
- if (ds != null)
- out.appendAll(ds);
+// if (ds != null)
+// out.appendAll(ds);
if (useDef) {
defs.put(getBeanDefId(sType), out);
@@ -418,17 +412,6 @@ public class JsonSchemaGeneratorSession extends
BeanTraverseSession {
}
/**
- * Configuration property: Default schemas.
- *
- * @see JsonSchemaGenerator#JSONSCHEMA_defaultSchemas
- * @return
- * Custom schema information for particular class types.
- */
- protected final Map<String,OMap> getDefaultSchemas() {
- return ctx.getDefaultSchemas();
- }
-
- /**
* Configuration property: Ignore types from schema definitions.
*
* @see JsonSchemaGenerator#JSONSCHEMA_ignoreTypes
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
index e71020e..894cc1a 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
@@ -197,26 +197,6 @@ public @interface JsonSchemaConfig {
Class<? extends BeanDefMapper> beanDefMapper() default
BeanDefMapper.Null.class;
/**
- * Configuration property: Default schemas.
- *
- * <p>
- * Allows you to override or provide custom schema information for
particular class types.
- *
- * <ul class='notes'>
- * <li>
- * Keys are the class.
- * <br>Values are Simple-JSON objects.
- * <li>
- * Supports {@doc DefaultVarResolver} (e.g.
<js>"$C{myConfigVar}"</js>).
- * </ul>
- *
- * <ul class='seealso'>
- * <li class='jf'>{@link
JsonSchemaGenerator#JSONSCHEMA_defaultSchemas}
- * </ul>
- */
- CS[] defaultSchemas() default {};
-
- /**
* Configuration property: Ignore types from schema definitions.
*
* <p>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
index 6000bc2..900b413 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
@@ -16,7 +16,6 @@ import static org.apache.juneau.BeanContext.*;
import static org.apache.juneau.jsonschema.JsonSchemaGenerator.*;
import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
import org.apache.juneau.jsonschema.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.svl.*;
@@ -54,8 +53,6 @@ public class JsonSchemaConfigAnnotation {
psb.set(JSONSCHEMA_allowNestedExamples,
bool(a.allowNestedExamples()));
if (a.beanDefMapper() != BeanDefMapper.Null.class)
psb.set(JSONSCHEMA_beanDefMapper,
a.beanDefMapper());
- for (CS e : a.defaultSchemas())
- psb.putTo(JSONSCHEMA_defaultSchemas,
e.k().getName(), omap(e.v(), "defaultSchemas"));
if (! a.ignoreTypes().isEmpty())
psb.set(JSONSCHEMA_ignoreTypes,
string(a.ignoreTypes()));
if (! a.useBeanDefs().isEmpty())