This is an automated email from the git hooks/post-receive script. New commit to branch feature/editor in repository eugene. See https://gitlab.nuiton.org/nuiton/eugene.git commit 6c6747b174da7fec53993cb989ada8f791820106 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 26 12:29:09 2016 +0200 Rethink stereotypes and tag values API (See #4042) --- .../EugeneEditorApplicationContext.java | 10 +- .../editor/application/ModelExtensionHelper.java | 167 ++++++++++----------- .../editor/application/ui/ContentUIManager.java | 6 +- .../application/ui/content/ContentUIHandler.java | 28 ++-- .../ui/tree/EugeneEditorTreeSelectionModel.java | 6 +- .../application/ui/tree/node/NodeSupport.java | 6 +- .../eugene/editor/plugin/EugeneEditorMojo.java | 37 +++-- 7 files changed, 130 insertions(+), 130 deletions(-) diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/EugeneEditorApplicationContext.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/EugeneEditorApplicationContext.java index d23a2e9..26d8bc3 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/EugeneEditorApplicationContext.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/EugeneEditorApplicationContext.java @@ -1,9 +1,9 @@ package org.nuiton.eugene.editor.application; import org.nuiton.eugene.editor.application.config.EugeneEditorConfig; +import org.nuiton.eugene.models.extension.stereotype.provider.AggregateStereotypeMetadatasProvider; +import org.nuiton.eugene.models.extension.tagvalue.provider.AggregateTagValueMetadatasProvider; import org.nuiton.eugene.models.object.ObjectModel; -import org.nuiton.eugene.models.stereotype.AggregateStereotypeDefinitionProvider; -import org.nuiton.eugene.models.tagvalue.AggregateTagValueDefinitionProvider; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.DefaultI18nInitializer; @@ -27,15 +27,15 @@ public class EugeneEditorApplicationContext { public EugeneEditorApplicationContext(EugeneEditorConfig config, ClassLoader classLoader, - AggregateTagValueDefinitionProvider tagValueDefinitionProvider, - AggregateStereotypeDefinitionProvider stereotypeDefinitionProvider, + AggregateTagValueMetadatasProvider tagValueMetadatasProvider, + AggregateStereotypeMetadatasProvider stereotypeMetadatasProvider, ObjectModel objectModel) { I18n.init(new DefaultI18nInitializer("EugeneEditor-i18n"), Locale.FRANCE); this.config = config; this.classLoader = classLoader; - this.modelExtensionHelper = new ModelExtensionHelper(tagValueDefinitionProvider, stereotypeDefinitionProvider); + this.modelExtensionHelper = new ModelExtensionHelper(tagValueMetadatasProvider, stereotypeMetadatasProvider); this.modelHelper = new ModelHelper(objectModel); this.objectModel = objectModel; this.lock = new Object(); diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ModelExtensionHelper.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ModelExtensionHelper.java index a2451b5..ffab245 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ModelExtensionHelper.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ModelExtensionHelper.java @@ -1,5 +1,11 @@ package org.nuiton.eugene.editor.application; +import org.nuiton.eugene.models.extension.stereotype.StereotypeMetadata; +import org.nuiton.eugene.models.extension.stereotype.provider.AggregateStereotypeMetadatasProvider; +import org.nuiton.eugene.models.extension.stereotype.provider.StereotypeMetadatasProvider; +import org.nuiton.eugene.models.extension.tagvalue.TagValueMetadata; +import org.nuiton.eugene.models.extension.tagvalue.provider.AggregateTagValueMetadatasProvider; +import org.nuiton.eugene.models.extension.tagvalue.provider.TagValueMetadatasProvider; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.ObjectModelAttribute; import org.nuiton.eugene.models.object.ObjectModelClassifier; @@ -7,14 +13,7 @@ import org.nuiton.eugene.models.object.ObjectModelEnumeration; import org.nuiton.eugene.models.object.ObjectModelInterface; import org.nuiton.eugene.models.object.ObjectModelOperation; import org.nuiton.eugene.models.object.ObjectModelPackage; -import org.nuiton.eugene.models.stereotype.AggregateStereotypeDefinitionProvider; -import org.nuiton.eugene.models.stereotype.StereotypeDefinition; -import org.nuiton.eugene.models.stereotype.StereotypeDefinitionProvider; -import org.nuiton.eugene.models.tagvalue.AggregateTagValueDefinitionProvider; -import org.nuiton.eugene.models.tagvalue.TagValueDefinition; -import org.nuiton.eugene.models.tagvalue.TagValueDefinitionProvider; - -import java.util.Arrays; + import java.util.Map; import java.util.Set; import java.util.TreeMap; @@ -27,132 +26,132 @@ import java.util.stream.Collectors; */ public class ModelExtensionHelper { - private final AggregateTagValueDefinitionProvider tagValueDefinitionProvider; - private final AggregateStereotypeDefinitionProvider stereotypeDefinitionProvider; - - private final Map<String, TagValueDefinition> modelTagValues; - private final Map<String, TagValueDefinition> packageTagValues; - private final Map<String, TagValueDefinition> classTagValues; - private final Map<String, TagValueDefinition> interfaceTagValues; - private final Map<String, TagValueDefinition> enumerationTagValues; - private final Map<String, TagValueDefinition> attributeTagValues; - private final Map<String, TagValueDefinition> operationTagValues; - - private final Map<String, StereotypeDefinition> modelStereotypes; - private final Map<String, StereotypeDefinition> packageStereotypes; - private final Map<String, StereotypeDefinition> classStereotypes; - private final Map<String, StereotypeDefinition> interfaceStereotypes; - private final Map<String, StereotypeDefinition> enumerationStereotypes; - private final Map<String, StereotypeDefinition> attributeStereotypes; - private final Map<String, StereotypeDefinition> operationStereotypes; - - public ModelExtensionHelper(AggregateTagValueDefinitionProvider tagValueDefinitionProvider, - AggregateStereotypeDefinitionProvider stereotypeDefinitionProvider) { - this.tagValueDefinitionProvider = tagValueDefinitionProvider; - this.stereotypeDefinitionProvider = stereotypeDefinitionProvider; - this.modelStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModel.class); - this.packageStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModelPackage.class); - this.classStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModelClassifier.class); - this.interfaceStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModelInterface.class); - this.enumerationStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModelEnumeration.class); - this.attributeStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModelAttribute.class); - this.operationStereotypes = filterStereotypes(stereotypeDefinitionProvider, ObjectModelOperation.class); - this.modelTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModel.class); - this.packageTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModelPackage.class); - this.classTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModelClassifier.class); - this.interfaceTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModelInterface.class); - this.enumerationTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModelEnumeration.class); - this.attributeTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModelAttribute.class); - this.operationTagValues = filterTagValues(tagValueDefinitionProvider, ObjectModelOperation.class); - - } - - public AggregateTagValueDefinitionProvider getTagValueDefinitionProvider() { - return tagValueDefinitionProvider; - } - - public AggregateStereotypeDefinitionProvider getStereotypeDefinitionProvider() { - return stereotypeDefinitionProvider; - } - - public Map<String, StereotypeDefinition> getModelStereotypes() { + private final AggregateTagValueMetadatasProvider tagValueMetadatasProvider; + private final AggregateStereotypeMetadatasProvider stereotypeMetadatasProvider; + + private final Map<String, TagValueMetadata> modelTagValues; + private final Map<String, TagValueMetadata> packageTagValues; + private final Map<String, TagValueMetadata> classTagValues; + private final Map<String, TagValueMetadata> interfaceTagValues; + private final Map<String, TagValueMetadata> enumerationTagValues; + private final Map<String, TagValueMetadata> attributeTagValues; + private final Map<String, TagValueMetadata> operationTagValues; + + private final Map<String, StereotypeMetadata> modelStereotypes; + private final Map<String, StereotypeMetadata> packageStereotypes; + private final Map<String, StereotypeMetadata> classStereotypes; + private final Map<String, StereotypeMetadata> interfaceStereotypes; + private final Map<String, StereotypeMetadata> enumerationStereotypes; + private final Map<String, StereotypeMetadata> attributeStereotypes; + private final Map<String, StereotypeMetadata> operationStereotypes; + + public ModelExtensionHelper(AggregateTagValueMetadatasProvider tagValueMetadatasProvider, + AggregateStereotypeMetadatasProvider stereotypeMetadatasProvider) { + this.tagValueMetadatasProvider = tagValueMetadatasProvider; + this.stereotypeMetadatasProvider = stereotypeMetadatasProvider; + this.modelStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModel.class); + this.packageStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModelPackage.class); + this.classStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModelClassifier.class); + this.interfaceStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModelInterface.class); + this.enumerationStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModelEnumeration.class); + this.attributeStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModelAttribute.class); + this.operationStereotypes = filterStereotypes(stereotypeMetadatasProvider, ObjectModelOperation.class); + this.modelTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModel.class); + this.packageTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModelPackage.class); + this.classTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModelClassifier.class); + this.interfaceTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModelInterface.class); + this.enumerationTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModelEnumeration.class); + this.attributeTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModelAttribute.class); + this.operationTagValues = filterTagValues(tagValueMetadatasProvider, ObjectModelOperation.class); + + } + + public AggregateTagValueMetadatasProvider getTagValueMetadatasProvider() { + return tagValueMetadatasProvider; + } + + public AggregateStereotypeMetadatasProvider getStereotypeMetadatasProvider() { + return stereotypeMetadatasProvider; + } + + public Map<String, StereotypeMetadata> getModelStereotypes() { return modelStereotypes; } - public Map<String, StereotypeDefinition> getPackageStereotypes() { + public Map<String, StereotypeMetadata> getPackageStereotypes() { return packageStereotypes; } - public Map<String, StereotypeDefinition> getClassStereotypes() { + public Map<String, StereotypeMetadata> getClassStereotypes() { return classStereotypes; } - public Map<String, StereotypeDefinition> getInterfaceStereotypes() { + public Map<String, StereotypeMetadata> getInterfaceStereotypes() { return interfaceStereotypes; } - public Map<String, StereotypeDefinition> getEnumerationStereotypes() { + public Map<String, StereotypeMetadata> getEnumerationStereotypes() { return enumerationStereotypes; } - public Map<String, StereotypeDefinition> getAttributeStereotypes() { + public Map<String, StereotypeMetadata> getAttributeStereotypes() { return attributeStereotypes; } - public Map<String, StereotypeDefinition> getOperationStereotypes() { + public Map<String, StereotypeMetadata> getOperationStereotypes() { return operationStereotypes; } - public Map<String, TagValueDefinition> getModelTagValues() { + public Map<String, TagValueMetadata> getModelTagValues() { return modelTagValues; } - public Map<String, TagValueDefinition> getPackageTagValues() { + public Map<String, TagValueMetadata> getPackageTagValues() { return packageTagValues; } - public Map<String, TagValueDefinition> getClassTagValues() { + public Map<String, TagValueMetadata> getClassTagValues() { return classTagValues; } - public Map<String, TagValueDefinition> getInterfaceTagValues() { + public Map<String, TagValueMetadata> getInterfaceTagValues() { return interfaceTagValues; } - public Map<String, TagValueDefinition> getEnumerationTagValues() { + public Map<String, TagValueMetadata> getEnumerationTagValues() { return enumerationTagValues; } - public Map<String, TagValueDefinition> getAttributeTagValues() { + public Map<String, TagValueMetadata> getAttributeTagValues() { return attributeTagValues; } - public Map<String, TagValueDefinition> getOperationTagValues() { + public Map<String, TagValueMetadata> getOperationTagValues() { return operationTagValues; } - protected <O> Map<String, StereotypeDefinition> filterStereotypes(AggregateStereotypeDefinitionProvider stereotypeDefinitionProvider, Class<O> type) { + protected <O> Map<String, StereotypeMetadata> filterStereotypes(AggregateStereotypeMetadatasProvider stereotypeMetadatasProvider, Class<O> type) { - Map<String, StereotypeDefinition> allDefinitions = new TreeMap<>(); - for (StereotypeDefinitionProvider definitionProvider : stereotypeDefinitionProvider) { + Map<String, StereotypeMetadata> allDefinitions = new TreeMap<>(); + for (StereotypeMetadatasProvider definitionProvider : stereotypeMetadatasProvider) { - Set<Map.Entry<String, StereotypeDefinition>> definitions = definitionProvider.getDefinition().entrySet().stream() - .filter(d -> Arrays.asList(d.getValue().target()).contains(type)) - .collect(Collectors.toSet()); - definitions.forEach(e -> allDefinitions.put(e.getKey(), e.getValue())); + Set<StereotypeMetadata> definitions = definitionProvider.getStereotypes().stream() + .filter(d -> d.getTargets().contains(type)) + .collect(Collectors.toSet()); + definitions.forEach(e -> allDefinitions.put(e.getName(), e)); } return allDefinitions; } - protected <O> Map<String, TagValueDefinition> filterTagValues(AggregateTagValueDefinitionProvider tagValueDefinitionProvider, Class<O> type) { + protected <O> Map<String, TagValueMetadata> filterTagValues(AggregateTagValueMetadatasProvider tagValueMetadatasProvider, Class<O> type) { - Map<String, TagValueDefinition> allDefinitions = new TreeMap<>(); - for (TagValueDefinitionProvider definitionProvider : tagValueDefinitionProvider) { + Map<String, TagValueMetadata> allDefinitions = new TreeMap<>(); + for (TagValueMetadatasProvider definitionProvider : tagValueMetadatasProvider) { - Set<Map.Entry<String, TagValueDefinition>> definitions = definitionProvider.getDefinition().entrySet().stream() - .filter(d -> Arrays.asList(d.getValue().target()).contains(type)) - .collect(Collectors.toSet()); - definitions.forEach(e -> allDefinitions.put(e.getKey(), e.getValue())); + Set<TagValueMetadata> definitions = definitionProvider.getTagValues().stream() + .filter(d -> d.getTargets().contains(type)) + .collect(Collectors.toSet()); + definitions.forEach(e -> allDefinitions.put(e.getName(), e)); } return allDefinitions; } diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/ContentUIManager.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/ContentUIManager.java index 7089661..69c0a08 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/ContentUIManager.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/ContentUIManager.java @@ -16,8 +16,8 @@ import org.nuiton.eugene.editor.application.ui.tree.node.ModelNode; import org.nuiton.eugene.editor.application.ui.tree.node.NodeSupport; import org.nuiton.eugene.editor.application.ui.tree.node.OperationNode; import org.nuiton.eugene.editor.application.ui.tree.node.PackageNode; -import org.nuiton.eugene.models.stereotype.StereotypeAble; -import org.nuiton.eugene.models.tagvalue.TagValueAble; +import org.nuiton.eugene.models.extension.stereotype.WithStereotypes; +import org.nuiton.eugene.models.extension.tagvalue.WithTagValues; import java.util.Collections; import java.util.Map; @@ -50,7 +50,7 @@ public class ContentUIManager { } - public <M extends StereotypeAble & TagValueAble, N extends NodeSupport<M>> ContentUI<N> getContent(N node) { + public <M extends WithStereotypes & WithTagValues, N extends NodeSupport<M>> ContentUI<N> getContent(N node) { Objects.requireNonNull(node); return contents.get(node.getClass().getName()); } diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/content/ContentUIHandler.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/content/ContentUIHandler.java index a7db6d9..48bd69f 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/content/ContentUIHandler.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/content/ContentUIHandler.java @@ -4,10 +4,10 @@ import jaxx.runtime.SwingUtil; import jaxx.runtime.spi.UIHandler; import org.nuiton.eugene.editor.application.EugeneEditorApplicationContext; import org.nuiton.eugene.editor.application.ui.tree.node.NodeSupport; -import org.nuiton.eugene.models.stereotype.StereotypeAble; -import org.nuiton.eugene.models.stereotype.StereotypeDefinition; -import org.nuiton.eugene.models.tagvalue.TagValueAble; -import org.nuiton.eugene.models.tagvalue.TagValueDefinition; +import org.nuiton.eugene.models.extension.stereotype.StereotypeMetadata; +import org.nuiton.eugene.models.extension.stereotype.WithStereotypes; +import org.nuiton.eugene.models.extension.tagvalue.TagValueMetadata; +import org.nuiton.eugene.models.extension.tagvalue.WithTagValues; import javax.swing.JCheckBox; import javax.swing.JLabel; @@ -20,12 +20,14 @@ import java.util.List; import java.util.Map; import java.util.Set; +import static org.nuiton.i18n.I18n.t; + /** * Created on 16/09/16. * * @author Tony Chemit - chemit@codelutin.com */ -public abstract class ContentUIHandler<X extends StereotypeAble & TagValueAble, M extends NodeSupport<X>, U extends ContentUI<M>> implements UIHandler<U> { +public abstract class ContentUIHandler<X extends WithStereotypes & WithTagValues, M extends NodeSupport<X>, U extends ContentUI<M>> implements UIHandler<U> { protected void open(U ui, M model) { Set<String> stereotypes = model.getStereotypes(); @@ -34,7 +36,7 @@ public abstract class ContentUIHandler<X extends StereotypeAble & TagValueAble, ui.setModel(model); JPanel stereotypesPanel = ui.getStereotypes(); - Map<String, StereotypeDefinition> stereotyps = (Map) stereotypesPanel.getClientProperty("stereotypes"); + Map<String, StereotypeMetadata> stereotyps = (Map) stereotypesPanel.getClientProperty("stereotypes"); if (stereotyps != null) { @@ -57,7 +59,7 @@ public abstract class ContentUIHandler<X extends StereotypeAble & TagValueAble, } JPanel tagValuesPanel = ui.getTagValues(); - Map<String, TagValueDefinition> tags = (Map) tagValuesPanel.getClientProperty("tagValues"); + Map<String, TagValueMetadata> tags = (Map) tagValuesPanel.getClientProperty("tagValues"); if (tags != null) { @@ -84,8 +86,8 @@ public abstract class ContentUIHandler<X extends StereotypeAble & TagValueAble, } protected void afterInit(U ui, - Map<String, TagValueDefinition> availableTagValues, - Map<String, StereotypeDefinition> availableStereotypes) { + Map<String, TagValueMetadata> availableTagValues, + Map<String, StereotypeMetadata> availableStereotypes) { Map<String, Object> $objectMap = ui.get$objectMap(); if (!availableStereotypes.isEmpty()) { @@ -94,11 +96,11 @@ public abstract class ContentUIHandler<X extends StereotypeAble & TagValueAble, stereotypes.putClientProperty("stereotypes", availableStereotypes); stereotypes.setLayout(new GridLayout(1, 0)); stereotypes.removeAll(); - for (Map.Entry<String, StereotypeDefinition> entry : availableStereotypes.entrySet()) { + for (Map.Entry<String, StereotypeMetadata> entry : availableStereotypes.entrySet()) { String stereotype = entry.getKey(); JCheckBox b = new JCheckBox(); b.setText(stereotype); - b.setToolTipText(entry.getValue().documentation()); + b.setToolTipText(t(entry.getValue().getI18nDocumentationKey())); stereotypes.add(b); $objectMap.put("stereotype-" + stereotype, b); } @@ -111,14 +113,14 @@ public abstract class ContentUIHandler<X extends StereotypeAble & TagValueAble, tagValues.setLayout(new GridLayout(0, 2)); tagValues.removeAll(); - for (Map.Entry<String, TagValueDefinition> entry : availableTagValues.entrySet()) { + for (Map.Entry<String, TagValueMetadata> entry : availableTagValues.entrySet()) { JTextField field = new JTextField(); String tagValue = entry.getKey(); JLabel label = new JLabel(tagValue); $objectMap.put("tagValue-" + tagValue, field); - label.setToolTipText(entry.getValue().documentation()); + label.setToolTipText(t(entry.getValue().getI18nDocumentationKey())); label.setLabelFor(field); tagValues.add(label); diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/EugeneEditorTreeSelectionModel.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/EugeneEditorTreeSelectionModel.java index 776baa7..df99538 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/EugeneEditorTreeSelectionModel.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/EugeneEditorTreeSelectionModel.java @@ -4,8 +4,8 @@ import org.nuiton.eugene.editor.application.ui.ContentUIManager; import org.nuiton.eugene.editor.application.ui.EugeneEditorUI; import org.nuiton.eugene.editor.application.ui.content.ContentUI; import org.nuiton.eugene.editor.application.ui.tree.node.NodeSupport; -import org.nuiton.eugene.models.stereotype.StereotypeAble; -import org.nuiton.eugene.models.tagvalue.TagValueAble; +import org.nuiton.eugene.models.extension.stereotype.WithStereotypes; +import org.nuiton.eugene.models.extension.tagvalue.WithTagValues; import javax.swing.JComponent; import javax.swing.JLabel; @@ -81,7 +81,7 @@ public class EugeneEditorTreeSelectionModel extends DefaultTreeSelectionModel { } - protected <M extends StereotypeAble & TagValueAble, N extends NodeSupport<M>> void openNode(N node, ContentUIManager contentUIManager) { + protected <M extends WithStereotypes & WithTagValues, N extends NodeSupport<M>> void openNode(N node, ContentUIManager contentUIManager) { node.removePropertyChangeListener(reloadNodeChangeListener); node.addPropertyChangeListener(reloadNodeChangeListener); diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/node/NodeSupport.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/node/NodeSupport.java index 986db74..22df377 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/node/NodeSupport.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/application/ui/tree/node/NodeSupport.java @@ -5,8 +5,8 @@ import jaxx.runtime.SwingUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.eugene.models.stereotype.StereotypeAble; -import org.nuiton.eugene.models.tagvalue.TagValueAble; +import org.nuiton.eugene.models.extension.stereotype.WithStereotypes; +import org.nuiton.eugene.models.extension.tagvalue.WithTagValues; import org.nuiton.util.beans.BeanMonitor; import javax.swing.Icon; @@ -28,7 +28,7 @@ import java.util.Set; * * @author Tony Chemit - chemit@codelutin.com */ -public abstract class NodeSupport<M extends StereotypeAble & TagValueAble> extends DefaultMutableTreeNode { +public abstract class NodeSupport<M extends WithStereotypes & WithTagValues> extends DefaultMutableTreeNode { /** Logger. */ private static final Log log = LogFactory.getLog(NodeSupport.class); diff --git a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/plugin/EugeneEditorMojo.java b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/plugin/EugeneEditorMojo.java index 74beda9..823c537 100644 --- a/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/plugin/EugeneEditorMojo.java +++ b/eugene-editor-maven-plugin/src/main/java/org/nuiton/eugene/editor/plugin/EugeneEditorMojo.java @@ -10,20 +10,18 @@ import org.nuiton.eugene.ModelReader; import org.nuiton.eugene.editor.application.EugeneEditorApplicationContext; import org.nuiton.eugene.editor.application.config.EugeneEditorConfig; import org.nuiton.eugene.editor.application.ui.EugeneEditorUI; +import org.nuiton.eugene.models.extension.stereotype.provider.AggregateStereotypeMetadatasProvider; +import org.nuiton.eugene.models.extension.stereotype.provider.StereotypeMetadatasProvider; +import org.nuiton.eugene.models.extension.tagvalue.provider.AggregateTagValueMetadatasProvider; +import org.nuiton.eugene.models.extension.tagvalue.provider.TagValueMetadatasProvider; import org.nuiton.eugene.models.object.ObjectModel; import org.nuiton.eugene.models.object.reader.extension.LoadModelExtension; -import org.nuiton.eugene.models.stereotype.AggregateStereotypeDefinitionProvider; -import org.nuiton.eugene.models.stereotype.StereotypeDefinitionProvider; -import org.nuiton.eugene.models.stereotype.StereotypeDefinitionProviders; -import org.nuiton.eugene.models.tagvalue.AggregateTagValueDefinitionProvider; -import org.nuiton.eugene.models.tagvalue.TagValueDefinitionProvider; -import org.nuiton.eugene.models.tagvalue.TagValueDefinitionProviders; import org.nuiton.plugin.AbstractPlugin; import javax.swing.SwingUtilities; import java.io.File; import java.net.URLClassLoader; -import java.util.Map; +import java.util.Set; /** * Laucnh the editor on models detected in project. @@ -55,18 +53,19 @@ public class EugeneEditorMojo extends AbstractPlugin { /** * All available tag value providers introspects via plexus. */ - @Component(role = TagValueDefinitionProvider.class) - protected Map<String, TagValueDefinitionProvider> tagValueDefinitionProviders; + @Component(role = TagValueMetadatasProvider.class) + protected Set<TagValueMetadatasProvider> tagValueMetadatasProviders; /** * All available stereotype providers introspects via plexus. */ - @Component(role = StereotypeDefinitionProvider.class) - protected Map<String, StereotypeDefinitionProvider> stereotypeDefinitionProviders; + @Component(role = StereotypeMetadatasProvider.class) + protected Set<StereotypeMetadatasProvider> stereotypeMetadatasProviders; + @Component(hint = "xmlobjectmodel") protected ModelReader modelReader; protected ObjectModel model; - protected AggregateTagValueDefinitionProvider tagValueDefinitionProvider; - protected AggregateStereotypeDefinitionProvider stereotypeDefinitionProvider; + protected AggregateTagValueMetadatasProvider tagValueMetadatasProvider; + protected AggregateStereotypeMetadatasProvider stereotypeMetadatasProvider; protected ClassLoader contextClassLoader; protected URLClassLoader classLoader; /** @@ -91,12 +90,12 @@ public class EugeneEditorMojo extends AbstractPlugin { contextClassLoader = Thread.currentThread().getContextClassLoader(); classLoader = initClassLoader(getProject(), generatedSourceDirectory, true, false, false, true, true); - tagValueDefinitionProvider = TagValueDefinitionProviders.newProvider(tagValueDefinitionProviders.values(), verbose); - stereotypeDefinitionProvider = StereotypeDefinitionProviders.newProvider(stereotypeDefinitionProviders.values(), verbose); + tagValueMetadatasProvider = new AggregateTagValueMetadatasProvider(tagValueMetadatasProviders); + stereotypeMetadatasProvider = new AggregateStereotypeMetadatasProvider(stereotypeMetadatasProviders); modelReader.setVerbose(verbose); - modelReader.setTagValueDefinitionProvider(tagValueDefinitionProvider); - modelReader.setStereotypeDefinitionProvider(stereotypeDefinitionProvider); + modelReader.setTagValueMetadatasProvider(tagValueMetadatasProvider); + modelReader.setStereotypeMetadatasProvider(stereotypeMetadatasProvider); File[] files = generatedSourceDirectory.listFiles(f -> f.getName().endsWith(".objectmodel")); if (files != null) { @@ -132,8 +131,8 @@ public class EugeneEditorMojo extends AbstractPlugin { EugeneEditorApplicationContext applicationContext = new EugeneEditorApplicationContext( config, classLoader, - tagValueDefinitionProvider, - stereotypeDefinitionProvider, + tagValueMetadatasProvider, + stereotypeMetadatasProvider, model); JAXXInitialContext ctx = new JAXXInitialContext().add(applicationContext); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.