Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: eaea61a6 by Tony Chemit at 2024-09-18T13:02:50+02:00 Review server API doc (use now json validation files) - - - - - 3 changed files: - server/runner/src/main/webResources/doc/api/public/doc.js - toolkit/plugin/src/main/java/fr/ird/observe/toolkit/maven/plugin/server/html/model/DocType.java - toolkit/plugin/src/main/resources/templates/fragment/validationTypeContent.mustache Changes: ===================================== server/runner/src/main/webResources/doc/api/public/doc.js ===================================== @@ -129,6 +129,32 @@ function loadXml(tag, file) { } } +function loadJson(tag, file) { + let target = document.getElementById(tag + "-json-source"); + if (target) { + load(file + ".json", function onLoad(text) { + try { + let response = JSON.parse(text); + const formatter = new JSONFormatter(response, 100, { + hoverPreviewEnabled: false, + hoverPreviewArrayCount: 100, + hoverPreviewFieldCount: 5, + animateOpen: true, + animateClose: true, + theme: null, // or 'dark' + useToJSON: true // use the toJSON method to render an object as a string as available + }); + let responseFormatter = formatter.render(); + // console.log("Youhou1 "+file+" : "+text); + // console.log("Youhou2 "+file+" : "+responseFormatter); + target.appendChild(responseFormatter); + } catch (e) { + target.innerHTML = text + } + }); + } +} + function addValidationMessages( messages) { let result = '<td><ul>'; if (!!messages) { ===================================== toolkit/plugin/src/main/java/fr/ird/observe/toolkit/maven/plugin/server/html/model/DocType.java ===================================== @@ -54,10 +54,10 @@ public class DocType extends DocElement implements WithValidation { private String definitionContent; private String createValidationContent; private String updateValidationContent; - private String createErrorValidationXmlContent; - private String createWarningValidationXmlContent; - private String updateErrorValidationXmlContent; - private String updateWarningValidationXmlContent; + private String createErrorValidationContent; + private String createWarningValidationContent; + private String updateErrorValidationContent; + private String updateWarningValidationContent; private String validationContent = ""; public DocType(DocPackage parent, String name) { @@ -128,46 +128,46 @@ public class DocType extends DocElement implements WithValidation { this.updateValidationContent = updateValidationContent; } - public String getUpdateWarningValidationXmlContent() { - return updateWarningValidationXmlContent; + public String getUpdateWarningValidationContent() { + return updateWarningValidationContent; } - public void setUpdateWarningValidationXmlContent(String updateWarningValidationXmlContent) { - this.updateWarningValidationXmlContent = updateWarningValidationXmlContent; + public void setUpdateWarningValidationContent(String updateWarningValidationContent) { + this.updateWarningValidationContent = updateWarningValidationContent; } - public String getUpdateErrorValidationXmlContent() { - return updateErrorValidationXmlContent; + public String getUpdateErrorValidationContent() { + return updateErrorValidationContent; } - public void setUpdateErrorValidationXmlContent(String updateErrorValidationXmlContent) { - this.updateErrorValidationXmlContent = updateErrorValidationXmlContent; + public void setUpdateErrorValidationContent(String updateErrorValidationContent) { + this.updateErrorValidationContent = updateErrorValidationContent; } - public String getCreateWarningValidationXmlContent() { - return createWarningValidationXmlContent; + public String getCreateWarningValidationContent() { + return createWarningValidationContent; } - public void setCreateWarningValidationXmlContent(String createWarningValidationXmlContent) { - this.createWarningValidationXmlContent = createWarningValidationXmlContent; + public void setCreateWarningValidationContent(String createWarningValidationContent) { + this.createWarningValidationContent = createWarningValidationContent; } - public String getCreateErrorValidationXmlContent() { - return createErrorValidationXmlContent; + public String getCreateErrorValidationContent() { + return createErrorValidationContent; } - public void setCreateErrorValidationXmlContent(String createErrorValidationXmlContent) { - this.createErrorValidationXmlContent = createErrorValidationXmlContent; + public void setCreateErrorValidationContent(String createErrorValidationContent) { + this.createErrorValidationContent = createErrorValidationContent; } @Override public void storeValidation(Path requestPath) throws IOException { WithValidation.store(getCreateValidationContent(), requestPath.resolve("validation-create.json")); WithValidation.store(getUpdateValidationContent(), requestPath.resolve("validation-update.json")); - WithValidation.store(getCreateErrorValidationXmlContent(), requestPath.resolve("validation-create-error.xml")); - WithValidation.store(getCreateWarningValidationXmlContent(), requestPath.resolve("validation-create-warning.xml")); - WithValidation.store(getUpdateErrorValidationXmlContent(), requestPath.resolve("validation-update-error.xml")); - WithValidation.store(getUpdateWarningValidationXmlContent(), requestPath.resolve("validation-update-warning.xml")); + WithValidation.store(getCreateErrorValidationContent(), requestPath.resolve("validation-create-error.json")); + WithValidation.store(getCreateWarningValidationContent(), requestPath.resolve("validation-create-warning.json")); + WithValidation.store(getUpdateErrorValidationContent(), requestPath.resolve("validation-update-error.json")); + WithValidation.store(getUpdateWarningValidationContent(), requestPath.resolve("validation-update-warning.json")); } public void addSimpleType(TemplateModelBuilder builder, @@ -208,18 +208,18 @@ public class DocType extends DocElement implements WithValidation { private void addValidation(Class<? extends BusinessDto> dtoType, DtoEntityContext<?, ?, ?, ?> spi, String validationTypeContent) { Path directory = FileUtil.getFileFromFQN(Path.of("/").toFile(), dtoType.getName()).toPath().getParent(); - String createErrorFileXmlContent = getValidator(directory, dtoType, "create", "error"); - String updateErrorFileXmlContent = getValidator(directory, dtoType, "update", "error"); - String createWarningFileXmlContent = getValidator(directory, dtoType, "create", "warning"); - String updateWarningFileXmlContent = getValidator(directory, dtoType, "update", "warning"); + String createErrorFileContent = getValidator(directory, dtoType, "create", "error"); + String updateErrorFileContent = getValidator(directory, dtoType, "update", "error"); + String createWarningFileContent = getValidator(directory, dtoType, "create", "warning"); + String updateWarningFileContent = getValidator(directory, dtoType, "update", "warning"); String createFileContent = spi.getValidationCreateContent(); String updateFileContent = spi.getValidationUpdateContent(); setCreateValidationContent(createFileContent); setUpdateValidationContent(updateFileContent); - setCreateErrorValidationXmlContent(createErrorFileXmlContent); - setCreateWarningValidationXmlContent(createWarningFileXmlContent); - setUpdateErrorValidationXmlContent(updateErrorFileXmlContent); - setUpdateWarningValidationXmlContent(updateWarningFileXmlContent); + setCreateErrorValidationContent(createErrorFileContent); + setCreateWarningValidationContent(createWarningFileContent); + setUpdateErrorValidationContent(updateErrorFileContent); + setUpdateWarningValidationContent(updateWarningFileContent); if (createFileContent == null && updateFileContent == null) { return; @@ -241,12 +241,12 @@ public class DocType extends DocElement implements WithValidation { } private String getValidator(Path directory, Class<? extends BusinessDto> dtoType, String context, String scope) { - Path path = directory.resolve(String.format("%s-%s-%s-validation.xml", dtoType.getSimpleName(), context, scope)); + Path path = directory.resolve(String.format("%s-%s-%s-validation.json", dtoType.getSimpleName(), context, scope)); try { String location = path.toString().substring(1); return IOUtils.resourceToString(location, StandardCharsets.UTF_8, Thread.currentThread().getContextClassLoader()); } catch (IOException e) { - log.warn("Can't load description at: " + path); + log.warn("Can't load description at: {}", path); return null; } } ===================================== toolkit/plugin/src/main/resources/templates/fragment/validationTypeContent.mustache ===================================== @@ -1,28 +1,28 @@ -<h4>Validation - xml files</h4> -<div id="validation-create-xml" class="widget"> - <div class="widget-list widget-list-validation-xml" id="validation-create-warning-xml"> - <div><textarea id="validation-create-warning-xml-source" readonly="readonly" rows="20" style="border:none;margin-top:14px;width: 99%;"></textarea></div> +<h4>Validation - json files</h4> +<div id="validation-create-json" class="widget"> + <div class="widget-list widget-list-json" id="validation-create-warning-json"> + <div><pre id="validation-create-warning-json-source"></pre></div> </div> - <div class="widget-list widget-list-validation-xml" id="validation-create-error-xml"> - <div><textarea id="validation-create-error-xml-source" readonly="readonly" rows="20" style="border:none;margin-top:14px;width: 99%;"></textarea></div> + <div class="widget-list widget-list-json" id="validation-create-error-json"> + <div><pre id="validation-create-error-json-source"></pre></div> </div> <ul class="widget-tabs"> - <li class="widget-tab"><a href="#validation-create-warning-xml" class="widget-tab-link">Create warning xml file</a> - <li class="widget-tab"><a href="#validation-create-error-xml" class="widget-tab-link">Create error xml file</a> + <li class="widget-tab"><a href="#validation-create-warning-json" class="widget-tab-link">Create warning file</a> + <li class="widget-tab"><a href="#validation-create-error-json" class="widget-tab-link">Create error file</a> </ul> </div> -<script type="application/javascript">loadXml("validation-create-error", "validation-create-error");loadXml("validation-create-warning", "validation-create-warning");</script> -<div id="validation-update-xml" class="widget"> - <div class="widget-list widget-list-validation-xml" id="validation-update-warning-xml"> - <div> <textarea id="validation-update-warning-xml-source" readonly="readonly" rows="20" style="border:none;margin-top:14px;width: 99%;"></textarea></div> +<script type="application/javascript">loadJson("validation-create-error", "validation-create-error");loadJson("validation-create-warning", "validation-create-warning");</script> +<div id="validation-update-json" class="widget"> + <div class="widget-list widget-list-json" id="validation-update-warning-json"> + <div> <pre id="validation-update-warning-json-source"></pre></div> </div> - <div class="widget-list widget-list-validation-xml" id="validation-update-error-xml"> - <div> <textarea id="validation-update-error-xml-source" readonly="readonly" rows="20" style="border:none;margin-top:14px;width: 99%;"></textarea></div> + <div class="widget-list widget-list-json" id="validation-update-error-json"> + <div> < <pre id="validation-update-error-json-source"></pre></div> </div> <ul class="widget-tabs"> - <li class="widget-tab"><a href="#validation-update-warning-xml" class="widget-tab-link">Update warning xml file</a> - <li class="widget-tab"><a href="#validation-update-error-xml" class="widget-tab-link">Update error xml file</a> + <li class="widget-tab"><a href="#validation-update-warning-json" class="widget-tab-link">Update warning file</a> + <li class="widget-tab"><a href="#validation-update-error-json" class="widget-tab-link">Update error file</a> </ul> </div> -<script type="application/javascript">loadXml("validation-update-error", "validation-update-error");loadXml("validation-update-warning", "validation-update-warning");</script> +<script type="application/javascript">loadJson("validation-update-error", "validation-update-error");loadJson("validation-update-warning", "validation-update-warning");</script> <p><a href="#top" class="top" title="Up to top"></a></p> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/eaea61a6d70633a4d2f88539ec... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/eaea61a6d70633a4d2f88539ec... You're receiving this email because of your account on gitlab.com.