Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CODE_OF_CONDUCT.md1515
-rw-r--r--README.md71
-rw-r--r--SECURITY.md1515
-rwxr-xr-xexamples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/resources/uml.architecture2
-rwxr-xr-xexamples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/Activator.java5
-rwxr-xr-xexamples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/managers/cell/CustomEmptyAxisCellManager.java5
-rwxr-xr-xexamples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/providers/CustomRowHeaderLabelProvider.java5
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/feature.xml4
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/pom.xml12
-rwxr-xr-xfeatures/papyrus-main-features/org.eclipse.papyrus.infra.textedit.feature/feature.xml6
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.properties4
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.xml2
-rw-r--r--features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/pom.xml2
-rw-r--r--features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml7
-rw-r--r--features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/feature.xml2
-rw-r--r--features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/pom.xml2
-rw-r--r--features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml7
-rw-r--r--plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/images/devDoc/Papyrus_ProblemsViewProperties.pngbin0 -> 214024 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki56
-rw-r--r--plugins/facet/editor/org.eclipse.papyrus.emf.facet.custom.metamodel.editor/plugin.xml2
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/pom.xml4
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/AbstractArchitectureDescriptionAdapter.java64
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapter.java45
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapterUtils.java71
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionSnippet.java30
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.editor/plugin.xml4
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties17
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel3
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java50
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java50
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java106
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java30
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java10
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java95
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java106
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/RecursionGuard.java120
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java41
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java525
-rwxr-xr-xplugins/infra/emf/expressions/org.eclipse.papyrus.infra.emf.expressions.editor/plugin.xml2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/databinding/EObjectObservableValueEditingSupport.java19
-rwxr-xr-xplugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/ArchitectureFrameworkCustomizationManagerUpdater.java7
-rwxr-xr-xplugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/WorskpaceCustomizationUpdater.java29
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.editor/plugin.xml2
-rw-r--r--plugins/infra/gmfdiag/expansion/org.eclipse.papyrus.infra.gmfdiag.expansion.editor/plugin.xml2
-rwxr-xr-xplugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/service/ProviderServiceUtil.java52
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/DiagramUtils.java18
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/src/org/eclipse/papyrus/infra/gmfdiag/menu/handlers/PasteInDiagramHandler.java6
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/pom.xml2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/GetContainedDiagrams.java10
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/IsDiagramContainer.java8
-rw-r--r--plugins/infra/gmfdiag/paletteconfiguration/org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.editor/plugin.xml2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.model.editor/plugin.xml2
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/plugin.xml2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/.classpath1
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/build.properties2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gifbin367 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gifbin590 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gifbin353 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gifbin225 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gifbin562 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gifbin576 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gifbin576 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gifbin621 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gifbin589 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gifbin576 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gifbin367 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gifbin353 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ReferenceAttribute.gifbin311 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_StandardWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_UnknownElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_ValueAttribute.gifbin205 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_compositeWidgetTypes_CompositeWidgetType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_constraintTypes_ConstraintType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_contexts_Context.gifbin584 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_layoutTypes_LayoutType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_miscClasses_MiscClass.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_modelElementFactories_ModelElementFactoryDescriptor.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_namespaces_Namespace.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_propertyEditorTypes_PropertyEditorType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateEnvironment_widgetTypes_StandardWidgetType.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreatePropertyEditor_unresolvedProperty_UnknownProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_CompositeWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_Layout.gifbin367 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_PropertyEditor.gifbin353 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_StandardWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UIComponent.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownComponent.gifbin562 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateReferenceAttribute_value_UnknownWidget.gifbin129 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ReferenceProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateSimpleConstraint_properties_ValueProperty.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_allSections_Section.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateTab_sections_Section.gifbin379 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ReferenceAttribute.gifbin311 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateUIComponent_attributes_ValueAttribute.gifbin205 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextElement.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextPackage.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateView_datacontexts_DataContextRoot.gifbin223 -> 0 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation.gifbin0 -> 595 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/obj16/Annotation@2x.gifbin0 -> 1407 bytes
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/plugin.properties8
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/pom.xml2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AbstractSectionItemProvider.java71
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotatableItemProvider.java (renamed from plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/MutatingCanvasItemProvider.java)78
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/AnnotationItemProvider.java (renamed from plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/VisualIDOverrideItemProvider.java)87
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextItemProvider.java14
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ContextsItemProviderAdapterFactory.java27
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextElementItemProvider.java40
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextPackageItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/DataContextRootItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/PropertyItemProvider.java40
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/SectionItemProvider.java36
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/TabItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/UnknownPropertyItemProvider.java13
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/contexts/provider/ViewItemProvider.java53
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src-gen/org/eclipse/papyrus/infra/properties/environment/provider/PropertiesEditPlugin.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/src/org/eclipse/papyrus/infra/properties/contexts/command/ContextDeleteCommand.java88
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.editor/plugin.xml6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/model/Environment.properties17
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.ecore38
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.genmodel40
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.notation790
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/Model/properties.uml362
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/build.properties2
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.properties6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/plugin.xml45
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/AbstractSection.java5
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotatable.java63
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Annotation.java128
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Context.java4
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsFactory.java12
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/ContextsPackage.java551
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextElement.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextPackage.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/DataContextRoot.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Property.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Section.java21
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/Tab.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/View.java7
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AbstractSectionImpl.java135
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotatableImpl.java212
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/AnnotationImpl.java374
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextImpl.java16
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsFactoryImpl.java16
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ContextsPackageImpl.java167
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextElementImpl.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextPackageImpl.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/DataContextRootImpl.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/PropertyImpl.java6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/SectionImpl.java31
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/TabImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/UnknownPropertyImpl.java3
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/impl/ViewImpl.java154
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/AnnotatableOperations.java66
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/operations/SectionOperations.java64
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsAdapterFactory.java41
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceFactoryImpl.java9
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsResourceImpl.java101
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/contexts/util/ContextsSwitch.java55
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/EnvironmentPackage.java11
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/EnvironmentPackageImpl.java5
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/MiscClassImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/ModelElementFactoryDescriptorImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/NamespaceImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/impl/WidgetTypeImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceFactoryImpl.java9
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/environment/util/EnvironmentResourceImpl.java24
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/ElementImpl.java15
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src-gen/org/eclipse/papyrus/infra/properties/ui/impl/UiPackageImpl.java5
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextAnnotations.java237
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextContentTreeIterator.java93
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties/src/org/eclipse/papyrus/infra/properties/contexts/util/ContextUsageCrossReferencer.java107
-rw-r--r--plugins/infra/types/org.eclipse.papyrus.infra.types.editor/plugin.xml2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui.architecture/plugin.xml2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/plugin.properties9
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/plugin.xml37
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/editor/CoreMultiDiagramEditor.java12
-rw-r--r--plugins/sdk/org.eclipse.papyrus.sdk/META-INF/MANIFEST.MF2
-rw-r--r--plugins/sdk/org.eclipse.papyrus.sdk/pom.xml2
-rw-r--r--plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/IPapyrusBuilderProvider.java36
-rwxr-xr-xplugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/builder/nature/AddPapyrusPluginNatureHandler.java5
-rw-r--r--plugins/toolsmiths/builder/org.eclipse.papyrus.toolsmiths.plugin.builder/src/org/eclipse/papyrus/toolsmiths/plugin/internal/builder/XWTModelBuilderProvider.java2
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/META-INF/MANIFEST.MF24
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/plugin.xml28
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/presentation/GenExtensionActionBarContributor.java439
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/presentation/GenExtensionEditor.java1594
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/AdditionalEditPartCandiesItemProvider.java153
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/AlternateCanvasItemProvider.java220
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/AlternateGenLinkItemProvider.java196
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/AlternateGenTopLevelNodeItemProvider.java196
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/CommentedElementItemProvider.java181
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/CompartmentTitleVisibilityPreferenceItemProvider.java176
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/CompartmentVisibilityPreferenceItemProvider.java176
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/ConstrainedByReferenceCompartmentItemSemanticEditPolicyItemProvider.java145
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/CustomDiagramUpdaterSingletonItemProvider.java153
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/EditPartUsingDeleteServiceItemProvider.java176
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/EditPartUsingReorientServiceItemProvider.java176
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/ExtendedGenViewItemProvider.java288
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/ExternalHookItemProvider.java153
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/GenExtensionItemProviderAdapterFactory.java779
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/GenNodeConstraintItemProvider.java168
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/GenVisualTypeProviderItemProvider.java153
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/GenerateUsingElementTypeCreationCommandItemProvider.java120
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/LabelVisibilityPreferenceItemProvider.java247
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/OwnedEditpartItemProvider.java153
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/PapyrusExtensionRootNodeItemProvider.java286
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/PropertyRefreshHookItemProvider.java177
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/SpecificDiagramUpdaterItemProvider.java145
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/SpecificLocatorExternalLabelItemProvider.java145
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/SpecificLocatorItemProvider.java145
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/genextension/provider/SpecificNodePlateItemProvider.java200
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.edit/src/org/eclipse/papyrus/gmf/codegen/gmfgen/presentation/GMFGenEditor.java2
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.xtend.ui/plugin.xml39
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.xtend.ui/src/org/eclipse/papyrus/gmf/codegen/xtend/ui/handlers/MigrateGMFGenFileHandler.java95
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen.xtend/src/org/eclipse/papyrus/gmf/codegen/util/PapyrusGMFExtensionMigrator.java385
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/.settings/.api_filters8
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/META-INF/MANIFEST.MF8
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/models/gmfgen.ecore199
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/models/gmfgen.genmodel133
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/plugin.xml7
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/pom.xml15
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/AdditionalEditPartCandies.java61
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/AlternateCanvas.java125
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/AlternateGenLink.java90
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/AlternateGenTopLevelNode.java90
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/CommentedElement.java61
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/CompartmentTitleVisibilityPreference.java85
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/CompartmentVisibilityPreference.java85
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/ConstrainedByReferenceCompartmentItemSemanticEditPolicy.java53
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/CustomDiagramUpdaterSingleton.java57
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/EditPartUsingDeleteService.java88
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/EditPartUsingReorientService.java88
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/ExtendedGenView.java186
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/ExternalHook.java66
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/GenExtensionFactory.java279
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/GenExtensionPackage.java2742
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/GenNodeConstraint.java81
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/GenVisualTypeProvider.java114
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/GenerateUsingElementTypeCreationCommand.java29
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/LabelVisibilityPreference.java162
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/MutatingCanvas.java52
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/OwnedEditpart.java61
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/PapyrusExtensionRootNode.java52
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/PropertyRefreshHook.java95
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/SpecificDiagramUpdater.java76
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/SpecificLocator.java67
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/SpecificLocatorExternalLabel.java67
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/SpecificNodePlate.java115
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/VisualIDOverride.java108
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/AdditionalEditPartCandiesImpl.java173
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/AlternateCanvasImpl.java325
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/AlternateGenLinkImpl.java249
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/AlternateGenTopLevelNodeImpl.java249
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/CommentedElementImpl.java174
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/CompartmentTitleVisibilityPreferenceImpl.java214
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/CompartmentVisibilityPreferenceImpl.java214
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/ConstrainedByReferenceCompartmentItemSemanticEditPolicyImpl.java142
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/CustomDiagramUpdaterSingletonImpl.java173
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/EditPartUsingDeleteServiceImpl.java214
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/EditPartUsingReorientServiceImpl.java214
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/ExtendedGenViewImpl.java444
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/ExternalHookImpl.java173
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/GenExtensionFactoryImpl.java434
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/GenExtensionPackageImpl.java1185
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/GenNodeConstraintImpl.java208
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/GenVisualTypeProviderImpl.java173
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/GenerateUsingElementTypeCreationCommandImpl.java48
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/LabelVisibilityPreferenceImpl.java362
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/MutatingCanvasImpl.java159
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/OwnedEditpartImpl.java173
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/PapyrusExtensionRootNodeImpl.java159
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/PropertyRefreshHookImpl.java229
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/SpecificDiagramUpdaterImpl.java167
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/SpecificLocatorExternalLabelImpl.java142
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/SpecificLocatorImpl.java142
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/SpecificNodePlateImpl.java270
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/impl/VisualIDOverrideImpl.java294
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/util/GenExtensionAdapterFactory.java581
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/util/GenExtensionSwitch.java675
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/util/PapyrusgmfgenextensionAdapterFactory.java605
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/genextension/util/PapyrusgmfgenextensionSwitch.java700
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/gmfgen/GenContainerBase.java2
-rw-r--r--plugins/toolsmiths/gmf-tooling/org.eclipse.papyrus.gmf.codegen/src/org/eclipse/papyrus/gmf/codegen/gmfgen/impl/GMFGenPackageImpl.java9
-rw-r--r--plugins/toolsmiths/org.eclipse.papyrus.customization.nattableconfiguration/plugin.xml4
-rw-r--r--plugins/toolsmiths/org.eclipse.papyrus.toolsmiths/plugin.xml2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/META-INF/MANIFEST.MF3
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitecturePluginChecker.java6
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/META-INF/MANIFEST.MF11
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/DelegatingURIConverterService.java140
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/URIConverterService.java51
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BasicEMFResourceProvider.java40
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/BuildPropertiesChecker.java4
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/CustomModelChecker.java132
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ExtensionsChecker.java2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/IPluginChecker2.java4
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/JavaClassDependencies.java (renamed from plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.architecture/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/checkers/ArchitectureDependencies.java)47
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/checkers/ModelDependenciesChecker.java50
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/command/TouchResourceCommand.java99
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/internal/messages/Messages.java7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/internal/messages/messages.properties11
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/quickfix/CommonMarkerResolutionGenerator.java15
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/quickfix/CommonMarkerResolutionUtils.java185
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/quickfix/SimpleModelEditMarkerResolution.java274
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/CommonURIUtils.java208
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/LocalProfileIndex.java (renamed from plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/LocalProfileIndex.java)86
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/MarkersService.java9
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.common/src/org/eclipse/papyrus/toolsmiths/validation/common/utils/ModelResourceMapper.java30
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/ApplyStereotypeAdviceCustomValidator.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/ElementTypesBuildPropertiesDependencies.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/StereotypeApplicationMatcherCustomValidator.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.elementtypes/src/org/eclipse/papyrus/toolsmiths/validation/elementtypes/internal/checkers/StereotypePropertyReferenceEdgeAdviceCustomValidator.java1
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.profile/META-INF/MANIFEST.MF2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.classpath7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.project52
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.jdt.ui.prefs127
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/.settings/org.eclipse.pde.api.tools.prefs104
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/META-INF/MANIFEST.MF54
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/OSGI-INF/org.eclipse.papyrus.toolsmiths.validation.properties.internal.PropertiesURIConverterService.xml8
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/OSGI-INF/org.eclipse.papyrus.toolsmiths.validation.properties.internal.checkers.PropertiesContextBuilderProvider.xml7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/OSGI-INF/org.eclipse.papyrus.toolsmiths.validation.properties.internal.checkers.PropertiesEnvironmentBuilderProvider.xml7
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/about.html28
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/build.properties24
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/plugin.properties21
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/plugin.xml43
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/pom.xml14
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/Activator.java71
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/PropertiesURIConverterService.java37
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/ConstraintsCustomValidator.java87
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextBuilderProvider.java85
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextCustomValidator.java378
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextPluginChecker.java159
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesContextPluginXMLValidator.java84
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentBuilderProvider.java86
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentCustomValidator.java29
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentPluginChecker.java176
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesEnvironmentPluginXMLValidator.java84
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/checkers/PropertiesUICustomValidator.java79
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/constants/PropertiesPluginValidationConstants.java164
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/messages/Messages.java92
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/messages/messages.properties75
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/AbstractModelEditResolutionFactory.java479
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/DataContextElementResolutionFactory.java205
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/DataContextPropertyResolutionFactory.java187
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/FindNewPackageLocation.java178
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/PropertiesMarkerResolutionGenerator.java240
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ComposedSourceTraceHelper.java143
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ExplicitSourceTraceHelper.java132
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ImplicitEcoreSourceTraceHelper.java244
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/ImplicitUMLSourceTraceHelper.java368
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/NameKind.java32
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/SourceTraceHelper.java150
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/trace/SwitchingSourceTraceHelper.java354
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/PropertiesCache.java252
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/PropertiesContextDecoratorAdapterFactory.java157
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/PropertyTypeHelper.java247
-rw-r--r--plugins/toolsmiths/validation/org.eclipse.papyrus.toolsmiths.validation.properties/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/util/WidgetTypeHelper.java121
-rw-r--r--plugins/toolsmiths/validation/pom.xml1
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/part/CustomUMLDiagramUpdater.java28
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.gmfgen5
-rwxr-xr-xplugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src-gen/org/eclipse/papyrus/uml/diagram/clazz/edit/parts/ContainmentLinkEditPart.java4
-rwxr-xr-xplugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src-gen/org/eclipse/papyrus/uml/diagram/clazz/edit/policies/UMLBaseItemSemanticEditPolicy.java15
-rwxr-xr-xplugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src-gen/org/eclipse/papyrus/uml/diagram/clazz/part/UMLDiagramUpdater.java390
-rwxr-xr-xplugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src-gen/org/eclipse/papyrus/uml/diagram/clazz/providers/UMLElementTypes.java1
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/strategy/paste/StereotypePasteStrategy.java48
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.service.types.ui/src/org/eclipse/papyrus/uml/service/types/internal/ui/advice/CollaborationCollaborationRoleEditHelperAdvice.java14
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.service.types/META-INF/MANIFEST.MF2
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations1
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.service.types/pom.xml2
-rw-r--r--plugins/uml/org.eclipse.papyrus.uml.service.types/src/org/eclipse/papyrus/uml/service/types/helper/advice/ContainmentLinkDestroyEditHelperAdvice.java156
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/META-INF/MANIFEST.MF1
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/plugin.xml15
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/AbstractQVTGenerator.java29
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/ContextsBlackBox.java43
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/GeneratorHelper.java160
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/generators/ProfileGenerator.java8
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/layout/StandardLayoutGenerator.java17
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/src/org/eclipse/papyrus/customization/properties/generation/wizard/CreateContextWizard.java52
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/transforms/ecore2datacontext.qvto10
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties.generation/transforms/profile2datacontext.qvto12
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties/Model/Environment.properties19
-rw-r--r--plugins/uml/properties/org.eclipse.papyrus.uml.properties/src/org/eclipse/papyrus/uml/properties/widgets/NattablePropertyEditor.java18
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/commands/DuplicateStereotypeCommand.java11
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/META-INF/MANIFEST.MF2
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/plugin.xml53
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/pom.xml2
-rwxr-xr-xplugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/provider/IsIOpenablePropertyTester.java72
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.model.xwt/src/org/eclipse/papyrus/views/properties/model/xwt/resource/XWTResource.java26
-rwxr-xr-xplugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/META-INF/MANIFEST.MF3
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/Customization.ctx51
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleAnnotations.xwt5
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleCompositeConstraint.xwt27
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleEStringToStringMapEntries.xwt5
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/MultipleValueAttribute.xwt13
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/SingleAnnotation.xwt17
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Model/ui/SingleEStringToStringMapEntry.xwt7
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/OSGI-INF/l10n/bundle.properties8
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/Query/Contexts.querySet4
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/UICustom/PropertiesContext.custom723
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/icons/Annotation.gifbin0 -> 588 bytes
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/icons/Annotation@2x.gifbin0 -> 1399 bytes
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/plugin.xml31
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/ContextEditorActionBarContributor.java8
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/AbstractToggleHandler.java119
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/MoDiscoDeleteAction.java7
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/ToggleAnnotationsAction.java54
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/editor/actions/TogglePreviewAction.java60
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/providers/ContextContentProvider.java11
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/query/GetVisibleFeaturesQuery.java23
-rw-r--r--plugins/views/properties/org.eclipse.papyrus.views.properties.toolsmiths/src/org/eclipse/papyrus/views/properties/toolsmiths/query/ShowAnnotationsQuery.java34
-rw-r--r--releng/main/site/category.xml10
-rw-r--r--releng/main/site/pom.xml2
-rwxr-xr-xreleng/main/targetPlatform/org.eclipse.papyrus.main.targetplatform.target24
-rwxr-xr-xreleng/main/targetPlatform/org.eclipse.papyrus.main.targetplatform.tpd20
-rwxr-xr-xreleng/rcp/org.eclipse.papyrus.rcp.feature/feature.properties4
-rwxr-xr-xreleng/rcp/org.eclipse.papyrus.rcp.feature/feature.xml6
-rwxr-xr-xreleng/rcp/org.eclipse.papyrus.rcp.feature/pom.xml2
-rw-r--r--releng/rcp/org.eclipse.papyrus.rcp.product/papyrus.product13
-rw-r--r--releng/rcp/org.eclipse.papyrus.rcp.product/pom.xml2
-rw-r--r--releng/rcp/org.eclipse.papyrus.rcp/META-INF/MANIFEST.MF2
-rw-r--r--releng/rcp/org.eclipse.papyrus.rcp/icons/splash.svg16
-rw-r--r--releng/rcp/org.eclipse.papyrus.rcp/plugin.xml4
-rwxr-xr-xreleng/rcp/org.eclipse.papyrus.rcp/pom.xml2
-rwxr-xr-xreleng/rcp/org.eclipse.papyrus.rcp/splash.bmpbin483054 -> 483054 bytes
-rw-r--r--releng/rcp/pom.xml7
-rwxr-xr-xreleng/rcp/targetPlatform/org.eclipse.papyrus.rcp.targetplatform.target58
-rw-r--r--releng/rcp/targetPlatform/org.eclipse.papyrus.rcp.targetplatform.tpd28
-rw-r--r--releng/rcp/targetPlatform/pom.xml2
-rwxr-xr-xreleng/tests/main-tests-with-cdo/targetPlatform/org.eclipse.papyrus.main.tests.cdo.targetplatform.target30
-rwxr-xr-xreleng/tests/main-tests-with-cdo/targetPlatform/org.eclipse.papyrus.main.tests.cdo.targetplatform.tpd2
-rwxr-xr-xreleng/tests/main-tests/targetPlatform/org.eclipse.papyrus.main.tests.targetplatform.target28
-rw-r--r--releng/tests/main-tests/targetPlatform/org.eclipse.papyrus.main.tests.targetplatform.tpd2
-rwxr-xr-xreleng/toolkit/relengplatform/org.eclipse.papyrus.releng.platform.target46
-rw-r--r--releng/toolsmiths/site/category.xml28
-rwxr-xr-xreleng/toolsmiths/targetPlatform/org.eclipse.papyrus.toolsmiths.targetplatform.target46
-rw-r--r--releng/toolsmiths/targetPlatform/org.eclipse.papyrus.toolsmiths.targetplatform.tpd8
-rw-r--r--tests/junit/framework/org.eclipse.papyrus.bundles.tests/META-INF/MANIFEST.MF4
-rw-r--r--tests/junit/framework/org.eclipse.papyrus.bundles.tests/pom.xml2
-rw-r--r--tests/junit/framework/org.eclipse.papyrus.junit.framework/META-INF/MANIFEST.MF4
-rw-r--r--tests/junit/framework/org.eclipse.papyrus.junit.framework/pom.xml2
-rw-r--r--tests/junit/framework/org.eclipse.papyrus.junit.utils/META-INF/MANIFEST.MF4
-rw-r--r--tests/junit/framework/org.eclipse.papyrus.junit.utils/pom.xml2
-rw-r--r--tests/junit/plugins/infra/emf/org.eclipse.papyrus.infra.emf.tests/tests/org/eclipse/papyrus/infra/emf/resource/index/WorkspaceModelIndexTest.java3
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests/pom.xml2
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests/src/org/eclipse/papyrus/infra/gmfdiag/canonical/tests/AbstractCanonicalTest.java67
-rwxr-xr-xtests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.suite.tests/META-INF/MANIFEST.MF1
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.suite.tests/test/org/eclipse/papyrus/toolsmiths/suite/tests/AllTests.java3
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.architecture.tests/src/org/eclipse/papyrus/toolsmiths/validation/architecture/internal/quickfix/tests/ModelQuickFixTests.java91
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/META-INF/MANIFEST.MF1
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/resources/org.eclipse.papyrus.toolsmiths.validation.common.example/META-INF/MANIFEST.MF1
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/resources/org.eclipse.papyrus.toolsmiths.validation.common.example/src/org/eclipse/papyrus/toolsmiths/validation/common/example/Activator.java32
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/src/org/eclipse/papyrus/toolsmiths/validation/common/tests/rules/QuickFix.java38
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/src/org/eclipse/papyrus/toolsmiths/validation/common/tests/rules/QuickFixWith.java37
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.common.tests/src/org/eclipse/papyrus/toolsmiths/validation/common/tests/rules/TestProjectFixture.java115
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.elementtypes.tests/resources/org.eclipse.papyrus.toolsmiths.validation.elementtypes.resources/.project5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.classpath15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.project28
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.core.runtime.prefs2
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.jdt.ui.prefs127
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/.settings/org.eclipse.pde.api.tools.prefs104
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/META-INF/MANIFEST.MF25
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/about.html28
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/build.properties8
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/plugin.properties18
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/pom.xml15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/extensions/plugin-noContext.xml42
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/extensions/plugin-noEnvironment.xml42
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/manifest/BookStore-missingClassDependency.xmi15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/manifest/BookStore-unresolvedClassName.xmi5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/manifest/MANIFEST-missingDependency.MF34
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedEClass.ecore11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedProperty.ecore12
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedProperty.profile.uml104
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-deletedStereotype.profile.uml89
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-enumPropertyWrongType.ctx75
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-implicitTracesOK.ctx75
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-stringPropertyWrongType.ctx75
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore-unresolvedInstanceOf.ctx115
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-ecore.ctx115
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-enumPropertyWrongType.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-implicitTracesOK.ctx210
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newEClass.ecore18
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newNestedPackage.profile.uml135
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newNestedProfile.profile.uml135
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newProperty.ecore17
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newProperty.profile.uml117
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-newStereotype.profile.uml133
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-profileMoved.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-propertyWrongMultiplicity.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-renamedProfile.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-renamedProperty.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-renamedStereotype.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-stringPropertyWrongType.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-unresolvedHasStereotype.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-unresolvedInstanceOf.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-withComplexDataType.ctx144
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore-withComplexDataType.profile.uml190
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/BookStore.ecore15
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/models/plugin-ecore.xml41
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/.classpath7
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/.project34
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/META-INF/MANIFEST.MF35
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/build.properties18
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/plugin.properties14
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/dependency1/modelelement/BookModelElement.java27
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example.dependency1/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/dependency1/modelelement/BookModelElementFactory.java38
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/.classpath7
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/.project34
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/.settings/org.eclipse.jdt.core.prefs319
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/META-INF/MANIFEST.MF35
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/build.properties21
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/icons/full/obj16/bookstore.pngbin0 -> 453 bytes
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/icons/full/obj16/bookstore@2x.pngbin0 -> 871 bytes
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/plugin.properties14
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/plugin.xml48
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.ctx131
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.profile.di2
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.profile.notation172
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.profile.uml110
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/BookStore.xmi11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/MultipleBook.xwt5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/MultipleBookStore.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/MultipleVendor.xwt5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/SingleBook.xwt5
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/SingleBookStore.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/resources/ui/SingleVendor.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/modelelement/VendorModelElement.java27
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/org.eclipse.papyrus.toolsmiths.validation.properties.example/src/org/eclipse/papyrus/toolsmiths/validation/properties/example/modelelement/VendorModelElementFactory.java38
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/resources/ui/SingleVendor-wrongWidgetType.xwt11
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/internal/quickfix/tests/ModelQuickFixTests.java166
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/AllTests.java36
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesContextModelBuilderEcoreTest.java130
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesContextModelBuilderUMLTest.java227
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesDependencyBuilderTest.java97
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesPluginBuilderTest.java84
-rw-r--r--tests/junit/plugins/toolsmiths/org.eclipse.papyrus.toolsmiths.validation.properties.tests/src/org/eclipse/papyrus/toolsmiths/validation/properties/tests/PropertiesPluginXMLBuilderTest.java75
-rwxr-xr-xtests/junit/plugins/toolsmiths/pom.xml1
-rwxr-xr-xtests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/META-INF/MANIFEST.MF2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/pom.xml2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/AllCanonicalTests.java2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestClassDiagramContainmentLink.java (renamed from tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestClassDiagramContainment.java)2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/bug/CombinedFragmentRegressionTest.java3
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/TestContainmentLink.java56
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/TestContextLink.java8
-rw-r--r--tests/junit/plugins/uml/validation/org.eclipse.papyrus.uml.validation.tests/src/org/eclipse/papyrus/uml/validation/tests/rules/TestOCLConstraintOnInstanceSpec.java4
-rw-r--r--tests/junit/plugins/uml/validation/org.eclipse.papyrus.uml.validation.tests/src/org/eclipse/papyrus/uml/validation/tests/rules/TestOCLValidationRuleFromFile.java4
-rw-r--r--tests/junit/plugins/uml/validation/org.eclipse.papyrus.uml.validation.tests/src/org/eclipse/papyrus/uml/validation/tests/rules/TestStereotypeValidation.java12
-rw-r--r--tests/junit/plugins/uml/validation/org.eclipse.papyrus.uml.validation.tests/src/org/eclipse/papyrus/uml/validation/tests/rules/TestUMLValidationRules.java16
-rw-r--r--tests/junit/plugins/uml/validation/org.eclipse.papyrus.uml.validation.tests/src/org/eclipse/papyrus/uml/validation/tests/rules/TestValidationRulesInPluginXML.java13
-rw-r--r--tests/junit/plugins/uml/validation/org.eclipse.papyrus.uml.validation.tests/src/org/eclipse/papyrus/uml/validation/tests/rules/TestValidationRulesInProfile.java20
586 files changed, 24635 insertions, 24937 deletions
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..799b42c273f
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,1515 @@
+
+
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark">
+ <head>
+ <meta charset="utf-8">
+ <link rel="dns-prefetch" href="https://github.githubassets.com">
+ <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
+ <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
+ <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
+ <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
+ <link rel="preconnect" href="https://avatars.githubusercontent.com">
+
+
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-gTJi5qrypRHWpLXsMZQXoL53mXDuVqfZc7AfuiFXreLhf7Pk1RMvXJMWJsiS8dpkFDfq/7t6bFZK+3xS1Ak+Lg==" rel="stylesheet" href="https://github.githubassets.com/assets/light-813262e6aaf2a511d6a4b5ec319417a0.css" /><link crossorigin="anonymous" media="all" integrity="sha512-CMdm0es1Ti46ZuFcKKz+jobtyuFMFz3OIWxrFfOGbsHzri6ehzY0MqUHRn9C23aqIUH6HrnhiqjxF6EcdWJ/ZQ==" rel="stylesheet" href="https://github.githubassets.com/assets/dark-08c766d1eb354e2e3a66e15c28acfe8e.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="sha512-BuSuxJq/eJKvBSkc628ZMPWYFuRDuvjx9zYd9qvSlTzLeLPieLQN5xSCf5M9r+FcFXjKM6QZZlXtL6E3cmGUIQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-06e4aec49abf7892af05291ceb6f1930.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-hwUXTdeaR7CvyPs0A1D/6JPfPL8Kw5ROLomzsKt1kWikHyxJlF2BpNoeNTBvId3UfSAvs7aN7sFHuuvxyQIOJQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-8705174dd79a47b0afc8fb340350ffe8.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="sha512-uWIIE9NeQoOg9WxtV8wRqBongxd0Gq2FU5z338xK5CKnkJ5N9oIA/eRb3VrwDrC8JjkY6cXbyQxlDGb0aycO4g==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-b9620813d35e4283a0f56c6d57cc11a8.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="sha512-ytMK66Cuij41v31Kuiae888Pc07/HqRHHpLnyxwbjPJ1dK0xMqvj57VwCf/yTTR0EvxIaCZDYDapJhDq9pwHDA==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-cad30aeba0ae8a3e35bf7d4aba269ef3.css" />
+ <link crossorigin="anonymous" media="all" integrity="sha512-upgQ6TtI8FmQerCgXwYQaOaInJUGVFSHoLg/85yuuhL4FHRxnVs4ZAIYW5otDlP/FVzAcy0RrwrV9+OvVrWmug==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-ba9810e93b48f059907ab0a05f061068.css" />
+ <link crossorigin="anonymous" media="all" integrity="sha512-oSd0mPHI8l3FuYBEig06npp8ATVm1cBmKfEoeoEeYObpP7wRu/dsg4j8RPjXy0gWMFzbMnCeeg6NTqSXLLt3Hw==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-a1277498f1c8f25dc5b980448a0d3a9e.css" />
+
+
+
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-N0jE8W5T6P6M4+zgzBlfZZd6/xiPbYe7GrYhVn3s3QzT2J4VYUA67+JV9Md2wfhd7LhEsUbMD98s9U7jPYPUuw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-3748c4f16e53e8fe8ce3ece0cc195f65.css" />
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-GCKGhAXfGKreHAinXWGlCzuvkEAQPL+EDKtDj8g6Bk19Hh0KBTFiHdA3xeDVe8zVqXPm78DprJbRV57gzZBwRQ==" type="application/javascript" src="https://github.githubassets.com/assets/environment-18228684.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-yxcBm6Vjgm/5GJEqyFmAQurm/vmzlef3m9q9hlcWD+zbmpGbYYWvtMvW/pxo6/QxynB5dv7gJenRoTVgf4etdg==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-cb17019b.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-AceI9xuL/Yg1MV0DwAWjJCsMG7uA2pYXeSab+AieNW912jG7dzJ71B1tjWPdaMpBbmpZB9UV6QQNwihMGu7+qQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-01c788f7.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-6kOZ4CYxy0/b/spXvoM6IDqwzRB4QTwpXZN7ZcpPthTktZJa9H7BFmnNV+OFcx8MyCpyhKhHaG9pGUGUndOsHg==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-ea4399e0.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-fvcOOYapCxPkDRQWz2WQzrqL6rRhX88yHWF87fb9Xny2Fq4lri0ONaVFL7XDSTiTyu4OTp+8WoyfMVpgGUaaVg==" type="application/javascript" data-module-id="./chunk-unveil.js" data-src="https://github.githubassets.com/assets/chunk-unveil-7ef70e39.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-tQMUqRJH3y0kDtOFWGGedIzZR8qp9CKkc5CyylzweMJcvGHMYM+ug5uHq7aargcUmHVsAGJshqwqD4JQLbBKeA==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-b50314a9.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-9xhBxiFCx8a89IWT9qOAlpG7AYCcrqmOG811x87J8VmWIXEd/2/Nnbb1VIYg2aS5wnQ6kNpoexayKyM86ihlIg==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-f71841c6.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-gUbz7FhJzwbOWjvo5usnnGy9y+leOGtcPrN5jL23XcooSieBRizyQbRIWTQzAvbw2miGl+zaMUkyWJe5/onKFA==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-8146f3ec.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-mFcZal4N+qXEaGAF09y9izYmZB702iavRwtHdJ3NZl92+5p5yeNOd/l3DWKr5yFwAIEVYqMZBWqBjk83nkwjYw==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-9857196a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-jUpJTNYr0DKdjNyhUzHM3FZvpnEXUpKwJeU1FpMLrnIFYBGty8yjMQWujYNQfBUxTvVPjq++gEJcg7dkx4sSag==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-8d4a494c.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-FnMAzMicEfnOat1Frlp+ve9uEF8tyUofT4T4DqedwoPqEIP5KGhFQrvi7VNlQoSDVgG46aNXhKx5rYVjdqJl7A==" type="application/javascript" data-module-id="./chunk-tag-input.js" data-src="https://github.githubassets.com/assets/chunk-tag-input-167300cc.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-5kC7r+ezqZbAxlxjz63Z60uKuTgNuMREX68MyfNS/SRM0bnmg31T+sfaKJ5Pizy1tRfJuv2V0WOgu1BHY+QlzA==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-e640bbaf.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-ZKcEoIMJ5sVFZ4a7nPo78n/liXgHYeCDknykhkmh0+D7Q8T0A3RT5pyQ6cbK6yEf56rIOzXJb4udofCUbjwzWQ==" type="application/javascript" data-module-id="./chunk-cookies.js" data-src="https://github.githubassets.com/assets/chunk-cookies-64a704a0.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-QFFTldE+TutfGrG+ynhJq3dZsoSzrxMvjounvvZpiWbBcNg6citMaOhHRhQA7IIX2QKGgQzGRYqdtFdWm8U08w==" type="application/javascript" data-module-id="./chunk-async-export.js" data-src="https://github.githubassets.com/assets/chunk-async-export-40515395.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-4WUsXxvlXMlL8r519ldcltSD93NUpn5GA/AnuI7TUu4YxDa6wuPkB1R4Djv7FAVDLnewuhW0h+fTE/mXKXVSuA==" type="application/javascript" data-module-id="./chunk-premium-runners.js" data-src="https://github.githubassets.com/assets/chunk-premium-runners-e1652c5f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-FA9+6CCSGlvw7+wuwp7Yuv41laal2WbPoCqNIe+Jh8pluxW21v15AAg0nLRv8TrbYAcSLeDuAs/GDmvRHXPNCg==" type="application/javascript" data-module-id="./chunk-get-repo-element.js" data-src="https://github.githubassets.com/assets/chunk-get-repo-element-140f7ee8.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-ol5y71RI6PxIzSuxVDnwevlSWZzk4bNc3O/EjhN5zfx6VPqcyDOAiN9CoTydwOZwe2K3Jmu+85/EV19h4A13Uw==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-a25e72ef.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-vpt2Tdt20tOKRtrRWtOVaRi2wBoAaflNGUR6xuQgU/0Ywfxvbazq0C2hhKwuiC8b6A813gXGm+8fj0NCEosbYQ==" type="application/javascript" data-module-id="./chunk-copy.js" data-src="https://github.githubassets.com/assets/chunk-copy-be9b764d.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-BaJT1JQEuulq953/0IRsQ6BBqFSjE77PX/c9dv2nRA+jDB1xW0LaAaZrErAI3I9CHV25a2zljQWPB7dnfThWgw==" type="application/javascript" data-module-id="./chunk-voting.js" data-src="https://github.githubassets.com/assets/chunk-voting-05a253d4.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-JKFJ/vcn3uYKKZwBq9An1scgXJEhWBkVMFIGJUFUZCCWFfKs2EAZVJtxhjKxyyFOOii0SHhCt2eBIATDJfF+tQ==" type="application/javascript" data-module-id="./chunk-confetti.js" data-src="https://github.githubassets.com/assets/chunk-confetti-24a149fe.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-gJVB/GH52amHFpHlhs4k3CbvxrTGIfjDQMpjfDj6Y+4EyBRKbC9IJ3AHkJ8B2tvICPmtkpBNnYF+fmD2FKh16Q==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-809541fc.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-lOWku9YTzrujXXE9Gw2/fuY003SQ/guN37z49ZLegvgRwPzvvVpJjwkMTdmldgbiRuj9YWjF1ihlBZya3Rq5+g==" type="application/javascript" data-module-id="./chunk-tip.js" data-src="https://github.githubassets.com/assets/chunk-tip-94e5a4bb.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-vmtT5r0gvfYRqPPeAKDO2jCskwQgqay7JXgzcGQtAKb5FGptmF3QpO5MuKfazP4AbOqbgGL3VdhfSs64WE409A==" type="application/javascript" data-module-id="./chunk-line.js" data-src="https://github.githubassets.com/assets/chunk-line-be6b53e6.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-P7LTGHlGIwxFHh23D08Kq6RU5s2knxjFSjKfJ6+UcgL5RzOpcJ+mHAJkXkD67JTEYhaeTxtGdTHtD3Ls2q7SPw==" type="application/javascript" data-module-id="./chunk-array.js" data-src="https://github.githubassets.com/assets/chunk-array-3fb2d318.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-1XwXglKLXHju4JnPBvXcCx59aJd5W8bAMlBWJhh9nw1FbgWSDGdPsYOY6AunsaKV34sa5CWT2Y1s93yc8gdl0Q==" type="application/javascript" data-module-id="./chunk-band.js" data-src="https://github.githubassets.com/assets/chunk-band-d57c1782.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-WK8VXw3lfUQ/VRW0zlgKPhcMUqH0uTnB/KzePUPdZhCm/HpxfXXHKTGvj5C0Oex7+zbIM2ECzULbtTCT4ug3yg==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-58af155f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-k3SlS412IUog0/DAh6sWIRtf881M1kAELDFk2GN+FWLUw5sUlsr8sf3JH9LSnaaIdlOiBnwmtb6l2lSagEiGnQ==" type="application/javascript" data-module-id="./chunk-delayed-loading-element.js" data-src="https://github.githubassets.com/assets/chunk-delayed-loading-element-9374a54b.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-sRRRBVD0LHT641C1Lwmxz+CFHggcU30SPHNS+Qt80W70WDXK28RFccGvy7m+pbmsoF5lUndE+64C1gqeO1H2fg==" type="application/javascript" data-module-id="./chunk-three.module.js" data-src="https://github.githubassets.com/assets/chunk-three.module-b1145105.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Cv6nmSi76TZMSczzPiqFBOH+ejpEOsezmcqEy1aHs+ip/JMlNxQxBxgOajYbti2AXM0UgMG6lrJLBYzIuYkcqg==" type="application/javascript" data-module-id="./chunk-slug.js" data-src="https://github.githubassets.com/assets/chunk-slug-0afea799.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-4t+G5fe4QUNub+iRYMTfxr2kQ9KdH7aWatXOvxCsDl+Q9tEtSf+GRQt9+ZvrOw/ZgRTC74J7w6l6JDDE/k4hjQ==" type="application/javascript" data-module-id="./chunk-invitations.js" data-src="https://github.githubassets.com/assets/chunk-invitations-e2df86e5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-hgoSKLTlL8I3IWr/TLONCU+N4kdCtdrHCrrud4NKhgRlLrTw0XUPhqBaDdZUiFSzDQRw/nFQ1kw2VeTm0g9+lA==" type="application/javascript" data-module-id="./chunk-profile.js" data-src="https://github.githubassets.com/assets/chunk-profile-860a1228.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-vhLi469EW4GW+qbs2uh0p0ZmpsNhv2KvwjOgF8lJJWWwwRrkDR1RaMa7EEnWrSMZ/AeKUYKKMq3KwiUKHF9oGA==" type="application/javascript" data-module-id="./chunk-overview.js" data-src="https://github.githubassets.com/assets/chunk-overview-be12e2e3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-WY4pg33/i8nLwqJ+sCHX/9raMISin0Yi/Fh5J6K8qL2YVjqEZQ8WJ8AsJs/3/IoXiN1OaBgo7Cqqy2cKgqq2HA==" type="application/javascript" data-module-id="./chunk-advanced.js" data-src="https://github.githubassets.com/assets/chunk-advanced-598e2983.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-q9IKKBadRSw90Tn8lhS7OS03x1+prUIEwY8/WwYKx4KE++sg826QMTd0WHVOKiyWbVFbJLXxCjqQtJhIsqqvLw==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-abd20a28.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-SRLHss3KzSFb/E7cpPnqJHQ+16aPKljzv518gB9tRySRcNAV2LR8FntHDpr4p3YJSmNrbkk7QRWmdnfTkoBoLg==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-4912c7b2.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-SsCEZUoP4uiSY2jpnstC5oUV0+5lSZcgJ2roTJ0NgRIT5at3m/6l5Ygs7SsZ1AduNq8coZgb9iFNy3q25htJ7w==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-4ac08465.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-+iGGQK5S9OqlPwzPiCE9eJo1Yv/gvDDQaJ9NGKVTuNuRBwoJcj7pxsasdK7ZyZFHBLjTGG8220QkJ197i99OZw==" type="application/javascript" data-module-id="./chunk-edit-hook-secret-element.js" data-src="https://github.githubassets.com/assets/chunk-edit-hook-secret-element-fa218640.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-KeCtePoPHNIvSsI2ZAGWm/w4dxHmw4UpqmHY9VvPm4TNHI3QCUrGJErq7Q1PUImyDR7PXOK3VgItO5d5yfRIiA==" type="application/javascript" data-module-id="./chunk-insights-query.js" data-src="https://github.githubassets.com/assets/chunk-insights-query-29e0ad78.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-W1lGpa93VyXewdQaK4sxbLudAgCPTz/YOf0i2x4Mz9g/xUtrHmFaPWfboiVhQTM/qbYzvawhkwot56Ps2fMKZA==" type="application/javascript" data-module-id="./chunk-remote-clipboard-copy.js" data-src="https://github.githubassets.com/assets/chunk-remote-clipboard-copy-5b5946a5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-81OTF+K8GwVPZZ7gJFo0VR+Vpa2Spg0eaxCbgAcy6+QJjM3hM1oQpRRf3fMufldsp5v2z6LRbrUvfc0CXtN1kw==" type="application/javascript" data-module-id="./chunk-series-table.js" data-src="https://github.githubassets.com/assets/chunk-series-table-f3539317.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-DM+iykxjf2HT7QQrMTM2EtpCyj60FVl/S3qzBjl5snpx4rdc6Cmc87pnXGiuvuZzI1x9j+HQ+/Rwamb85or+NQ==" type="application/javascript" data-module-id="./chunk-line-chart.js" data-src="https://github.githubassets.com/assets/chunk-line-chart-0ccfa2ca.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-0p8FP92jFw0Ijsu8wRVY6prAQ48QEsaDAhUYhUm5bMRq1q21W/KPC5tcBN7pcak+S3CGjELrUh6vrSJn1fRjZQ==" type="application/javascript" data-module-id="./chunk-stacked-area-chart.js" data-src="https://github.githubassets.com/assets/chunk-stacked-area-chart-d29f053f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-FUzmws9Fy8WkPuBrXO3Gl0zdsc7rXITQq0RsKhUYYyB1gERACwd36i93sjGzyI/0AdobLcEtf6Nv4JCyCT28hg==" type="application/javascript" data-module-id="./chunk-presence-avatars.js" data-src="https://github.githubassets.com/assets/chunk-presence-avatars-154ce6c2.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8uIQ5UjDEzJGvTTBAD1uwbSp+3EXA530Nz2cMXLRwcKwNCpherk27nV4Z/8jpQg2pBpz/nLjwiKhS6OozpAVTg==" type="application/javascript" data-module-id="./chunk-pulse-authors-graph-element.js" data-src="https://github.githubassets.com/assets/chunk-pulse-authors-graph-element-f2e210e5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-coojJ/UNFlaRrR+2TSkiopwWNtzkl/wFumM3x3QpZ4V00b3rCau/Ttr8nZMNskWnhd99w5K7mbCqklgWKalDgw==" type="application/javascript" data-module-id="./chunk-stacks-input-config-view.js" data-src="https://github.githubassets.com/assets/chunk-stacks-input-config-view-728a2327.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-oPKE/9fWau7I5ukozek/dky6L1Htp0AiiYVvJNEcghSu6lld7jT25NB3EeIdkU1WlcpgnzQ+fI42ry1rolPqbg==" type="application/javascript" data-module-id="./chunk-community-contributions.js" data-src="https://github.githubassets.com/assets/chunk-community-contributions-a0f284ff.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-GAr0EKthzUvDEGw6T4LsBXMuYhVHUe+lNf12hmF8/Lr0wN/BZs7wsqES4z0qs+MuDoJjVuIA7BJerWggTIhKqg==" type="application/javascript" data-module-id="./chunk-discussion-page-views.js" data-src="https://github.githubassets.com/assets/chunk-discussion-page-views-180af410.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-wGXIyqDuvhZzpOk836DLhw4YHt/mNh/bn7FcMYRVPU3Z1b8sB1JxnNUnYc6Rm8YtUkBnBlkVODj46SjZYOSQew==" type="application/javascript" data-module-id="./chunk-discussions-daily-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-daily-contributors-c065c8ca.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-6q+hClGdfvJ4mBrxAlQKqSZgo4xh3DbyqX/GBKyrQnb0UR4rNcWGQiaRaCnGm0ALLjPk1XNNCz8s7pDXEdMYrQ==" type="application/javascript" data-module-id="./chunk-discussions-new-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-new-contributors-eaafa10a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-VeQi38hQFT2oKliPhoJ0mudIx23Osdjw8Y468QxhBqX0b6hOC6BBZZQr+bBPig5u/Vvl3ly+u3ACWBmXfP7Tdg==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-55e422df.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-7nlm84GbeRAMsFkGMg1Khrk69rwOKLNf1wf5VrUX24l+IESCdizDiwjHc0sRaQYe9TNcO3ZBJc0lAOclluVv6g==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-ee7966f3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Zst8WujZ/2lSDuTjy8+4ItFCMEftmKB2w682B6zPlyOn7hwZ9LS8BUXtWxqM2djZA4I0ITiB+KUz6bSXb/rW4w==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-66cb7c5a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-CDXxcrRb9uLr5a9J2/C1VwF8T4F/XNPtL7FF+jTWkBy+rcZ+6rqW3VN/koe77IbMHXtVWLgtWrXbR8DtWLFF6Q==" type="application/javascript" data-module-id="./chunk-launch-code-element.js" data-src="https://github.githubassets.com/assets/chunk-launch-code-element-0835f172.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-hZbjLGWLlrKvKeOObGY7B7MMEfbD8N6WorJoTGXaQqCEdTywJl+D4HcFpnOZ08xsuVXGdgpP7yQg3c8FWB4o3Q==" type="application/javascript" data-module-id="./chunk-metric-selection-element.js" data-src="https://github.githubassets.com/assets/chunk-metric-selection-element-8596e32c.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-2ccUx37FZwL3WMN2wTUu4pGwRAdYWbzGoFHixdEBuaH4KygVJcNull4RBSVJ0D9hVaG9gr4YMC8dqQOWkqsLYg==" type="application/javascript" data-module-id="./chunk-severity-calculator-element.js" data-src="https://github.githubassets.com/assets/chunk-severity-calculator-element-d9c714c7.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-hfNSQUbKM5t21wnG7FoiRqd5UgaQ+MwSjkvn/LcgHzE/bWY16XEabKFvhU8MazS6lu3fjJhNxfglOEKiYY41Hw==" type="application/javascript" data-module-id="./chunk-readme-toc-element.js" data-src="https://github.githubassets.com/assets/chunk-readme-toc-element-85f35241.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-OuWKAOx3SUYuHFQj+smmMJXW6IdF/cq5Ol1at45eNB2OGhgZWtviEo4odoriGTO454ZwlNSpIb+KgR6GgzQMhQ==" type="application/javascript" data-module-id="./chunk-feature-callout-element.js" data-src="https://github.githubassets.com/assets/chunk-feature-callout-element-3ae58a00.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-makoNQ8jFYUx50kS4T4eC18puAmSVW+7F9jsM2pdUTXB9OaU7wqc+wBe30jrGEKsz2bCjknrJBLzQpAvkOv1Cw==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-99a92835.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-prjl40a6JHS9TcfGtqMnHZX4tlIS6HNofJ727h8ZPrf+xhnbGTGEWTTc9U1yqfW3S+PgYhzkfZ7BXzISt9f9mg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-a6b8e5e3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Kpiss3fNUXokEKH9mkHm0O8MZakZr8q64uvjtkjdgSWyC12HuM/+X6v5irKJV9hzOClYT3+k9kKXSd1g9e3FrQ==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-2a98acb3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8NWmKXh96TMxAyNDrhoc2YIl4tXPe6v+DUuO6nPOP2C0WiUObu6+6q5PJPqzqi/BJqMHMHPiIMCFUEu/v6LikQ==" type="application/javascript" data-module-id="./chunk-webgl-warp.js" data-src="https://github.githubassets.com/assets/chunk-webgl-warp-f0d5a629.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-GBlegh9b9Zm8s+yRFiRNhJg09OxAqlOU4XA1zHGZbYTD+DaLps6fNHcqhjRRuKcEK/Xo9BlcSkYVr4HCW9B2jA==" type="application/javascript" src="https://github.githubassets.com/assets/repositories-18195e82.js"></script>
+<script crossorigin="anonymous" defer="defer" integrity="sha512-BGAnrgsVTqUuppIPCCcmSJfBHTIj7D47biKPul2uQBZ2o/iRght5PnFvjix4IxHgDHBIc9mJG+L32gUtnIAmTg==" type="application/javascript" src="https://github.githubassets.com/assets/diffs-046027ae.js"></script>
+
+ <meta name="viewport" content="width=device-width">
+
+ <title>.github/CODE_OF_CONDUCT.md at main · eclipse-ee4j/.github · GitHub</title>
+ <meta name="description" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub.">
+ <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
+ <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
+ <meta property="fb:app_id" content="1401488693436528">
+ <meta name="apple-itunes-app" content="app-id=1477376905" />
+ <meta name="twitter:image:src" content="https://opengraph.githubassets.com/c26ceec54c6b0457d0ff1a069b5da52ac1f18c10b1c2757b5110dac6223498c8/eclipse-ee4j/.github" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content=".github/CODE_OF_CONDUCT.md at main · eclipse-ee4j/.github" /><meta name="twitter:description" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub." />
+ <meta property="og:image" content="https://opengraph.githubassets.com/c26ceec54c6b0457d0ff1a069b5da52ac1f18c10b1c2757b5110dac6223498c8/eclipse-ee4j/.github" /><meta property="og:image:alt" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content=".github/CODE_OF_CONDUCT.md at main · eclipse-ee4j/.github" /><meta property="og:url" content="https://github.com/eclipse-ee4j/.github" /><meta property="og:description" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub." />
+
+
+
+
+
+
+ <link rel="assets" href="https://github.githubassets.com/">
+
+
+ <meta name="request-id" content="D0DE:E88F:21FE803:23D27F7:618B9D8C" data-pjax-transient="true"/><meta name="html-safe-nonce" content="c461e3a590c38d190ad79ee7049a3542fa86dc4d291010a94b615225ad50c047" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9lY2xpcHNlLWVlNGovLmdpdGh1YiIsInJlcXVlc3RfaWQiOiJEMERFOkU4OEY6MjFGRTgwMzoyM0QyN0Y3OjYxOEI5RDhDIiwidmlzaXRvcl9pZCI6IjUyNzkwMjMxODk2NzcxNTgiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="d20cdd7a3ee18f932768ea7540e02f8dd22ce26b35e52ef26ba75ebbce0e34b8" data-pjax-transient="true"/>
+
+ <meta name="hovercard-subject-tag" content="repository:355800941" data-pjax-transient>
+
+
+ <meta name="github-keyboard-shortcuts" content="repository,source-code" data-pjax-transient="true" />
+
+
+
+ <meta name="selected-link" value="repo_source" data-pjax-transient>
+
+ <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
+ <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
+ <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
+ <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
+
+<meta name="octolytics-url" content="https://collector.githubapp.com/github/collect" />
+
+ <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" />
+
+
+
+
+
+ <meta name="optimizely-datafile" content="{&quot;version&quot;: &quot;4&quot;, &quot;rollouts&quot;: [], &quot;typedAudiences&quot;: [], &quot;anonymizeIP&quot;: true, &quot;projectId&quot;: &quot;16737760170&quot;, &quot;variables&quot;: [], &quot;featureFlags&quot;: [], &quot;experiments&quot;: [{&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20438636352&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20484957397&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20479227424&quot;, &quot;key&quot;: &quot;growth_ghec_onboarding_experience&quot;, &quot;layerId&quot;: &quot;20467848595&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 1000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 3000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 6000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 8000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;85e2238ce2b9074907d7a3d91d6feeae&quot;: &quot;control&quot;}}, {&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20619540113&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20598530123&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20619150105&quot;, &quot;key&quot;: &quot;dynamic_seats&quot;, &quot;layerId&quot;: &quot;20615170077&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20598530123&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20619540113&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {}}, {&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20667381018&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20680930759&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20652570897&quot;, &quot;key&quot;: &quot;project_genesis&quot;, &quot;layerId&quot;: &quot;20672300363&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20667381018&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20667381018&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;83356e17066d336d1803024138ecb683&quot;: &quot;treatment&quot;, &quot;18e31c8a9b2271332466133162a4aa0d&quot;: &quot;treatment&quot;, &quot;10f8ab3fbc5ebe989a36a05f79d48f32&quot;: &quot;treatment&quot;, &quot;1686089f6d540cd2deeaec60ee43ecf7&quot;: &quot;treatment&quot;}}], &quot;audiences&quot;: [{&quot;conditions&quot;: &quot;[\&quot;or\&quot;, {\&quot;match\&quot;: \&quot;exact\&quot;, \&quot;name\&quot;: \&quot;$opt_dummy_attribute\&quot;, \&quot;type\&quot;: \&quot;custom_attribute\&quot;, \&quot;value\&quot;: \&quot;$opt_dummy_value\&quot;}]&quot;, &quot;id&quot;: &quot;$opt_dummy_audience&quot;, &quot;name&quot;: &quot;Optimizely-Generated Audience for Backwards Compatibility&quot;}], &quot;groups&quot;: [], &quot;sdkKey&quot;: &quot;WTc6awnGuYDdG98CYRban&quot;, &quot;environmentKey&quot;: &quot;production&quot;, &quot;attributes&quot;: [{&quot;id&quot;: &quot;16822470375&quot;, &quot;key&quot;: &quot;user_id&quot;}, {&quot;id&quot;: &quot;17143601254&quot;, &quot;key&quot;: &quot;spammy&quot;}, {&quot;id&quot;: &quot;18175660309&quot;, &quot;key&quot;: &quot;organization_plan&quot;}, {&quot;id&quot;: &quot;18813001570&quot;, &quot;key&quot;: &quot;is_logged_in&quot;}, {&quot;id&quot;: &quot;19073851829&quot;, &quot;key&quot;: &quot;geo&quot;}, {&quot;id&quot;: &quot;20175462351&quot;, &quot;key&quot;: &quot;requestedCurrency&quot;}, {&quot;id&quot;: &quot;20785470195&quot;, &quot;key&quot;: &quot;country_code&quot;}], &quot;botFiltering&quot;: false, &quot;accountId&quot;: &quot;16737760170&quot;, &quot;events&quot;: [{&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;17911811441&quot;, &quot;key&quot;: &quot;hydro_click.dashboard.teacher_toolbox_cta&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18124116703&quot;, &quot;key&quot;: &quot;submit.organizations.complete_sign_up&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18145892387&quot;, &quot;key&quot;: &quot;no_metric.tracked_outside_of_optimizely&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18178755568&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.add_repo&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18180553241&quot;, &quot;key&quot;: &quot;submit.repository_imports.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18186103728&quot;, &quot;key&quot;: &quot;click.help.learn_more_about_repository_creation&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18188530140&quot;, &quot;key&quot;: &quot;test_event.do_not_use_in_production&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18191963644&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.transfer_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18195612788&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.import_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18210945499&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.invite_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18211063248&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.create_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18215721889&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.update_profile&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18224360785&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.dismiss&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18234832286&quot;, &quot;key&quot;: &quot;submit.organization_activation.complete&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18252392383&quot;, &quot;key&quot;: &quot;submit.org_repository.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18257551537&quot;, &quot;key&quot;: &quot;submit.org_member_invitation.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18259522260&quot;, &quot;key&quot;: &quot;submit.organization_profile.update&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18564603625&quot;, &quot;key&quot;: &quot;view.classroom_select_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18568612016&quot;, &quot;key&quot;: &quot;click.classroom_sign_in_click&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18572592540&quot;, &quot;key&quot;: &quot;view.classroom_name&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18574203855&quot;, &quot;key&quot;: &quot;click.classroom_create_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18582053415&quot;, &quot;key&quot;: &quot;click.classroom_select_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18589463420&quot;, &quot;key&quot;: &quot;click.classroom_create_classroom&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18591323364&quot;, &quot;key&quot;: &quot;click.classroom_create_first_classroom&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18591652321&quot;, &quot;key&quot;: &quot;click.classroom_grant_access&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18607131425&quot;, &quot;key&quot;: &quot;view.classroom_creation&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20619150105&quot;], &quot;id&quot;: &quot;18831680583&quot;, &quot;key&quot;: &quot;upgrade_account_plan&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19064064515&quot;, &quot;key&quot;: &quot;click.signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19075373687&quot;, &quot;key&quot;: &quot;click.view_account_billing_page&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19077355841&quot;, &quot;key&quot;: &quot;click.dismiss_signup_prompt&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19079713938&quot;, &quot;key&quot;: &quot;click.contact_sales&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19120963070&quot;, &quot;key&quot;: &quot;click.compare_account_plans&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19151690317&quot;, &quot;key&quot;: &quot;click.upgrade_account_cta&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19424193129&quot;, &quot;key&quot;: &quot;click.open_account_switcher&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19520330825&quot;, &quot;key&quot;: &quot;click.visit_account_profile&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19540970635&quot;, &quot;key&quot;: &quot;click.switch_account_context&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19730198868&quot;, &quot;key&quot;: &quot;submit.homepage_signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19820830627&quot;, &quot;key&quot;: &quot;click.homepage_signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19988571001&quot;, &quot;key&quot;: &quot;click.create_enterprise_trial&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20036538294&quot;, &quot;key&quot;: &quot;click.create_organization_team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20040653299&quot;, &quot;key&quot;: &quot;click.input_enterprise_trial_form&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20062030003&quot;, &quot;key&quot;: &quot;click.continue_with_team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20068947153&quot;, &quot;key&quot;: &quot;click.create_organization_free&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20086636658&quot;, &quot;key&quot;: &quot;click.signup_continue.username&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20091648988&quot;, &quot;key&quot;: &quot;click.signup_continue.create_account&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20103637615&quot;, &quot;key&quot;: &quot;click.signup_continue.email&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20111574253&quot;, &quot;key&quot;: &quot;click.signup_continue.password&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20120044111&quot;, &quot;key&quot;: &quot;view.pricing_page&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20152062109&quot;, &quot;key&quot;: &quot;submit.create_account&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20165800992&quot;, &quot;key&quot;: &quot;submit.upgrade_payment_form&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20171520319&quot;, &quot;key&quot;: &quot;submit.create_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20222645674&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.discuss_your_needs&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20227443657&quot;, &quot;key&quot;: &quot;submit.verify_primary_user_email&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20234607160&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.try_enterprise&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20238175784&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20239847212&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.continue_free&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20251097193&quot;, &quot;key&quot;: &quot;recommended_plan&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20438619534&quot;, &quot;key&quot;: &quot;click.pricing_calculator.1_member&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20456699683&quot;, &quot;key&quot;: &quot;click.pricing_calculator.15_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20467868331&quot;, &quot;key&quot;: &quot;click.pricing_calculator.10_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20476267432&quot;, &quot;key&quot;: &quot;click.trial_days_remaining&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20476357660&quot;, &quot;key&quot;: &quot;click.discover_feature&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20479287901&quot;, &quot;key&quot;: &quot;click.pricing_calculator.custom_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20481107083&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.apply_teacher_benefits&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20483089392&quot;, &quot;key&quot;: &quot;click.pricing_calculator.5_members&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20484283944&quot;, &quot;key&quot;: &quot;click.onboarding_task&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20484996281&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.apply_student_benefits&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20486713726&quot;, &quot;key&quot;: &quot;click.onboarding_task_breadcrumb&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20490791319&quot;, &quot;key&quot;: &quot;click.upgrade_to_enterprise&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20491786766&quot;, &quot;key&quot;: &quot;click.talk_to_us&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20494144087&quot;, &quot;key&quot;: &quot;click.dismiss_enterprise_trial&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20499722759&quot;, &quot;key&quot;: &quot;completed_all_tasks&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20500710104&quot;, &quot;key&quot;: &quot;completed_onboarding_tasks&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20513160672&quot;, &quot;key&quot;: &quot;click.read_doc&quot;}, {&quot;experimentIds&quot;: [&quot;20652570897&quot;], &quot;id&quot;: &quot;20516196762&quot;, &quot;key&quot;: &quot;actions_enabled&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20518980986&quot;, &quot;key&quot;: &quot;click.dismiss_trial_banner&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20535446721&quot;, &quot;key&quot;: &quot;click.issue_actions_prompt.dismiss_prompt&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20557002247&quot;, &quot;key&quot;: &quot;click.issue_actions_prompt.setup_workflow&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20595070227&quot;, &quot;key&quot;: &quot;click.pull_request_setup_workflow&quot;}, {&quot;experimentIds&quot;: [&quot;20619150105&quot;], &quot;id&quot;: &quot;20626600314&quot;, &quot;key&quot;: &quot;click.seats_input&quot;}, {&quot;experimentIds&quot;: [&quot;20619150105&quot;], &quot;id&quot;: &quot;20642310305&quot;, &quot;key&quot;: &quot;click.decrease_seats_number&quot;}, {&quot;experimentIds&quot;: [&quot;20619150105&quot;], &quot;id&quot;: &quot;20662990045&quot;, &quot;key&quot;: &quot;click.increase_seats_number&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20679620969&quot;, &quot;key&quot;: &quot;click.public_product_roadmap&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20761240940&quot;, &quot;key&quot;: &quot;click.dismiss_survey_banner&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20767210721&quot;, &quot;key&quot;: &quot;click.take_survey&quot;}, {&quot;experimentIds&quot;: [&quot;20652570897&quot;], &quot;id&quot;: &quot;20795281201&quot;, &quot;key&quot;: &quot;click.archive_list&quot;}], &quot;revision&quot;: &quot;968&quot;}" />
+ <!-- To prevent page flashing, the optimizely JS needs to be loaded in the
+ <head> tag before the DOM renders -->
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8ODWXcoorICxNiqsCan+W5GIxa70VtWQnf1WSSaCu0qLtK782YVzROIh7YkG6uCC8FZiqZDAZ2jaKYDEuA0dzg==" type="application/javascript" src="https://github.githubassets.com/assets/optimizely-f0e0d65d.js"></script>
+
+
+
+
+
+ <meta name="hostname" content="github.com">
+ <meta name="user-login" content="">
+
+
+ <meta name="expected-hostname" content="github.com">
+
+
+ <meta name="enabled-features" content="ACTIONS_ID_TOKEN_PERMISSION,MARKETPLACE_PENDING_INSTALLATIONS,FILE_UPLOAD_CURSOR_POSITION">
+
+ <meta http-equiv="x-pjax-version" content="5d4e2640896e0b3e4c64f9359b22257809934442a82cb39fa28bc7df59e47f25">
+ <meta http-equiv="x-pjax-csp-version" content="9ea82e8060ac9d44365bfa193918b70ed58abd9413362ba412abb161b3a8d1b6">
+ <meta http-equiv="x-pjax-css-version" content="eb17432fcbb20b5641e34c98e3b42e7d5ff9ef2b2d1afe64331257b3c15a6200">
+ <meta http-equiv="x-pjax-js-version" content="ffd7f50db7548cfecde71476e68eb2c952eefe8f794809e08062d1c7c61cedf1">
+
+
+
+ <meta name="go-import" content="github.com/eclipse-ee4j/.github git https://github.com/eclipse-ee4j/.github.git">
+
+ <meta name="octolytics-dimension-user_id" content="31900942" /><meta name="octolytics-dimension-user_login" content="eclipse-ee4j" /><meta name="octolytics-dimension-repository_id" content="355800941" /><meta name="octolytics-dimension-repository_nwo" content="eclipse-ee4j/.github" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="355800941" /><meta name="octolytics-dimension-repository_network_root_nwo" content="eclipse-ee4j/.github" />
+
+
+
+ <link rel="canonical" href="https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md" data-pjax-transient>
+
+
+ <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
+
+ <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
+
+ <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors">
+
+ <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
+ <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
+ <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
+
+<meta name="theme-color" content="#1e2327">
+<meta name="color-scheme" content="light dark" />
+
+
+ <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
+
+ </head>
+
+ <body class="logged-out env-production page-responsive page-blob" style="word-wrap: break-word;">
+
+
+ <div class="position-relative js-header-wrapper ">
+ <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-text-white show-on-focus js-skip-to-content">Skip to content</a>
+ <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full">
+ <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar color-bg-info-inverse"></span>
+</span>
+
+
+
+
+
+
+<header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner">
+ <div class="container-xl d-lg-flex flex-items-center p-responsive">
+ <div class="d-flex flex-justify-between flex-items-center">
+ <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
+ <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github color-text-white">
+ <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
+</svg>
+ </a>
+
+ <div class="d-lg-none css-truncate css-truncate-target width-fit p-2">
+
+
+ </div>
+
+ <div class="d-flex flex-items-center">
+ <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo"
+ class="d-inline-block d-lg-none f5 color-text-white no-underline border color-border-default rounded-2 px-2 py-1 mr-3 mr-sm-5"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fbf0c6c534a2c72e9d981cdf6454c5fc3c29614a57b2fba9bdf6425bfb59db83"
+ >
+ Sign&nbsp;up
+ </a>
+
+ <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link d-lg-none mt-1">
+
+
+ <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars color-text-white">
+ <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path>
+</svg>
+
+
+
+</button> </div>
+ </div>
+
+ <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto">
+ <div class="d-flex d-lg-none flex-justify-end border-bottom color-bg-subtle p-3">
+ <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link">
+
+
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-x color-icon-secondary">
+ <path fill-rule="evenodd" d="M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z"></path>
+</svg>
+
+
+
+</button> </div>
+
+ <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global">
+ <ul class="d-lg-flex list-style-none">
+ <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+ <details class="HeaderMenu-details details-overlay details-reset width-full">
+ <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+ Why GitHub?
+ <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+ <path d="M1,1l6.2,6L13,1"></path>
+ </svg>
+ </summary>
+ <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+ <a href="/features" class="py-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a>
+ <ul class="list-style-none f5 pb-3">
+
+
+ <li class="edge-item-fix"><a href="/mobile" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Mobile <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Actions <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/codespaces" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Codespaces <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/packages" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Packages <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/security" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Security <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Code review <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/issues/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Issues <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Integrations <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+
+
+ </ul>
+
+ <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
+ <li class="edge-item-fix"><a href="/sponsors" class="py-2 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Sponsors">GitHub Sponsors <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories<span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+ </div>
+ </details>
+ </li>
+ <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+ <a href="/team" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Team">Team</a>
+ </li>
+ <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+ <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a>
+ </li>
+
+ <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+ <details class="HeaderMenu-details details-overlay details-reset width-full">
+ <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+ Explore
+ <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+ <path d="M1,1l6.2,6L13,1"></path>
+ </svg>
+ </summary>
+
+ <div class="dropdown-menu flex-auto rounded px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+ <ul class="list-style-none mb-3">
+ <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+
+ <h4 class="color-fg-muted text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn and contribute</h4>
+ <ul class="list-style-none mb-3">
+ <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Topics">Topics <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Collections">Collections <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Trending">Trending <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+
+ <h4 class="color-fg-muted text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4>
+ <ul class="list-style-none mb-0">
+ <li class="edge-item-fix"><a href="https://github.com/readme" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">The ReadME Project <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Events">Events <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Community forum">Community forum <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://stars.github.com" class="py-2 pb-0 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to GitHub Stars Program">GitHub Stars program <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+ </div>
+ </details>
+ </li>
+
+ <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+ <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a>
+ </li>
+
+ <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+ <details class="HeaderMenu-details details-overlay details-reset width-full">
+ <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+ Pricing
+ <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+ <path d="M1,1l6.2,6L13,1"></path>
+ </svg>
+ </summary>
+
+ <div class="dropdown-menu flex-auto rounded px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+ <a href="/pricing" class="pb-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a>
+
+ <ul class="list-style-none mb-3">
+ <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://github.com/enterprise/contact" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+
+ <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
+ <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+ </div>
+ </details>
+ </li>
+ </ul>
+ </nav>
+
+ <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left">
+ <div class="d-lg-flex min-width-0 mb-3 mb-lg-0">
+
+
+
+
+<div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to"
+>
+ <div class="position-relative">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="355800941" data-scoped-search-url="/eclipse-ee4j/.github/search" data-owner-scoped-search-url="/orgs/eclipse-ee4j/search" data-unscoped-search-url="/search" action="/eclipse-ee4j/.github/search" accept-charset="UTF-8" method="get">
+ <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
+ <input type="text"
+ class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
+ data-hotkey=s,/
+ name="q"
+ data-test-selector="nav-search-input"
+ placeholder="Search"
+ data-unscoped-placeholder="Search GitHub"
+ data-scoped-placeholder="Search"
+ autocapitalize="off"
+ role="combobox"
+ aria-haspopup="listbox"
+ aria-expanded="false"
+ aria-autocomplete="list"
+ aria-controls="jump-to-results"
+ aria-label="Search"
+ data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
+ spellcheck="false"
+ autocomplete="off"
+ >
+ <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="2RR4pHeHTSadqnApLSDrRzTCo5WONrVon4n6t7c806+bcNyFf+IiCPqrf60IfkTS32rAoEl+W1glL6jQxY0Vgw==" />
+ <input type="hidden" class="js-site-search-type-field" name="type" >
+ <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
+
+
+ <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
+
+<ul class="d-none js-jump-to-suggestions-template-container">
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+</ul>
+
+<ul class="d-none js-jump-to-no-results-template-container">
+ <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
+ <span class="color-fg-muted">No suggested jump to results</span>
+ </li>
+</ul>
+
+<ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this organization">
+ In this organization
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+</ul>
+
+ </div>
+ </label>
+</form> </div>
+</div>
+
+ </div>
+
+ <div class="position-relative mr-3 mb-4 mb-lg-0 d-inline-block">
+ <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2F.github%2Fblob%2Fmain%2FCODE_OF_CONDUCT.md"
+ class="HeaderMenu-link flex-shrink-0 no-underline"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ca628ddb71965b6266b062360c34ce793c0b811a0cc5bb23cea3b05a54f1dbba"
+ data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
+ Sign in
+ </a>
+ </div>
+
+ <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=eclipse-ee4j%2F.github"
+ class="HeaderMenu-link flex-shrink-0 d-inline-block no-underline border color-border-default rounded px-2 py-1"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ca628ddb71965b6266b062360c34ce793c0b811a0cc5bb23cea3b05a54f1dbba"
+ data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="317fc8611a580b45535a96512fd55b04bff87504248ac93174ff1b660541cc7e" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
+ >
+ Sign up
+ </a>
+ </div>
+ </div>
+ </div>
+</header>
+
+ </div>
+
+ <div id="start-of-content" class="show-on-focus"></div>
+
+
+
+
+
+
+ <div data-pjax-replace id="js-flash-container">
+
+
+ <template class="js-flash-template">
+ <div class="flash flash-full {{ className }}">
+ <div class=" px-2" >
+ <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg>
+ </button>
+
+ <div>{{ message }}</div>
+
+ </div>
+</div>
+ </template>
+</div>
+
+
+
+
+ <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
+
+
+
+
+
+ <div
+ class="application-main "
+ data-commit-hovercards-enabled
+ data-discussion-hovercards-enabled
+ data-issue-and-pr-hovercards-enabled
+ >
+ <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
+ <main id="js-repo-pjax-container" data-pjax-container >
+
+
+
+
+
+
+
+
+
+
+ <include-fragment src="/orgs/eclipse-ee4j/survey_banner" data-test-selector="survey-banner-selector">
+ </include-fragment>
+
+
+
+ <div id="repository-container-header" class="pt-3 hide-full-screen mb-5" style="background-color: var(--color-page-header-bg);" data-pjax-replace>
+
+ <div class="d-flex mb-3 px-3 px-md-4 px-lg-5">
+
+ <div class="flex-auto min-width-0 width-fit mr-3">
+ <h1 class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-icon-secondary mr-2">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <span class="author flex-self-stretch" itemprop="author">
+ <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/eclipse-ee4j/hovercard" href="/eclipse-ee4j">eclipse-ee4j</a>
+ </span>
+ <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
+ <strong itemprop="name" class="mr-2 flex-self-stretch">
+ <a data-pjax="#js-repo-pjax-container" href="/eclipse-ee4j/.github">.github</a>
+ </strong>
+
+ <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
+</h1>
+
+ </div>
+
+ <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
+
+ <li>
+ <a href="/login?return_to=%2Feclipse-ee4j%2F.github" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c3d8571bd8cb07b36b27ffc9f51f6c2ace3c356972bb401a470362764e3e28cf" aria-label="You must be signed in to change notification settings" role="button" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell">
+ <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path>
+</svg>
+
+ Notifications
+
+
+
+</a>
+ </li>
+
+
+ <li>
+ <div >
+ <a href="/login?return_to=%2Feclipse-ee4j%2F.github" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:355800941,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bcf6a238f5befa2cf92f7f7b2c44748991db024af0d60b5a5d4b5647794ae751" aria-label="You must be signed in to star a repository" role="button" data-view-component="true" class="tooltipped tooltipped-s btn-with-count btn-sm btn">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom mr-1">
+ <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path>
+</svg>
+
+ <span data-view-component="true">
+ Star
+</span>
+
+
+</a> <a
+ class="social-count js-social-count"
+ href="/eclipse-ee4j/.github/stargazers"
+ aria-label="0 users starred this repository"
+ data-singular-suffix="user starred this repository"
+ data-plural-suffix="users starred this repository"
+ >
+ 0
+ </a>
+ </div>
+
+ </li>
+
+ <li>
+ <a href="/login?return_to=%2Feclipse-ee4j%2F.github" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:355800941,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0fa67046a7b0e9d46b2508350bac19c69f37216699bc1f113a8b348aaec1439e" aria-label="You must be signed in to fork a repository" role="button" data-view-component="true" class="tooltipped tooltipped-s btn-with-count btn-sm btn">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked">
+ <path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path>
+</svg>
+
+ Fork
+
+
+
+</a>
+ <a
+ href="/eclipse-ee4j/.github/network/members"
+ class="social-count"
+ aria-label="3 users forked this repository"
+ >
+ 3
+ </a>
+
+ </li>
+
+
+ <li>
+
+
+ </li>
+</ul>
+
+ </div>
+
+ <div id="responsive-meta-container" data-pjax-replace>
+</div>
+
+
+
+<nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
+
+ <ul data-view-component="true" class="UnderlineNav-body list-style-none">
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="code-tab" href="/eclipse-ee4j/.github" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /eclipse-ee4j/.github" data-hotkey="g c" data-ga-click="Repository, Navigation click, Code tab" data-pjax="#repo-content-pjax-container" aria-current="page" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
+</svg>
+ <span data-content="Code">Code</span>
+ <span id="code-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="issues-tab" href="/eclipse-ee4j/.github/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /eclipse-ee4j/.github/issues" data-hotkey="g i" data-ga-click="Repository, Navigation click, Issues tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
+ <path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path>
+</svg>
+ <span data-content="Issues">Issues</span>
+ <span id="issues-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="pull-requests-tab" href="/eclipse-ee4j/.github/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /eclipse-ee4j/.github/pulls" data-hotkey="g p" data-ga-click="Repository, Navigation click, Pull requests tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path>
+</svg>
+ <span data-content="Pull requests">Pull requests</span>
+ <span id="pull-requests-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="actions-tab" href="/eclipse-ee4j/.github/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /eclipse-ee4j/.github/actions" data-hotkey="g a" data-ga-click="Repository, Navigation click, Actions tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path>
+</svg>
+ <span data-content="Actions">Actions</span>
+ <span id="actions-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="projects-tab" href="/eclipse-ee4j/.github/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /eclipse-ee4j/.github/projects" data-hotkey="g b" data-ga-click="Repository, Navigation click, Projects tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <span data-content="Projects">Projects</span>
+ <span id="projects-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="wiki-tab" href="/eclipse-ee4j/.github/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /eclipse-ee4j/.github/wiki" data-hotkey="g w" data-ga-click="Repository, Navigation click, Wikis tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path>
+</svg>
+ <span data-content="Wiki">Wiki</span>
+ <span id="wiki-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="security-tab" href="/eclipse-ee4j/.github/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /eclipse-ee4j/.github/security" data-hotkey="g s" data-ga-click="Repository, Navigation click, Security tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path>
+</svg>
+ <span data-content="Security">Security</span>
+ <include-fragment src="/eclipse-ee4j/.github/security/overall-count" accept="text/fragment+html"></include-fragment>
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="insights-tab" href="/eclipse-ee4j/.github/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /eclipse-ee4j/.github/pulse" data-ga-click="Repository, Navigation click, Insights tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path>
+</svg>
+ <span data-content="Insights">Insights</span>
+ <span id="insights-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+</ul>
+ <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <details data-view-component="true" class="details-overlay details-reset position-relative">
+ <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
+ <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
+</svg>
+ <span class="sr-only">More</span>
+ </div>
+</summary>
+ <div data-view-component="true"> <details-menu role="menu" data-view-component="true" class="dropdown-menu dropdown-menu-sw">
+
+ <ul>
+ <li data-menu-item="i0code-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /eclipse-ee4j/.github" href="/eclipse-ee4j/.github">
+ Code
+</a> </li>
+ <li data-menu-item="i1issues-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_issues repo_labels repo_milestones /eclipse-ee4j/.github/issues" href="/eclipse-ee4j/.github/issues">
+ Issues
+</a> </li>
+ <li data-menu-item="i2pull-requests-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_pulls checks /eclipse-ee4j/.github/pulls" href="/eclipse-ee4j/.github/pulls">
+ Pull requests
+</a> </li>
+ <li data-menu-item="i3actions-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_actions /eclipse-ee4j/.github/actions" href="/eclipse-ee4j/.github/actions">
+ Actions
+</a> </li>
+ <li data-menu-item="i4projects-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_projects new_repo_project repo_project /eclipse-ee4j/.github/projects" href="/eclipse-ee4j/.github/projects">
+ Projects
+</a> </li>
+ <li data-menu-item="i5wiki-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_wiki /eclipse-ee4j/.github/wiki" href="/eclipse-ee4j/.github/wiki">
+ Wiki
+</a> </li>
+ <li data-menu-item="i6security-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="security overview alerts policy token_scanning code_scanning /eclipse-ee4j/.github/security" href="/eclipse-ee4j/.github/security">
+ Security
+</a> </li>
+ <li data-menu-item="i7insights-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /eclipse-ee4j/.github/pulse" href="/eclipse-ee4j/.github/pulse">
+ Insights
+</a> </li>
+ </ul>
+
+</details-menu></div>
+</details></div>
+</nav>
+ </div>
+
+
+
+<div class="clearfix new-discussion-timeline container-xl px-3 px-md-4 px-lg-5">
+ <div id="repo-content-pjax-container" class="repository-content " >
+
+
+
+
+
+
+
+
+<div>
+
+
+
+ <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/CODE_OF_CONDUCT.md">Permalink</a>
+
+ <div class="d-flex flex-items-start flex-shrink-0 pb-3 flex-wrap flex-md-nowrap flex-justify-between flex-md-justify-start">
+
+<div class="position-relative">
+ <details class="details-reset details-overlay mr-0 mb-0 " id="branch-select-menu">
+ <summary class="btn css-truncate"
+ data-hotkey="w"
+ title="Switch branches or tags">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch">
+ <path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path>
+</svg>
+ <span class="css-truncate-target" data-menu-button>main</span>
+ <span class="dropdown-caret"></span>
+ </summary>
+
+
+<div class="SelectMenu">
+ <div class="SelectMenu-modal">
+ <header class="SelectMenu-header">
+ <span class="SelectMenu-title">Switch branches/tags</span>
+ <button class="SelectMenu-closeButton" type="button" data-toggle-for="branch-select-menu"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg></button>
+ </header>
+
+ <input-demux data-action="tab-container-change:input-demux#storeInput tab-container-changed:input-demux#updateInput">
+ <tab-container class="d-flex flex-column js-branches-tags-tabs" style="min-height: 0;">
+ <div class="SelectMenu-filter">
+ <input data-target="input-demux.source"
+ id="context-commitish-filter-field"
+ class="SelectMenu-input form-control"
+ aria-owns="ref-list-branches"
+ data-controls-ref-menu-id="ref-list-branches"
+ autofocus
+ autocomplete="off"
+ aria-label="Filter branches/tags"
+ placeholder="Filter branches/tags"
+ type="text"
+ >
+ </div>
+
+ <div class="SelectMenu-tabs" role="tablist" data-target="input-demux.control" >
+ <button class="SelectMenu-tab" type="button" role="tab" aria-selected="true">Branches</button>
+ <button class="SelectMenu-tab" type="button" role="tab">Tags</button>
+ </div>
+
+ <div role="tabpanel" id="ref-list-branches" data-filter-placeholder="Filter branches/tags" class="d-flex flex-column flex-auto overflow-auto" tabindex="">
+ <ref-selector
+ type="branch"
+ data-targets="input-demux.sinks"
+ data-action="
+ input-entered:ref-selector#inputEntered
+ tab-selected:ref-selector#tabSelected
+ focus-list:ref-selector#focusFirstListMember
+ "
+ query-endpoint="/eclipse-ee4j/.github/refs"
+
+ cache-key="v0:1617878334.792743"
+ current-committish="bWFpbg=="
+ default-branch="bWFpbg=="
+ name-with-owner="ZWNsaXBzZS1lZTRqLy5naXRodWI="
+ prefetch-on-mouseover
+ >
+
+ <template data-target="ref-selector.fetchFailedTemplate">
+ <div class="SelectMenu-message" data-index="{{ index }}">Could not load branches</div>
+ </template>
+
+ <template data-target="ref-selector.noMatchTemplate">
+ <div class="SelectMenu-message">Nothing to show</div>
+</template>
+
+
+ <!-- TODO: this max-height is necessary or else the branch list won't scroll. why? -->
+ <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list " style="max-height: 330px" data-pjax="#repo-content-pjax-container">
+ <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
+ <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+ </div>
+ </div>
+
+ <template data-target="ref-selector.itemTemplate">
+ <a href="https://github.com/eclipse-ee4j/.github/blob/{{ urlEncodedRefName }}/CODE_OF_CONDUCT.md" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
+ <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
+ </a>
+</template>
+
+
+ <footer class="SelectMenu-footer"><a href="/eclipse-ee4j/.github/branches">View all branches</a></footer>
+ </ref-selector>
+
+ </div>
+
+ <div role="tabpanel" id="tags-menu" data-filter-placeholder="Find a tag" class="d-flex flex-column flex-auto overflow-auto" tabindex="" hidden>
+ <ref-selector
+ type="tag"
+ data-action="
+ input-entered:ref-selector#inputEntered
+ tab-selected:ref-selector#tabSelected
+ focus-list:ref-selector#focusFirstListMember
+ "
+ data-targets="input-demux.sinks"
+ query-endpoint="/eclipse-ee4j/.github/refs"
+ cache-key="v0:1617878334.792743"
+ current-committish="bWFpbg=="
+ default-branch="bWFpbg=="
+ name-with-owner="ZWNsaXBzZS1lZTRqLy5naXRodWI="
+ >
+
+ <template data-target="ref-selector.fetchFailedTemplate">
+ <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div>
+ </template>
+
+ <template data-target="ref-selector.noMatchTemplate">
+ <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div>
+ </template>
+
+ <template data-target="ref-selector.itemTemplate">
+ <a href="https://github.com/eclipse-ee4j/.github/blob/{{ urlEncodedRefName }}/CODE_OF_CONDUCT.md" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
+ <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
+ </a>
+</template>
+
+
+ <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px" data-pjax="#repo-content-pjax-container">
+ <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
+ <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+ </div>
+ </div>
+ <footer class="SelectMenu-footer"><a href="/eclipse-ee4j/.github/tags">View all tags</a></footer>
+ </ref-selector>
+ </div>
+ </tab-container>
+ </input-demux>
+ </div>
+</div>
+
+ </details>
+
+</div>
+
+ <h2 id="blob-path" class="breadcrumb flex-auto flex-self-center min-width-0 text-normal mx-2 width-full width-md-auto flex-order-1 flex-md-order-none mt-3 mt-md-0">
+ <span class="js-repo-root text-bold"><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="#repo-content-pjax-container" href="/eclipse-ee4j/.github"><span>.github</span></a></span></span><span class="separator">/</span><strong class="final-path">CODE_OF_CONDUCT.md</strong>
+ </h2>
+ <a href="/eclipse-ee4j/.github/find/main"
+ class="js-pjax-capture-input btn mr-2 d-none d-md-block"
+ data-pjax
+ data-hotkey="t">
+ Go to file
+ </a>
+
+ <details id="blob-more-options-details" data-view-component="true" class="details-overlay details-reset position-relative">
+ <summary role="button" data-view-component="true" class="btn">
+
+ <svg aria-label="More options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
+ <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
+</svg>
+
+
+
+</summary>
+ <div data-view-component="true"> <ul class="dropdown-menu dropdown-menu-sw">
+ <li class="d-block d-md-none">
+ <a class="dropdown-item d-flex flex-items-baseline" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;FIND_FILE_BUTTON&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2c23a3fb518f0e3f17e3b0c1c0d1610ef8bcdca1782f20a140db6edf4ca7d7ac" data-ga-click="Repository, find file, location:repo overview" data-hotkey="t" data-pjax="true" href="/eclipse-ee4j/.github/find/main">
+ <span class="flex-auto">Go to file</span>
+ <span class="text-small color-fg-muted" aria-hidden="true">T</span>
+</a> </li>
+ <li data-toggle-for="blob-more-options-details">
+ <button data-toggle-for="jumpto-line-details-dialog" type="button" data-view-component="true" class="dropdown-item btn-link">
+
+
+ <span class="d-flex flex-items-baseline">
+ <span class="flex-auto">Go to line</span>
+ <span class="text-small color-fg-muted" aria-hidden="true">L</span>
+ </span>
+
+
+
+</button> </li>
+ <li class="dropdown-divider" role="none"></li>
+ <li>
+ <clipboard-copy data-toggle-for="blob-more-options-details" aria-label="Copy path" value="CODE_OF_CONDUCT.md" data-view-component="true" class="dropdown-item cursor-pointer">
+
+ Copy path
+
+</clipboard-copy> </li>
+ <li>
+ <clipboard-copy data-toggle-for="blob-more-options-details" aria-label="Copy permalink" value="https://github.com/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/CODE_OF_CONDUCT.md" data-view-component="true" class="dropdown-item cursor-pointer">
+
+ <span class="d-flex flex-items-baseline">
+ <span class="flex-auto">Copy permalink</span>
+ </span>
+
+</clipboard-copy> </li>
+ </ul>
+</div>
+</details> </div>
+
+
+
+
+ <div class="Box d-flex flex-column flex-shrink-0 mb-3">
+ <include-fragment src="/eclipse-ee4j/.github/contributors/main/CODE_OF_CONDUCT.md" class="commit-loader">
+ <div class="Box-header d-flex flex-items-center">
+ <div class="Skeleton avatar avatar-user flex-shrink-0 ml-n1 mr-n1 mt-n1 mb-n1" style="width:24px;height:24px;"></div>
+ <div class="Skeleton Skeleton--text col-5 ml-2">&nbsp;</div>
+ </div>
+
+ <div class="Box-body d-flex flex-items-center" >
+ <div class="Skeleton Skeleton--text col-1">&nbsp;</div>
+ <span class="color-fg-danger h6 loader-error">Cannot retrieve contributors at this time</span>
+ </div>
+</include-fragment> </div>
+
+
+
+
+
+
+
+
+ <readme-toc>
+
+ <div data-target="readme-toc.content" class="Box mt-3 position-relative">
+
+ <div
+ class="Box-header blob-header js-sticky js-position-sticky top-0 p-2 d-flex flex-shrink-0 flex-md-row flex-items-center"
+ style="position: sticky; z-index: 1;"
+ >
+
+ <details
+ data-target="readme-toc.trigger"
+ data-menu-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;trigger&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}"
+ data-menu-hydro-click-hmac="1c261690114888f1dfa78926717f63805c636349b3be478fa56114787411a8f7"
+ class="dropdown details-reset details-overlay"
+>
+ <summary
+ class="btn btn-octicon m-0 mr-2 p-2"
+ aria-haspopup="true"
+ aria-label="Table of Contents">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-list-unordered">
+ <path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
+</svg>
+ </summary>
+
+
+ <details-menu class="SelectMenu" role="menu">
+ <div class="SelectMenu-modal rounded-3 mt-1" style="max-height:340px;">
+
+
+ <div class="SelectMenu-list SelectMenu-list--borderless p-2" style="overscroll-behavior: contain;">
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 text-emphasized" style="padding-left: 12px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#community-code-of-conduct">Community Code of Conduct</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#our-pledge">Our Pledge</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#our-standards">Our Standards</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#our-responsibilities">Our Responsibilities</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#scope">Scope</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#enforcement">Enforcement</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c877059f38b450603eaf5fad8cac648b52d1a9529e7f42a204689f655311eaa" href="#attribution">Attribution</a>
+ </div>
+ </div>
+ </details-menu>
+</details>
+
+
+ <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1">
+
+ 47 lines (29 sloc)
+ <span class="file-info-divider"></span>
+ 3.23 KB
+ </div>
+
+ <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between hide-sm hide-md">
+ <div class="BtnGroup">
+ <a href="/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md?plain=1" data-permalink-href="/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/CODE_OF_CONDUCT.md?plain=1" aria-label="Display the source blob" role="button" data-view-component="true" class="source tooltipped tooltipped tooltipped-n js-permalink-replaceable-link btn-sm btn BtnGroup-item">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
+ <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
+</svg>
+
+
+
+</a> <a href="/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md" data-permalink-href="/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/CODE_OF_CONDUCT.md" aria-label="Display the rendered blob" role="button" data-view-component="true" class="rendered tooltipped tooltipped tooltipped-n selected js-permalink-replaceable-link btn-sm btn BtnGroup-item">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file">
+ <path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path>
+</svg>
+
+
+
+</a> </div>
+
+
+ <div class="BtnGroup">
+ <a href="/eclipse-ee4j/.github/raw/main/CODE_OF_CONDUCT.md" id="raw-url" role="button" data-view-component="true" class="btn-sm btn BtnGroup-item">
+
+ Raw
+
+
+</a>
+ <a href="/eclipse-ee4j/.github/blame/main/CODE_OF_CONDUCT.md" data-hotkey="b" role="button" data-view-component="true" class="js-update-url-with-hash btn-sm btn BtnGroup-item">
+
+ Blame
+
+
+</a>
+ </div>
+
+ <div>
+ <a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
+ data-platforms="windows,mac"
+ href="https://desktop.github.com"
+ aria-label="Open this file in GitHub Desktop"
+ data-ga-click="Repository, open with desktop">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
+ <path fill-rule="evenodd" d="M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path>
+</svg>
+ </a>
+
+ <remote-clipboard-copy class="d-inline-block btn-octicon" style="height: 26px" data-src="/eclipse-ee4j/.github/raw/main/CODE_OF_CONDUCT.md" data-action="click:remote-clipboard-copy#remoteCopy">
+
+
+
+ <span data-target="remote-clipboard-copy.idle"> <span class="tooltipped tooltipped-nw cursor-pointer" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;COPY_RAW_CONTENTS_BUTTON&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d433dcce46e0bd5cb9ed14a172c9057ca79dc70711defbb5d76651560c994c0" aria-label="Copy raw contents">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy">
+ <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
+</svg>
+</span></span>
+ <span data-target="remote-clipboard-copy.fetching" hidden="hidden"> <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="16" height="16" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+</span>
+ <span data-target="remote-clipboard-copy.success" hidden="hidden"> <span class="tooltipped tooltipped-nw" aria-label="Copied!">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-text-success">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ </span>
+</span>
+ <span data-target="remote-clipboard-copy.error" hidden="hidden"> <span class="tooltipped tooltipped-nw" aria-label="Something went wrong. Try again.">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert color-text-warning">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+ </span>
+</span>
+</remote-clipboard-copy>
+ <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2F.github%2Fblob%2Fmain%2FCODE_OF_CONDUCT.md" class="btn-octicon disabled tooltipped tooltipped-nw"
+ aria-label="You must be signed in to make or propose changes">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
+ <path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path>
+</svg>
+ </a>
+ <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2F.github%2Fblob%2Fmain%2FCODE_OF_CONDUCT.md" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
+ aria-label="You must be signed in to make or propose changes">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
+ <path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path>
+</svg>
+ </a>
+ </div>
+ </div>
+
+ <div class="d-flex hide-lg hide-xl flex-order-2 flex-grow-0">
+ <details class="dropdown details-reset details-overlay d-inline-block">
+ <summary class="btn-octicon p-2" aria-haspopup="true" aria-label="possible actions">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
+ <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
+</svg>
+ </summary>
+
+ <ul class="dropdown-menu dropdown-menu-sw" style="width: 175px">
+ <li>
+ <a class="dropdown-item tooltipped tooltipped-nw js-remove-unless-platform"
+ data-platforms="windows,mac"
+ href="https://desktop.github.com"
+ data-ga-click="Repository, open with desktop">
+ Open with Desktop
+ </a>
+ </li>
+ <li>
+ <a class="dropdown-item" href="/eclipse-ee4j/.github/raw/main/CODE_OF_CONDUCT.md">
+ View raw
+ </a>
+ </li>
+ <li>
+ <remote-clipboard-copy class="dropdown-item" data-src="/eclipse-ee4j/.github/raw/main/CODE_OF_CONDUCT.md" data-action="click:remote-clipboard-copy#remoteCopy">
+
+
+ <span data-target="remote-clipboard-copy.idle"> <span class="cursor-pointer" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;COPY_RAW_CONTENTS_BUTTON&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d433dcce46e0bd5cb9ed14a172c9057ca79dc70711defbb5d76651560c994c0">
+ Copy raw contents
+</span></span>
+ <span data-target="remote-clipboard-copy.fetching" hidden="hidden"> Copy raw contents
+ <span class="d-inline-block position-relative" style="top: 3px">
+ <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg aria-label="fetching contents…" style="box-sizing: content-box; color: var(--color-icon-primary);" width="16" height="16" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+ </span>
+</span>
+ <span data-target="remote-clipboard-copy.success" hidden="hidden"> Copy raw contents
+ <svg aria-label="Copied!" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-text-success">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+</span>
+ <span data-target="remote-clipboard-copy.error" hidden="hidden"> Copy raw contents
+ <svg aria-label="Something went wrong. Try again." role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert color-text-warning">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+</span>
+</remote-clipboard-copy> </li>
+ <li>
+ <a class="dropdown-item" href="/eclipse-ee4j/.github/blame/main/CODE_OF_CONDUCT.md">
+ View blame
+ </a>
+ </li>
+
+ </ul>
+ </details>
+ </div>
+</div>
+
+
+ <div id="readme" class="Box-body readme blob js-code-block-container p-5 p-xl-6 gist-border-0">
+ <article class="markdown-body entry-content container-lg" itemprop="text"><h1 dir="auto"><a id="user-content-community-code-of-conduct" class="anchor" aria-hidden="true" href="#community-code-of-conduct"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Community Code of Conduct</h1>
+<p dir="auto"><strong>Version 1.2
+August 19, 2020</strong></p>
+<h2 dir="auto"><a id="user-content-our-pledge" class="anchor" aria-hidden="true" href="#our-pledge"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Our Pledge</h2>
+<p dir="auto">In the interest of fostering an open and welcoming environment, we as community members, contributors, committers, and project leaders pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.</p>
+<h2 dir="auto"><a id="user-content-our-standards" class="anchor" aria-hidden="true" href="#our-standards"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Our Standards</h2>
+<p dir="auto">Examples of behavior that contributes to creating a positive environment include:</p>
+<ul dir="auto">
+<li>Using welcoming and inclusive language</li>
+<li>Being respectful of differing viewpoints and experiences</li>
+<li>Gracefully accepting constructive criticism</li>
+<li>Focusing on what is best for the community</li>
+<li>Showing empathy towards other community members</li>
+</ul>
+<p dir="auto">Examples of unacceptable behavior by participants include:</p>
+<ul dir="auto">
+<li>The use of sexualized language or imagery and unwelcome sexual attention or advances</li>
+<li>Trolling, insulting/derogatory comments, and personal or political attacks</li>
+<li>Public or private harassment</li>
+<li>Publishing others' private information, such as a physical or electronic address, without explicit permission</li>
+<li>Other conduct which could reasonably be considered inappropriate in a professional setting</li>
+</ul>
+<h2 dir="auto"><a id="user-content-our-responsibilities" class="anchor" aria-hidden="true" href="#our-responsibilities"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Our Responsibilities</h2>
+<p dir="auto">With the support of the Eclipse Foundation staff (the “Staff”), project committers and leaders are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.</p>
+<p dir="auto">Project committers and leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.</p>
+<h2 dir="auto"><a id="user-content-scope" class="anchor" aria-hidden="true" href="#scope"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Scope</h2>
+<p dir="auto">This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the Eclipse Foundation project or its community in public spaces. Examples of representing a project or community include posting via an official social media account, or acting as a project representative at an online or offline event. Representation of a project may be further defined and clarified by project committers, leaders, or the EMO.</p>
+<h2 dir="auto"><a id="user-content-enforcement" class="anchor" aria-hidden="true" href="#enforcement"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Enforcement</h2>
+<p dir="auto">Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Staff at <a href="mailto:codeofconduct@eclipse.org">codeofconduct@eclipse.org</a>. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The Staff is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.</p>
+<p dir="auto">Project committers or leaders who do not follow the Code of Conduct in good faith may face temporary or permanent repercussions as determined by the Staff.</p>
+<h2 dir="auto"><a id="user-content-attribution" class="anchor" aria-hidden="true" href="#attribution"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Attribution</h2>
+<p dir="auto">This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at <a href="https://www.contributor-covenant.org/version/1/4/code-of-conduct.html" rel="nofollow">https://www.contributor-covenant.org/version/1/4/code-of-conduct.html</a></p>
+</article>
+ </div>
+
+ </div>
+
+ </readme-toc>
+
+
+
+ <details class="details-reset details-overlay details-overlay-dark" id="jumpto-line-details-dialog">
+ <summary data-hotkey="l" aria-label="Jump to line"></summary>
+ <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get">
+ <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
+ <button data-close-dialog="" type="submit" data-view-component="true" class="btn">
+
+ Go
+
+
+</button>
+</form> </details-dialog>
+ </details>
+
+
+</div>
+
+
+
+ </div>
+</div>
+
+ </main>
+ </div>
+
+ </div>
+
+
+<div class="footer container-xl width-full p-responsive" role="contentinfo">
+ <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 color-fg-muted border-top color-border-muted ">
+ <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
+ <li class="mr-3 mr-lg-0">&copy; 2021 GitHub, Inc.</li>
+ <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b6100d333afeaddf616c3648fa47ed0566f586b37948b343aa5d9f6a4db3ba54" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}">Terms</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e03eeebfd2b735b7c90d396e9a42d1c561ac3c649ae2203d481024f3be49bb09" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}">Privacy</a></li>
+ <li class="mr-3 mr-lg-0"><a data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cd079975b1f84ce3194d33d0b8ba6a9df98ef9c13922a492eabafcddd570c3d0" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security">Security</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6dd93211abbf5a4c2d1cd9526a3af23d04756dd01561929c44d1bf2eb5f4df32" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}">Status</a></li>
+ <li><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li>
+ </ul>
+
+ <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
+ <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
+ <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
+</svg>
+</a>
+ <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
+ <li class="mr-3 mr-lg-0"><a href="https://support.github.com?tags=dotcom-footer" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="11107716d39beb235e6a4c64ea839fe965817bd332be0dcc3eb409d7e7ff0057" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}">Contact GitHub</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Pricing&quot;,&quot;label&quot;:&quot;text:Pricing&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82c37d92fa535f1b30f1d058502340c8a895d76c7c043c747f641acb3312a026" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Pricing&quot;,&quot;label&quot;:&quot;text:Pricing&quot;}">Pricing</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="496f1d89bf955315188c4c42980fb2fb1b356193f746471ecc43a9f46389be5e" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;}">API</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to training&quot;,&quot;label&quot;:&quot;text:training&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="663f54af5dd698c40c7fa227a02a3f651bf28463bc695e2b1ebb3fcad4daa285" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to training&quot;,&quot;label&quot;:&quot;text:training&quot;}">Training</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/CODE_OF_CONDUCT.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d65580194edaac0f51c73a365ea99c6829ca417c25a9ee5b0019eea1b723712e" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;}">Blog</a></li>
+ <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
+ </ul>
+ </div>
+ <div class="d-flex flex-justify-center pb-6">
+ <span class="f6 color-fg-muted"></span>
+ </div>
+</div>
+
+
+
+ <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+ <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg>
+ </button>
+ You can’t perform that action at this time.
+ </div>
+
+ <div class="js-stale-session-flash flash flash-warn flash-banner" hidden
+ >
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+ <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
+ <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
+ </div>
+ <template id="site-details-dialog">
+ <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
+ <summary role="button" aria-label="Close dialog"></summary>
+ <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
+ <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg>
+ </button>
+ <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
+ </details-dialog>
+ </details>
+</template>
+
+ <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
+ <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
+ </div>
+</div>
+
+ <template id="snippet-clipboard-copy-button">
+ <div class="zeroclipboard-container position-absolute right-0 top-0">
+ <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
+ <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
+</svg>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-text-success d-none m-2">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ </clipboard-copy>
+ </div>
+</template>
+
+
+
+
+ </body>
+</html>
+
diff --git a/README.md b/README.md
new file mode 100644
index 00000000000..4b95db7e412
--- /dev/null
+++ b/README.md
@@ -0,0 +1,71 @@
+<!--
+ * Copyright (c) 2021 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-FileType: DOCUMENTATION
+ * SPDX-FileCopyrightText: 2020 Eclipse Foundation
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ -->
+
+
+# Eclipse Papyrus
+
+* Eclipse Papyrus (http://www.eclipse.org/papyrus) is a model editor for UML2.5 and SysML1.6, fUML 1.2.1, ALF 1.0.1, MARTE 1.1, BPMNProfile 1.0, BMM 1.3, SMM 1.1, PSCS 1.0, PSSM 1.0b, FMI 2.0 and ISO / IEC 42010. As a result, it supports the diagram and table editors of these modeling languages by offering users full support for the underlying modeling concepts and as defined in the these standards.
+* Eclipse Papyrus also allows models to be exploited by employing model-based techniques through additional modules: model-based simulation, formal model-based testing, safety analysis, performance / tradeoff analysis, exploration of architecture...
+* To address any specific area, each part of Eclipse Papyrus can be customized: UML profile, model explorer, diagram notation and style, property views, palette and creation menus and connection of new analysis module .
+
+
+## Getting Started
+
+These instructions will get you a copy of the project up and running on your local machine for development and/or testing purposes.
+
+### Prerequisites
+
+The things you need before installing the software.
+
+* Select an update site from the [latest releases] (https://projects.eclipse.org/projects/modeling.mdt.papyrus/downloads).
+<!-- https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/ -->
+* Choose the Eclipse IDE compatible with the selected relase from the [latest releases] (https://www.eclipse.org/eclipseide/). If you do not see the required release, you can select previous ones by clicking on 'other packages'.
+* The latest compatible version of the Eclipse IDE (you can see the latest published release [here](https://projects.eclipse.org/projects/modeling.mdt.papyrus)).
+* A current version of Java 11 if you want Papyrus of 5+ and Java 1.8 for previous ones (jre if you only intend to use the tool and jdk if you intend to look at or modify the code). Openjdk is preferable but not required.
+
+### Installation
+
+In order to install the software you will have to open the downloaded IDE and install it via the integrated installer.
+
+```
+$ Open the Help menu of your selected IDE.
+$ Go to Install New Software.
+$ Enter the URL of the selected Papyrus update site in the 'Work with' field and select the features to install. The default one is Papyrus for UML that will give you access to the tool.
+$ Click on Next; the installer will automatically compute the required dependencies from the urls available.
+$ Accept the licences of the tools you want to install and click on finish. You will need to restart the IDE to finalize the installation.
+```
+
+## Compile
+
+Papyrus is meant to be compiled with maven. To do so you will need to fetch the git repository. It can be found [here] (https://git.eclipse.org/c/www.eclipse.org/papyrus.git/)
+
+### Usefull commands
+
+```
+$ mvn clean verify -f <pathToSelectedPom>
+```
+
+## Contributing
+
+You can contribute to the Eclipse Papyrus project via [Gerrit] (https://git.eclipse.org/r/).
+If you are interested, you can see a detailed sequence in [this page] (https://wiki.eclipse.org/Gerrit).
+Contributions should be done based on the master branch in order to be automatically verified by its associated Jenkins job.
+
+
+## Additional Documentation and Acknowledgments
+
+* Project folder on server: https://git.eclipse.org/c/papyrus/org.eclipse.papyrus.git
+* News and documentation to contribute: https://wiki.eclipse.org/Papyrus
+* Forum: https://www.eclipse.org/forums/index.php/f/121/
+* Mailing list: https://accounts.eclipse.org/mailing-list/mdt-papyrus.dev \ No newline at end of file
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000000..79924d80e3d
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,1515 @@
+
+
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark">
+ <head>
+ <meta charset="utf-8">
+ <link rel="dns-prefetch" href="https://github.githubassets.com">
+ <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
+ <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
+ <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
+ <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
+ <link rel="preconnect" href="https://avatars.githubusercontent.com">
+
+
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-gTJi5qrypRHWpLXsMZQXoL53mXDuVqfZc7AfuiFXreLhf7Pk1RMvXJMWJsiS8dpkFDfq/7t6bFZK+3xS1Ak+Lg==" rel="stylesheet" href="https://github.githubassets.com/assets/light-813262e6aaf2a511d6a4b5ec319417a0.css" /><link crossorigin="anonymous" media="all" integrity="sha512-CMdm0es1Ti46ZuFcKKz+jobtyuFMFz3OIWxrFfOGbsHzri6ehzY0MqUHRn9C23aqIUH6HrnhiqjxF6EcdWJ/ZQ==" rel="stylesheet" href="https://github.githubassets.com/assets/dark-08c766d1eb354e2e3a66e15c28acfe8e.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="sha512-BuSuxJq/eJKvBSkc628ZMPWYFuRDuvjx9zYd9qvSlTzLeLPieLQN5xSCf5M9r+FcFXjKM6QZZlXtL6E3cmGUIQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-06e4aec49abf7892af05291ceb6f1930.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-hwUXTdeaR7CvyPs0A1D/6JPfPL8Kw5ROLomzsKt1kWikHyxJlF2BpNoeNTBvId3UfSAvs7aN7sFHuuvxyQIOJQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-8705174dd79a47b0afc8fb340350ffe8.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="sha512-uWIIE9NeQoOg9WxtV8wRqBongxd0Gq2FU5z338xK5CKnkJ5N9oIA/eRb3VrwDrC8JjkY6cXbyQxlDGb0aycO4g==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-b9620813d35e4283a0f56c6d57cc11a8.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="sha512-ytMK66Cuij41v31Kuiae888Pc07/HqRHHpLnyxwbjPJ1dK0xMqvj57VwCf/yTTR0EvxIaCZDYDapJhDq9pwHDA==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-cad30aeba0ae8a3e35bf7d4aba269ef3.css" />
+ <link crossorigin="anonymous" media="all" integrity="sha512-upgQ6TtI8FmQerCgXwYQaOaInJUGVFSHoLg/85yuuhL4FHRxnVs4ZAIYW5otDlP/FVzAcy0RrwrV9+OvVrWmug==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-ba9810e93b48f059907ab0a05f061068.css" />
+ <link crossorigin="anonymous" media="all" integrity="sha512-oSd0mPHI8l3FuYBEig06npp8ATVm1cBmKfEoeoEeYObpP7wRu/dsg4j8RPjXy0gWMFzbMnCeeg6NTqSXLLt3Hw==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-a1277498f1c8f25dc5b980448a0d3a9e.css" />
+
+
+
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-N0jE8W5T6P6M4+zgzBlfZZd6/xiPbYe7GrYhVn3s3QzT2J4VYUA67+JV9Md2wfhd7LhEsUbMD98s9U7jPYPUuw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-3748c4f16e53e8fe8ce3ece0cc195f65.css" />
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-GCKGhAXfGKreHAinXWGlCzuvkEAQPL+EDKtDj8g6Bk19Hh0KBTFiHdA3xeDVe8zVqXPm78DprJbRV57gzZBwRQ==" type="application/javascript" src="https://github.githubassets.com/assets/environment-18228684.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-yxcBm6Vjgm/5GJEqyFmAQurm/vmzlef3m9q9hlcWD+zbmpGbYYWvtMvW/pxo6/QxynB5dv7gJenRoTVgf4etdg==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-cb17019b.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-AceI9xuL/Yg1MV0DwAWjJCsMG7uA2pYXeSab+AieNW912jG7dzJ71B1tjWPdaMpBbmpZB9UV6QQNwihMGu7+qQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-01c788f7.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-6kOZ4CYxy0/b/spXvoM6IDqwzRB4QTwpXZN7ZcpPthTktZJa9H7BFmnNV+OFcx8MyCpyhKhHaG9pGUGUndOsHg==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-ea4399e0.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-fvcOOYapCxPkDRQWz2WQzrqL6rRhX88yHWF87fb9Xny2Fq4lri0ONaVFL7XDSTiTyu4OTp+8WoyfMVpgGUaaVg==" type="application/javascript" data-module-id="./chunk-unveil.js" data-src="https://github.githubassets.com/assets/chunk-unveil-7ef70e39.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-tQMUqRJH3y0kDtOFWGGedIzZR8qp9CKkc5CyylzweMJcvGHMYM+ug5uHq7aargcUmHVsAGJshqwqD4JQLbBKeA==" type="application/javascript" data-module-id="./chunk-animate-on-scroll.js" data-src="https://github.githubassets.com/assets/chunk-animate-on-scroll-b50314a9.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-9xhBxiFCx8a89IWT9qOAlpG7AYCcrqmOG811x87J8VmWIXEd/2/Nnbb1VIYg2aS5wnQ6kNpoexayKyM86ihlIg==" type="application/javascript" data-module-id="./chunk-ref-selector.js" data-src="https://github.githubassets.com/assets/chunk-ref-selector-f71841c6.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-gUbz7FhJzwbOWjvo5usnnGy9y+leOGtcPrN5jL23XcooSieBRizyQbRIWTQzAvbw2miGl+zaMUkyWJe5/onKFA==" type="application/javascript" data-module-id="./chunk-filter-input.js" data-src="https://github.githubassets.com/assets/chunk-filter-input-8146f3ec.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-mFcZal4N+qXEaGAF09y9izYmZB702iavRwtHdJ3NZl92+5p5yeNOd/l3DWKr5yFwAIEVYqMZBWqBjk83nkwjYw==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-9857196a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-jUpJTNYr0DKdjNyhUzHM3FZvpnEXUpKwJeU1FpMLrnIFYBGty8yjMQWujYNQfBUxTvVPjq++gEJcg7dkx4sSag==" type="application/javascript" data-module-id="./chunk-responsive-underlinenav.js" data-src="https://github.githubassets.com/assets/chunk-responsive-underlinenav-8d4a494c.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-FnMAzMicEfnOat1Frlp+ve9uEF8tyUofT4T4DqedwoPqEIP5KGhFQrvi7VNlQoSDVgG46aNXhKx5rYVjdqJl7A==" type="application/javascript" data-module-id="./chunk-tag-input.js" data-src="https://github.githubassets.com/assets/chunk-tag-input-167300cc.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-5kC7r+ezqZbAxlxjz63Z60uKuTgNuMREX68MyfNS/SRM0bnmg31T+sfaKJ5Pizy1tRfJuv2V0WOgu1BHY+QlzA==" type="application/javascript" data-module-id="./chunk-notification-list-focus.js" data-src="https://github.githubassets.com/assets/chunk-notification-list-focus-e640bbaf.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-ZKcEoIMJ5sVFZ4a7nPo78n/liXgHYeCDknykhkmh0+D7Q8T0A3RT5pyQ6cbK6yEf56rIOzXJb4udofCUbjwzWQ==" type="application/javascript" data-module-id="./chunk-cookies.js" data-src="https://github.githubassets.com/assets/chunk-cookies-64a704a0.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-QFFTldE+TutfGrG+ynhJq3dZsoSzrxMvjounvvZpiWbBcNg6citMaOhHRhQA7IIX2QKGgQzGRYqdtFdWm8U08w==" type="application/javascript" data-module-id="./chunk-async-export.js" data-src="https://github.githubassets.com/assets/chunk-async-export-40515395.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-4WUsXxvlXMlL8r519ldcltSD93NUpn5GA/AnuI7TUu4YxDa6wuPkB1R4Djv7FAVDLnewuhW0h+fTE/mXKXVSuA==" type="application/javascript" data-module-id="./chunk-premium-runners.js" data-src="https://github.githubassets.com/assets/chunk-premium-runners-e1652c5f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-FA9+6CCSGlvw7+wuwp7Yuv41laal2WbPoCqNIe+Jh8pluxW21v15AAg0nLRv8TrbYAcSLeDuAs/GDmvRHXPNCg==" type="application/javascript" data-module-id="./chunk-get-repo-element.js" data-src="https://github.githubassets.com/assets/chunk-get-repo-element-140f7ee8.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-ol5y71RI6PxIzSuxVDnwevlSWZzk4bNc3O/EjhN5zfx6VPqcyDOAiN9CoTydwOZwe2K3Jmu+85/EV19h4A13Uw==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-a25e72ef.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-vpt2Tdt20tOKRtrRWtOVaRi2wBoAaflNGUR6xuQgU/0Ywfxvbazq0C2hhKwuiC8b6A813gXGm+8fj0NCEosbYQ==" type="application/javascript" data-module-id="./chunk-copy.js" data-src="https://github.githubassets.com/assets/chunk-copy-be9b764d.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-BaJT1JQEuulq953/0IRsQ6BBqFSjE77PX/c9dv2nRA+jDB1xW0LaAaZrErAI3I9CHV25a2zljQWPB7dnfThWgw==" type="application/javascript" data-module-id="./chunk-voting.js" data-src="https://github.githubassets.com/assets/chunk-voting-05a253d4.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-JKFJ/vcn3uYKKZwBq9An1scgXJEhWBkVMFIGJUFUZCCWFfKs2EAZVJtxhjKxyyFOOii0SHhCt2eBIATDJfF+tQ==" type="application/javascript" data-module-id="./chunk-confetti.js" data-src="https://github.githubassets.com/assets/chunk-confetti-24a149fe.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-gJVB/GH52amHFpHlhs4k3CbvxrTGIfjDQMpjfDj6Y+4EyBRKbC9IJ3AHkJ8B2tvICPmtkpBNnYF+fmD2FKh16Q==" type="application/javascript" data-module-id="./chunk-codemirror.js" data-src="https://github.githubassets.com/assets/chunk-codemirror-809541fc.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-lOWku9YTzrujXXE9Gw2/fuY003SQ/guN37z49ZLegvgRwPzvvVpJjwkMTdmldgbiRuj9YWjF1ihlBZya3Rq5+g==" type="application/javascript" data-module-id="./chunk-tip.js" data-src="https://github.githubassets.com/assets/chunk-tip-94e5a4bb.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-vmtT5r0gvfYRqPPeAKDO2jCskwQgqay7JXgzcGQtAKb5FGptmF3QpO5MuKfazP4AbOqbgGL3VdhfSs64WE409A==" type="application/javascript" data-module-id="./chunk-line.js" data-src="https://github.githubassets.com/assets/chunk-line-be6b53e6.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-P7LTGHlGIwxFHh23D08Kq6RU5s2knxjFSjKfJ6+UcgL5RzOpcJ+mHAJkXkD67JTEYhaeTxtGdTHtD3Ls2q7SPw==" type="application/javascript" data-module-id="./chunk-array.js" data-src="https://github.githubassets.com/assets/chunk-array-3fb2d318.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-1XwXglKLXHju4JnPBvXcCx59aJd5W8bAMlBWJhh9nw1FbgWSDGdPsYOY6AunsaKV34sa5CWT2Y1s93yc8gdl0Q==" type="application/javascript" data-module-id="./chunk-band.js" data-src="https://github.githubassets.com/assets/chunk-band-d57c1782.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-WK8VXw3lfUQ/VRW0zlgKPhcMUqH0uTnB/KzePUPdZhCm/HpxfXXHKTGvj5C0Oex7+zbIM2ECzULbtTCT4ug3yg==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-58af155f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-k3SlS412IUog0/DAh6sWIRtf881M1kAELDFk2GN+FWLUw5sUlsr8sf3JH9LSnaaIdlOiBnwmtb6l2lSagEiGnQ==" type="application/javascript" data-module-id="./chunk-delayed-loading-element.js" data-src="https://github.githubassets.com/assets/chunk-delayed-loading-element-9374a54b.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-sRRRBVD0LHT641C1Lwmxz+CFHggcU30SPHNS+Qt80W70WDXK28RFccGvy7m+pbmsoF5lUndE+64C1gqeO1H2fg==" type="application/javascript" data-module-id="./chunk-three.module.js" data-src="https://github.githubassets.com/assets/chunk-three.module-b1145105.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Cv6nmSi76TZMSczzPiqFBOH+ejpEOsezmcqEy1aHs+ip/JMlNxQxBxgOajYbti2AXM0UgMG6lrJLBYzIuYkcqg==" type="application/javascript" data-module-id="./chunk-slug.js" data-src="https://github.githubassets.com/assets/chunk-slug-0afea799.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-4t+G5fe4QUNub+iRYMTfxr2kQ9KdH7aWatXOvxCsDl+Q9tEtSf+GRQt9+ZvrOw/ZgRTC74J7w6l6JDDE/k4hjQ==" type="application/javascript" data-module-id="./chunk-invitations.js" data-src="https://github.githubassets.com/assets/chunk-invitations-e2df86e5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-hgoSKLTlL8I3IWr/TLONCU+N4kdCtdrHCrrud4NKhgRlLrTw0XUPhqBaDdZUiFSzDQRw/nFQ1kw2VeTm0g9+lA==" type="application/javascript" data-module-id="./chunk-profile.js" data-src="https://github.githubassets.com/assets/chunk-profile-860a1228.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-vhLi469EW4GW+qbs2uh0p0ZmpsNhv2KvwjOgF8lJJWWwwRrkDR1RaMa7EEnWrSMZ/AeKUYKKMq3KwiUKHF9oGA==" type="application/javascript" data-module-id="./chunk-overview.js" data-src="https://github.githubassets.com/assets/chunk-overview-be12e2e3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-WY4pg33/i8nLwqJ+sCHX/9raMISin0Yi/Fh5J6K8qL2YVjqEZQ8WJ8AsJs/3/IoXiN1OaBgo7Cqqy2cKgqq2HA==" type="application/javascript" data-module-id="./chunk-advanced.js" data-src="https://github.githubassets.com/assets/chunk-advanced-598e2983.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-q9IKKBadRSw90Tn8lhS7OS03x1+prUIEwY8/WwYKx4KE++sg826QMTd0WHVOKiyWbVFbJLXxCjqQtJhIsqqvLw==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-abd20a28.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-SRLHss3KzSFb/E7cpPnqJHQ+16aPKljzv518gB9tRySRcNAV2LR8FntHDpr4p3YJSmNrbkk7QRWmdnfTkoBoLg==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-4912c7b2.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-SsCEZUoP4uiSY2jpnstC5oUV0+5lSZcgJ2roTJ0NgRIT5at3m/6l5Ygs7SsZ1AduNq8coZgb9iFNy3q25htJ7w==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-4ac08465.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-+iGGQK5S9OqlPwzPiCE9eJo1Yv/gvDDQaJ9NGKVTuNuRBwoJcj7pxsasdK7ZyZFHBLjTGG8220QkJ197i99OZw==" type="application/javascript" data-module-id="./chunk-edit-hook-secret-element.js" data-src="https://github.githubassets.com/assets/chunk-edit-hook-secret-element-fa218640.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-KeCtePoPHNIvSsI2ZAGWm/w4dxHmw4UpqmHY9VvPm4TNHI3QCUrGJErq7Q1PUImyDR7PXOK3VgItO5d5yfRIiA==" type="application/javascript" data-module-id="./chunk-insights-query.js" data-src="https://github.githubassets.com/assets/chunk-insights-query-29e0ad78.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-W1lGpa93VyXewdQaK4sxbLudAgCPTz/YOf0i2x4Mz9g/xUtrHmFaPWfboiVhQTM/qbYzvawhkwot56Ps2fMKZA==" type="application/javascript" data-module-id="./chunk-remote-clipboard-copy.js" data-src="https://github.githubassets.com/assets/chunk-remote-clipboard-copy-5b5946a5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-81OTF+K8GwVPZZ7gJFo0VR+Vpa2Spg0eaxCbgAcy6+QJjM3hM1oQpRRf3fMufldsp5v2z6LRbrUvfc0CXtN1kw==" type="application/javascript" data-module-id="./chunk-series-table.js" data-src="https://github.githubassets.com/assets/chunk-series-table-f3539317.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-DM+iykxjf2HT7QQrMTM2EtpCyj60FVl/S3qzBjl5snpx4rdc6Cmc87pnXGiuvuZzI1x9j+HQ+/Rwamb85or+NQ==" type="application/javascript" data-module-id="./chunk-line-chart.js" data-src="https://github.githubassets.com/assets/chunk-line-chart-0ccfa2ca.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-0p8FP92jFw0Ijsu8wRVY6prAQ48QEsaDAhUYhUm5bMRq1q21W/KPC5tcBN7pcak+S3CGjELrUh6vrSJn1fRjZQ==" type="application/javascript" data-module-id="./chunk-stacked-area-chart.js" data-src="https://github.githubassets.com/assets/chunk-stacked-area-chart-d29f053f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-FUzmws9Fy8WkPuBrXO3Gl0zdsc7rXITQq0RsKhUYYyB1gERACwd36i93sjGzyI/0AdobLcEtf6Nv4JCyCT28hg==" type="application/javascript" data-module-id="./chunk-presence-avatars.js" data-src="https://github.githubassets.com/assets/chunk-presence-avatars-154ce6c2.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8uIQ5UjDEzJGvTTBAD1uwbSp+3EXA530Nz2cMXLRwcKwNCpherk27nV4Z/8jpQg2pBpz/nLjwiKhS6OozpAVTg==" type="application/javascript" data-module-id="./chunk-pulse-authors-graph-element.js" data-src="https://github.githubassets.com/assets/chunk-pulse-authors-graph-element-f2e210e5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-coojJ/UNFlaRrR+2TSkiopwWNtzkl/wFumM3x3QpZ4V00b3rCau/Ttr8nZMNskWnhd99w5K7mbCqklgWKalDgw==" type="application/javascript" data-module-id="./chunk-stacks-input-config-view.js" data-src="https://github.githubassets.com/assets/chunk-stacks-input-config-view-728a2327.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-oPKE/9fWau7I5ukozek/dky6L1Htp0AiiYVvJNEcghSu6lld7jT25NB3EeIdkU1WlcpgnzQ+fI42ry1rolPqbg==" type="application/javascript" data-module-id="./chunk-community-contributions.js" data-src="https://github.githubassets.com/assets/chunk-community-contributions-a0f284ff.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-GAr0EKthzUvDEGw6T4LsBXMuYhVHUe+lNf12hmF8/Lr0wN/BZs7wsqES4z0qs+MuDoJjVuIA7BJerWggTIhKqg==" type="application/javascript" data-module-id="./chunk-discussion-page-views.js" data-src="https://github.githubassets.com/assets/chunk-discussion-page-views-180af410.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-wGXIyqDuvhZzpOk836DLhw4YHt/mNh/bn7FcMYRVPU3Z1b8sB1JxnNUnYc6Rm8YtUkBnBlkVODj46SjZYOSQew==" type="application/javascript" data-module-id="./chunk-discussions-daily-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-daily-contributors-c065c8ca.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-6q+hClGdfvJ4mBrxAlQKqSZgo4xh3DbyqX/GBKyrQnb0UR4rNcWGQiaRaCnGm0ALLjPk1XNNCz8s7pDXEdMYrQ==" type="application/javascript" data-module-id="./chunk-discussions-new-contributors.js" data-src="https://github.githubassets.com/assets/chunk-discussions-new-contributors-eaafa10a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-VeQi38hQFT2oKliPhoJ0mudIx23Osdjw8Y468QxhBqX0b6hOC6BBZZQr+bBPig5u/Vvl3ly+u3ACWBmXfP7Tdg==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-55e422df.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-7nlm84GbeRAMsFkGMg1Khrk69rwOKLNf1wf5VrUX24l+IESCdizDiwjHc0sRaQYe9TNcO3ZBJc0lAOclluVv6g==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-ee7966f3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Zst8WujZ/2lSDuTjy8+4ItFCMEftmKB2w682B6zPlyOn7hwZ9LS8BUXtWxqM2djZA4I0ITiB+KUz6bSXb/rW4w==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-66cb7c5a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-CDXxcrRb9uLr5a9J2/C1VwF8T4F/XNPtL7FF+jTWkBy+rcZ+6rqW3VN/koe77IbMHXtVWLgtWrXbR8DtWLFF6Q==" type="application/javascript" data-module-id="./chunk-launch-code-element.js" data-src="https://github.githubassets.com/assets/chunk-launch-code-element-0835f172.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-hZbjLGWLlrKvKeOObGY7B7MMEfbD8N6WorJoTGXaQqCEdTywJl+D4HcFpnOZ08xsuVXGdgpP7yQg3c8FWB4o3Q==" type="application/javascript" data-module-id="./chunk-metric-selection-element.js" data-src="https://github.githubassets.com/assets/chunk-metric-selection-element-8596e32c.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-2ccUx37FZwL3WMN2wTUu4pGwRAdYWbzGoFHixdEBuaH4KygVJcNull4RBSVJ0D9hVaG9gr4YMC8dqQOWkqsLYg==" type="application/javascript" data-module-id="./chunk-severity-calculator-element.js" data-src="https://github.githubassets.com/assets/chunk-severity-calculator-element-d9c714c7.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-hfNSQUbKM5t21wnG7FoiRqd5UgaQ+MwSjkvn/LcgHzE/bWY16XEabKFvhU8MazS6lu3fjJhNxfglOEKiYY41Hw==" type="application/javascript" data-module-id="./chunk-readme-toc-element.js" data-src="https://github.githubassets.com/assets/chunk-readme-toc-element-85f35241.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-OuWKAOx3SUYuHFQj+smmMJXW6IdF/cq5Ol1at45eNB2OGhgZWtviEo4odoriGTO454ZwlNSpIb+KgR6GgzQMhQ==" type="application/javascript" data-module-id="./chunk-feature-callout-element.js" data-src="https://github.githubassets.com/assets/chunk-feature-callout-element-3ae58a00.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-makoNQ8jFYUx50kS4T4eC18puAmSVW+7F9jsM2pdUTXB9OaU7wqc+wBe30jrGEKsz2bCjknrJBLzQpAvkOv1Cw==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-99a92835.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-prjl40a6JHS9TcfGtqMnHZX4tlIS6HNofJ727h8ZPrf+xhnbGTGEWTTc9U1yqfW3S+PgYhzkfZ7BXzISt9f9mg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-a6b8e5e3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Kpiss3fNUXokEKH9mkHm0O8MZakZr8q64uvjtkjdgSWyC12HuM/+X6v5irKJV9hzOClYT3+k9kKXSd1g9e3FrQ==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-2a98acb3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8NWmKXh96TMxAyNDrhoc2YIl4tXPe6v+DUuO6nPOP2C0WiUObu6+6q5PJPqzqi/BJqMHMHPiIMCFUEu/v6LikQ==" type="application/javascript" data-module-id="./chunk-webgl-warp.js" data-src="https://github.githubassets.com/assets/chunk-webgl-warp-f0d5a629.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-GBlegh9b9Zm8s+yRFiRNhJg09OxAqlOU4XA1zHGZbYTD+DaLps6fNHcqhjRRuKcEK/Xo9BlcSkYVr4HCW9B2jA==" type="application/javascript" src="https://github.githubassets.com/assets/repositories-18195e82.js"></script>
+<script crossorigin="anonymous" defer="defer" integrity="sha512-BGAnrgsVTqUuppIPCCcmSJfBHTIj7D47biKPul2uQBZ2o/iRght5PnFvjix4IxHgDHBIc9mJG+L32gUtnIAmTg==" type="application/javascript" src="https://github.githubassets.com/assets/diffs-046027ae.js"></script>
+
+ <meta name="viewport" content="width=device-width">
+
+ <title>.github/SECURITY.md at main · eclipse-ee4j/.github · GitHub</title>
+ <meta name="description" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub.">
+ <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
+ <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
+ <meta property="fb:app_id" content="1401488693436528">
+ <meta name="apple-itunes-app" content="app-id=1477376905" />
+ <meta name="twitter:image:src" content="https://opengraph.githubassets.com/c26ceec54c6b0457d0ff1a069b5da52ac1f18c10b1c2757b5110dac6223498c8/eclipse-ee4j/.github" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content=".github/SECURITY.md at main · eclipse-ee4j/.github" /><meta name="twitter:description" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub." />
+ <meta property="og:image" content="https://opengraph.githubassets.com/c26ceec54c6b0457d0ff1a069b5da52ac1f18c10b1c2757b5110dac6223498c8/eclipse-ee4j/.github" /><meta property="og:image:alt" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content=".github/SECURITY.md at main · eclipse-ee4j/.github" /><meta property="og:url" content="https://github.com/eclipse-ee4j/.github" /><meta property="og:description" content="Contribute to eclipse-ee4j/.github development by creating an account on GitHub." />
+
+
+
+
+
+
+ <link rel="assets" href="https://github.githubassets.com/">
+
+
+ <meta name="request-id" content="D0DE:E88F:21FCE14:23D0D0E:618B9D82" data-pjax-transient="true"/><meta name="html-safe-nonce" content="c461e3a590c38d190ad79ee7049a3542fa86dc4d291010a94b615225ad50c047" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9lY2xpcHNlLWVlNGovLmdpdGh1YiIsInJlcXVlc3RfaWQiOiJEMERFOkU4OEY6MjFGQ0UxNDoyM0QwRDBFOjYxOEI5RDgyIiwidmlzaXRvcl9pZCI6IjUyNzkwMjMxODk2NzcxNTgiLCJyZWdpb25fZWRnZSI6ImZyYSIsInJlZ2lvbl9yZW5kZXIiOiJmcmEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="85ad0bafdf533a57690bc0319428cf991b0d080d18aff9a199406a491b653c4b" data-pjax-transient="true"/>
+
+ <meta name="hovercard-subject-tag" content="repository:355800941" data-pjax-transient>
+
+
+ <meta name="github-keyboard-shortcuts" content="repository,source-code" data-pjax-transient="true" />
+
+
+
+ <meta name="selected-link" value="repo_source" data-pjax-transient>
+
+ <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
+ <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
+ <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
+ <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
+
+<meta name="octolytics-url" content="https://collector.githubapp.com/github/collect" />
+
+ <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" />
+
+
+
+
+
+ <meta name="optimizely-datafile" content="{&quot;version&quot;: &quot;4&quot;, &quot;rollouts&quot;: [], &quot;typedAudiences&quot;: [], &quot;anonymizeIP&quot;: true, &quot;projectId&quot;: &quot;16737760170&quot;, &quot;variables&quot;: [], &quot;featureFlags&quot;: [], &quot;experiments&quot;: [{&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20438636352&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20484957397&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20479227424&quot;, &quot;key&quot;: &quot;growth_ghec_onboarding_experience&quot;, &quot;layerId&quot;: &quot;20467848595&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 1000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 3000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 6000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 8000}, {&quot;entityId&quot;: &quot;20484957397&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;85e2238ce2b9074907d7a3d91d6feeae&quot;: &quot;control&quot;}}, {&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20619540113&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20598530123&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20619150105&quot;, &quot;key&quot;: &quot;dynamic_seats&quot;, &quot;layerId&quot;: &quot;20615170077&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20598530123&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20619540113&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {}}, {&quot;status&quot;: &quot;Running&quot;, &quot;audienceIds&quot;: [], &quot;variations&quot;: [{&quot;variables&quot;: [], &quot;id&quot;: &quot;20667381018&quot;, &quot;key&quot;: &quot;control&quot;}, {&quot;variables&quot;: [], &quot;id&quot;: &quot;20680930759&quot;, &quot;key&quot;: &quot;treatment&quot;}], &quot;id&quot;: &quot;20652570897&quot;, &quot;key&quot;: &quot;project_genesis&quot;, &quot;layerId&quot;: &quot;20672300363&quot;, &quot;trafficAllocation&quot;: [{&quot;entityId&quot;: &quot;20667381018&quot;, &quot;endOfRange&quot;: 5000}, {&quot;entityId&quot;: &quot;20667381018&quot;, &quot;endOfRange&quot;: 10000}], &quot;forcedVariations&quot;: {&quot;83356e17066d336d1803024138ecb683&quot;: &quot;treatment&quot;, &quot;18e31c8a9b2271332466133162a4aa0d&quot;: &quot;treatment&quot;, &quot;10f8ab3fbc5ebe989a36a05f79d48f32&quot;: &quot;treatment&quot;, &quot;1686089f6d540cd2deeaec60ee43ecf7&quot;: &quot;treatment&quot;}}], &quot;audiences&quot;: [{&quot;conditions&quot;: &quot;[\&quot;or\&quot;, {\&quot;match\&quot;: \&quot;exact\&quot;, \&quot;name\&quot;: \&quot;$opt_dummy_attribute\&quot;, \&quot;type\&quot;: \&quot;custom_attribute\&quot;, \&quot;value\&quot;: \&quot;$opt_dummy_value\&quot;}]&quot;, &quot;id&quot;: &quot;$opt_dummy_audience&quot;, &quot;name&quot;: &quot;Optimizely-Generated Audience for Backwards Compatibility&quot;}], &quot;groups&quot;: [], &quot;sdkKey&quot;: &quot;WTc6awnGuYDdG98CYRban&quot;, &quot;environmentKey&quot;: &quot;production&quot;, &quot;attributes&quot;: [{&quot;id&quot;: &quot;16822470375&quot;, &quot;key&quot;: &quot;user_id&quot;}, {&quot;id&quot;: &quot;17143601254&quot;, &quot;key&quot;: &quot;spammy&quot;}, {&quot;id&quot;: &quot;18175660309&quot;, &quot;key&quot;: &quot;organization_plan&quot;}, {&quot;id&quot;: &quot;18813001570&quot;, &quot;key&quot;: &quot;is_logged_in&quot;}, {&quot;id&quot;: &quot;19073851829&quot;, &quot;key&quot;: &quot;geo&quot;}, {&quot;id&quot;: &quot;20175462351&quot;, &quot;key&quot;: &quot;requestedCurrency&quot;}, {&quot;id&quot;: &quot;20785470195&quot;, &quot;key&quot;: &quot;country_code&quot;}], &quot;botFiltering&quot;: false, &quot;accountId&quot;: &quot;16737760170&quot;, &quot;events&quot;: [{&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;17911811441&quot;, &quot;key&quot;: &quot;hydro_click.dashboard.teacher_toolbox_cta&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18124116703&quot;, &quot;key&quot;: &quot;submit.organizations.complete_sign_up&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18145892387&quot;, &quot;key&quot;: &quot;no_metric.tracked_outside_of_optimizely&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18178755568&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.add_repo&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18180553241&quot;, &quot;key&quot;: &quot;submit.repository_imports.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18186103728&quot;, &quot;key&quot;: &quot;click.help.learn_more_about_repository_creation&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18188530140&quot;, &quot;key&quot;: &quot;test_event.do_not_use_in_production&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18191963644&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.transfer_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18195612788&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.import_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18210945499&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.invite_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18211063248&quot;, &quot;key&quot;: &quot;click.empty_org_repo_cta.create_repository&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18215721889&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.update_profile&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18224360785&quot;, &quot;key&quot;: &quot;click.org_onboarding_checklist.dismiss&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18234832286&quot;, &quot;key&quot;: &quot;submit.organization_activation.complete&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18252392383&quot;, &quot;key&quot;: &quot;submit.org_repository.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18257551537&quot;, &quot;key&quot;: &quot;submit.org_member_invitation.create&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18259522260&quot;, &quot;key&quot;: &quot;submit.organization_profile.update&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18564603625&quot;, &quot;key&quot;: &quot;view.classroom_select_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18568612016&quot;, &quot;key&quot;: &quot;click.classroom_sign_in_click&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18572592540&quot;, &quot;key&quot;: &quot;view.classroom_name&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18574203855&quot;, &quot;key&quot;: &quot;click.classroom_create_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18582053415&quot;, &quot;key&quot;: &quot;click.classroom_select_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18589463420&quot;, &quot;key&quot;: &quot;click.classroom_create_classroom&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18591323364&quot;, &quot;key&quot;: &quot;click.classroom_create_first_classroom&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18591652321&quot;, &quot;key&quot;: &quot;click.classroom_grant_access&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;18607131425&quot;, &quot;key&quot;: &quot;view.classroom_creation&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20619150105&quot;], &quot;id&quot;: &quot;18831680583&quot;, &quot;key&quot;: &quot;upgrade_account_plan&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19064064515&quot;, &quot;key&quot;: &quot;click.signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19075373687&quot;, &quot;key&quot;: &quot;click.view_account_billing_page&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19077355841&quot;, &quot;key&quot;: &quot;click.dismiss_signup_prompt&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19079713938&quot;, &quot;key&quot;: &quot;click.contact_sales&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19120963070&quot;, &quot;key&quot;: &quot;click.compare_account_plans&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19151690317&quot;, &quot;key&quot;: &quot;click.upgrade_account_cta&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19424193129&quot;, &quot;key&quot;: &quot;click.open_account_switcher&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19520330825&quot;, &quot;key&quot;: &quot;click.visit_account_profile&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19540970635&quot;, &quot;key&quot;: &quot;click.switch_account_context&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19730198868&quot;, &quot;key&quot;: &quot;submit.homepage_signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19820830627&quot;, &quot;key&quot;: &quot;click.homepage_signup&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;19988571001&quot;, &quot;key&quot;: &quot;click.create_enterprise_trial&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20036538294&quot;, &quot;key&quot;: &quot;click.create_organization_team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20040653299&quot;, &quot;key&quot;: &quot;click.input_enterprise_trial_form&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20062030003&quot;, &quot;key&quot;: &quot;click.continue_with_team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20068947153&quot;, &quot;key&quot;: &quot;click.create_organization_free&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20086636658&quot;, &quot;key&quot;: &quot;click.signup_continue.username&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20091648988&quot;, &quot;key&quot;: &quot;click.signup_continue.create_account&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20103637615&quot;, &quot;key&quot;: &quot;click.signup_continue.email&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20111574253&quot;, &quot;key&quot;: &quot;click.signup_continue.password&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20120044111&quot;, &quot;key&quot;: &quot;view.pricing_page&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20152062109&quot;, &quot;key&quot;: &quot;submit.create_account&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20165800992&quot;, &quot;key&quot;: &quot;submit.upgrade_payment_form&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20171520319&quot;, &quot;key&quot;: &quot;submit.create_organization&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20222645674&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.discuss_your_needs&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20227443657&quot;, &quot;key&quot;: &quot;submit.verify_primary_user_email&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20234607160&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.try_enterprise&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20238175784&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.team&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20239847212&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.continue_free&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20251097193&quot;, &quot;key&quot;: &quot;recommended_plan&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20438619534&quot;, &quot;key&quot;: &quot;click.pricing_calculator.1_member&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20456699683&quot;, &quot;key&quot;: &quot;click.pricing_calculator.15_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20467868331&quot;, &quot;key&quot;: &quot;click.pricing_calculator.10_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20476267432&quot;, &quot;key&quot;: &quot;click.trial_days_remaining&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20476357660&quot;, &quot;key&quot;: &quot;click.discover_feature&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20479287901&quot;, &quot;key&quot;: &quot;click.pricing_calculator.custom_members&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20481107083&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.apply_teacher_benefits&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20483089392&quot;, &quot;key&quot;: &quot;click.pricing_calculator.5_members&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20484283944&quot;, &quot;key&quot;: &quot;click.onboarding_task&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20484996281&quot;, &quot;key&quot;: &quot;click.recommended_plan_in_signup.apply_student_benefits&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20486713726&quot;, &quot;key&quot;: &quot;click.onboarding_task_breadcrumb&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20490791319&quot;, &quot;key&quot;: &quot;click.upgrade_to_enterprise&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20491786766&quot;, &quot;key&quot;: &quot;click.talk_to_us&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20494144087&quot;, &quot;key&quot;: &quot;click.dismiss_enterprise_trial&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20499722759&quot;, &quot;key&quot;: &quot;completed_all_tasks&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;, &quot;20652570897&quot;], &quot;id&quot;: &quot;20500710104&quot;, &quot;key&quot;: &quot;completed_onboarding_tasks&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20513160672&quot;, &quot;key&quot;: &quot;click.read_doc&quot;}, {&quot;experimentIds&quot;: [&quot;20652570897&quot;], &quot;id&quot;: &quot;20516196762&quot;, &quot;key&quot;: &quot;actions_enabled&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20518980986&quot;, &quot;key&quot;: &quot;click.dismiss_trial_banner&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20535446721&quot;, &quot;key&quot;: &quot;click.issue_actions_prompt.dismiss_prompt&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20557002247&quot;, &quot;key&quot;: &quot;click.issue_actions_prompt.setup_workflow&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20595070227&quot;, &quot;key&quot;: &quot;click.pull_request_setup_workflow&quot;}, {&quot;experimentIds&quot;: [&quot;20619150105&quot;], &quot;id&quot;: &quot;20626600314&quot;, &quot;key&quot;: &quot;click.seats_input&quot;}, {&quot;experimentIds&quot;: [&quot;20619150105&quot;], &quot;id&quot;: &quot;20642310305&quot;, &quot;key&quot;: &quot;click.decrease_seats_number&quot;}, {&quot;experimentIds&quot;: [&quot;20619150105&quot;], &quot;id&quot;: &quot;20662990045&quot;, &quot;key&quot;: &quot;click.increase_seats_number&quot;}, {&quot;experimentIds&quot;: [], &quot;id&quot;: &quot;20679620969&quot;, &quot;key&quot;: &quot;click.public_product_roadmap&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20761240940&quot;, &quot;key&quot;: &quot;click.dismiss_survey_banner&quot;}, {&quot;experimentIds&quot;: [&quot;20479227424&quot;], &quot;id&quot;: &quot;20767210721&quot;, &quot;key&quot;: &quot;click.take_survey&quot;}, {&quot;experimentIds&quot;: [&quot;20652570897&quot;], &quot;id&quot;: &quot;20795281201&quot;, &quot;key&quot;: &quot;click.archive_list&quot;}], &quot;revision&quot;: &quot;968&quot;}" />
+ <!-- To prevent page flashing, the optimizely JS needs to be loaded in the
+ <head> tag before the DOM renders -->
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8ODWXcoorICxNiqsCan+W5GIxa70VtWQnf1WSSaCu0qLtK782YVzROIh7YkG6uCC8FZiqZDAZ2jaKYDEuA0dzg==" type="application/javascript" src="https://github.githubassets.com/assets/optimizely-f0e0d65d.js"></script>
+
+
+
+
+
+ <meta name="hostname" content="github.com">
+ <meta name="user-login" content="">
+
+
+ <meta name="expected-hostname" content="github.com">
+
+
+ <meta name="enabled-features" content="ACTIONS_ID_TOKEN_PERMISSION,MARKETPLACE_PENDING_INSTALLATIONS,FILE_UPLOAD_CURSOR_POSITION">
+
+ <meta http-equiv="x-pjax-version" content="5d4e2640896e0b3e4c64f9359b22257809934442a82cb39fa28bc7df59e47f25">
+ <meta http-equiv="x-pjax-csp-version" content="9ea82e8060ac9d44365bfa193918b70ed58abd9413362ba412abb161b3a8d1b6">
+ <meta http-equiv="x-pjax-css-version" content="eb17432fcbb20b5641e34c98e3b42e7d5ff9ef2b2d1afe64331257b3c15a6200">
+ <meta http-equiv="x-pjax-js-version" content="ffd7f50db7548cfecde71476e68eb2c952eefe8f794809e08062d1c7c61cedf1">
+
+
+
+ <meta name="go-import" content="github.com/eclipse-ee4j/.github git https://github.com/eclipse-ee4j/.github.git">
+
+ <meta name="octolytics-dimension-user_id" content="31900942" /><meta name="octolytics-dimension-user_login" content="eclipse-ee4j" /><meta name="octolytics-dimension-repository_id" content="355800941" /><meta name="octolytics-dimension-repository_nwo" content="eclipse-ee4j/.github" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="355800941" /><meta name="octolytics-dimension-repository_network_root_nwo" content="eclipse-ee4j/.github" />
+
+
+
+ <link rel="canonical" href="https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md" data-pjax-transient>
+
+
+ <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
+
+ <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
+
+ <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors">
+
+ <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
+ <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
+ <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
+
+<meta name="theme-color" content="#1e2327">
+<meta name="color-scheme" content="light dark" />
+
+
+ <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
+
+ </head>
+
+ <body class="logged-out env-production page-responsive page-blob" style="word-wrap: break-word;">
+
+
+ <div class="position-relative js-header-wrapper ">
+ <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-text-white show-on-focus js-skip-to-content">Skip to content</a>
+ <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full">
+ <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar color-bg-info-inverse"></span>
+</span>
+
+
+
+
+
+
+<header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner">
+ <div class="container-xl d-lg-flex flex-items-center p-responsive">
+ <div class="d-flex flex-justify-between flex-items-center">
+ <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
+ <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github color-text-white">
+ <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
+</svg>
+ </a>
+
+ <div class="d-lg-none css-truncate css-truncate-target width-fit p-2">
+
+
+ </div>
+
+ <div class="d-flex flex-items-center">
+ <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo"
+ class="d-inline-block d-lg-none f5 color-text-white no-underline border color-border-default rounded-2 px-2 py-1 mr-3 mr-sm-5"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0d1aa9d7ac53f145eeea39374d20d29ac96dc18acb3e18a0fda106c4af91eae7"
+ >
+ Sign&nbsp;up
+ </a>
+
+ <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link d-lg-none mt-1">
+
+
+ <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars color-text-white">
+ <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path>
+</svg>
+
+
+
+</button> </div>
+ </div>
+
+ <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto">
+ <div class="d-flex d-lg-none flex-justify-end border-bottom color-bg-subtle p-3">
+ <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target btn-link">
+
+
+ <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-x color-icon-secondary">
+ <path fill-rule="evenodd" d="M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z"></path>
+</svg>
+
+
+
+</button> </div>
+
+ <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global">
+ <ul class="d-lg-flex list-style-none">
+ <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+ <details class="HeaderMenu-details details-overlay details-reset width-full">
+ <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+ Why GitHub?
+ <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+ <path d="M1,1l6.2,6L13,1"></path>
+ </svg>
+ </summary>
+ <div class="dropdown-menu flex-auto rounded px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+ <a href="/features" class="py-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a>
+ <ul class="list-style-none f5 pb-3">
+
+
+ <li class="edge-item-fix"><a href="/mobile" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Mobile <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Actions <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/codespaces" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Codespaces <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/packages" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Packages <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/security" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Security <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Code review <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/issues/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Issues <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">Integrations <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+
+
+ </ul>
+
+ <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
+ <li class="edge-item-fix"><a href="/sponsors" class="py-2 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Sponsors">GitHub Sponsors <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories<span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+ </div>
+ </details>
+ </li>
+ <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+ <a href="/team" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Team">Team</a>
+ </li>
+ <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+ <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a>
+ </li>
+
+ <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+ <details class="HeaderMenu-details details-overlay details-reset width-full">
+ <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+ Explore
+ <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+ <path d="M1,1l6.2,6L13,1"></path>
+ </svg>
+ </summary>
+
+ <div class="dropdown-menu flex-auto rounded px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+ <ul class="list-style-none mb-3">
+ <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+
+ <h4 class="color-fg-muted text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn and contribute</h4>
+ <ul class="list-style-none mb-3">
+ <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Topics">Topics <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Collections">Collections <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Trending">Trending <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+
+ <h4 class="color-fg-muted text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4>
+ <ul class="list-style-none mb-0">
+ <li class="edge-item-fix"><a href="https://github.com/readme" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover">The ReadME Project <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Events">Events <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Community forum">Community forum <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://stars.github.com" class="py-2 pb-0 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to GitHub Stars Program">GitHub Stars program <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+ </div>
+ </details>
+ </li>
+
+ <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+ <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a>
+ </li>
+
+ <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+ <details class="HeaderMenu-details details-overlay details-reset width-full">
+ <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+ Pricing
+ <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+ <path d="M1,1l6.2,6L13,1"></path>
+ </svg>
+ </summary>
+
+ <div class="dropdown-menu flex-auto rounded px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+ <a href="/pricing" class="pb-2 lh-condensed-ultra d-block Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a>
+
+ <ul class="list-style-none mb-3">
+ <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ <li class="edge-item-fix"><a href="https://github.com/enterprise/contact" class="py-2 lh-condensed-ultra d-block Link--secondary no-underline f5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+
+ <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
+ <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline Link--primary no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal color-fg-muted pr-3">&rarr;</span></a></li>
+ </ul>
+ </div>
+ </details>
+ </li>
+ </ul>
+ </nav>
+
+ <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left">
+ <div class="d-lg-flex min-width-0 mb-3 mb-lg-0">
+
+
+
+
+<div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to"
+>
+ <div class="position-relative">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="355800941" data-scoped-search-url="/eclipse-ee4j/.github/search" data-owner-scoped-search-url="/orgs/eclipse-ee4j/search" data-unscoped-search-url="/search" action="/eclipse-ee4j/.github/search" accept-charset="UTF-8" method="get">
+ <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
+ <input type="text"
+ class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
+ data-hotkey=s,/
+ name="q"
+ data-test-selector="nav-search-input"
+ placeholder="Search"
+ data-unscoped-placeholder="Search GitHub"
+ data-scoped-placeholder="Search"
+ autocapitalize="off"
+ role="combobox"
+ aria-haspopup="listbox"
+ aria-expanded="false"
+ aria-autocomplete="list"
+ aria-controls="jump-to-results"
+ aria-label="Search"
+ data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
+ spellcheck="false"
+ autocomplete="off"
+ >
+ <input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="dhT0lAeUK5+z/4jylhNpDOwev4SVpoalJM6LSqk3wIk0cFC1D/FEsdT+h3azTcaZB7bcsVLuaJWeaNkt24YGpQ==" />
+ <input type="hidden" class="js-site-search-type-field" name="type" >
+ <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
+
+
+ <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
+
+<ul class="d-none js-jump-to-suggestions-template-container">
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+</ul>
+
+<ul class="d-none js-jump-to-no-results-template-container">
+ <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
+ <span class="color-fg-muted">No suggested jump to results</span>
+ </li>
+</ul>
+
+<ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this organization">
+ In this organization
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0">
+ <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path>
+</svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+</ul>
+
+ </div>
+ </label>
+</form> </div>
+</div>
+
+ </div>
+
+ <div class="position-relative mr-3 mb-4 mb-lg-0 d-inline-block">
+ <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2F.github%2Fblob%2Fmain%2FSECURITY.md"
+ class="HeaderMenu-link flex-shrink-0 no-underline"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf8a06de4dbcbb56194b33e6857a172f13b30e949bca9decef5cfcbfd416088e"
+ data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
+ Sign in
+ </a>
+ </div>
+
+ <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=eclipse-ee4j%2F.github"
+ class="HeaderMenu-link flex-shrink-0 d-inline-block no-underline border color-border-default rounded px-2 py-1"
+ data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cf8a06de4dbcbb56194b33e6857a172f13b30e949bca9decef5cfcbfd416088e"
+ data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6a3bbb8caef5ff4f650959845e29a39de1aabf836f4a281f697e730460a7339f" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
+ >
+ Sign up
+ </a>
+ </div>
+ </div>
+ </div>
+</header>
+
+ </div>
+
+ <div id="start-of-content" class="show-on-focus"></div>
+
+
+
+
+
+
+ <div data-pjax-replace id="js-flash-container">
+
+
+ <template class="js-flash-template">
+ <div class="flash flash-full {{ className }}">
+ <div class=" px-2" >
+ <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg>
+ </button>
+
+ <div>{{ message }}</div>
+
+ </div>
+</div>
+ </template>
+</div>
+
+
+
+
+ <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
+
+
+
+
+
+ <div
+ class="application-main "
+ data-commit-hovercards-enabled
+ data-discussion-hovercards-enabled
+ data-issue-and-pr-hovercards-enabled
+ >
+ <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
+ <main id="js-repo-pjax-container" data-pjax-container >
+
+
+
+
+
+
+
+
+
+
+ <include-fragment src="/orgs/eclipse-ee4j/survey_banner" data-test-selector="survey-banner-selector">
+ </include-fragment>
+
+
+
+ <div id="repository-container-header" class="pt-3 hide-full-screen mb-5" style="background-color: var(--color-page-header-bg);" data-pjax-replace>
+
+ <div class="d-flex mb-3 px-3 px-md-4 px-lg-5">
+
+ <div class="flex-auto min-width-0 width-fit mr-3">
+ <h1 class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-icon-secondary mr-2">
+ <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path>
+</svg>
+ <span class="author flex-self-stretch" itemprop="author">
+ <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/eclipse-ee4j/hovercard" href="/eclipse-ee4j">eclipse-ee4j</a>
+ </span>
+ <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
+ <strong itemprop="name" class="mr-2 flex-self-stretch">
+ <a data-pjax="#js-repo-pjax-container" href="/eclipse-ee4j/.github">.github</a>
+ </strong>
+
+ <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
+</h1>
+
+ </div>
+
+ <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
+
+ <li>
+ <a href="/login?return_to=%2Feclipse-ee4j%2F.github" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="543f051ee2bbdc023f83be3dec863aa1792fb3efc2b042c47749bdd3e4f8b074" aria-label="You must be signed in to change notification settings" role="button" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell">
+ <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path>
+</svg>
+
+ Notifications
+
+
+
+</a>
+ </li>
+
+
+ <li>
+ <div >
+ <a href="/login?return_to=%2Feclipse-ee4j%2F.github" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:355800941,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="de7a70963ba3a933730d1fa1fae20531039ce70be0e26dc31ec6ba7ef697ee7e" aria-label="You must be signed in to star a repository" role="button" data-view-component="true" class="tooltipped tooltipped-s btn-with-count btn-sm btn">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom mr-1">
+ <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path>
+</svg>
+
+ <span data-view-component="true">
+ Star
+</span>
+
+
+</a> <a
+ class="social-count js-social-count"
+ href="/eclipse-ee4j/.github/stargazers"
+ aria-label="0 users starred this repository"
+ data-singular-suffix="user starred this repository"
+ data-plural-suffix="users starred this repository"
+ >
+ 0
+ </a>
+ </div>
+
+ </li>
+
+ <li>
+ <a href="/login?return_to=%2Feclipse-ee4j%2F.github" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:355800941,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cde88e6aa1a9159ae22ec106a35311b337784cd171845f2eecf73f63b21021d6" aria-label="You must be signed in to fork a repository" role="button" data-view-component="true" class="tooltipped tooltipped-s btn-with-count btn-sm btn">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked">
+ <path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path>
+</svg>
+
+ Fork
+
+
+
+</a>
+ <a
+ href="/eclipse-ee4j/.github/network/members"
+ class="social-count"
+ aria-label="3 users forked this repository"
+ >
+ 3
+ </a>
+
+ </li>
+
+
+ <li>
+
+
+ </li>
+</ul>
+
+ </div>
+
+ <div id="responsive-meta-container" data-pjax-replace>
+</div>
+
+
+
+<nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
+
+ <ul data-view-component="true" class="UnderlineNav-body list-style-none">
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="code-tab" href="/eclipse-ee4j/.github" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /eclipse-ee4j/.github" data-hotkey="g c" data-ga-click="Repository, Navigation click, Code tab" data-pjax="#repo-content-pjax-container" aria-current="page" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
+</svg>
+ <span data-content="Code">Code</span>
+ <span id="code-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="issues-tab" href="/eclipse-ee4j/.github/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /eclipse-ee4j/.github/issues" data-hotkey="g i" data-ga-click="Repository, Navigation click, Issues tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
+ <path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path>
+</svg>
+ <span data-content="Issues">Issues</span>
+ <span id="issues-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="pull-requests-tab" href="/eclipse-ee4j/.github/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /eclipse-ee4j/.github/pulls" data-hotkey="g p" data-ga-click="Repository, Navigation click, Pull requests tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"></path>
+</svg>
+ <span data-content="Pull requests">Pull requests</span>
+ <span id="pull-requests-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="actions-tab" href="/eclipse-ee4j/.github/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /eclipse-ee4j/.github/actions" data-hotkey="g a" data-ga-click="Repository, Navigation click, Actions tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z"></path>
+</svg>
+ <span data-content="Actions">Actions</span>
+ <span id="actions-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="projects-tab" href="/eclipse-ee4j/.github/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /eclipse-ee4j/.github/projects" data-hotkey="g b" data-ga-click="Repository, Navigation click, Projects tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path>
+</svg>
+ <span data-content="Projects">Projects</span>
+ <span id="projects-repo-tab-count" data-pjax-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="wiki-tab" href="/eclipse-ee4j/.github/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /eclipse-ee4j/.github/wiki" data-hotkey="g w" data-ga-click="Repository, Navigation click, Wikis tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path>
+</svg>
+ <span data-content="Wiki">Wiki</span>
+ <span id="wiki-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="security-tab" href="/eclipse-ee4j/.github/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /eclipse-ee4j/.github/security" data-hotkey="g s" data-ga-click="Repository, Navigation click, Security tab" data-pjax="#repo-content-pjax-container" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z"></path>
+</svg>
+ <span data-content="Security">Security</span>
+ <include-fragment src="/eclipse-ee4j/.github/security/overall-count" accept="text/fragment+html"></include-fragment>
+
+
+</a></li>
+ <li data-view-component="true" class="d-inline-flex">
+ <a id="insights-tab" href="/eclipse-ee4j/.github/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /eclipse-ee4j/.github/pulse" data-ga-click="Repository, Navigation click, Insights tab" data-view-component="true" class="UnderlineNav-item hx_underlinenav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
+
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
+ <path fill-rule="evenodd" d="M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z"></path>
+</svg>
+ <span data-content="Insights">Insights</span>
+ <span id="insights-repo-tab-count" data-pjax-replace="" title="Not available" data-view-component="true" class="Counter"></span>
+
+
+
+</a></li>
+</ul>
+ <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <details data-view-component="true" class="details-overlay details-reset position-relative">
+ <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
+ <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
+</svg>
+ <span class="sr-only">More</span>
+ </div>
+</summary>
+ <div data-view-component="true"> <details-menu role="menu" data-view-component="true" class="dropdown-menu dropdown-menu-sw">
+
+ <ul>
+ <li data-menu-item="i0code-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments /eclipse-ee4j/.github" href="/eclipse-ee4j/.github">
+ Code
+</a> </li>
+ <li data-menu-item="i1issues-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_issues repo_labels repo_milestones /eclipse-ee4j/.github/issues" href="/eclipse-ee4j/.github/issues">
+ Issues
+</a> </li>
+ <li data-menu-item="i2pull-requests-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_pulls checks /eclipse-ee4j/.github/pulls" href="/eclipse-ee4j/.github/pulls">
+ Pull requests
+</a> </li>
+ <li data-menu-item="i3actions-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_actions /eclipse-ee4j/.github/actions" href="/eclipse-ee4j/.github/actions">
+ Actions
+</a> </li>
+ <li data-menu-item="i4projects-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_projects new_repo_project repo_project /eclipse-ee4j/.github/projects" href="/eclipse-ee4j/.github/projects">
+ Projects
+</a> </li>
+ <li data-menu-item="i5wiki-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_wiki /eclipse-ee4j/.github/wiki" href="/eclipse-ee4j/.github/wiki">
+ Wiki
+</a> </li>
+ <li data-menu-item="i6security-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="security overview alerts policy token_scanning code_scanning /eclipse-ee4j/.github/security" href="/eclipse-ee4j/.github/security">
+ Security
+</a> </li>
+ <li data-menu-item="i7insights-tab" hidden>
+ <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /eclipse-ee4j/.github/pulse" href="/eclipse-ee4j/.github/pulse">
+ Insights
+</a> </li>
+ </ul>
+
+</details-menu></div>
+</details></div>
+</nav>
+ </div>
+
+
+
+<div class="clearfix new-discussion-timeline container-xl px-3 px-md-4 px-lg-5">
+ <div id="repo-content-pjax-container" class="repository-content " >
+
+
+
+
+
+
+
+
+<div>
+
+
+
+ <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/SECURITY.md">Permalink</a>
+
+ <div class="d-flex flex-items-start flex-shrink-0 pb-3 flex-wrap flex-md-nowrap flex-justify-between flex-md-justify-start">
+
+<div class="position-relative">
+ <details class="details-reset details-overlay mr-0 mb-0 " id="branch-select-menu">
+ <summary class="btn css-truncate"
+ data-hotkey="w"
+ title="Switch branches or tags">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch">
+ <path fill-rule="evenodd" d="M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z"></path>
+</svg>
+ <span class="css-truncate-target" data-menu-button>main</span>
+ <span class="dropdown-caret"></span>
+ </summary>
+
+
+<div class="SelectMenu">
+ <div class="SelectMenu-modal">
+ <header class="SelectMenu-header">
+ <span class="SelectMenu-title">Switch branches/tags</span>
+ <button class="SelectMenu-closeButton" type="button" data-toggle-for="branch-select-menu"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg></button>
+ </header>
+
+ <input-demux data-action="tab-container-change:input-demux#storeInput tab-container-changed:input-demux#updateInput">
+ <tab-container class="d-flex flex-column js-branches-tags-tabs" style="min-height: 0;">
+ <div class="SelectMenu-filter">
+ <input data-target="input-demux.source"
+ id="context-commitish-filter-field"
+ class="SelectMenu-input form-control"
+ aria-owns="ref-list-branches"
+ data-controls-ref-menu-id="ref-list-branches"
+ autofocus
+ autocomplete="off"
+ aria-label="Filter branches/tags"
+ placeholder="Filter branches/tags"
+ type="text"
+ >
+ </div>
+
+ <div class="SelectMenu-tabs" role="tablist" data-target="input-demux.control" >
+ <button class="SelectMenu-tab" type="button" role="tab" aria-selected="true">Branches</button>
+ <button class="SelectMenu-tab" type="button" role="tab">Tags</button>
+ </div>
+
+ <div role="tabpanel" id="ref-list-branches" data-filter-placeholder="Filter branches/tags" class="d-flex flex-column flex-auto overflow-auto" tabindex="">
+ <ref-selector
+ type="branch"
+ data-targets="input-demux.sinks"
+ data-action="
+ input-entered:ref-selector#inputEntered
+ tab-selected:ref-selector#tabSelected
+ focus-list:ref-selector#focusFirstListMember
+ "
+ query-endpoint="/eclipse-ee4j/.github/refs"
+
+ cache-key="v0:1617878334.792743"
+ current-committish="bWFpbg=="
+ default-branch="bWFpbg=="
+ name-with-owner="ZWNsaXBzZS1lZTRqLy5naXRodWI="
+ prefetch-on-mouseover
+ >
+
+ <template data-target="ref-selector.fetchFailedTemplate">
+ <div class="SelectMenu-message" data-index="{{ index }}">Could not load branches</div>
+ </template>
+
+ <template data-target="ref-selector.noMatchTemplate">
+ <div class="SelectMenu-message">Nothing to show</div>
+</template>
+
+
+ <!-- TODO: this max-height is necessary or else the branch list won't scroll. why? -->
+ <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list " style="max-height: 330px" data-pjax="#repo-content-pjax-container">
+ <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
+ <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+ </div>
+ </div>
+
+ <template data-target="ref-selector.itemTemplate">
+ <a href="https://github.com/eclipse-ee4j/.github/blob/{{ urlEncodedRefName }}/SECURITY.md" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
+ <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
+ </a>
+</template>
+
+
+ <footer class="SelectMenu-footer"><a href="/eclipse-ee4j/.github/branches">View all branches</a></footer>
+ </ref-selector>
+
+ </div>
+
+ <div role="tabpanel" id="tags-menu" data-filter-placeholder="Find a tag" class="d-flex flex-column flex-auto overflow-auto" tabindex="" hidden>
+ <ref-selector
+ type="tag"
+ data-action="
+ input-entered:ref-selector#inputEntered
+ tab-selected:ref-selector#tabSelected
+ focus-list:ref-selector#focusFirstListMember
+ "
+ data-targets="input-demux.sinks"
+ query-endpoint="/eclipse-ee4j/.github/refs"
+ cache-key="v0:1617878334.792743"
+ current-committish="bWFpbg=="
+ default-branch="bWFpbg=="
+ name-with-owner="ZWNsaXBzZS1lZTRqLy5naXRodWI="
+ >
+
+ <template data-target="ref-selector.fetchFailedTemplate">
+ <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div>
+ </template>
+
+ <template data-target="ref-selector.noMatchTemplate">
+ <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div>
+ </template>
+
+ <template data-target="ref-selector.itemTemplate">
+ <a href="https://github.com/eclipse-ee4j/.github/blob/{{ urlEncodedRefName }}/SECURITY.md" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }}">{{ refName }}</span>
+ <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span>
+ </a>
+</template>
+
+
+ <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" style="max-height: 330px" data-pjax="#repo-content-pjax-container">
+ <div class="SelectMenu-loading pt-3 pb-0" aria-label="Menu is loading">
+ <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+ </div>
+ </div>
+ <footer class="SelectMenu-footer"><a href="/eclipse-ee4j/.github/tags">View all tags</a></footer>
+ </ref-selector>
+ </div>
+ </tab-container>
+ </input-demux>
+ </div>
+</div>
+
+ </details>
+
+</div>
+
+ <h2 id="blob-path" class="breadcrumb flex-auto flex-self-center min-width-0 text-normal mx-2 width-full width-md-auto flex-order-1 flex-md-order-none mt-3 mt-md-0">
+ <span class="js-repo-root text-bold"><span class="js-path-segment d-inline-block wb-break-all"><a data-pjax="#repo-content-pjax-container" href="/eclipse-ee4j/.github"><span>.github</span></a></span></span><span class="separator">/</span><strong class="final-path">SECURITY.md</strong>
+ </h2>
+ <a href="/eclipse-ee4j/.github/find/main"
+ class="js-pjax-capture-input btn mr-2 d-none d-md-block"
+ data-pjax
+ data-hotkey="t">
+ Go to file
+ </a>
+
+ <details id="blob-more-options-details" data-view-component="true" class="details-overlay details-reset position-relative">
+ <summary role="button" data-view-component="true" class="btn">
+
+ <svg aria-label="More options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
+ <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
+</svg>
+
+
+
+</summary>
+ <div data-view-component="true"> <ul class="dropdown-menu dropdown-menu-sw">
+ <li class="d-block d-md-none">
+ <a class="dropdown-item d-flex flex-items-baseline" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;FIND_FILE_BUTTON&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8a833019b3147fc65530493b53001b2fc2f73d7e28056712436976684cb369aa" data-ga-click="Repository, find file, location:repo overview" data-hotkey="t" data-pjax="true" href="/eclipse-ee4j/.github/find/main">
+ <span class="flex-auto">Go to file</span>
+ <span class="text-small color-fg-muted" aria-hidden="true">T</span>
+</a> </li>
+ <li data-toggle-for="blob-more-options-details">
+ <button data-toggle-for="jumpto-line-details-dialog" type="button" data-view-component="true" class="dropdown-item btn-link">
+
+
+ <span class="d-flex flex-items-baseline">
+ <span class="flex-auto">Go to line</span>
+ <span class="text-small color-fg-muted" aria-hidden="true">L</span>
+ </span>
+
+
+
+</button> </li>
+ <li class="dropdown-divider" role="none"></li>
+ <li>
+ <clipboard-copy data-toggle-for="blob-more-options-details" aria-label="Copy path" value="SECURITY.md" data-view-component="true" class="dropdown-item cursor-pointer">
+
+ Copy path
+
+</clipboard-copy> </li>
+ <li>
+ <clipboard-copy data-toggle-for="blob-more-options-details" aria-label="Copy permalink" value="https://github.com/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/SECURITY.md" data-view-component="true" class="dropdown-item cursor-pointer">
+
+ <span class="d-flex flex-items-baseline">
+ <span class="flex-auto">Copy permalink</span>
+ </span>
+
+</clipboard-copy> </li>
+ </ul>
+</div>
+</details> </div>
+
+
+
+
+ <div class="Box d-flex flex-column flex-shrink-0 mb-3">
+ <include-fragment src="/eclipse-ee4j/.github/contributors/main/SECURITY.md" class="commit-loader">
+ <div class="Box-header d-flex flex-items-center">
+ <div class="Skeleton avatar avatar-user flex-shrink-0 ml-n1 mr-n1 mt-n1 mb-n1" style="width:24px;height:24px;"></div>
+ <div class="Skeleton Skeleton--text col-5 ml-2">&nbsp;</div>
+ </div>
+
+ <div class="Box-body d-flex flex-items-center" >
+ <div class="Skeleton Skeleton--text col-1">&nbsp;</div>
+ <span class="color-fg-danger h6 loader-error">Cannot retrieve contributors at this time</span>
+ </div>
+</include-fragment> </div>
+
+
+
+
+
+
+
+
+ <readme-toc>
+
+ <div data-target="readme-toc.content" class="Box mt-3 position-relative">
+
+ <div
+ class="Box-header blob-header js-sticky js-position-sticky top-0 p-2 d-flex flex-shrink-0 flex-md-row flex-items-center"
+ style="position: sticky; z-index: 1;"
+ >
+
+ <details
+ data-target="readme-toc.trigger"
+ data-menu-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;trigger&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}"
+ data-menu-hydro-click-hmac="1c89e8b5e801f76ca3103d197b4045fcd1faad8f797c545a2cd93fe33faecc2e"
+ class="dropdown details-reset details-overlay"
+>
+ <summary
+ class="btn btn-octicon m-0 mr-2 p-2"
+ aria-haspopup="true"
+ aria-label="Table of Contents">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-list-unordered">
+ <path fill-rule="evenodd" d="M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z"></path>
+</svg>
+ </summary>
+
+
+ <details-menu class="SelectMenu" role="menu">
+ <div class="SelectMenu-modal rounded-3 mt-1" style="max-height:340px;">
+
+
+ <div class="SelectMenu-list SelectMenu-list--borderless p-2" style="overscroll-behavior: contain;">
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bb7e6657d820cfc1d82a49d7ac9d1bcfdf2bc592cadaffd4bdfe045d15af0b2c" href="#the-eclipse-security-team">The Eclipse Security Team</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bb7e6657d820cfc1d82a49d7ac9d1bcfdf2bc592cadaffd4bdfe045d15af0b2c" href="#reporting-a-security-vulnerability">Reporting a Security Vulnerability</a>
+ <a role="menuitem" class="filter-item SelectMenu-item py-1 " style="padding-left: 24px;" data-action="click:readme-toc#blur" data-targets="readme-toc.entries" data-hydro-click="{&quot;event_type&quot;:&quot;repository_toc_menu.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;entry&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bb7e6657d820cfc1d82a49d7ac9d1bcfdf2bc592cadaffd4bdfe045d15af0b2c" href="#disclosure">Disclosure</a>
+ </div>
+ </div>
+ </details-menu>
+</details>
+
+
+ <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1">
+
+ 49 lines (37 sloc)
+ <span class="file-info-divider"></span>
+ 2.39 KB
+ </div>
+
+ <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between hide-sm hide-md">
+ <div class="BtnGroup">
+ <a href="/eclipse-ee4j/.github/blob/main/SECURITY.md?plain=1" data-permalink-href="/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/SECURITY.md?plain=1" aria-label="Display the source blob" role="button" data-view-component="true" class="source tooltipped tooltipped tooltipped-n js-permalink-replaceable-link btn-sm btn BtnGroup-item">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
+ <path fill-rule="evenodd" d="M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z"></path>
+</svg>
+
+
+
+</a> <a href="/eclipse-ee4j/.github/blob/main/SECURITY.md" data-permalink-href="/eclipse-ee4j/.github/blob/55212d07cb249bf4f09f91817be74b933a73db1a/SECURITY.md" aria-label="Display the rendered blob" role="button" data-view-component="true" class="rendered tooltipped tooltipped tooltipped-n selected js-permalink-replaceable-link btn-sm btn BtnGroup-item">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file">
+ <path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z"></path>
+</svg>
+
+
+
+</a> </div>
+
+
+ <div class="BtnGroup">
+ <a href="/eclipse-ee4j/.github/raw/main/SECURITY.md" id="raw-url" role="button" data-view-component="true" class="btn-sm btn BtnGroup-item">
+
+ Raw
+
+
+</a>
+ <a href="/eclipse-ee4j/.github/blame/main/SECURITY.md" data-hotkey="b" role="button" data-view-component="true" class="js-update-url-with-hash btn-sm btn BtnGroup-item">
+
+ Blame
+
+
+</a>
+ </div>
+
+ <div>
+ <a class="btn-octicon tooltipped tooltipped-nw js-remove-unless-platform"
+ data-platforms="windows,mac"
+ href="https://desktop.github.com"
+ aria-label="Open this file in GitHub Desktop"
+ data-ga-click="Repository, open with desktop">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
+ <path fill-rule="evenodd" d="M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z"></path>
+</svg>
+ </a>
+
+ <remote-clipboard-copy class="d-inline-block btn-octicon" style="height: 26px" data-src="/eclipse-ee4j/.github/raw/main/SECURITY.md" data-action="click:remote-clipboard-copy#remoteCopy">
+
+
+
+ <span data-target="remote-clipboard-copy.idle"> <span class="tooltipped tooltipped-nw cursor-pointer" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;COPY_RAW_CONTENTS_BUTTON&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7e484766eae7d9c4cae2fb6d6d5bd203dfceb0d83d4fdf5b24b96e2b434fd01a" aria-label="Copy raw contents">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy">
+ <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
+</svg>
+</span></span>
+ <span data-target="remote-clipboard-copy.fetching" hidden="hidden"> <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="16" height="16" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+</span>
+ <span data-target="remote-clipboard-copy.success" hidden="hidden"> <span class="tooltipped tooltipped-nw" aria-label="Copied!">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-text-success">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ </span>
+</span>
+ <span data-target="remote-clipboard-copy.error" hidden="hidden"> <span class="tooltipped tooltipped-nw" aria-label="Something went wrong. Try again.">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert color-text-warning">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+ </span>
+</span>
+</remote-clipboard-copy>
+ <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2F.github%2Fblob%2Fmain%2FSECURITY.md" class="btn-octicon disabled tooltipped tooltipped-nw"
+ aria-label="You must be signed in to make or propose changes">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
+ <path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path>
+</svg>
+ </a>
+ <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2F.github%2Fblob%2Fmain%2FSECURITY.md" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
+ aria-label="You must be signed in to make or propose changes">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
+ <path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path>
+</svg>
+ </a>
+ </div>
+ </div>
+
+ <div class="d-flex hide-lg hide-xl flex-order-2 flex-grow-0">
+ <details class="dropdown details-reset details-overlay d-inline-block">
+ <summary class="btn-octicon p-2" aria-haspopup="true" aria-label="possible actions">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal">
+ <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path>
+</svg>
+ </summary>
+
+ <ul class="dropdown-menu dropdown-menu-sw" style="width: 175px">
+ <li>
+ <a class="dropdown-item tooltipped tooltipped-nw js-remove-unless-platform"
+ data-platforms="windows,mac"
+ href="https://desktop.github.com"
+ data-ga-click="Repository, open with desktop">
+ Open with Desktop
+ </a>
+ </li>
+ <li>
+ <a class="dropdown-item" href="/eclipse-ee4j/.github/raw/main/SECURITY.md">
+ View raw
+ </a>
+ </li>
+ <li>
+ <remote-clipboard-copy class="dropdown-item" data-src="/eclipse-ee4j/.github/raw/main/SECURITY.md" data-action="click:remote-clipboard-copy#remoteCopy">
+
+
+ <span data-target="remote-clipboard-copy.idle"> <span class="cursor-pointer" data-hydro-click="{&quot;event_type&quot;:&quot;repository.click&quot;,&quot;payload&quot;:{&quot;target&quot;:&quot;COPY_RAW_CONTENTS_BUTTON&quot;,&quot;repository_id&quot;:355800941,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7e484766eae7d9c4cae2fb6d6d5bd203dfceb0d83d4fdf5b24b96e2b434fd01a">
+ Copy raw contents
+</span></span>
+ <span data-target="remote-clipboard-copy.fetching" hidden="hidden"> Copy raw contents
+ <span class="d-inline-block position-relative" style="top: 3px">
+ <span role="status">
+ <span class="sr-only">Loading</span>
+ <svg aria-label="fetching contents…" style="box-sizing: content-box; color: var(--color-icon-primary);" width="16" height="16" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
+</svg></span>
+
+ </span>
+</span>
+ <span data-target="remote-clipboard-copy.success" hidden="hidden"> Copy raw contents
+ <svg aria-label="Copied!" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-text-success">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+</span>
+ <span data-target="remote-clipboard-copy.error" hidden="hidden"> Copy raw contents
+ <svg aria-label="Something went wrong. Try again." role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert color-text-warning">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+</span>
+</remote-clipboard-copy> </li>
+ <li>
+ <a class="dropdown-item" href="/eclipse-ee4j/.github/blame/main/SECURITY.md">
+ View blame
+ </a>
+ </li>
+
+ </ul>
+ </details>
+ </div>
+</div>
+
+
+ <div id="readme" class="Box-body readme blob js-code-block-container p-5 p-xl-6 gist-border-0">
+ <article class="markdown-body entry-content container-lg" itemprop="text">
+<p dir="auto"><em>ISO 27005 defines vulnerability as:
+"A weakness of an asset or group of assets that can be exploited by one or more threats."</em></p>
+<h2 dir="auto"><a id="user-content-the-eclipse-security-team" class="anchor" aria-hidden="true" href="#the-eclipse-security-team"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>The Eclipse Security Team</h2>
+<p dir="auto">The Eclipse Security Team provides help and advice to Eclipse projects
+on vulnerability issues and is the first point of contact
+for handling security vulnerabilities.
+Members of the Security Team are committers on Eclipse Projects
+and members of the Eclipse Architecture Council.</p>
+<p dir="auto">Contact the <a href="mailto:security@eclipse.org">Eclipse Security Team</a>.</p>
+<p dir="auto"><strong>Note that, as a matter of policy, the security team does not open attachments.</strong></p>
+<h2 dir="auto"><a id="user-content-reporting-a-security-vulnerability" class="anchor" aria-hidden="true" href="#reporting-a-security-vulnerability"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Reporting a Security Vulnerability</h2>
+<p dir="auto">Vulnerabilities can be reported either via email to the Eclipse Security Team
+or directly with a project via the Eclipse Foundation's Bugzilla instance.</p>
+<p dir="auto">The general security mailing list address is <a href="mailto:security@eclipse.org">security@eclipse.org</a>.
+Members of the Eclipse Security Team will receive messages sent to this address.
+This address should be used only for reporting undisclosed vulnerabilities;
+regular issue reports and questions unrelated to vulnerabilities in Eclipse software
+will be ignored.
+Note that this email address is not encrypted.</p>
+<p dir="auto">The community is also encouraged to report vulnerabilities using the
+<a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Community&amp;component=Vulnerability%20Reports&amp;keywords=security&amp;groups=Security_Advisories" rel="nofollow">Eclipse Foundation's Bugzilla instance</a>.
+Note that you will require an Eclipse Foundation account to create an issue report,
+but by doing so you will be able to participate directly in the resolution of the issue.</p>
+<p dir="auto">Issue reports related to vulnerabilities must be marked as "committers-only",
+either automatically by clicking the provided link, by the reporter,
+or by a committer during the triage process.
+Note that issues marked "committers-only" are visible to all Eclipse committers.
+By default, a "committers-only" issue is also accessible to the reporter
+and individuals explicitly indicated in the "cc" list.</p>
+<h2 dir="auto"><a id="user-content-disclosure" class="anchor" aria-hidden="true" href="#disclosure"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a>Disclosure</h2>
+<p dir="auto">Disclosure is initially limited to the reporter and all Eclipse Committers,
+but is expanded to include other individuals, and the general public.
+The timing and manner of disclosure is governed by the
+<a href="https://www.eclipse.org/security/policy.php" rel="nofollow">Eclipse Security Policy</a>.</p>
+<p dir="auto">Publicly disclosed issues are listed on the
+<a href="https://www.eclipse.org/security/known.php" rel="nofollow">Disclosed Vulnerabilities Page</a>.</p>
+</article>
+ </div>
+
+ </div>
+
+ </readme-toc>
+
+
+
+ <details class="details-reset details-overlay details-overlay-dark" id="jumpto-line-details-dialog">
+ <summary data-hotkey="l" aria-label="Jump to line"></summary>
+ <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get">
+ <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
+ <button data-close-dialog="" type="submit" data-view-component="true" class="btn">
+
+ Go
+
+
+</button>
+</form> </details-dialog>
+ </details>
+
+
+</div>
+
+
+
+ </div>
+</div>
+
+ </main>
+ </div>
+
+ </div>
+
+
+<div class="footer container-xl width-full p-responsive" role="contentinfo">
+ <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 color-fg-muted border-top color-border-muted ">
+ <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
+ <li class="mr-3 mr-lg-0">&copy; 2021 GitHub, Inc.</li>
+ <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9206cfcd174c84a143651c44e070ab62679171a9a8bcf8bdb4e30b0817038cdd" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}">Terms</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a82897abc3555bd483ed12ec85b1b5df6f5ec4a44da4cf6f282e7f866ae57851" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}">Privacy</a></li>
+ <li class="mr-3 mr-lg-0"><a data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f0a0bdc1ac1573e2b4847bdcf5a1a3e08e4eb876f0cb31067425297263b1cc2e" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security">Security</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="411143bdd92f8e5ba107f549add710601fdbcf2b24353e2624f6783055f6f309" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}">Status</a></li>
+ <li><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li>
+ </ul>
+
+ <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
+ <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
+ <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
+</svg>
+</a>
+ <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
+ <li class="mr-3 mr-lg-0"><a href="https://support.github.com?tags=dotcom-footer" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5a47ee8b3aca8008a342baf4d115c0aacebb3782cd2d63812e6c661bd32a46e2" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}">Contact GitHub</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Pricing&quot;,&quot;label&quot;:&quot;text:Pricing&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4a37243c3082a57d19b85e6689499b2bfe96aa53a4feb24bcc353783fafb72c7" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Pricing&quot;,&quot;label&quot;:&quot;text:Pricing&quot;}">Pricing</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f814e2c4a4bd65a402b055abfa50c768e1696d1c223a3eabdc0bb02e9cf1257d" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;}">API</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to training&quot;,&quot;label&quot;:&quot;text:training&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="54296cee97f4c597f6aaf8b5f9f27fb9915c526edf5fe3197a341d6cbdc561b7" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to training&quot;,&quot;label&quot;:&quot;text:training&quot;}">Training</a></li>
+ <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-hydro-click="{&quot;event_type&quot;:&quot;analytics.event&quot;,&quot;payload&quot;:{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;,&quot;originating_url&quot;:&quot;https://github.com/eclipse-ee4j/.github/blob/main/SECURITY.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a664271099d4a8ffe45a87aa5da03c724e227c471826159f7559b9685763fa29" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;}">Blog</a></li>
+ <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
+ </ul>
+ </div>
+ <div class="d-flex flex-justify-center pb-6">
+ <span class="f6 color-fg-muted"></span>
+ </div>
+</div>
+
+
+
+ <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+ <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg>
+ </button>
+ You can’t perform that action at this time.
+ </div>
+
+ <div class="js-stale-session-flash flash flash-warn flash-banner" hidden
+ >
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
+ <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path>
+</svg>
+ <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
+ <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
+ </div>
+ <template id="site-details-dialog">
+ <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
+ <summary role="button" aria-label="Close dialog"></summary>
+ <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
+ <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
+ <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path>
+</svg>
+ </button>
+ <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
+ </details-dialog>
+ </details>
+</template>
+
+ <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
+ <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
+ </div>
+</div>
+
+ <template id="snippet-clipboard-copy-button">
+ <div class="zeroclipboard-container position-absolute right-0 top-0">
+ <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w">
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
+ <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path>
+</svg>
+ <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-text-success d-none m-2">
+ <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path>
+</svg>
+ </clipboard-copy>
+ </div>
+</template>
+
+
+
+
+ </body>
+</html>
+
diff --git a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/resources/uml.architecture b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/resources/uml.architecture
index fba163a48f0..4ee6fcd3141 100755
--- a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/resources/uml.architecture
+++ b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/resources/uml.architecture
@@ -32,7 +32,7 @@
<elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
<elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types.ui/model/uml-advice.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
<elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.sequence/model/SequenceDiagram.elementtypesconfigurations#_uuwoQENKEeimO7ZhVBpjkg"/>
- <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_P3J1cEa7EeSVGbM3cmVSqQ" id="org.eclipse.papyrus.uml.table.genericTree.empty.lines" name="Example Generic Tree Table With Empty Lines" icon="platform:/plugin/org.eclipse.papyrus.example.uml.nattable.empty.line/icons/table.png" concerns="_HQhf48SYEeaKZJ_pGfaSiA" grayedIcon="platform:/plugin/org.eclipse.papyrus.example.uml.nattable.empty.line/icons/table_grayed.png" implementationID="ExampleGenericTreeTableEmptyLines">
+ <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="_P3J1cEa7EeSVGbM3cmVSqQ" id="ExampleGenericTreeTableEmptyLines" name="Example Generic Tree Table With Empty Lines" icon="platform:/plugin/org.eclipse.papyrus.example.uml.nattable.empty.line/icons/table.png" concerns="_HQhf48SYEeaKZJ_pGfaSiA" grayedIcon="platform:/plugin/org.eclipse.papyrus.example.uml.nattable.empty.line/icons/table_grayed.png" implementationID="ExampleGenericTreeTableEmptyLines">
<modelRules xmi:type="representation:ModelRule" xmi:id="_vZwgkEr7EeSVGbM3cmVSqQ" permit="true" elementMultiplicity="1" multiplicity="-1">
<element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
</modelRules>
diff --git a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/Activator.java b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/Activator.java
index 24fe93e517c..9f36529c049 100755
--- a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/Activator.java
+++ b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/Activator.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2020 CEA LIST
+ * Copyright (c) 2020,2021 CEA LIST
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * Asma SMAOUI (CEA LIST) - bug 573840
*****************************************************************************/
package org.eclipse.papyrus.example.uml.nattable.empty.line;
@@ -27,7 +28,7 @@ public class Activator extends AbstractUIPlugin {
public static final String TABLE_TYPE = "ExampleGenericTreeTableEmptyLines";//$NON-NLS-1$
- public static final String TABLE_KIND_ID = "org.eclipse.papyrus.uml.table.genericTree.empty.lines"; //$NON-NLS-1$
+ // public static final String TABLE_KIND_ID = "org.eclipse.papyrus.uml.table.genericTree.empty.lines"; //$NON-NLS-1$
// The shared instance
private static Activator plugin;
diff --git a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/managers/cell/CustomEmptyAxisCellManager.java b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/managers/cell/CustomEmptyAxisCellManager.java
index dceeda26c2f..1bf362c227a 100755
--- a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/managers/cell/CustomEmptyAxisCellManager.java
+++ b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/managers/cell/CustomEmptyAxisCellManager.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2020 CEA LIST
+ * Copyright (c) 2020,2021 CEA LIST
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * Asma SMAOUI (CEA LIST) - bug 573840
*****************************************************************************/
package org.eclipse.papyrus.example.uml.nattable.empty.line.managers.cell;
@@ -29,7 +30,7 @@ public class CustomEmptyAxisCellManager extends AbstractEmptyAxisCellManager {
* @param tableKindId
*/
public CustomEmptyAxisCellManager() {
- super(Activator.TABLE_KIND_ID);
+ super(Activator.TABLE_TYPE);
}
}
diff --git a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/providers/CustomRowHeaderLabelProvider.java b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/providers/CustomRowHeaderLabelProvider.java
index 16a3d028bf2..95ac7b9cd96 100755
--- a/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/providers/CustomRowHeaderLabelProvider.java
+++ b/examples/uml/org.eclipse.papyrus.example.uml.nattable.empty.line/src/org/eclipse/papyrus/example/uml/nattable/empty/line/providers/CustomRowHeaderLabelProvider.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2020 CEA LIST
+ * Copyright (c) 2020,2021 CEA LIST
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
*
* Contributors:
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * Asma SMAOUI (CEA LIST) - bug 573840
*****************************************************************************/
package org.eclipse.papyrus.example.uml.nattable.empty.line.providers;
@@ -30,7 +31,7 @@ public class CustomRowHeaderLabelProvider extends AbstractEmptyLineRowHeaderLabe
* @param tableKind
*/
public CustomRowHeaderLabelProvider() {
- super(Activator.TABLE_KIND_ID);
+ super(Activator.TABLE_TYPE);
}
/**
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/feature.xml b/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/feature.xml
index 75aaf3b8839..a1c760b6c50 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/feature.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/feature.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="org.eclipse.papyrus.infra.architecture.feature"
- version="1.0.0.qualifier"
label="%featureName"
- provider-name="%providerName"
+ version="1.1.0.qualifier"
+ provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="2.0.2">
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/pom.xml b/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/pom.xml
index 68139007360..02ffd29fbe6 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/pom.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.infra.architecture.feature/pom.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.features</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.features</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.architecture.feature</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project> \ No newline at end of file
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.infra.textedit.feature/feature.xml b/features/papyrus-main-features/org.eclipse.papyrus.infra.textedit.feature/feature.xml
index b0eb145812e..841fa29f1e7 100755
--- a/features/papyrus-main-features/org.eclipse.papyrus.infra.textedit.feature/feature.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.infra.textedit.feature/feature.xml
@@ -19,9 +19,9 @@
%license
</license>
- <includes
- id="org.eclipse.papyrus.sdk.feature"
- version="0.0.0"/>
+ <requires>
+ <import feature="org.eclipse.papyrus.sdk.feature" version="6.0.0" match="compatible"/>
+ </requires>
<plugin
id="org.eclipse.papyrus.infra.textedit"
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.properties b/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.properties
index 68f429bba31..22aca0aaed9 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.properties
+++ b/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2010-2021 CEA LIST, Christian W. Damus, and others.
+# Copyright (c) 2010-2022 CEA LIST, Christian W. Damus, and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
@@ -24,7 +24,7 @@ To complement the UML profiles support, Papyrus provides very powerful customiza
# "copyright" property - text of the "Feature Update Copyright"
copyright=\
-Copyright (c) 2010-2021 CEA LIST, Christian W. Damus, and others.\n\
+Copyright (c) 2010-2022 CEA LIST, Christian W. Damus, and others.\n\
All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License 2.0\n\
which accompanies this distribution, and is available at\n\
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.xml b/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.xml
index 500bada6db4..d80e4647c15 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.papyrus.sdk.feature"
label="%featureName"
- version="6.0.0.qualifier"
+ version="6.1.0.qualifier"
provider-name="%providerName"
plugin="org.eclipse.papyrus.sdk"
license-feature="org.eclipse.license"
diff --git a/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/pom.xml b/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/pom.xml
index 69d32141cbe..2e0b6c4b2c6 100644
--- a/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/pom.xml
+++ b/features/papyrus-main-features/org.eclipse.papyrus.sdk.feature/pom.xml
@@ -9,7 +9,7 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.sdk.feature</artifactId>
- <version>6.0.0-SNAPSHOT</version>
+ <version>6.1.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
diff --git a/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml b/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml
index 9e3b53f43a4..6e0843064ca 100644
--- a/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml
+++ b/features/papyrus-tests-features/org.eclipse.papyrus.tests.toolsmiths.feature/feature.xml
@@ -61,4 +61,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.papyrus.toolsmiths.validation.properties.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/feature.xml b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/feature.xml
index 4aa795e2178..0abe380a6de 100644
--- a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/feature.xml
+++ b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/feature.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="org.eclipse.papyrus.junit.feature"
- version="1.0.0.qualifier"
+ version="1.1.0.qualifier"
label="%featureName"
provider-name="%providerName"
license-feature="org.eclipse.license"
diff --git a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/pom.xml b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/pom.xml
index 613701ae6b1..54fc4b9b5c2 100644
--- a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/pom.xml
+++ b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.junit.feature/pom.xml
@@ -9,7 +9,7 @@
</parent>
<artifactId>org.eclipse.papyrus.junit.feature</artifactId>
<groupId>org.eclipse.papyrus</groupId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project> \ No newline at end of file
diff --git a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml
index d10e08d0683..e3fe42d7e04 100644
--- a/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml
+++ b/features/papyrus-toolsmiths-features/org.eclipse.papyrus.toolsmiths.validation.feature/feature.xml
@@ -53,6 +53,13 @@
install-size="0"
version="0.0.0"
unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.toolsmiths.validation.properties"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
<plugin
id="org.eclipse.papyrus.dev.ui"
diff --git a/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/images/devDoc/Papyrus_ProblemsViewProperties.png b/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/images/devDoc/Papyrus_ProblemsViewProperties.png
new file mode 100644
index 00000000000..a067cd79747
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/images/devDoc/Papyrus_ProblemsViewProperties.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki b/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki
index df676143c0c..aaaaf3b58a9 100644
--- a/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki
+++ b/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki
@@ -177,3 +177,59 @@ The result is displayed in the ''''Problems'''' view and are categorized by the
Like others problems, you can double-click on one to open the relevant file. You may delete a problem that you think is resolved, but if it is not, then it will be presented again by the next validation.
+==Properties Model Plug-in Validation==
+
+This section describes the validation checks performed by the '''Papyrus Plug-in Builder''' on ''Properties models''.
+
+===What is checked?===
+Several validation rules are checked for any plug-in project that contains Properties Context and/or Environment models, including:
+* Bundle manifest dependencies on core Papyrus Properties Framework bundles: '''WARNING'''
+** 'org.eclipse.papyrus.infra.properties'
+* For each properties context model found in the plug-in that traces to a UML Profile or an Ecore package from which it was generated:
+** Validation of the context model file itself and XWT section files that it references: errors or warnings as described for different elements, below
+*** a data context package does not trace to a source UML Profile or Ecore package: '''WARNING'''
+*** a data context package traces to a source UML Profile or Ecore package that appears no longer to exist: '''ERROR'''
+*** a data context package has a different name than the source UML Profile or Ecore package to which it traces: '''ERROR'''
+*** a data context package is missing nested packages or data context elements for nested packages or classes in the source UML Profile or Ecore package: '''WARNING'''
+*** a data context element does not trace to a source UML Stereotype or Ecore Eclass: '''WARNING'''
+*** a data context element traces to a source UML Stereotype or Ecore Eclass that appears no longer to exist: '''WARNING'''
+*** a data context element has a different name than the source UML Stereotype or Ecore Eclass to which it traces: '''ERROR'''
+*** a data context element is missing properties for attributes of the source UML Stereotype or Ecore EClass: '''WARNING'''
+*** a data context package does not trace to an attribute of a source UML Stereotype or Ecore Eclass: '''WARNING'''
+*** a data context property traces to an attribute of the source UML Profile or Ecore package that appears no longer to exist: '''ERROR'''
+*** a data context property has a different name than the attribute of the source UML Stereotype or Ecore Eclass to which it traces: '''ERROR'''
+*** a data context property has a type that appears to be inconsistent with the type of the corresponding attribute in the source UML Stereotype or Ecore Eclass: '''WARNING'''
+*** a property editor in the XWT section has a widget type that appears to be inconsistent with the type of the data context property that it edits: '''WARNING'''
+** Validation of the properties context model registration in the 'plugin.xml' file
+*** if there is no registration extension: '''ERROR'''
+** Validation of bundle dependencies in the 'MANIFEST.MF' file implied by the properties context model:
+*** missing dependency on the bundle that deploys the UML Profile or Ecore package from which the context was generated: '''ERROR'''
+** Validation of the 'build.properties' file
+*** If any of the following resources is not included in the binary build: '''ERROR'''
+**** the properties context model file, itself
+**** any XWT resource referenced by the context
+* For each properties environment model found in the plug-in:
+** Validation of the environment model file itself: errors or warnings as described for different elements, below
+*** a Java class referenced for a model element factory or other concept does not exist: '''ERROR'''
+** Validation of the properties environment model registration in the 'plugin.xml' file
+*** if there is no registration extension: '''ERROR'''
+** Validation of bundle dependencies in the 'MANIFEST.MF' file implied by the properties environment model:
+*** missing dependency on the bundle that defines Java classes referenced in the environment: '''ERROR'''
+** Validation of the 'build.properties' file
+*** If any of the following resources is not included in the binary build: '''ERROR'''
+**** the properties model file, itself
+**** any other environment model cross-referenced by it in the same project
+
+The rules above are not checked in the ''Properties Context Editor'' while editing a model because they
+depend on the deployment of dependent resources in tooling bundles. Therefore, they are only checked by the
+tooling validation mechanisms described in this documentation. Other intrinsic model well-formedness constraints
+for modelign assistants are checked by the editor; they are described in the documentation of the
+''Properties Context'' model.
+
+===Where to find the result?===
+The result is displayed in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Properties Plug-in Problem''''.
+
+[[File:images/devDoc/Papyrus_ProblemsViewProperties.png|frame|none|Properties model problems]]
+
+Like other problems, you can double-click on one to open the relevant file. You may delete a problem that you think is resolved, but if it is not, then it will be presented again by the next validation.
+
diff --git a/plugins/facet/editor/org.eclipse.papyrus.emf.facet.custom.metamodel.editor/plugin.xml b/plugins/facet/editor/org.eclipse.papyrus.emf.facet.custom.metamodel.editor/plugin.xml
index 15cdb7fd94d..b8877792bb8 100644
--- a/plugins/facet/editor/org.eclipse.papyrus.emf.facet.custom.metamodel.editor/plugin.xml
+++ b/plugins/facet/editor/org.eclipse.papyrus.emf.facet.custom.metamodel.editor/plugin.xml
@@ -25,7 +25,7 @@
id="org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.presentation.CustomModelWizardID"
name="%_UI_CustomModelWizard_label"
class="org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.presentation.CustomModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.custo.category/org.eclipse.papyrus.wizards.custo.modelexplorer.category"
icon="icons/full/obj16/CustomModelFile.gif">
<description>%_UI_CustomModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/META-INF/MANIFEST.MF b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/META-INF/MANIFEST.MF
index 600476f63e0..0b8cb68f24d 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/META-INF/MANIFEST.MF
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.papyrus.infra.architecture;singleton:=true
-Bundle-Version: 3.1.0.qualifier
+Bundle-Version: 3.2.0.qualifier
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.eclipse.papyrus.infra.architecture,
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/pom.xml b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/pom.xml
index 4230c8e2785..d0927eedd49 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/pom.xml
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/pom.xml
@@ -9,9 +9,9 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.architecture</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
-
+
<build>
<plugins>
<!-- TODO: These first two plug-ins should be replaced by Papyrus standard
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/AbstractArchitectureDescriptionAdapter.java b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/AbstractArchitectureDescriptionAdapter.java
new file mode 100644
index 00000000000..65a03c9c5ba
--- /dev/null
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/AbstractArchitectureDescriptionAdapter.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2021 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.architecture.listeners;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescription;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionPreferences;
+
+/**
+ * An adapter that is installed in DI models to listen to architecture description changes
+ *
+ * @since 3.2
+ *
+ */
+public abstract class AbstractArchitectureDescriptionAdapter extends EContentAdapter {
+
+ /**
+ * Listens to changes on ArchitectureDescription* objects
+ */
+ @Override
+ public void notifyChanged(final Notification notification) {
+ if (notification.getNotifier() instanceof ArchitectureDescription ||
+ notification.getNewValue() instanceof ArchitectureDescription ||
+ notification.getOldValue() instanceof ArchitectureDescription) {
+ fireArchitectureContextChanged(notification);
+ } else if (notification.getNotifier() instanceof ArchitectureDescriptionPreferences ||
+ notification.getNewValue() instanceof ArchitectureDescriptionPreferences ||
+ notification.getOldValue() instanceof ArchitectureDescriptionPreferences) {
+ fireArchitectureViewpointsChanged(notification);
+ }
+ }
+
+ /**
+ * This method notifies that the Architecture context changed
+ *
+ * @param notification
+ * a notification
+ */
+ public abstract void fireArchitectureContextChanged(final Notification notification);
+
+ /**
+ * This method notifies that the Architecture viewpoint changed
+ *
+ * @param notification
+ * a notification
+ */
+ public abstract void fireArchitectureViewpointsChanged(final Notification notification);
+
+
+} \ No newline at end of file
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapter.java b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapter.java
index 7e9efcc70e8..753c5e1dec2 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapter.java
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapter.java
@@ -1,46 +1,47 @@
-/**
- * Copyright (c) 2017 CEA LIST.
- *
+/*****************************************************************************
+ * Copyright (c) 2017, 2021 CEA LIST.
+ *
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* Maged Elaasar - Initial API and implementation
- *
- *
- */
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Bug 576004
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.infra.architecture.listeners;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.util.EContentAdapter;
-import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescription;
-import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionPreferences;
/**
* An adapter that is installed in DI models to listen to architecture description changes
*
* @since 1.0
*/
-public class ArchitectureDescriptionAdapter extends EContentAdapter {
+public class ArchitectureDescriptionAdapter extends AbstractArchitectureDescriptionAdapter {
+
+ /**
+ * @see org.eclipse.papyrus.infra.architecture.listeners.AbstractArchitectureDescriptionAdapter#fireArchitectureContextChanged(org.eclipse.emf.common.notify.Notification)
+ *
+ * @param notification
+ */
+ @Override
+ public void fireArchitectureContextChanged(Notification notification) {
+ ArchitectureDescriptionNotifier.getInstance().fireArchitectureContextChanged(notification);
+ }
/**
- * Listens to changes on ArchitectureDescription* objects
+ * @see org.eclipse.papyrus.infra.architecture.listeners.AbstractArchitectureDescriptionAdapter#fireArchitectureViewpointsChanged(org.eclipse.emf.common.notify.Notification)
+ *
+ * @param notification
*/
@Override
- public void notifyChanged(Notification notification) {
- if (notification.getNotifier() instanceof ArchitectureDescription ||
- notification.getNewValue() instanceof ArchitectureDescription ||
- notification.getOldValue() instanceof ArchitectureDescription) {
- ArchitectureDescriptionNotifier.getInstance().fireArchitectureContextChanged(notification);
- } else if (notification.getNotifier() instanceof ArchitectureDescriptionPreferences ||
- notification.getNewValue() instanceof ArchitectureDescriptionPreferences ||
- notification.getOldValue() instanceof ArchitectureDescriptionPreferences) {
- ArchitectureDescriptionNotifier.getInstance().fireArchitectureViewpointsChanged(notification);
- }
+ public void fireArchitectureViewpointsChanged(Notification notification) {
+ ArchitectureDescriptionNotifier.getInstance().fireArchitectureViewpointsChanged(notification);
}
}
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapterUtils.java b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapterUtils.java
new file mode 100644
index 00000000000..abd87b29b1a
--- /dev/null
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionAdapterUtils.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2021 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.architecture.listeners;
+
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
+import org.eclipse.papyrus.infra.core.resource.sasheditor.SashModel;
+
+/**
+ * This class is in charge to register adapter on the architecture, in order to be notified when the Architecture context of the architecture viewpoint changed
+ *
+ * @since 3.2
+ */
+public final class ArchitectureDescriptionAdapterUtils {
+
+
+ private ArchitectureDescriptionAdapterUtils() {
+ // to prevent instantiation
+ }
+
+ /**
+ *
+ * @param modelSet
+ * the current modelSet
+ * @param adapter
+ * the adapter to register on the architecture context
+ */
+ public static final void registerListener(final ModelSet modelSet, final AbstractArchitectureDescriptionAdapter adapter) {
+ DiModel diModel = (DiModel) modelSet.getModel(DiModel.DI_MODEL_ID);
+ if (diModel != null) {
+ diModel.getResource().eAdapters().add(adapter);
+ }
+ SashModel sashModel = (SashModel) modelSet.getModel(SashModel.MODEL_ID);
+ if (sashModel != null) {
+ sashModel.getResource().eAdapters().add(adapter);
+ }
+ }
+
+ /**
+ *
+ * @param modelSet
+ * the current modelSet
+ * @param adapter
+ * the adapter to unregister
+ */
+ public static final void unregisterListener(final ModelSet modelSet, final AbstractArchitectureDescriptionAdapter adapter) {
+ DiModel diModel = (DiModel) modelSet.getModel(DiModel.DI_MODEL_ID);
+ if (diModel != null && diModel.getResource() != null) {
+ diModel.getResource().eAdapters().remove(adapter);
+ }
+ SashModel sashModel = (SashModel) modelSet.getModel(SashModel.MODEL_ID);
+ if (sashModel != null && sashModel.getResource() != null) {
+ if (sashModel.getResource() != null) {
+ sashModel.getResource().eAdapters().remove(adapter);
+ }
+ }
+ }
+}
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionSnippet.java b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionSnippet.java
index 1ad3accb24a..9ea27e7a591 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionSnippet.java
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/architecture/listeners/ArchitectureDescriptionSnippet.java
@@ -1,5 +1,5 @@
-/**
- * Copyright (c) 2017 CEA LIST.
+/*****************************************************************************
+ * Copyright (c) 2017, 2021 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,15 +10,13 @@
*
* Contributors:
* Maged Elaasar - Initial API and implementation
+ * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Bug 576004
*
- *
- */
+ *****************************************************************************/
package org.eclipse.papyrus.infra.architecture.listeners;
import org.eclipse.papyrus.infra.core.resource.IModelSetSnippet;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
-import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
-import org.eclipse.papyrus.infra.core.resource.sasheditor.SashModel;
/**
* A model snippet to install the architecture description adapter in the DI model
@@ -42,14 +40,7 @@ public class ArchitectureDescriptionSnippet implements IModelSetSnippet {
*/
@Override
public void start(ModelSet modelSet) {
- DiModel diModel = (DiModel) modelSet.getModel(DiModel.DI_MODEL_ID);
- if (diModel != null) {
- diModel.getResource().eAdapters().add(adapter);
- }
- SashModel sashModel = (SashModel) modelSet.getModel(SashModel.MODEL_ID);
- if (sashModel != null) {
- sashModel.getResource().eAdapters().add(adapter);
- }
+ ArchitectureDescriptionAdapterUtils.registerListener(modelSet, this.adapter);
}
/**
@@ -62,15 +53,6 @@ public class ArchitectureDescriptionSnippet implements IModelSetSnippet {
*/
@Override
public void dispose(ModelSet modelSet) {
- DiModel diModel = (DiModel) modelSet.getModel(DiModel.DI_MODEL_ID);
- if (diModel != null) {
- diModel.getResource().eAdapters().remove(adapter);
- }
- SashModel sashModel = (SashModel) modelSet.getModel(SashModel.MODEL_ID);
- if (sashModel != null) {
- if (sashModel.getResource() != null) {
- sashModel.getResource().eAdapters().remove(adapter);
- }
- }
+ ArchitectureDescriptionAdapterUtils.unregisterListener(modelSet, this.adapter);
}
}
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.editor/plugin.xml b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.editor/plugin.xml
index 5d5a73d154f..41817a0d887 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.editor/plugin.xml
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.editor/plugin.xml
@@ -16,7 +16,7 @@
id="org.eclipse.papyrus.infra.constraints.presentation.ConstraintsModelWizardID"
name="%_UI_ConstraintsModelWizard_label"
class="org.eclipse.papyrus.infra.constraints.presentation.ConstraintsModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.dev.category/org.eclipse.papyrus.wizards.dev.framework.category"
icon="icons/full/obj16/ConstraintsModelFile.gif">
<description>%_UI_ConstraintsModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
@@ -25,7 +25,7 @@
id="org.eclipse.papyrus.infra.constraints.environment.presentation.EnvironmentModelWizardID"
name="%_UI_EnvironmentModelWizard_label"
class="org.eclipse.papyrus.infra.constraints.environment.presentation.EnvironmentModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.dev.category/org.eclipse.papyrus.wizards.dev.framework.category"
icon="icons/full/obj16/EnvironmentModelFile.gif">
<description>%_UI_EnvironmentModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties
new file mode 100644
index 00000000000..0c80a55a094
--- /dev/null
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.properties
@@ -0,0 +1,17 @@
+#
+# Copyright (c) 2021 Christian W. Damus, CEA LIST, and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+#
+#
+
+_UI_label_EMFInstanceOf=Ecore 'instance-of'
+_UI_label_className=EClass name
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel
index 4ea1ac64926..12e4f7cc084 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/Model/Constraints.genmodel
@@ -55,7 +55,8 @@
createChild="true" ecoreFeature="ecore:EReference Constraints.ecore#//SimpleConstraint/properties"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="Constraints.ecore#//ConfigProperty">
- <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Constraints.ecore#//ConfigProperty/name"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute Constraints.ecore#//ConfigProperty/name"
+ key="true"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="Constraints.ecore#//CompositeConstraint">
<genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java
index 897008d96cc..f2f9cae7cec 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/SimpleConstraint.java
@@ -1,12 +1,22 @@
-/**
- * <copyright>
- * </copyright>
+/*****************************************************************************
+ * Copyright (c) 2010, 2021 CEA LIST, Christian W. Damus, and others.
*
- * $Id$
- */
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 573986
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.infra.constraints;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.papyrus.infra.constraints.environment.ConstraintType;
/**
@@ -71,4 +81,34 @@ public interface SimpleConstraint extends ConstraintDescriptor {
*/
EList<ConfigProperty> getProperties();
+ /**
+ * Retrieves the first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>' from the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param name
+ * The '<em><b>Name</b></em>' of the {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getProperties()
+ * @generated
+ */
+ ConfigProperty getProperties(String name);
+
+ /**
+ * Retrieves the first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>' from the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param name
+ * The '<em><b>Name</b></em>' of the {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} to retrieve, or <code>null</code>.
+ * @param ignoreCase
+ * Whether to ignore case in {@link java.lang.String} comparisons.
+ * @param eClass
+ * The Ecore class of the {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.papyrus.infra.constraints.ConfigProperty} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getProperties()
+ * @generated
+ */
+ ConfigProperty getProperties(String name, boolean ignoreCase, EClass eClass);
+
} // SimpleConstraint
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java
index 12db525a785..593161444d8 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src-gen/org/eclipse/papyrus/infra/constraints/impl/SimpleConstraintImpl.java
@@ -1,9 +1,18 @@
-/**
- * <copyright>
- * </copyright>
+/*****************************************************************************
+ * Copyright (c) 2010, 2021 CEA LIST, Christian W. Damus, and others.
*
- * $Id$
- */
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 573986
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.infra.constraints.impl;
import java.util.Collection;
@@ -145,6 +154,37 @@ public class SimpleConstraintImpl extends ConstraintDescriptorImpl implements Si
* @generated
*/
@Override
+ public ConfigProperty getProperties(String name) {
+ return getProperties(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ConfigProperty getProperties(String name, boolean ignoreCase, EClass eClass) {
+ propertiesLoop: for (ConfigProperty properties : getProperties()) {
+ if (eClass != null && !eClass.isInstance(properties)) {
+ continue propertiesLoop;
+ }
+ if (name != null && !(ignoreCase ? name.equalsIgnoreCase(properties.getName()) : name.equals(properties.getName()))) {
+ continue propertiesLoop;
+ }
+ return properties;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case ConstraintsPackage.SIMPLE_CONSTRAINT__PROPERTIES:
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java
new file mode 100644
index 00000000000..f7b4595b01b
--- /dev/null
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints/src/org/eclipse/papyrus/infra/constraints/util/ConstraintsUtil.java
@@ -0,0 +1,106 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.constraints.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.ComposedSwitch;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.infra.constraints.ConfigProperty;
+import org.eclipse.papyrus.infra.constraints.ConstraintDescriptor;
+import org.eclipse.papyrus.infra.constraints.SimpleConstraint;
+import org.eclipse.papyrus.infra.constraints.environment.ConstraintType;
+import org.eclipse.papyrus.infra.constraints.environment.util.EnvironmentSwitch;
+import org.eclipse.uml2.common.util.UML2Util;
+
+/**
+ * Utilities for working with constraint models.
+ */
+public class ConstraintsUtil extends UML2Util {
+
+ private static final Switch<String> NAME_SWITCH = createNameSwitch();
+
+ /**
+ * Get the model name (unlocalized) of the given {@code object}, if it has one.
+ *
+ * @param object
+ * an object in the constraints model
+ * @return its name, or {@code null} if none
+ */
+ public static final String getName(EObject object) {
+ return NAME_SWITCH.doSwitch(object);
+ }
+
+ /**
+ * Get a localized label for the given constraints model element, suitable for presentation in the
+ * UI or other user-facing messages.
+ *
+ * @param object
+ * an object in the constraints model
+ * @return its localized label
+ */
+ public static final String getLabel(EObject object) {
+ return getLabel(object, true);
+ }
+
+ public static final String getLabel(EObject object, boolean localize) {
+ String name = getName(object);
+ return getString(object,
+ "_UI_label_" + getValidJavaIdentifier(isEmpty(name)
+ ? EMPTY_STRING
+ : name.replace(':', '_')),
+ name, localize);
+ }
+
+ protected static String getString(EObject context, String key, String defaultValue, boolean localize) {
+ if (context instanceof ConfigProperty) {
+ // The context to look up the label is the constraint type that defines the property
+ EObject container = context.eContainer();
+ if (container instanceof SimpleConstraint) {
+ ConstraintType type = ((SimpleConstraint) container).getConstraintType();
+ if (type != null) {
+ context = type;
+ }
+ }
+ }
+
+ return UML2Util.getString(context, key, defaultValue, localize);
+ }
+
+ private static final Switch<String> createNameSwitch() {
+ Switch<String> constraints = new ConstraintsSwitch<>() {
+ public String caseConstraintDescriptor(ConstraintDescriptor object) {
+ return object.getName();
+ }
+
+ @Override
+ public String caseConfigProperty(ConfigProperty object) {
+ return object.getName();
+ }
+ };
+
+ Switch<String> environment = new EnvironmentSwitch<>() {
+ @Override
+ public String caseConstraintType(ConstraintType object) {
+ return object.getLabel();
+ }
+ };
+
+ return new ComposedSwitch<>(List.of(constraints, environment));
+ }
+
+}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java
index 3b57f02b61e..1eb73be7b2d 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/ArchitectureCommandUtils.java
@@ -26,7 +26,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
@@ -35,8 +34,9 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.papyrus.infra.core.architecture.ADElement;
import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
import org.eclipse.papyrus.infra.core.architecture.impl.ArchitecturePlugin;
+import org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper;
import org.eclipse.papyrus.infra.tools.util.ClasspathHelper;
-import org.osgi.framework.Bundle;
+import org.eclipse.papyrus.infra.tools.util.Try;
/**
* Utilities for working with/resolving the command classes referenced by
@@ -48,7 +48,6 @@ public class ArchitectureCommandUtils {
private static final String REQUIRED_BUNDLES = "requiredBundles"; //$NON-NLS-1$
private static final String CLASS_CONSTRAINT = "classConstraint"; //$NON-NLS-1$
- private static final String BUNDLECLASS = "bundleclass"; //$NON-NLS-1$
private static final Map<EStructuralFeature, Class<?>> commandClassConstraints = new ConcurrentHashMap<>();
@@ -69,24 +68,7 @@ public class ArchitectureCommandUtils {
String classURI = EcoreUtil.getAnnotation(feature, ArchitecturePackage.eNS_URI, CLASS_CONSTRAINT);
if (classURI != null) {
URI uri = URI.createURI(classURI);
- if (!BUNDLECLASS.equals(uri.scheme())) {
- result = fail("Constraint class URI does not have bundleclass scheme: " + uri); //$NON-NLS-1$
- } else if (uri.authority() == null) {
- result = fail("Constraint class URI does not have an authority: " + uri); //$NON-NLS-1$
- } else if (uri.segmentCount() != 1) {
- result = fail("Constraint class URI must have exactly one segment: " + uri); //$NON-NLS-1$
- } else {
- Bundle bundle = Platform.getBundle(uri.authority());
- if (bundle == null) {
- result = fail("No such bundle in constraint class URI: " + uri); //$NON-NLS-1$
- } else {
- try {
- result = bundle.loadClass(uri.segment(0));
- } catch (Exception e) {
- result = fail(e);
- }
- }
- }
+ result = ClassLoaderHelper.loadClass(uri).orElseApply(ArchitectureCommandUtils::fail);
}
return result;
@@ -98,10 +80,8 @@ public class ArchitectureCommandUtils {
if (owner.eIsSet(feature)) {
String classURI = EcoreUtil.getAnnotation(feature, ArchitecturePackage.eNS_URI, CLASS_CONSTRAINT);
URI uri = classURI == null ? null : URI.createURI(classURI);
-
- if (uri != null && BUNDLECLASS.equals(uri.scheme())) {
- result = uri.authority();
- }
+ Try<String> bundleName = ClassLoaderHelper.getBundleName(uri);
+ result = bundleName.orElse(null);
}
return result;
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF b/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF
index da8f35a1809..3b762ceda49 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF
@@ -31,7 +31,7 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.6.0,4.0.0)",
org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.3.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.papyrus.infra.core.Activator
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml b/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml
index 2f6fa33960c..905303f7a81 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml
@@ -9,6 +9,6 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.core</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java
index e8ae69d5bea..6b43b97a8b2 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java
@@ -153,6 +153,10 @@ public class ModelSet extends ResourceSetImpl {
this.eAdapters.add(new ResourceAddRemoveTracker());
}
+ public boolean isShardingSupported() {
+ return true;
+ }
+
/**
* Register the specified model under its associated key. The key is defined
* in the model itself. It is usually the model type from
@@ -858,7 +862,7 @@ public class ModelSet extends ResourceSetImpl {
/**
* This allows to delete a resource from the uri.
- *
+ *
* @param uri
* The uri of the resource to delete.
* @return <code>true</code> if the resource is deleted, <code>false</code> otherwise.
@@ -1310,10 +1314,10 @@ public class ModelSet extends ResourceSetImpl {
/**
* Obtains the model that should persist an {@code object}.
- *
+ *
* @param object
* an object to be persisted as a new root of a managed EMF {@code Resource}
- *
+ *
* @return the model that is best suited to persist the {@code object}, or {@code null} if none
* @since 2.0
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java
index 70627d18e83..0c912d46f99 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/ClassLoaderHelper.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010, 2020 CEA LIST, EclipseSource, Christian W. Damus, and others.
+ * Copyright (c) 2010, 2021 CEA LIST, EclipseSource, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -12,7 +12,7 @@
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
* EclipseSource - Bug 543723
* Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - bug 553247
- * Christian W. Damus - bug 568782
+ * Christian W. Damus - bugs 568782, 573986
*****************************************************************************/
package org.eclipse.papyrus.infra.tools.util;
@@ -23,6 +23,7 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.papyrus.infra.tools.Activator;
import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
/**
* <p>
@@ -41,6 +42,9 @@ import org.osgi.framework.Bundle;
*/
public class ClassLoaderHelper {
+ /** The Equinox <tt>bundleclass:</tt> URI scheme. */
+ private static final String BUNDLECLASS = "bundleclass"; //$NON-NLS-1$
+
/**
* Usually, there are few classes with many different accesses. Using a cache, we can improve
* the performances between 10 and 20 times, with really little memory consumption
@@ -151,6 +155,93 @@ public class ClassLoaderHelper {
}
/**
+ * Query whether an URI is parseable as a fully-qualified class reference.
+ *
+ * @param uri
+ * an URI
+ * @return whether is is valid input for the {@link #loadClass(URI)} API
+ *
+ * @since 4.2
+ * @see #loadClass(URI)
+ */
+ public static boolean isClassURI(URI uri) {
+ return uri != null && BUNDLECLASS.equals(uri.scheme());
+ }
+
+ /**
+ * Query the bundle name indicated by a class URI.
+ *
+ * @param classURI
+ * reference to a class in a bundle
+ * @return the symbolic name of the bundle that hosts the class
+ *
+ * @since 4.2
+ * @see #isClassURI(URI)
+ */
+ public static Try<String> getBundleName(URI classURI) {
+ Try<String> result;
+
+ if (!isClassURI(classURI)) {
+ result = Try.failure("Class URI does not have bundleclass scheme: " + classURI); //$NON-NLS-1$
+ } else if (classURI.authority() == null) {
+ result = Try.failure("Class URI does not have an authority: " + classURI); //$NON-NLS-1$
+ } else {
+ result = Try.success(classURI.authority());
+ }
+
+ return result;
+ }
+
+ /**
+ * Load a class indicated by an URI.
+ *
+ * @param classURI
+ * reference to the class to load
+ * @return the loaded class
+ *
+ * @since 4.2
+ * @see #isClassURI(URI)
+ */
+ public static Try<Class<?>> loadClass(URI classURI) {
+ Try<Class<?>> result;
+
+ if (!isClassURI(classURI)) {
+ result = Try.failure("Class URI does not have bundleclass scheme: " + classURI); //$NON-NLS-1$
+ } else if (classURI.authority() == null) {
+ result = Try.failure("Class URI does not have an authority: " + classURI); //$NON-NLS-1$
+ } else if (classURI.segmentCount() != 1) {
+ result = Try.failure("Class URI must have exactly one segment: " + classURI); //$NON-NLS-1$
+ } else {
+ Bundle bundle = Platform.getBundle(classURI.authority());
+ if (bundle == null) {
+ result = Try.failure("No such bundle in class URI: " + classURI); //$NON-NLS-1$
+ } else {
+ result = Try.call(() -> bundle.loadClass(classURI.segment(0)));
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get a URI for a class that can be used to {@linkplain #loadClass(URI) load it again} later.
+ * This only works for classes that trace to some bundle that hosts them.
+ *
+ * @param class_
+ * a class
+ * @return a URI for it, if it is a class that is hosted in some bundle
+ *
+ * @since 4.2
+ * @see #loadClass(URI)
+ */
+ public static Try<URI> getURI(Class<?> class_) {
+ Bundle bundle = FrameworkUtil.getBundle(class_);
+ return bundle == null
+ ? Try.failure("Class is not hosted by an OSGi bundle: " + class_.getName())
+ : Try.success(URI.createURI(String.format("%s://%s/%s", BUNDLECLASS, bundle.getSymbolicName(), class_.getName())));
+ }
+
+ /**
* <p>
* Loads and returns the class represented by the given className.
* Checks that the loaded class is a subtype of the given Class.
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java
index ef0a1257ff9..c83ded14c59 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Iterators2.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014, 2020 Christian W. Damus, CEA LIST, and others.
+ * Copyright (c) 2014, 2021 Christian W. Damus, CEA LIST, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -18,6 +18,7 @@ package org.eclipse.papyrus.infra.tools.util;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.Spliterators;
+import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
@@ -65,6 +66,49 @@ public class Iterators2 {
}
/**
+ * Filters an EMF tree iterator for elements of a particular {@code type}.
+ *
+ * @param treeIterator
+ * the tree iterator to filter
+ * @param type
+ * the type of elements to include in the filtered tree iterator
+ * @param shouldPrune
+ * a predicate that tests {@code true} on elements whose sub-trees should be {@linkplain TreeIterator#prune() pruned}.
+ * A {@link null} predicate will never prune
+ * @return the self-pruning tree iterator
+ *
+ * @since 4.2
+ */
+ public static <T> Iterator<T> autoPrune(final TreeIterator<T> treeIterator, Predicate<? super T> shouldPrune) {
+ class SelfPruningIterator extends AbstractIterator<T> {
+ @Override
+ protected T computeNext() {
+ T result;
+
+ if (!treeIterator.hasNext()) {
+ result = endOfData();
+ } else {
+ result = treeIterator.next();
+ if (shouldPrune.test(result)) {
+ // Prune, now
+ treeIterator.prune();
+ }
+ }
+
+ return result;
+ }
+ }
+
+ Iterator<T> result = treeIterator;
+
+ if (shouldPrune != null) {
+ result = new SelfPruningIterator();
+ }
+
+ return result;
+ }
+
+ /**
* Obtain a spliterator over an EMF tree iterator. The spliterator will have characteristics implied by an
* EMF content tree, namely:
* <ul>
@@ -78,9 +122,40 @@ public class Iterators2 {
* @param treeIterator
* a tree iterator
* @return a spliterator over the tree
+ *
+ * @see #spliterator(TreeIterator, Predicate)
*/
public static <T> Spliterator<T> spliterator(final TreeIterator<T> treeIterator) {
- return Spliterators.spliteratorUnknownSize(treeIterator, Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.NONNULL);
+ return spliterator(treeIterator, (Predicate<T>) null);
+ }
+
+ /**
+ * Obtain a spliterator over an EMF tree iterator that prunes itself automatically. The spliterator will have characteristics implied by an
+ * EMF content tree, namely:
+ * <ul>
+ * <li>{@link Spliterator#ORDERED}</li>
+ * <li>{@link Spliterator#DISTINCT}</li>
+ * <li>{@link Spliterator#NONNULL}</li>
+ * </ul>
+ *
+ * @param <T>
+ * the tree element type
+ * @param treeIterator
+ * a tree iterator
+ * @param shouldPrune
+ * a predicate that tests {@code true} on elements whose sub-trees should be {@linkplain TreeIterator#prune() pruned}.
+ * A {@link null} predicate will never prune
+ * @return a spliterator over the tree
+ *
+ * @since 4.2
+ *
+ * @see #autoPrune(TreeIterator, Predicate)
+ * @see #stream(TreeIterator, Predicate)
+ * @see #spliterator(TreeIterator)
+ */
+ public static <T> Spliterator<T> spliterator(final TreeIterator<T> treeIterator, Predicate<? super T> shouldPrune) {
+ Iterator<T> delegate = autoPrune(treeIterator, shouldPrune);
+ return Spliterators.spliteratorUnknownSize(delegate, Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.NONNULL);
}
/**
@@ -91,9 +166,34 @@ public class Iterators2 {
* @param treeIterator
* a tree iterator
* @return a stream over the tree
+ *
+ * @see #stream(TreeIterator, Predicate)r
*/
public static <T> Stream<T> stream(final TreeIterator<T> treeIterator) {
- return StreamSupport.stream(spliterator(treeIterator), false);
+ return stream(treeIterator, (Predicate<T>) null);
+ }
+
+ /**
+ * Obtain a stream over an EMF tree iterator that prunes itself automatically.
+ *
+ * @param <T>
+ * the tree element type
+ * @param treeIterator
+ * a tree iterator
+ * @param shouldPrune
+ * a predicate that tests {@code true} on elements whose sub-trees should be {@linkplain TreeIterator#prune() pruned}.
+ * A {@link null} predicate will never prune
+ *
+ * @return a self-pruning stream over the tree
+ *
+ * @since 4.2
+ *
+ * @see #autoPrune(TreeIterator, Predicate)
+ * @see #spliterator(TreeIterator, Predicate)
+ * @see #stream(TreeIterator)
+ */
+ public static <T> Stream<T> stream(final TreeIterator<T> treeIterator, Predicate<? super T> shouldPrune) {
+ return StreamSupport.stream(spliterator(treeIterator, shouldPrune), false);
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/RecursionGuard.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/RecursionGuard.java
new file mode 100644
index 00000000000..effd1c2985e
--- /dev/null
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/RecursionGuard.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.tools.util;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Predicate;
+
+/**
+ * Encapsulation of a set of objects on which recursive inference of traceability is in progress
+ * to void re-entrance into that scope, to prevent exponential redundant recursion.
+ *
+ * @param <T>
+ * the kind of objects tracked as the scope of recursion
+ *
+ * @since 4.2
+ */
+public final class RecursionGuard<T> {
+ private final Set<T> recursionSet = new HashSet<>();
+
+ /**
+ * Open the recursion gate if all of the given objects are new to the current recursion stack.
+ *
+ * @param recursionScope
+ * objects to attempt to add to the current recursion stack
+ *
+ * @return a gate that will be open all of the objects in the given scope are new additions to the recursion stack
+ */
+ @SafeVarargs
+ public final Gate guard(T... recursionScope) {
+ return guardIfAny(Objects::nonNull, recursionScope);
+ }
+
+ /**
+ * If any of the given objects in the scope of recursion satisfies the {@code condition},
+ * then open the recursion gate if all of them are new to the current recursion stack.
+ *
+ * @param condition
+ * a precondition which, if satisfied by any of the given objects, lets us attempt to open a gate with them
+ * @param recursionScope
+ * objects to attempt to add to the current recursion stack
+ *
+ * @return a gate that will be open if the {@code condition} was satisfied and all of the objects
+ * in the given scope are new additions to the recursion stack
+ */
+ @SafeVarargs
+ public final Gate guardIfAny(Predicate<? super T> condition, T... recursionScope) {
+ return new Gate(condition, recursionScope);
+ }
+
+ /**
+ * Encapsulation of a recursion gate that may be open to permit recursion or closed
+ * to cut it off.
+ */
+ public final class Gate implements AutoCloseable {
+ private final int size;
+ private List<T> gated;
+
+ @SafeVarargs
+ private Gate(Predicate<? super T> condition, T... recursionScope) {
+ super();
+
+ this.size = recursionScope.length;
+ this.gated = new ArrayList<>(size);
+
+ for (T next : recursionScope) {
+ if (condition.test(next)) {
+ guard(recursionScope);
+ }
+ }
+ }
+
+ @SafeVarargs
+ private void guard(T... recursionScope) {
+ for (T next : recursionScope) {
+ if (recursionSet.add(next)) {
+ gated.add(next);
+ }
+ }
+ }
+
+ /**
+ * Queries whether the gate is open to allow recursion.
+ *
+ * @return {@code true} if the gate is open, allowing recursion because the objects encapsulated
+ * as its recursion scope are all new additions to the current recursive stack
+ */
+ public boolean isOpen() {
+ return gated.size() == size;
+ }
+
+ /**
+ * Restores the recursion stack to what it was prior to creation of this gate,
+ * whether it is open or closed. This gate <em><strong>must</strong></em> be closed
+ * regardless of whether {@linkplain #isOpen() it is open}, which is why the gate
+ * is an auto-closeable resource.
+ */
+ @Override
+ public void close() {
+ recursionSet.removeAll(gated);
+ gated.clear();
+ }
+ }
+}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java
new file mode 100644
index 00000000000..70de5f62138
--- /dev/null
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/TriFunction.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.tools.util;
+
+import java.util.function.BiFunction;
+
+/**
+ * A function analogous to the {@link BiFunction} that takes three inputs.
+ *
+ * @since 4.2
+ */
+@FunctionalInterface
+public interface TriFunction<F, G, H, R> {
+
+ /**
+ * Process three inputs to obtain a result.
+ *
+ * @param f
+ * the first input
+ * @param g
+ * the second input
+ * @param h
+ * the third input
+ * @return the result
+ */
+ R apply(F f, G g, H h);
+
+}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java
new file mode 100644
index 00000000000..215a97b2464
--- /dev/null
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/src/org/eclipse/papyrus/infra/tools/util/Try.java
@@ -0,0 +1,525 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.tools.util;
+
+import java.io.Serializable;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.concurrent.Callable;
+import java.util.function.BiConsumer;
+import java.util.function.BiFunction;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.Predicate;
+
+/**
+ * Like an {@link Optional} except that when the value is not present, it can
+ * provide a reason why. Also, because the alternative to success an explicit
+ * failure with some kind of reason, a {@linkplain #isSuccess() successful Try}
+ * may have a {@code null} {@linkplain #get() value}.
+ *
+ * @since 4.2
+ */
+public abstract class Try<T> implements Serializable {
+
+ private static final long serialVersionUID = 2007056722268683220L;
+
+ private static final Try<?> EMPTY = Try.success(null);
+
+ /**
+ * Not instantiable by clients.
+ */
+ Try() {
+ super();
+ }
+
+ /**
+ * Queries whether the {@code Try} has a successful value, even if that value is {@code null}.
+ *
+ * @return whether I am a success
+ */
+ public abstract boolean isSuccess();
+
+ /**
+ * Obtains the value of a {@linkplain #isSuccess() successful} {@code Try}.
+ *
+ * @return my value, which may be {@code null}
+ * @throws NoSuchElementException
+ * if I am a {@linkplain #isFailure() failure}
+ */
+ public abstract T get() throws NoSuchElementException;
+
+ /**
+ * Coerce me to an optional value, eliding any failure information.
+ *
+ * @return an optional encapsulating my value, which will {@linkplain Optional#isEmpty() be empty}
+ * if either I am a failure or if I am a success that happens to be a {@code null} value
+ */
+ public abstract Optional<T> toOptional();
+
+ /**
+ * Queries whether the {@code Try} failed to provide value.
+ *
+ * @return whether I am a failure
+ */
+ public final boolean isFailure() {
+ return !isSuccess();
+ }
+
+ /**
+ * Query whether the {@code Try} provided a successful {@code null} value.
+ *
+ * @return whether I am an empty success
+ */
+ public final boolean isEmpty() {
+ return this.equals(EMPTY);
+ }
+
+ /**
+ * Query whether the {@code Try} provided a successful non-{@code null} value.
+ *
+ * @return whether I am a present success
+ */
+ public final boolean isPresent() {
+ return isSuccess() && !isEmpty();
+ }
+
+ /**
+ * Queries the reason for the failure to provide a value.
+ *
+ * @return the reason, which will never be {@code null} but may not be helpful
+ */
+ public abstract String reason();
+
+ /**
+ * Queries the exception, if any, that caused failure to provide a value.
+ *
+ * @return the exception, or {@code null} if the failure to provide a value was not
+ * caused by an exception but just has some ad hoc {@link #reason() reason}
+ */
+ public abstract Throwable failure();
+
+ /**
+ * Encapsulate the result of a {@code callable}.
+ *
+ * @param <T>
+ * the callable result type
+ * @param callable
+ * a computation to call
+ * @return the result of {@linkplain Callable#call() calling} the {@code callable}
+ */
+ public static <T> Try<T> call(Callable<? extends T> callable) {
+ try {
+ return Try.success(callable.call());
+ } catch (Exception e) {
+ return Try.failure(e);
+ }
+ }
+
+ /**
+ * Create a success.
+ *
+ * @param <T>
+ * the type of {@code value}
+ * @param value
+ * the value to provide
+ * @return a successful provision of the {@code value}
+ */
+ public static <T> Try<T> success(T value) {
+ return new Success<>(value);
+ }
+
+ /**
+ * Obtain an empty success: that is, a successful result that happens
+ * to be a {@code null} value.
+ *
+ * @param <T>
+ * the type of value expected
+ * @return the empty success
+ */
+ @SuppressWarnings("unchecked")
+ public static <T> Try<T> empty() {
+ return (Try<T>) EMPTY;
+ }
+
+ /**
+ * Create a failure caused by an exception.
+ *
+ * @param <T>
+ * the type of value that was not provided
+ * @param failure
+ * an exception that caused the failure
+ * @return a failed provision of a value
+ */
+ public static <T> Try<T> failure(Throwable failure) {
+ return new Failure<>(failure);
+ }
+
+ /**
+ * Create a failure with an ad hoc reason.
+ *
+ * @param <T>
+ * the type of value that was not provided
+ * @param reason
+ * an ad hoc description of the reason why the value was not provided
+ * @return a failed provision of a value
+ */
+ public static <T> Try<T> failure(String reason) {
+ return new Failure<>(reason);
+ }
+
+ /**
+ * Process my value if {@linkplain #isSuccess() successful}.
+ *
+ * @param onSuccess
+ * a consumer of the successful {@linkplain #get() value}
+ */
+ public final void ifSuccess(Consumer<? super T> onSuccess) {
+ if (isSuccess()) {
+ onSuccess.accept(get());
+ }
+ }
+
+ /**
+ * Process my value if {@linkplain #isPresent() present}.
+ *
+ * @param onPresent
+ * a consumer of the present {@linkplain #get() value}
+ */
+ public final void ifPresent(Consumer<? super T> onPresent) {
+ if (isPresent()) {
+ onPresent.accept(get());
+ }
+ }
+
+ /**
+ * Process the reason for a {@linkplain #isFailure() failure}.
+ *
+ * @param onSuccess
+ * a consumer of the failure reason and exception
+ */
+ public final void ifFailure(BiConsumer<? super String, ? super Throwable> onFailure) {
+ if (isFailure()) {
+ onFailure.accept(reason(), failure());
+ }
+ }
+
+ /**
+ * Process the reason for a {@linkplain #isFailure() failure}.
+ *
+ * @param onSuccess
+ * a consumer of the failure reason
+ */
+ public final void ifFailure(Consumer<? super String> onFailure) {
+ ifFailure((reason, __) -> onFailure.accept(reason));
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else the given value {@link #isFailure() on failure}.
+ *
+ * @param failureValue
+ * the result in case of failure
+ * @return the result
+ */
+ public final T orElse(T failureValue) {
+ return isSuccess() ? get() : failureValue;
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else compute an alternative based on the failure reason.
+ *
+ * @param failureFunction
+ * the computation of an alternative in case of failure
+ * @return the result
+ */
+ public final T orElseApply(BiFunction<? super String, ? super Throwable, ? extends T> failureFunction) {
+ return isSuccess() ? get() : failureFunction.apply(reason(), failure());
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else compute an alternative based on the failure reason.
+ *
+ * @param failureFunction
+ * the computation of an alternative in case of failure
+ * @return the result
+ */
+ public final T orElseApply(Function<? super String, ? extends T> failureFunction) {
+ return orElseApply((reason, __) -> failureFunction.apply(reason));
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else {@code null} with a side-effect based on the failure reason.
+ *
+ * @param onFailure
+ * a side-effect to run in case of failure
+ * @return the result, or {@code null} if failed
+ */
+ public final T orElseAccept(BiConsumer<? super String, ? super Throwable> onFailure) {
+ if (isFailure()) {
+ onFailure.accept(reason(), failure());
+ }
+ return orElse(null);
+ }
+
+ /**
+ * Obtain my {@linkplain #isSuccess() successful} {@linkplain #get() value} or
+ * else {@code null} with a side-effect based on the failure reason.
+ *
+ * @param onFailure
+ * a side-effect to run in case of failure
+ * @return the result, or {@code null} if failed
+ */
+ public final T orElseAccept(Consumer<? super String> onFailure) {
+ return orElseAccept((reason, __) -> onFailure.accept(reason));
+ }
+
+ /**
+ * Map my value, if any, under the given function.
+ *
+ * @param <U>
+ * the result type of the mapping
+ * @param mapping
+ * the mapping function. It may return {@code null}
+ * @return a successful value of the {@code mapping} if I am a successful value, otherwise myself if I am a failure
+ */
+ public abstract <U> Try<U> map(Function<? super T, U> mapping);
+
+ /**
+ * Map my value, if any, under the given function.
+ *
+ * @param <U>
+ * the result type of the optional mapping
+ * @param mapping
+ * the mapping function. It must not return {@code null}
+ * @return a successful value of the {@code mapping} if I am a successful value, which may be empty if
+ * either I am empty or the {@code mapping} result is empty, otherwise myself if I am a failure
+ */
+ public abstract <U> Try<U> flatMap(Function<? super T, Optional<U>> mapping);
+
+ /**
+ * Map my value, if any, under the given function.
+ *
+ * @param <U>
+ * the result type of the attempted mapping
+ * @param mapping
+ * the mapping function. It must not return {@code null}
+ * @return a successful value of the {@code mapping} if I am a successful value and it is also,
+ * otherwise myself if I am a failure or the mapping failure if it is a failure
+ */
+ public abstract <U> Try<U> tryMap(Function<? super T, Try<U>> mapping);
+
+ /**
+ * Filter my value, if any, under the given {@code test}.
+ *
+ * @param test
+ * the filter predicate function
+ * @return a successful value if I am a successful value, which may be empty if
+ * either I am empty or the {@code test} fails, otherwise myself if I am a failure
+ */
+ public abstract Try<T> filter(Predicate<? super T> test);
+
+}
+
+/**
+ * The success case of a {@link Try}.
+ *
+ * @param <T>
+ * the value type
+ */
+final class Success<T> extends Try<T> {
+ private static final long serialVersionUID = -6184897525442822648L;
+
+ private final T value;
+
+ Success(T value) {
+ super();
+
+ this.value = value;
+ }
+
+ @Override
+ public Optional<T> toOptional() {
+ return Optional.ofNullable(value);
+ }
+
+ @Override
+ public boolean isSuccess() {
+ return true;
+ }
+
+ @Override
+ public T get() {
+ return value;
+ }
+
+ @Override
+ public String reason() {
+ return null;
+ }
+
+ @Override
+ public Throwable failure() {
+ return null;
+ }
+
+ @Override
+ public <U> Try<U> map(Function<? super T, U> mapping) {
+ return isEmpty() ? empty() : success(mapping.apply(value));
+ }
+
+ @Override
+ public <U> Try<U> flatMap(Function<? super T, Optional<U>> mapping) {
+ return isEmpty() ? empty() : success(mapping.apply(value).orElse(null));
+ }
+
+ @Override
+ public <U> Try<U> tryMap(Function<? super T, Try<U>> mapping) {
+ return isEmpty() ? empty() : Objects.requireNonNull(mapping.apply(value));
+ }
+
+ @Override
+ public Try<T> filter(Predicate<? super T> test) {
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (!(obj instanceof Success)) {
+ return false;
+ }
+
+ Success<?> other = (Success<?>) obj;
+ return Objects.equals(this.value, other.value);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(Success.class, value);
+ }
+
+ @Override
+ public String toString() {
+ return isEmpty()
+ ? "Empty()" //$NON-NLS-1$
+ : String.format("Success(%s)", value); //$NON-NLS-1$
+ }
+}
+
+/**
+ * The failure case of a {@link Try}.
+ *
+ * @param <T>
+ * the value type
+ */
+final class Failure<T> extends Try<T> {
+ private static final long serialVersionUID = -4229519157128957990L;
+ private static final String NO_REASON = "No reason provided."; //$NON-NLS-1$
+
+ private final Throwable failure;
+ private final String reason;
+
+ Failure(String reason) {
+ this(reason, null);
+ }
+
+ Failure(Throwable failure) {
+ this(null, failure);
+ }
+
+ Failure(String reason, Throwable failure) {
+ super();
+
+ this.reason = (reason != null) ? reason : failure != null ? failure.getClass().getName() : NO_REASON;
+ this.failure = failure;
+ }
+
+ @Override
+ public Optional<T> toOptional() {
+ return Optional.empty();
+ }
+
+ @Override
+ public boolean isSuccess() {
+ return false;
+ }
+
+ @Override
+ public T get() throws NoSuchElementException {
+ throw new NoSuchElementException();
+ }
+
+ @Override
+ public String reason() {
+ return reason;
+ }
+
+ @Override
+ public Throwable failure() {
+ return failure;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <U> Try<U> map(Function<? super T, U> mapping) {
+ return (Try<U>) this;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <U> Try<U> flatMap(Function<? super T, Optional<U>> mapping) {
+ return (Try<U>) this;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <U> Try<U> tryMap(Function<? super T, Try<U>> mapping) {
+ return (Try<U>) this;
+ }
+
+ @Override
+ public Try<T> filter(Predicate<? super T> test) {
+ return this;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (!(obj instanceof Failure)) {
+ return false;
+ }
+
+ Failure<?> other = (Failure<?>) obj;
+ return Objects.equals(this.reason, other.reason)
+ && Objects.equals(this.failure, other.failure);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(Failure.class, reason, failure);
+ }
+
+ @Override
+ public String toString() {
+ return (failure == null || Objects.equals(failure.getMessage(), reason))
+ ? String.format("Failure(%s)", reason) //$NON-NLS-1$
+ : String.format("Failure(%s, %s: %s)", reason, failure.getClass().getSimpleName(), failure.getMessage()); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/infra/emf/expressions/org.eclipse.papyrus.infra.emf.expressions.editor/plugin.xml b/plugins/infra/emf/expressions/org.eclipse.papyrus.infra.emf.expressions.editor/plugin.xml
index 1095aa6ead7..c13d0f774c1 100755
--- a/plugins/infra/emf/expressions/org.eclipse.papyrus.infra.emf.expressions.editor/plugin.xml
+++ b/plugins/infra/emf/expressions/org.eclipse.papyrus.infra.emf.expressions.editor/plugin.xml
@@ -26,7 +26,7 @@
id="org.eclipse.papyrus.infra.emf.expressions.presentation.ExpressionsModelWizardID"
name="%_UI_ExpressionsModelWizard_label"
class="org.eclipse.papyrus.infra.emf.expressions.presentation.ExpressionsModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.dev.category/org.eclipse.papyrus.wizards.dev.framework.category"
icon="icons/full/obj16/ExpressionsModelFile.gif">
<description>%_UI_ExpressionsModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF
index 11f9333033d..f1f7a8a17b5 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF
@@ -35,7 +35,7 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.6.0,4.0.0)",
org.eclipse.papyrus.infra.core.architecture;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %pluginProvider
Bundle-ActivationPolicy: lazy
-Bundle-Version: 3.1.0.qualifier
+Bundle-Version: 3.1.100.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.papyrus.infra.ui.internal.emf.Activator
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml
index e89cb372391..058c5ffff8e 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml
@@ -9,6 +9,6 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.ui.emf</artifactId>
- <version>3.1.0-SNAPSHOT</version>
+ <version>3.1.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/databinding/EObjectObservableValueEditingSupport.java b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/databinding/EObjectObservableValueEditingSupport.java
index 1dd196a026f..d87bb080e08 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/databinding/EObjectObservableValueEditingSupport.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/databinding/EObjectObservableValueEditingSupport.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2016, 2017 CEA LIST, Esterel Technologies SAS and others.
+ * Copyright (c) 2016, 2017, 2021 CEA LIST, Esterel Technologies SAS and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,6 +13,7 @@
* Thanh Liem PHAN (ALL4TEC) thanhliem.phan@all4tec.net - Bug 515491
* Sebastien Gabel (Esterel Technologies SAS) - Bug 519143 (Fix NPE)
* Fanch BONNABESSE (ALL4TEC) fanch.bonnabesse@all4tec.net - Bug 521908
+ * Asma SMAOUI (CEA LIST) asma.smaoui@cea.fr - Bug 576650
*****************************************************************************/
package org.eclipse.papyrus.infra.ui.emf.databinding;
@@ -22,6 +23,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.emf.databinding.EObjectObservableValue;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.EDataType;
@@ -214,7 +216,7 @@ public class EObjectObservableValueEditingSupport extends EditingSupport {
/**
* Return Multi value when the feature is UnlimitedNatural. Replace '-1' by '*'.
- *
+ *
* @param object
* The old value.
* @return The value to return.
@@ -222,7 +224,7 @@ public class EObjectObservableValueEditingSupport extends EditingSupport {
*/
protected Object getMultiUnlimitedNaturalValue(final Object objects) {
if (objects instanceof List<?>) {
- List<Object> objectToReturn = new ArrayList<Object>();
+ List<Object> objectToReturn = new ArrayList<>();
if (objects instanceof List<?>) {
for (int i = 0; i < ((List<?>) objects).size(); i++) {
Object object = ((List<?>) objects).get(i);
@@ -306,15 +308,17 @@ public class EObjectObservableValueEditingSupport extends EditingSupport {
element.setValue(null);
} else {
if (value instanceof Collection<?>) {
- List<EEnumLiteral> literalsToSet = new ArrayList<EEnumLiteral>();
+ List<Enumerator> literalsToSet = new ArrayList<>();
for (Object object : ((Collection<Object>) value)) {
if (object instanceof EEnumLiteral) {
- literalsToSet.add((EEnumLiteral) object);
+ //bug 576650 : get(index).getInstance(), (works with static and dynamic profile)
+ literalsToSet.add(((EEnumLiteral) object).getInstance());
} else if (object instanceof Integer) {
// retrieve the index of the current value in the list
int index = (Integer) value;
if (index >= 0 && index < literals.size()) {
- literalsToSet.add(literals.get(index));
+ //bug 576650 : get(index).getInstance(), (works with static and dynamic profile)
+ literalsToSet.add(literals.get(index).getInstance());
}
}
}
@@ -327,7 +331,8 @@ public class EObjectObservableValueEditingSupport extends EditingSupport {
// Just set the new value if it is different from the old one
if (index >= 0 && index < literals.size() && !element.getValue().toString().equals(literals.get(index).getLiteral())) {
- element.setValue(literals.get(index));
+ //bug 576650 : get(index).getInstance(), (works with static and dynamic profile)
+ element.setValue(literals.get(index).getInstance());
}
}
}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/ArchitectureFrameworkCustomizationManagerUpdater.java b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/ArchitectureFrameworkCustomizationManagerUpdater.java
index 8df55149ce2..c3d6cf1b0cf 100755
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/ArchitectureFrameworkCustomizationManagerUpdater.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/ArchitectureFrameworkCustomizationManagerUpdater.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2020 CEA LIST and others.
+ * Copyright (c) 2020, 2021 CEA LIST and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
*
* Contributors:
* Vincent LORENZO (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
- *
+ * Vincent LORENZO (CEA LIST) vincent.lorenzo@cea.fr - Bug 576651
*****************************************************************************/
package org.eclipse.papyrus.infra.ui.emf.internal.facet;
@@ -195,6 +195,8 @@ public class ArchitectureFrameworkCustomizationManagerUpdater extends WorskpaceC
if (loadedFacetPreferences != null && !"".equals(loadedFacetPreferences)) { //$NON-NLS-1$
settings.put(LOADED_FACET_ORDER, loadedFacetPreferences.split(SEPARATOR_DEFAULT_LOADED_FACET));
}
+ } else {
+ settings = settings.getSection(modelKey);
}
return settings;
}
@@ -317,7 +319,6 @@ public class ArchitectureFrameworkCustomizationManagerUpdater extends WorskpaceC
final ArchitectureDescriptionUtils adUtils = new ArchitectureDescriptionUtils(modelSet);
final MergedArchitectureContext ctx = adUtils.getArchitectureContext();
if (ctx instanceof MergedArchitectureDescriptionLanguage) {
- // TODO on doit probablement les recharger dans un autre resource set
return ((MergedArchitectureDescriptionLanguage) ctx).getTreeViewerConfigurations();
}
}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/WorskpaceCustomizationUpdater.java b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/WorskpaceCustomizationUpdater.java
index 69b6c6aaf02..f3084d988ad 100755
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/WorskpaceCustomizationUpdater.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/internal/facet/WorskpaceCustomizationUpdater.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2020 CEA LIST and others.
+ * Copyright (c) 2020, 2021 CEA LIST and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -9,8 +9,8 @@
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
- * Vincent Lorenzo (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
- *
+ * Vincent LORENZO (CEA LIST) <vincent.lorenzo@cea.fr> - Initial API and implementation
+ * Vincent LORENZO (CEA LIST) <vincent.lorenzo@cea.fr> - Bug 576651
*****************************************************************************/
package org.eclipse.papyrus.infra.ui.emf.internal.facet;
@@ -27,6 +27,7 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.DialogSettings;
import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.dialogs.IDialogSettingsProvider;
import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationCatalogManager;
import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationCatalogManagerFactory;
import org.eclipse.papyrus.emf.facet.custom.core.ICustomizationManager;
@@ -34,6 +35,7 @@ import org.eclipse.papyrus.emf.facet.custom.core.internal.CustomizationManager;
import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.Customization;
import org.eclipse.papyrus.infra.emf.CustomizationComparator;
import org.eclipse.papyrus.infra.ui.internal.emf.Activator;
+import org.eclipse.ui.PlatformUI;
/**
* This class manages the applied customizations (apply/reset) and is able to save user changes with a workspace preferences
@@ -114,7 +116,7 @@ public class WorskpaceCustomizationUpdater implements ICustomizationManagerUpdat
* the dialog setting used to save the preferences or <code>null</code> if not found
*/
protected final IDialogSettings getWorkspaceBrowserCustomizationDialogSettings() {
- return Activator.getDefault().getDialogSettings().getSection(CUSTOMIZATION_MANAGER_SECTION);
+ return getDialogSettingProvider().getDialogSettings().getSection(CUSTOMIZATION_MANAGER_SECTION);
}
/**
@@ -134,7 +136,7 @@ public class WorskpaceCustomizationUpdater implements ICustomizationManagerUpdat
protected final IDialogSettings getOrCreateWorkspaceBrowserCustomizationDialogSettings() {
IDialogSettings settings = getWorkspaceBrowserCustomizationDialogSettings();
if (settings == null) {
- settings = Activator.getDefault().getDialogSettings().addNewSection(CUSTOMIZATION_MANAGER_SECTION);
+ settings = getDialogSettingProvider().getDialogSettings().addNewSection(CUSTOMIZATION_MANAGER_SECTION);
String loadedFacetPreferences = Activator.getDefault().getPreferenceStore().getString(DEFAULT_LOADED_FACET);
if (loadedFacetPreferences != null && !"".equals(loadedFacetPreferences)) { //$NON-NLS-1$
settings.put(LOADED_FACET_ORDER, loadedFacetPreferences.split(SEPARATOR_DEFAULT_LOADED_FACET));
@@ -225,8 +227,10 @@ public class WorskpaceCustomizationUpdater implements ICustomizationManagerUpdat
* Restores the default Customization Manager configuration
*/
protected void destroyUserPreferences() {
- final DialogSettings settings = (DialogSettings) Activator.getDefault().getDialogSettings();
- settings.removeSection(CUSTOMIZATION_MANAGER_SECTION);
+ final IDialogSettings settings = getBrowserCustomizationDialogSettings();
+ if (settings instanceof DialogSettings) {
+ ((DialogSettings) settings).removeSection(CUSTOMIZATION_MANAGER_SECTION);
+ }
}
/**
@@ -249,6 +253,17 @@ public class WorskpaceCustomizationUpdater implements ICustomizationManagerUpdat
customizationList.addAll(appliedCustomizations);
String[] loadedCustomizationArray = customizationList.stream().map(customization -> customization.eResource().getURI().toString()).toArray(size -> new String[size]);
dialogSettings.put(LOADED_FACET_ORDER, loadedCustomizationArray);
+
+ // not required, Eclipse save itself the IDialogSettings when we close it
+ // just here for debug and information purpose
+ // getDialogSettingProvider().saveDialogSettings();
+ }
+
+ /**
+ * Returns the dialog setting provider
+ */
+ protected final IDialogSettingsProvider getDialogSettingProvider() {
+ return PlatformUI.getDialogSettingsProvider(Activator.getDefault().getBundle());
}
/**
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.editor/plugin.xml b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.editor/plugin.xml
index cbc38fb5b36..e36c5280144 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.editor/plugin.xml
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.editor/plugin.xml
@@ -23,7 +23,7 @@
id="org.eclipse.papyrus.infra.gmfdiag.assistant.presentation.AssistantModelWizardID"
name="%_UI_AssistantModelWizard_label"
class="org.eclipse.papyrus.infra.gmfdiag.assistant.presentation.AssistantModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.custo.category/org.eclipse.papyrus.wizards.custo.editors.category"
icon="icons/full/obj16/AssistantModelFile.gif">
<description>%_UI_AssistantModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/gmfdiag/expansion/org.eclipse.papyrus.infra.gmfdiag.expansion.editor/plugin.xml b/plugins/infra/gmfdiag/expansion/org.eclipse.papyrus.infra.gmfdiag.expansion.editor/plugin.xml
index 1272c225304..ded3aa9768e 100644
--- a/plugins/infra/gmfdiag/expansion/org.eclipse.papyrus.infra.gmfdiag.expansion.editor/plugin.xml
+++ b/plugins/infra/gmfdiag/expansion/org.eclipse.papyrus.infra.gmfdiag.expansion.editor/plugin.xml
@@ -11,7 +11,7 @@
id="org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.presentation.ExpansionModelModelWizardID"
name="%_UI_ExpansionModelModelWizard_label"
class="org.eclipse.papyrus.infra.gmfdiag.expansion.expansionmodel.presentation.ExpansionModelModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.dev.category/org.eclipse.papyrus.wizards.dev.editors.category"
icon="icons/full/obj16/ExpansionModelModelFile.gif">
<description>%_UI_ExpansionModelModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF
index 3a5765238fb..138bef12448 100755
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF
@@ -99,7 +99,7 @@ Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.common.Activator
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.3.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml
index 5a748174bbb..76eff12ab77 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml
@@ -9,6 +9,6 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.gmfdiag.common</artifactId>
- <version>4.2.0-SNAPSHOT</version>
+ <version>4.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/service/ProviderServiceUtil.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/service/ProviderServiceUtil.java
index c7dadd06b19..a9d2887378f 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/service/ProviderServiceUtil.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/service/ProviderServiceUtil.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2018 EclipseSource and others.
+ * Copyright (c) 2018, 2022 EclipseSource and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,16 +10,18 @@
*
* Contributors:
* EclipseSource - Initial API and implementation (Bug 533701)
- *
+ * Vincent Lorenzo (CEA LIST) - vincent.lorenzo@cea.fr - Bug 577845
*****************************************************************************/
package org.eclipse.papyrus.infra.gmfdiag.common.service;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
import org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.IEditPolicyProvider;
+import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.ServiceUtilsForEditPart;
/**
@@ -32,6 +34,46 @@ import org.eclipse.papyrus.infra.gmfdiag.common.utils.ServiceUtilsForEditPart;
public class ProviderServiceUtil {
/**
+ * this method allows to identify if the editpart is associated to a Papyrus GMF Diagram (diagram.eContainer()==null)
+ *
+ * @param editPart
+ * an edit part
+ * @return
+ * <code>true</code> if the editPart probably concerns the Papyrus GMF Diagram
+ * <code>false</code> otherwise (editPart is <code>null</code> or diagram.eContainer()!=null in case of a Papyrus Sirius Diagram)
+ *
+ */
+ private static final boolean isPapyrusGMFPart(final EditPart editPart) {
+ if (editPart != null) {
+ final Object model = editPart.getModel();
+ if (model instanceof View) {
+ return isPapyrusGMFView((View) model);
+ }
+ }
+ return false;
+ }
+
+ /**
+ * this method allows to identify if the view is associated to a Papyrus GMF Diagram (diagram.eContainer()==null)
+ *
+ * @param view
+ * a view
+ * @return
+ * <code>true</code> if the view probably concerns the Papyrus GMF Diagram
+ * <code>false</code> otherwise (view is <code>null</code> or diagram.eContainer()!=null in case of a Papyrus Sirius Diagram)
+ *
+ */
+ private static final boolean isPapyrusGMFView(final View view) {
+ if (view != null) {
+ final Diagram d = view.getDiagram();
+ if (d != null) {
+ return DiagramUtils.isPapyrusGMFDiagram(d);
+ }
+ }
+ return false;
+ }
+
+ /**
* <p>
* Tests if the given edit part is a Papyrus Edit Part, by testing if a Papyrus {@link ServicesRegistry}
* is present.
@@ -43,6 +85,9 @@ public class ProviderServiceUtil {
* <code>true</code> if this edit part is part of a Papyrus environment (Using a Papyrus {@link ServicesRegistry}), <code>false</code> otherwise
*/
public static boolean isPapyrusPart(EditPart editPart) {
+ if (!isPapyrusGMFPart(editPart)) {
+ return false;
+ }
try {
return ServiceUtilsForEditPart.getInstance().getServiceRegistry(editPart) != null;
} catch (Exception ex) {
@@ -63,6 +108,9 @@ public class ProviderServiceUtil {
* <code>true</code> if this view is part of a Papyrus environment (Using a Papyrus {@link ServicesRegistry}), <code>false</code> otherwise
*/
public static boolean isPapyrusView(View view) {
+ if (!isPapyrusGMFView(view)) {
+ return false;
+ }
try {
return ServiceUtilsForEObject.getInstance().getServiceRegistry(view) != null;
} catch (Exception ex) {
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/DiagramUtils.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/DiagramUtils.java
index 2c7fed7f86b..5ab212de21a 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/DiagramUtils.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/DiagramUtils.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013, 2017, 2019, 2020 CEA LIST and others.
+ * Copyright (c) 2013, 2017, 2019, 2020, 2022 CEA LIST and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -15,8 +15,7 @@
* Christian W. Damus - bug 527580
* Ansgar Radermacher - bug 539754
* Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Bug 550568
- * Vincent LORENZO (CEA LIST) vincent.lorenzo@cea.fr - Bug 560644
- *
+ * Vincent LORENZO (CEA LIST) vincent.lorenzo@cea.fr - Bug 560644, 577845
*****************************************************************************/
package org.eclipse.papyrus.infra.gmfdiag.common.utils;
@@ -412,4 +411,17 @@ public class DiagramUtils {
return null;
}
+ /**
+ *
+ * @param diagram
+ * a diagram, can't be <code>null</code>
+ * @return
+ * <code>true</code> if the view probably concerns the Papyrus GMF Diagram (diagram.eContainer()==null)
+ * <code>false</code> the view probably concerns a Papyrus Sirius Diagram (diagram.eContainer()!=null)
+ * @since 4.3
+ */
+ public static final boolean isPapyrusGMFDiagram(final Diagram diagram) {
+ return diagram.eContainer() == null; // diagram.eContainer()!=null for papyrus sirius diagram
+ }
+
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/src/org/eclipse/papyrus/infra/gmfdiag/menu/handlers/PasteInDiagramHandler.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/src/org/eclipse/papyrus/infra/gmfdiag/menu/handlers/PasteInDiagramHandler.java
index e4890eda481..e9736af1c26 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/src/org/eclipse/papyrus/infra/gmfdiag/menu/handlers/PasteInDiagramHandler.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/src/org/eclipse/papyrus/infra/gmfdiag/menu/handlers/PasteInDiagramHandler.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
+ * Copyright (c) 2014, 2021 CEA LIST.
*
*
* All rights reserved. This program and the accompanying materials
@@ -11,7 +11,7 @@
*
* Contributors:
* Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Initial API and implementation
- *
+ * Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - bug 573807
*****************************************************************************/
package org.eclipse.papyrus.infra.gmfdiag.menu.handlers;
@@ -82,7 +82,7 @@ public class PasteInDiagramHandler extends AbstractGraphicalCommandHandler {
Control focusControl = null;
if (activeShell instanceof Shell) {
Shell shell = (Shell) activeShell;
- Display display = shell.getDisplay();
+ Display display = !shell.isDisposed() ? shell.getDisplay() : null;
if (display != null) {
focusControl = display.getFocusControl();
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF
index c8f72e5c3d9..2b24b7f73e4 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF
@@ -24,7 +24,7 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.6.0,4.0.0)",
org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 2.0.100.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/pom.xml
index c20a10b90dd..1ce8ff3cc15 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/pom.xml
@@ -9,7 +9,7 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.gmfdiag.modelexplorer</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.0.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<description>This plugin provides : - the facets and the customization to display the GMF Diagrams in the ModelExplorer</description>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/GetContainedDiagrams.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/GetContainedDiagrams.java
index 0c7f563759e..522b0210ea3 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/GetContainedDiagrams.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/GetContainedDiagrams.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2011 Atos, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2022 Atos, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,7 +11,7 @@
* Contributors:
* Atos - Initial API and implementation
* Christian W. Damus - bug 485220
- *
+ * Vincent Lorenzo (CEA LIST) - vincent.lorenzo@cea.fr - Bug 577843
*/
package org.eclipse.papyrus.infra.gmfdiag.modelexplorer.queries;
@@ -28,19 +28,21 @@ import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
+import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils;
/** Get the collection of all contained diagrams */
public class GetContainedDiagrams implements IJavaQuery2<EObject, Collection<org.eclipse.gmf.runtime.notation.Diagram>> {
+ @Override
public Collection<Diagram> evaluate(EObject source, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException {
- List<Diagram> result = new ArrayList<Diagram>();
+ List<Diagram> result = new ArrayList<>();
Collection<Setting> settings = EMFHelper.getUsages(source);
if (settings != null) {
for (Setting setting : settings) {
Diagram diagram = NotationUtils.getOwnedDiagram(setting.getEObject(), source);
- if (diagram != null) {
+ if (diagram != null && DiagramUtils.isPapyrusGMFDiagram(diagram)) {
result.add(diagram);
}
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/IsDiagramContainer.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/IsDiagramContainer.java
index ae9c064a156..9a4e8e66d97 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/IsDiagramContainer.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/queries/IsDiagramContainer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2011 Atos, Christian W. Damus, and others.
+ * Copyright (c) 2011, 2022 Atos, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -11,7 +11,7 @@
* Contributors:
* Atos - Initial API and implementation
* Christian W. Damus - bug 485220
- *
+ * Vincent Lorenzo (CEA LIST) - vincent.lorenzo@cea.fr - Bug 577843
*/
package org.eclipse.papyrus.infra.gmfdiag.modelexplorer.queries;
@@ -26,18 +26,20 @@ import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
+import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils;
public class IsDiagramContainer implements IJavaQuery2<EObject, Boolean> {
/**
* Return true if the element is a Diagram Container
*/
+ @Override
public Boolean evaluate(EObject source, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException {
Collection<Setting> settings = EMFHelper.getUsages(source);
if (settings != null) {
for (Setting setting : settings) {
Diagram diagram = NotationUtils.getOwnedDiagram(setting.getEObject(), source);
- if (diagram != null) {
+ if (diagram != null && DiagramUtils.isPapyrusGMFDiagram(diagram)) {
return true;
}
}
diff --git a/plugins/infra/gmfdiag/paletteconfiguration/org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.editor/plugin.xml b/plugins/infra/gmfdiag/paletteconfiguration/org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.editor/plugin.xml
index c09267a6413..80b8e2d764e 100644
--- a/plugins/infra/gmfdiag/paletteconfiguration/org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.editor/plugin.xml
+++ b/plugins/infra/gmfdiag/paletteconfiguration/org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.editor/plugin.xml
@@ -16,7 +16,7 @@
id="org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.presentation.PaletteconfigurationModelWizardID"
name="%_UI_PaletteconfigurationModelWizard_label"
class="org.eclipse.papyrus.infra.gmfdiag.paletteconfiguration.presentation.CustomPaletteconfigurationModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.custo.category/org.eclipse.papyrus.wizards.custo.editors.category"
icon="icons/full/obj16/PaletteconfigurationModelFile.gif">
<description>%_UI_PaletteconfigurationModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.model.editor/plugin.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.model.editor/plugin.xml
index 99f7146a7b7..6576d9dd712 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.model.editor/plugin.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.model.editor/plugin.xml
@@ -58,7 +58,7 @@
id="org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.presentation.NattableconfigurationModelWizardID"
name="%_UI_NattableconfigurationModelWizard_label"
class="org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.presentation.NattableconfigurationModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.custo.category/org.eclipse.papyrus.wizards.custo.editors.category"
icon="icons/full/obj16/NattableconfigurationModelFile.gif">
<description>%_UI_NattableconfigurationModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/plugin.xml b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/plugin.xml
index d71878018db..3458372c790 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/plugin.xml
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/plugin.xml
@@ -24,7 +24,7 @@
id="org.eclipse.papyrus.infra.newchild.elementcreationmenumodel.presentation.ElementCreationMenuModelModelWizardID"
name="%_UI_ElementCreationMenuModelModelWizard_label"
class="org.eclipse.papyrus.infra.newchild.elementcreationmenumodel.presentation.ElementCreationMenuModelModelWizard"
- category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.addons.category"
+ category="org.eclipse.papyrus.wizards.category/org.eclipse.papyrus.wizards.custo.category/org.eclipse.papyrus.wizards.custo.modelexplorer.category"
icon="icons/full/obj16/ElementCreationMenuModelModelFile.gif">
<description>%_UI_ElementCreationMenuModelModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/.classpath b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/.classpath
index e9c6eafb6fa..bb642933501 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/.classpath
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/.classpath
@@ -3,5 +3,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF
index fc959cf2c8c..15669bd3de0 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/META-INF/MANIFEST.MF
@@ -1,6 +1,7 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
org.eclipse.emf.ecore.edit;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)",
org.eclipse.uml2.common.edit;bundle-version="[2.5.0,3.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.16.0,3.0.0)",
org.eclipse.papyrus.infra.constraints.edit;bundle-version="[3.0.0,4.0.0)",
@@ -8,13 +9,14 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
org.eclipse.papyrus.infra.properties;bundle-version="[4.0.0,5.0.0)",
org.eclipse.emf.edit;bundle-version="[2.16.0,3.0.0)",
org.eclipse.papyrus.infra.constraints;bundle-version="[3.0.0,4.0.0)"
-Export-Package: org.eclipse.papyrus.infra.properties.contexts.provider,
+Export-Package: org.eclipse.papyrus.infra.properties.contexts.command,
+ org.eclipse.papyrus.infra.properties.contexts.provider,
org.eclipse.papyrus.infra.properties.environment.provider,
org.eclipse.papyrus.infra.properties.ui.provider
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
-Bundle-Version: 4.0.0.qualifier
+Bundle-Version: 4.1.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.properties.environment.provider.PropertiesEditPlugin$Implementation
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/build.properties b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/build.properties
index ff1c7b4035c..43022875a79 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/build.properties
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/build.properties
@@ -4,4 +4,4 @@ output.. = bin/
bin.includes=.,icons/,META-INF/,plugin.xml,plugin.properties,about.html
jars.compile.order=.
src.includes = about.html
-source..=src-gen/
+source..=src-gen/,src/
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gif
deleted file mode 100644
index 7943912208c..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeConstraint_constraints_SimpleConstraint.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gif
deleted file mode 100644
index 99dde266945..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_layout_Layout.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gif
deleted file mode 100644
index 8a1bb500a15..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_CompositeWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gif
deleted file mode 100644
index 746a59ebd8a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_PropertyEditor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gif
deleted file mode 100644
index 409c013e857..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_StandardWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gif
deleted file mode 100644
index 1097d000b66..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownComponent.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateCompositeWidget_widgets_UnknownWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gif
deleted file mode 100644
index efcbc1b6a02..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_constraints_ConstraintDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gif
deleted file mode 100644
index 84f1465d1f0..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ReferenceProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gif
deleted file mode 100644
index 7affd573b9e..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintDescriptor_properties_ValueProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gif
deleted file mode 100644
index 883ce93b430..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_constraints_ConstraintMapping.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gif
deleted file mode 100644
index a1fa94e6e19..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ReferenceProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gif
deleted file mode 100644
index 182638d7681..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateConstraintMapping_properties_ValueProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gif
deleted file mode 100644
index efcbc1b6a02..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gif
deleted file mode 100644
index 14ad12525b4..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_constraints_ConstraintMapping.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gif
deleted file mode 100644
index 7d37ab47804..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_dataContexts_DataContextRoot.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gif
deleted file mode 100644
index 80f9182accc..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_tabs_Tab.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gif
deleted file mode 100644
index e62987a27b1..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateContext_views_View.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gif
deleted file mode 100644
index ae4714fc6a7..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_Property.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gif
deleted file mode 100644
index 07adaab9f3a..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextElement_properties_UnknownProperty.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gif
deleted file mode 100644
index eab3c353c4f..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextElement.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gif
deleted file mode 100644
index 4e7f8d9ecc7..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextPackage.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gif
deleted file mode 100644
index 1c4c5221527..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDataContextPackage_elements_DataContextRoot.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gif
deleted file mode 100644
index 6243419e928..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_CompositeConstraint.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gif
deleted file mode 100644
index efcbc1b6a02..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_ConstraintDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gif
deleted file mode 100644
index 7943912208c..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateDisplayUnit_constraints_SimpleConstraint.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gif
deleted file mode 100644
index 4365960a04b..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_CompositeWidget.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gif
deleted file mode 100644
index 8a06919132f..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Element.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gif
deleted file mode 100644
index 99dde266945..00000000000
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_Layout.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gif b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.edit/icons/full/ctool16/CreateElement_children_PropertyEditor.gif
deleted file mode 100644
index 746