StringParameter typeParam = new StringParameter("type");
String type = (String)typeParam.transformValue(request);
StringParameter contextParam = new StringParameter("context");
String context = (String)contextParam.transformValue(request);
BooleanParameter wrapAttrParam = new BooleanParameter("wrapAttr");
Boolean wrapAttr = (Boolean)wrapAttrParam.transformValue(request);
BooleanParameter wrapRootParam = new BooleanParameter("wrapRoot");
Boolean wrapRoot = (Boolean)wrapRootParam.transformValue(request);
BooleanParameter wrapObjectParam = new BooleanParameter("wrapObject");
Boolean wrapObject = (Boolean)wrapObjectParam.transformValue(request);
String ns = type.replace('.', '/');
ObjectTypeSchemaGenerator gen = new ObjectTypeSchemaGenerator("object",
"http://aplaws.org/schemas/content-types/" + ns);
if (Boolean.TRUE.equals(wrapObject)) {
gen.setWrapObjects(true);
} else if (Boolean.FALSE.equals(wrapObject)) {
gen.setWrapObjects(false);
}
if (Boolean.TRUE.equals(wrapAttr)) {
gen.setWrapAttributes(true);
} else if (Boolean.FALSE.equals(wrapAttr)) {
gen.setWrapAttributes(false);
}
if (Boolean.TRUE.equals(wrapRoot)) {
gen.setWrapRoot(true);
} else if (Boolean.FALSE.equals(wrapRoot)) {
gen.setWrapRoot(false);
}
gen.walk(type, context);
Document doc = new Document(gen.getRoot());
response.setContentType("text/plain; charset=UTF-8");
Writer writer = response.getWriter();
writer.write(doc.toString());