This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository eugene. See https://gitlab.nuiton.org/nuiton/eugene.git commit 4bf96ff0aeece036a2b4d106de7ee83f2250e803 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Sep 10 11:40:50 2016 +0200 Introduce de parser factory --- .../reader/extension/LoadModelExtension.java | 7 +---- .../extension/ModelExtensionFileParserFactory.java | 34 ++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/LoadModelExtension.java b/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/LoadModelExtension.java index b68e576..8b9d72b 100644 --- a/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/LoadModelExtension.java +++ b/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/LoadModelExtension.java @@ -75,12 +75,7 @@ public class LoadModelExtension<M extends ObjectModel> implements ModelExtension public void load(File modelExtension) throws IOException, InvalidTagValueSyntaxException, InvalidStereotypeSyntaxException { - ModelExtensionFileParser parser; - if (modelExtension.getName().endsWith(".properties")) { - parser = new FlatModelExtensionFileParser(); - } else { - parser = new CompactModelExtensionFileParser(); - } + ModelExtensionFileParser parser = ModelExtensionFileParserFactory.newParser(modelExtension); parser.parse(modelExtension, this); } diff --git a/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/ModelExtensionFileParserFactory.java b/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/ModelExtensionFileParserFactory.java new file mode 100644 index 0000000..88e1091 --- /dev/null +++ b/eugene/src/main/java/org/nuiton/eugene/models/object/reader/extension/ModelExtensionFileParserFactory.java @@ -0,0 +1,34 @@ +package org.nuiton.eugene.models.object.reader.extension; + +import org.apache.commons.lang3.NotImplementedException; + +import java.io.File; + +/** + * Created on 10/09/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ModelExtensionFileParserFactory { + + public static FlatModelExtensionFileParser newFlatPaser() { + return new FlatModelExtensionFileParser(); + } + + public static CompactModelExtensionFileParser newCompactPaser() { + return new CompactModelExtensionFileParser(); + } + + + public static ModelExtensionFileParser newParser(File file) { + ModelExtensionFileParser parser; + if (file.getName().endsWith(".properties")) { + parser = new FlatModelExtensionFileParser(); + } else if (file.getName().endsWith(".model-ex")) { + parser = new CompactModelExtensionFileParser(); + } else { + throw new NotImplementedException("can't find parser for file: " + file); + } + return parser; + } +} -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.