Author: agiraudet Date: 2013-06-14 17:43:32 +0200 (Fri, 14 Jun 2013) New Revision: 1279 Url: http://nuiton.org/projects/eugene/repository/revisions/1279 Log: refs #2708: correction des liens et des images relecture du code (commentaires, corrections...) Added: trunk/eugene-plantuml-templates/src/resources/ trunk/eugene-plantuml-templates/src/resources/images/ trunk/eugene-plantuml-templates/src/resources/images/Pollen.png trunk/eugene-plantuml-templates/src/resources/images/legend1.png trunk/eugene-plantuml-templates/src/resources/images/legend2.png trunk/eugene-plantuml-templates/src/resources/images/legend3.png Removed: trunk/eugene-plantuml-templates/src/site/resources/ Modified: trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst trunk/eugene-yaml-templates/src/main/java/org/nuiton/eugene/yaml/UserFriendlyTemplatesGenerator.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/YamlObjectModelReader.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/DefaultValues.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/KeyWords.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadObjectModel.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadYamlFile.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserPureYaml.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserUserFriendly.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/SyntaxePureYaml.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlObject.java trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlUtil.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/YamlObjectModelReader.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/YamlObjectModelReader.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/YamlObjectModelReader.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -45,8 +45,7 @@ public class YamlObjectModelReader extends AbstractObjectModelReader { private static final Log log = LogFactory.getLog(YamlObjectModelReader.class); - //protected YamlToObjectModel yamlToObjectModel; - protected LoadYamlFile test; + protected LoadYamlFile loaderYAML; @Override public String getInputType() { @@ -56,15 +55,13 @@ @Override protected void beforeReadFile(File... files) { super.beforeReadFile(files); - //yamlToObjectModel = new YamlToObjectModel(); - test = new LoadYamlFile(); + loaderYAML = new LoadYamlFile(); } @Override protected void readFileToModel(File file, ObjectModel model) throws IOException { try { - //yamlToObjectModel.loadFile(file,model); - test.loadFile(file,model); + loaderYAML.loadFile(file, model); } catch (YAMLException e) { throw new IOException("Unable to parse ObjectModel input file : " + file, e); } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/DefaultValues.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/DefaultValues.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/DefaultValues.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -24,6 +24,7 @@ public static Map<String, String> getDefaultValues(String version) { Map<String, String> values = new LinkedHashMap<String, String>(); + //retourne les valeurs par defaut en fonction de la version dans une Map if (version.equals("0")) { values.put(ATTRIBUTE + SEPARATOR + MIN_MULTIPLICITY, "1"); values.put(ATTRIBUTE + SEPARATOR + MAX_MULTIPLICITY, "1"); @@ -37,7 +38,7 @@ return values; } - //retourne les valeurs par defaut du fichier YAML passe an parametre + //retourne les valeurs par defaut du fichier YAML passé en parametre public Map<String, String> getDefaultValues(File file) throws IOException { InputStream inputModel = new FileInputStream(file); Object valuesYAML = yaml.load(inputModel); Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/KeyWords.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/KeyWords.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/KeyWords.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -29,7 +29,7 @@ String INNER = "inner"; String INTERFACE = "interface"; String LABEL = "label"; - String LITERAL = "literal"; + String LITERALS = "literals"; String MAX_MULTIPLICITY = "maxmultiplicity"; String MIN_MULTIPLICITY = "minmultiplicity"; String NAME = "name"; Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadObjectModel.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadObjectModel.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadObjectModel.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -22,7 +22,7 @@ this.modelYAMLO = modelYAMLO; this.defaultValues = defaultValues; //log - Log.initLog(modelYAMLO.toString(), "/tmp/log.LoadObjectModel.txt"); + //Log.initLog(modelYAMLO.toString(), "/tmp/log.LoadObjectModel.txt"); //log } @@ -49,6 +49,7 @@ modelOM.setName(nameYAMLO); } + //version String versionYAMLO = modelYAMLO.getFirstMapStringListString(VERSION); if (versionYAMLO == null) { String key = VERSION; @@ -59,8 +60,7 @@ modelOM.setVersion(versionYAMLO); } - //tageValues - //TODO: tester + //tagValues YamlObject tagValues = modelYAMLO.getFirstMapStringListYamlObject(TAG_VALUES); if (tagValues != null) { for (Map.Entry<String, List<String>> tagValue : tagValues.getMapStringListString().entrySet()) { @@ -98,6 +98,7 @@ } public void loadElement(YamlObject elementYAMLO, ObjectModelElementImpl elementOM) { + //name String nameYAMLO = elementYAMLO.getFirstMapStringListString(NAME); if (nameYAMLO == null) { String key = ELEMENT + SEPARATOR + NAME; @@ -108,6 +109,7 @@ elementOM.setName(nameYAMLO); } + //static String staticYAMLO = elementYAMLO.getFirstMapStringListString(STATIC); if (staticYAMLO == null) { String key = ELEMENT + SEPARATOR + STATIC; @@ -118,6 +120,7 @@ elementOM.setStatic(Boolean.valueOf(staticYAMLO)); } + //documentation String documentationYAMLO = elementYAMLO.getFirstMapStringListString(DOCUMENTATION); if (documentationYAMLO == null) { String key = ELEMENT + SEPARATOR + DOCUMENTATION; @@ -128,7 +131,7 @@ elementOM.setDocumentation(documentationYAMLO); } - //TODO: tester + //tagValues YamlObject tagValues = elementYAMLO.getFirstMapStringListYamlObject(TAG_VALUES); if (tagValues != null) { for (Map.Entry<String, List<String>> tagValue : tagValues.getMapStringListString().entrySet()) { @@ -139,12 +142,13 @@ } } + //comments List<String> comments = elementYAMLO.getMapStringListString(COMMENTS); for (String comment : comments) { elementOM.addComment(comment); } - //TODO: ajouter setereotype par defaut + //stereotypes List<String> stereotypes = elementYAMLO.getMapStringListString(STEREOTYPES); for (String stereotype : stereotypes) { ObjectModelImplRef stereotypeOM = new ObjectModelImplRef(); @@ -156,6 +160,7 @@ public void loadClassifier(YamlObject classifierYAMLO, ObjectModelClassifierImpl classifierOM) { loadElement(classifierYAMLO, classifierOM); + //package String packageYAMLO = classifierYAMLO.getFirstMapStringListString(PACKAGE); if (packageYAMLO == null) { classifierOM.setPackage(packageL); @@ -163,7 +168,7 @@ classifierOM.setPackage(packageYAMLO); } - + //extern String externYAMLO = classifierYAMLO.getFirstMapStringListString(EXTERN); if (externYAMLO == null) { String key = CLASSIFIER + SEPARATOR + EXTERN; @@ -175,6 +180,7 @@ } + //inner String innerYAMLO = classifierYAMLO.getFirstMapStringListString(INNER); if (innerYAMLO == null) { String key = CLASSIFIER + SEPARATOR + INNER; @@ -185,6 +191,7 @@ classifierOM.setInner(Boolean.valueOf(innerYAMLO)); } + //type String typeYAMLO = classifierYAMLO.getFirstMapStringListString(TYPE); if (typeYAMLO == null) { String key = CLASSIFIER + SEPARATOR + TYPE; @@ -195,18 +202,21 @@ classifierOM.setType(typeYAMLO); } + //attributes for (YamlObject attributeYAMLO : classifierYAMLO.getMapStringListYamlObject(ATTRIBUTE)) { ObjectModelAttributeImpl attributeOM = new ObjectModelAttributeImpl(); loadAttribute(attributeYAMLO, attributeOM); classifierOM.addAttribute(attributeOM); } + //operations for (YamlObject operationYAMLO : classifierYAMLO.getMapStringListYamlObject(OPERATION)) { ObjectModelOperationImpl operationOM = new ObjectModelOperationImpl(); loadOperation(operationYAMLO, operationOM); classifierOM.addOperation(operationOM); } + //superInterfaces List<String> superInterfacesYAMLO = classifierYAMLO.getMapStringListString(SUPER_INTERFACES); for (String superInterfaceYAMLO : superInterfacesYAMLO) { ObjectModelImplRef superInterfaceOM = new ObjectModelImplRef(); @@ -218,6 +228,7 @@ public void loadClass(YamlObject classYAMLO, ObjectModelClassImpl classOM) { loadClassifier(classYAMLO, classOM); + //abstract String abstractYAMLO = classYAMLO.getFirstMapStringListString(ABSTRACT); if (abstractYAMLO == null) { String key = CLASS + SEPARATOR + ABSTRACT; @@ -228,6 +239,7 @@ classOM.setAbstract(Boolean.valueOf(abstractYAMLO)); } + //superClasses List<String> superClassesYAMLO = classYAMLO.getMapStringListString(SUPER_CLASSES); for (String superClassYAMLO : superClassesYAMLO) { ObjectModelImplSuperClassRef superClassOM = new ObjectModelImplSuperClassRef(); @@ -245,10 +257,11 @@ //TODO: remplacer name par type et attribute par name ? -> confusion //TODO: remplacer PARTICIPANT par PARTICIPANTS (List) + //participants for (YamlObject participantYAMLO : associationClassYAML.getMapStringListYamlObject(PARTICIPANT)) { ObjectModeImplAssociationClassParticipant participantOM = new ObjectModeImplAssociationClassParticipant(); participantOM.setAssociationClass(associationClassOM); - + //name String nameYAMLO = participantYAMLO.getFirstMapStringListString(NAME); if (nameYAMLO == null) { String key = ASSOCIATION_CLASS + SEPARATOR + PARTICIPANT + SEPARATOR + NAME; @@ -258,7 +271,7 @@ } else { participantOM.setName(nameYAMLO); } - + //attribute String attributeYAMLO = participantYAMLO.getFirstMapStringListString(ATTRIBUTE); if (attributeYAMLO == null) { String key = ASSOCIATION_CLASS + SEPARATOR + PARTICIPANT + SEPARATOR + ATTRIBUTE; @@ -277,13 +290,15 @@ loadElement(enumerationYAMLO, enumerationOM); //TODO: remplacer LITERAL par LITERALS (List) - List<String> literalsYAMLO = enumerationYAMLO.getMapStringListString(LITERAL); + //lierals + List<String> literalsYAMLO = enumerationYAMLO.getMapStringListString(LITERALS); for (String literalYAMLO : literalsYAMLO) { ObjectModelImplRef literalOM = new ObjectModelImplRef(); literalOM.setName(literalYAMLO); enumerationOM.addLiteral(literalOM); } + //package String packageYAMLO = enumerationYAMLO.getFirstMapStringListString(PACKAGE); if (packageYAMLO == null) { enumerationOM.setPackage(packageL); @@ -295,6 +310,7 @@ public void loadParameter(YamlObject parameterYAMLO, ObjectModelParameterImpl parameterOM) { loadElement(parameterYAMLO, parameterOM); + //ordering String orderingYAMLO = parameterYAMLO.getFirstMapStringListString(ORDERING); if (orderingYAMLO == null) { String key = PARAMETER + SEPARATOR + ORDERING; @@ -305,6 +321,7 @@ parameterOM.setOrdering(orderingYAMLO); } + //type String typeYAMLO = parameterYAMLO.getFirstMapStringListString(TYPE); if (typeYAMLO == null) { String key = PARAMETER + SEPARATOR + TYPE; @@ -315,6 +332,7 @@ parameterOM.setType(typeYAMLO); } + //defaultValues String defaultValueYAMLO = parameterYAMLO.getFirstMapStringListString(DEFAULT_VALUE); if (defaultValueYAMLO == null) { String key = PARAMETER + SEPARATOR + DEFAULT_VALUE; @@ -325,6 +343,7 @@ parameterOM.setDefaultValue(defaultValueYAMLO); } + //minMultiplicity String minMultiplicityYAMLO = parameterYAMLO.getFirstMapStringListString(MIN_MULTIPLICITY); if (minMultiplicityYAMLO == null) { String key = PARAMETER + SEPARATOR + MIN_MULTIPLICITY; @@ -335,6 +354,7 @@ parameterOM.setMinMultiplicity(Integer.valueOf(minMultiplicityYAMLO)); } + //maxMultiplicity String maxMultiplicityYAMLO = parameterYAMLO.getFirstMapStringListString(MAX_MULTIPLICITY); if (maxMultiplicityYAMLO == null) { String key = PARAMETER + SEPARATOR + MAX_MULTIPLICITY; @@ -346,6 +366,7 @@ } + //ordered String orderedYAMLO = parameterYAMLO.getFirstMapStringListString(ORDERED); if (orderedYAMLO == null) { String key = PARAMETER + SEPARATOR + ORDERED; @@ -356,6 +377,7 @@ parameterOM.setOrdered(Boolean.valueOf(orderedYAMLO)); } + //unique String uniqueYAMLO = parameterYAMLO.getFirstMapStringListString(UNIQUE); if (uniqueYAMLO == null) { String key = PARAMETER + SEPARATOR + UNIQUE; @@ -370,6 +392,7 @@ public void loadAttribute(YamlObject attributeYAMLO, ObjectModelAttributeImpl attributeOM) { loadParameter(attributeYAMLO, attributeOM); + //navigable String navigableYAMLO = attributeYAMLO.getFirstMapStringListString(NAVIGABLE); if (navigableYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + NAVIGABLE; @@ -380,6 +403,7 @@ attributeOM.setNavigable(Boolean.valueOf(navigableYAMLO)); } + //associationType String associationTypeYAMLO = attributeYAMLO.getFirstMapStringListString(ASSOCIATION_TYPE); if (associationTypeYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + ASSOCIATION_TYPE; @@ -390,6 +414,7 @@ attributeOM.setAssociationType(associationTypeYAMLO); } + //final String finalYAMLO = attributeYAMLO.getFirstMapStringListString(FINAL); if (finalYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + FINAL; @@ -400,6 +425,7 @@ attributeOM.setFinal(Boolean.valueOf(finalYAMLO)); } + //static String staticYAMLO = attributeYAMLO.getFirstMapStringListString(STATIC); if (staticYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + STATIC; @@ -410,6 +436,7 @@ attributeOM.setStatic(Boolean.valueOf(staticYAMLO)); } + //associationClassName String associationClassNameYAMLO = attributeYAMLO.getFirstMapStringListString(ASSOCIATION_CLASS_NAME); if (associationClassNameYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + ASSOCIATION_CLASS_NAME; @@ -420,6 +447,7 @@ attributeOM.setAssociationClassName(associationClassNameYAMLO); } + //reverseAttributeName String reverseAttributeNameYAMLO = attributeYAMLO.getFirstMapStringListString(REVERSE_ATTRIBUTE_NAME); if (reverseAttributeNameYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + REVERSE_ATTRIBUTE_NAME; @@ -430,6 +458,7 @@ attributeOM.setReverseAttributeName(reverseAttributeNameYAMLO); } + //reverseMaxMultiplicity String reverseMaxMultiplicityYAMLO = attributeYAMLO.getFirstMapStringListString(REVERSE_MAX_MULTIPLICITY); if (reverseMaxMultiplicityYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + REVERSE_MAX_MULTIPLICITY; @@ -440,6 +469,7 @@ attributeOM.setReverseMaxMultiplicity(Integer.valueOf(reverseMaxMultiplicityYAMLO)); } + //transient String transientYAMLO = attributeYAMLO.getFirstMapStringListString(TRANSIENT); if (transientYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + TRANSIENT; @@ -450,6 +480,7 @@ attributeOM.setTransient(Boolean.valueOf(transientYAMLO)); } + //visibility String visibilityYAMLO = attributeYAMLO.getFirstMapStringListString(VISIBILITY); if (visibilityYAMLO == null) { String key = ATTRIBUTE + SEPARATOR + VISIBILITY; @@ -464,6 +495,7 @@ public void loadOperation(YamlObject operationYAMLO, ObjectModelOperationImpl operationOM) { loadElement(operationYAMLO, operationOM); + //abstract String abstractYAMLO = operationYAMLO.getFirstMapStringListString(ABSTRACT); if (abstractYAMLO == null) { String key = OPERATION + SEPARATOR + ABSTRACT; @@ -474,6 +506,7 @@ operationOM.setAbstract(Boolean.valueOf(abstractYAMLO)); } + //visibility String visibilityYAMLO = operationYAMLO.getFirstMapStringListString(VISIBILITY); if (visibilityYAMLO == null) { String key = OPERATION + SEPARATOR + VISIBILITY; @@ -484,18 +517,21 @@ operationOM.setVisibility(visibilityYAMLO); } + //returnParameter for (YamlObject returnParameterYAMLO : operationYAMLO.getMapStringListYamlObject(RETURN_PARAMETER)) { ObjectModelParameterImpl returnParameterOM = new ObjectModelAttributeImpl(); loadParameter(returnParameterYAMLO, returnParameterOM); operationOM.setReturnParameter(returnParameterOM); } + //parameter for (YamlObject parameterYAMLO : operationYAMLO.getMapStringListYamlObject(PARAMETER)) { ObjectModelParameterImpl parameterOM = new ObjectModelAttributeImpl(); loadParameter(parameterYAMLO, parameterOM); operationOM.addParameter(parameterOM); } + //bodyCode String bodyCodeYAMLO = operationYAMLO.getFirstMapStringListString(BODY_CODE); if (bodyCodeYAMLO == null) { String key = OPERATION + SEPARATOR + BODY_CODE; Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadYamlFile.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadYamlFile.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/LoadYamlFile.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -24,6 +24,7 @@ } public void loadFile(File file, ObjectModel model) throws IOException { + //parse le fichier YAML InputStream inputModel = new FileInputStream(file); Object modelYAML = yaml.load(inputModel); inputModel.close(); @@ -31,6 +32,7 @@ ObjectModelImpl modelOM = (ObjectModelImpl) model; YamlObject modelYAMLO = new YamlObject(); + //recherche la version Object version = null; String syntaxeVersion = "0"; String defaultVersion = "0"; @@ -50,6 +52,7 @@ defaultVersion = YamlUtil.afterChar(String.valueOf(version), '.'); } + //charge le modele en fonction de la version if (syntaxeVersion.equals("1")) { SyntaxePureYaml.loadYamlObject(modelYAML, modelYAMLO); } else if (syntaxeVersion.equals("2")) { Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserPureYaml.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserPureYaml.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserPureYaml.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -10,6 +10,7 @@ */ public class ParserPureYaml { + //charge recursivement le modelYAML dans le modelYAMLO public static void parseModel(Object modelYAML, YamlObject modelYAMLO) { if (modelYAML instanceof List) { for (Object tmp1 : (List) modelYAML) { Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserUserFriendly.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserUserFriendly.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/ParserUserFriendly.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -49,7 +49,6 @@ if (key.equals(IMPORTS)) { if (value instanceof List) { for (Object imp : (List) value) { - //modelYAMLO.addStringToMap(IMPORTS,String.valueOf(imp)); importsE.put(YamlUtil.afterChar(String.valueOf(imp), '.'), String.valueOf(imp)); } } @@ -166,7 +165,6 @@ } } - //TODO: factoriser le code (classifier) public void parseInterface(String key, Object value, YamlObject interfaceYAMLO) { List<String> interfacePARSE = YamlUtil.charParseIgnore(key, ' ', '<', '>'); if (interfacePARSE.contains(INTERFACE)) { @@ -310,7 +308,7 @@ } if (value instanceof Map) { - //TODO: utiliser variable locales pour plus de clartee + //TODO: utiliser variable locales if (((Map) value).containsKey(PARTICIPANT)) { if (((Map) value).get(PARTICIPANT) instanceof Map) { for (Object entry : ((Map) ((Map) value).get(PARTICIPANT)).entrySet()) { @@ -405,16 +403,16 @@ } if (value instanceof Map) { - //TODO: utiliser variable locales pour plus de clartee - if (((Map) value).containsKey(LITERAL)) { - if (((Map) value).get(LITERAL) instanceof Map) { - for (Object entry : ((Map) ((Map) value).get(LITERAL)).entrySet()) { + //TODO: utiliser variable locales + if (((Map) value).containsKey(LITERALS)) { + if (((Map) value).get(LITERALS) instanceof Map) { + for (Object entry : ((Map) ((Map) value).get(LITERALS)).entrySet()) { if (entry instanceof Map.Entry) { - enumerationYAMLO.addStringToMap(LITERAL, String.valueOf(((Map.Entry) entry).getKey())); + enumerationYAMLO.addStringToMap(LITERALS, String.valueOf(((Map.Entry) entry).getKey())); } } } - ((Map) value).remove(LITERAL); + ((Map) value).remove(LITERALS); } } @@ -687,7 +685,7 @@ } return res.toString(); } - + // String -> java.lang.String public String resolveType(String type) { List<Character> ignore = new LinkedList<Character>(); ignore.add(' '); Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/SyntaxePureYaml.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/SyntaxePureYaml.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/SyntaxePureYaml.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -5,6 +5,7 @@ * Date: 30/05/13 * Time: 11:23 */ +//TODO: interface Syntaxe pour futures syntaxes public class SyntaxePureYaml { public static void loadYamlObject(Object modelYAML, YamlObject modelYAMLO) { Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlObject.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlObject.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlObject.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -9,11 +9,15 @@ * User: agiraudet * Date: 28/05/13 * Time: 16:41 + * + * le YamlObject est un objet intermédiaire et très laxiste, pouvant s'adapter à d'éventuelles évolutions + * (en cas d'évolutions de la syntaxe YAML ou de l'ObjectModel, les modifications permettant de conserver les interactions seront légères) + * */ public class YamlObject { protected Map<String, List<String>> mapStringListString; protected Map<String, List<YamlObject>> mapStringListYamlObject; - //TODO: améliorer nom méthodes + //TODO: améliorer noms méthodes public YamlObject() { mapStringListString = new LinkedHashMap<String, List<String>>(); @@ -80,7 +84,7 @@ return mapStringListYamlObject.get(key); } } - //return null; + //return null;//permet parcours return new LinkedList<YamlObject>(); } @@ -90,7 +94,7 @@ return mapStringListString.get(key); } } - //return null; + //return null;//permet parcours return new LinkedList<String>(); } @@ -189,11 +193,9 @@ } for (Map.Entry<String, List<YamlObject>> entry : mapStringListYamlObject.entrySet()) { for (YamlObject yobj : entry.getValue()) { - //test temporaire if (yobj != null) { res.append(indentation).append(entry.getKey()).append(":\n").append(yobj.toString(" " + indentation)).append("\n"); } - //test } } return res.toString(); Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlUtil.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/yaml/YamlUtil.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -96,6 +96,7 @@ } } + //decoupe une chaine par le caractere passe en parametre public static List<String> charParse(String str, Character target) { LinkedList<String> res = new LinkedList<String>(); StringBuilder tmp = new StringBuilder(str.length() + 1);//+1 utile en Java ? != C @@ -140,6 +141,7 @@ return res; } + //permet de parser une chaine en ignorant les parentheses par exemple public static List<String> charParseIgnore(String str, Character target, Character ignoreStart, Character ignoreEnd) { LinkedList<String> res = new LinkedList<String>(); StringBuilder tmp = new StringBuilder(str.length() + 1);//+1 utile en Java ? != C @@ -208,6 +210,7 @@ return res.toString(); } + //extrait une chaine delimitee par les caracteres en parametres public static String extract(Character start, Character end, String str) { StringBuilder tmp = new StringBuilder(str.length() + 1); boolean start_end = false; Added: trunk/eugene-plantuml-templates/src/resources/images/Pollen.png =================================================================== (Binary files differ) Property changes on: trunk/eugene-plantuml-templates/src/resources/images/Pollen.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/eugene-plantuml-templates/src/resources/images/legend1.png =================================================================== (Binary files differ) Property changes on: trunk/eugene-plantuml-templates/src/resources/images/legend1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/eugene-plantuml-templates/src/resources/images/legend2.png =================================================================== (Binary files differ) Property changes on: trunk/eugene-plantuml-templates/src/resources/images/legend2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/eugene-plantuml-templates/src/resources/images/legend3.png =================================================================== (Binary files differ) Property changes on: trunk/eugene-plantuml-templates/src/resources/images/legend3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst =================================================================== --- trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst 2013-06-14 15:43:32 UTC (rev 1279) @@ -31,17 +31,17 @@ Présentation ------------ -Le plugin *eugene-plantuml-templates* est un template permettant de générer un diagramme de classes `PlantUML` à partir d'un `ObjectModel` au moment de l'installation d'un projet. -`PlantUML` utilise Graphviz lors de la génération d'images, si vous ne pouvez pas installer `Graphviz`, le `PlantUML Server` permet de générer des diagrammes en ligne. +Le plugin *eugene-plantuml-templates* est un template permettant de générer un diagramme de classes `PlantUML`_ à partir d'un `ObjectModel`_ au moment de l'installation d'un projet. +`PlantUML`_ utilise Graphviz lors de la génération d'images, si vous ne pouvez pas installer `Graphviz`_, le `PlantUML Server`_ permet de générer des diagrammes en ligne. Démonstration ----------------------------- -Voici un exemple d'utilisation du plugin *eugene-plantuml-templates* avec le projet `Pollen`. +Voici un exemple d'utilisation du plugin *eugene-plantuml-templates* avec le projet `Pollen`_. Ajouter le template dans le pom.xml ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Après avoir récupéré les sources du projet `Pollen`, on ajoute le template PlantUML au fichier pollen-persistence/pom.xml (sans oublier la virgule pour séparer les templates):: +Après avoir récupéré les sources du projet `Pollen`_, on ajoute le template PlantUML au fichier pollen-persistence/pom.xml (sans oublier la virgule pour séparer les templates):: <templates> org.nuiton.topia.generator.TopiaMetaTransformer, @@ -52,29 +52,36 @@ Installation du projet ~~~~~~~~~~~~~~~~~~~~~~ On lance ensuite l'installation avec la commande:: + pollen$ mvn install + La ligne suivante devrait apparaitre lors de l'installation:: + [INFO] Apply generator PlantumlTemplatesGenerator" Résultat ~~~~~~~~ Le diagramme de classe se trouve dans le répertoire pollen-persistence/target/classes (ou pollen-persistence/target/generated-sources/java): -Pollen.plantuml est la représentation textuelle du modèle en `PlantUML` -Pollen.png est l'image générée par `PlantUML` à partir du fichier Pollen.plantuml -Pour générer le diagramme à partir du `PlantUML Server`, il suffit de copier le contenu du fichier Pollen.plantuml dans le formulaire du site et d'envoyer. +Pollen.plantuml est la représentation textuelle du modèle en `PlantUML`_ +Pollen.png est l'image générée par `PlantUML`_ à partir du fichier Pollen.plantuml +Pour générer le diagramme à partir du `PlantUML Server`_, il suffit de copier le contenu du fichier Pollen.plantuml dans le formulaire du site et d'envoyer. Voici à quoi devrait ressembler le diagramme: + .. image:: ../images/Pollen.png Légende ~~~~~~~ Visibilité: + .. image:: ../images/legend1.png Abstract & Static: + .. image:: ../images/legend2.png Relations: + .. image:: ../images/legend3.png .. _PlantUML : http://plantuml.sourceforge.net/index.html Modified: trunk/eugene-yaml-templates/src/main/java/org/nuiton/eugene/yaml/UserFriendlyTemplatesGenerator.java =================================================================== --- trunk/eugene-yaml-templates/src/main/java/org/nuiton/eugene/yaml/UserFriendlyTemplatesGenerator.java 2013-06-14 14:23:53 UTC (rev 1278) +++ trunk/eugene-yaml-templates/src/main/java/org/nuiton/eugene/yaml/UserFriendlyTemplatesGenerator.java 2013-06-14 15:43:32 UTC (rev 1279) @@ -16,7 +16,7 @@ @Override public void generateFromModel(Writer output, ObjectModel input) throws IOException { - ;//TODO: + ;//TODO } @Override