From ba0ef7a1060b418699c12a3179206e36d541fcd4 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Sun, 28 Aug 2022 19:47:48 +0200 Subject: [PATCH] [DEBUG] update new xml API --- src/org/atriasoft/island/Manifest.java | 18 ++++++--------- .../island/actions/DependencySync.java | 8 ++++--- .../island/model/manifest/ConfigManifest.java | 22 ++++++++++++------- .../island/model/manifest/ManifestFile.java | 1 + .../island/model/maven/MavenMetadata.java | 3 ++- .../island/model/maven/PomMaven.java | 1 + 6 files changed, 30 insertions(+), 23 deletions(-) diff --git a/src/org/atriasoft/island/Manifest.java b/src/org/atriasoft/island/Manifest.java index 4ace1b0..80a9599 100644 --- a/src/org/atriasoft/island/Manifest.java +++ b/src/org/atriasoft/island/Manifest.java @@ -10,7 +10,7 @@ import java.util.Map; import java.util.Map.Entry; import org.atriasoft.aknot.exception.AknotException; -import org.atriasoft.exml.Exml; +import org.atriasoft.exml.XmlMapper; import org.atriasoft.exml.exception.ExmlBuilderException; import org.atriasoft.exml.exception.ExmlException; import org.atriasoft.exml.exception.ExmlParserErrorMulti; @@ -284,11 +284,9 @@ public class Manifest { Log.debug("PArse main XML config " + rootDirectory); ManifestFile parsedElements = null; try { - parsedElements = Exml.parseOne(this.manifestXml, ManifestFile.class, "manifest"); - } catch (final ExmlException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } catch (final AknotException e1) { + final XmlMapper mapper = new XmlMapper(); + parsedElements = mapper.read(ManifestFile.class, this.manifestXml); + } catch (final ExmlException | AknotException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } @@ -299,11 +297,9 @@ public class Manifest { Log.debug("PArse <> XML config " + maniPath); ManifestFile tmpManifest = null; try { - tmpManifest = Exml.parseOne(maniPath, ManifestFile.class, "manifest"); - } catch (final ExmlException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (final AknotException e) { + final XmlMapper mapper = new XmlMapper(); + tmpManifest = mapper.read(ManifestFile.class, maniPath); + } catch (final ExmlException | AknotException e) { // TODO Auto-generated catch block e.printStackTrace(); } diff --git a/src/org/atriasoft/island/actions/DependencySync.java b/src/org/atriasoft/island/actions/DependencySync.java index fc5620f..5ac5797 100644 --- a/src/org/atriasoft/island/actions/DependencySync.java +++ b/src/org/atriasoft/island/actions/DependencySync.java @@ -26,7 +26,7 @@ import org.atriasoft.ejson.Ejson; import org.atriasoft.ejson.model.JsonArray; import org.atriasoft.ejson.model.JsonObject; import org.atriasoft.ejson.model.JsonString; -import org.atriasoft.exml.Exml; +import org.atriasoft.exml.XmlMapper; import org.atriasoft.exml.exception.ExmlException; import org.atriasoft.island.Config; import org.atriasoft.island.Env; @@ -158,7 +158,8 @@ public class DependencySync { Log.verbose("dataAsString: " + dataAsString); MavenMetadata metaData = null; try { - metaData = Exml.parseOne(dataAsString, MavenMetadata.class, "metadata"); + final XmlMapper mapper = new XmlMapper(); + metaData = mapper.parse(dataAsString, MavenMetadata.class); } catch (ExmlException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -178,7 +179,8 @@ public class DependencySync { readRemoteFileAndStore(remotePakageFileName + "/" + base, localPackageFileName.resolve(base), base); PomMaven mavenPom = null; try { - mavenPom = Exml.parseOne(localPackageFileName.resolve(base), PomMaven.class, "project"); + final XmlMapper mapper = new XmlMapper(); + mavenPom = mapper.read(PomMaven.class, localPackageFileName.resolve(base)); } catch (ExmlException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/src/org/atriasoft/island/model/manifest/ConfigManifest.java b/src/org/atriasoft/island/model/manifest/ConfigManifest.java index 60c6d53..c1d3594 100644 --- a/src/org/atriasoft/island/model/manifest/ConfigManifest.java +++ b/src/org/atriasoft/island/model/manifest/ConfigManifest.java @@ -9,13 +9,14 @@ import java.util.ListIterator; import org.atriasoft.aknot.annotation.AknotList; import org.atriasoft.aknot.annotation.AknotName; import org.atriasoft.aknot.exception.AknotException; -import org.atriasoft.exml.Exml; +import org.atriasoft.exml.XmlMapper; import org.atriasoft.exml.exception.ExmlBuilderException; import org.atriasoft.exml.exception.ExmlException; import org.atriasoft.island.Env; import org.atriasoft.island.internal.Log; import org.atriasoft.island.model.Volatile; +@AknotName("config-island") public class ConfigManifest { public static ConfigManifest load() { @@ -23,20 +24,24 @@ public class ConfigManifest { } public static ConfigManifest load(final Path path) { - ConfigManifest[] root = null; + ConfigManifest root = null; try { - root = Exml.parse(path, ConfigManifest.class, "config-island"); + XmlMapper mapper = new XmlMapper(); + root = mapper.read(ConfigManifest.class, path); } catch (final ExmlException e) { Log.error("Can not parse the file.1. " + path); e.printStackTrace(); } catch (final AknotException e) { Log.error("Can not parse the file.2. " + path); e.printStackTrace(); - } - if (root.length != 1) { + } catch (IOException e) { Log.error("Can not parse the file.3. " + path); + e.printStackTrace(); } - return root[0]; + if (root == null) { + Log.error("Can not parse the file.4. " + path); + } + return root; } private String repo = ""; @@ -182,8 +187,9 @@ public class ConfigManifest { public void store(final Path path) throws ExmlBuilderException { try { - Exml.store(path, this, "config-island"); - } catch (final ExmlException | IOException ex) { + XmlMapper mapper = new XmlMapper(); + mapper.store(this, path); + } catch (final ExmlException | IOException | AknotException ex) { Log.warning("detect throw: " + ex.getMessage()); ex.printStackTrace(); } diff --git a/src/org/atriasoft/island/model/manifest/ManifestFile.java b/src/org/atriasoft/island/model/manifest/ManifestFile.java index 2569bd8..244c57a 100644 --- a/src/org/atriasoft/island/model/manifest/ManifestFile.java +++ b/src/org/atriasoft/island/model/manifest/ManifestFile.java @@ -10,6 +10,7 @@ import org.atriasoft.aknot.annotation.AknotManaged; import org.atriasoft.aknot.annotation.AknotName; @AknotIgnoreUnknown +@AknotName("manifest") public class ManifestFile { private Path fileRealPath = null; private List projects = new ArrayList<>(); diff --git a/src/org/atriasoft/island/model/maven/MavenMetadata.java b/src/org/atriasoft/island/model/maven/MavenMetadata.java index 38101ff..812835f 100644 --- a/src/org/atriasoft/island/model/maven/MavenMetadata.java +++ b/src/org/atriasoft/island/model/maven/MavenMetadata.java @@ -1,11 +1,12 @@ package org.atriasoft.island.model.maven; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.aknot.annotation.AknotIgnoreUnknown; import org.atriasoft.aknot.annotation.AknotName; -import org.atriasoft.aknot.annotation.AknotDefaultAttribute; @AknotDefaultAttribute(false) @AknotIgnoreUnknown +@AknotName("metadata") public record MavenMetadata( @AknotName("groupId") String groupId, @AknotName("artifactId") String artifactId, diff --git a/src/org/atriasoft/island/model/maven/PomMaven.java b/src/org/atriasoft/island/model/maven/PomMaven.java index 11e141b..86168e1 100644 --- a/src/org/atriasoft/island/model/maven/PomMaven.java +++ b/src/org/atriasoft/island/model/maven/PomMaven.java @@ -10,6 +10,7 @@ import org.atriasoft.aknot.annotation.AknotOptional; @AknotDefaultNullValue @AknotIgnoreUnknown +@AknotName("project") public record PomMaven( @AknotName("modelVersion") String modelVersion, @AknotName("groupId") String groupId,