From 898077d783c8e33b965c4abb4a8573f79b597316 Mon Sep 17 00:00:00 2001 From: Vincent Lorenzo Date: Wed, 27 Jan 2021 11:14:48 +0100 Subject: Bug 563982: [Model2Doc] update IEEE plugins and doc generation - provide the template - provide an action to create the required UML structure - update the documentation Change-Id: I48a1ada6d43e06dbc39144538fa0bf54b8983c1a Signed-off-by: Vincent Lorenzo --- .../feature.xml | 7 + .../org.eclipse.papyrus.model2doc.doc/plugin.xml | 12 + .../IEEE_For_SysML-papyrusUserDoc-main-toc.xml | 4 + .../IEEE_For_SysML-papyrusUserDoc.mediawiki | 43 +++ .../images/ieee/IEEE_Create_Document_Template.png | Bin 0 -> 22440 bytes .../ieee/IEEE_Create_Requirements_Structure.png | Bin 0 -> 14533 bytes .../ieee/IEEE_Created_Packages_Structure.png | Bin 0 -> 17015 bytes .../.classpath | 8 + .../.project | 28 ++ .../.settings/org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.core.runtime.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 319 +++++++++++++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 127 ++++++++ .../.settings/org.eclipse.pde.api.tools.prefs | 104 +++++++ .../IEEERequirementsProcess.mediawiki | 31 ++ .../META-INF/MANIFEST.MF | 34 ++ .../OSGI-INF/l10n/bundle.properties | 14 + .../about.html | 28 ++ .../build.properties | 10 + .../plugin.xml | 74 +++++ .../pom.xml | 17 + .../resources/ODT_IEEE_For_SysML14.pdst | 148 +++++++++ .../resources/icons/srs_document.png | Bin 0 -> 557 bytes .../odt_sysml14_ieee_requirements.architecture | 26 ++ .../resources/srs_template_ieee.ott | Bin 0 -> 16037 bytes .../odt/architecture/utils/IEEEConstants.java | 36 +++ .../sysml14/odt/architecture/Activator.java | 63 ++++ .../CreateIEEEDocumentTemplateEditorCommand.java | 87 ++++++ ...reateIEEEDocumentTemplateEditorViewCommand.java | 120 +++++++ ...IEEERequirementsStructureForSysML14Command.java | 58 ++++ .../CreateIEEERequirementsStructureHandler.java | 91 ++++++ .../internal/handlers/PropertyTester.java | 63 ++++ .../.classpath | 2 +- .../META-INF/MANIFEST.MF | 16 +- .../build.properties | 2 +- .../profile/IEEERequirementsDocumentation.ecore | 56 ---- .../IEEERequirementsDocumentation.profile.ecore | 56 ++++ .../IEEERequirementsDocumentation.profile.genmodel | 46 +-- .../IEEERequirementsDocumentation.profile.uml | 344 ++++++++++----------- ...EEERequirementsDocumentationProfileCommand.java | 114 +++++++ .../CreateIEEERequirementsStructureCommand.java | 337 ++++++++++++++++++++ .../utils/IEEERequirementsConstants.java | 64 ++++ ...IEEERequirementsDocumentationProfileHelper.java | 245 +++++++++++++++ .../documentation/IEEERequirementCategory.java | 71 ++++- .../impl/AbstractRequirementsImpl.java | 2 +- .../impl/IEEEFunctionalRequirementsImpl.java | 2 +- .../IEEERequirementsDocumentationPackageImpl.java | 10 +- .../documentation/impl/IEEERequirementsImpl.java | 2 +- ...IEEERequirementsDocumentationProfileHelper.java | 242 --------------- plugins/integration/ieee/pom.xml | 1 + 50 files changed, 2645 insertions(+), 523 deletions(-) create mode 100755 plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc-main-toc.xml create mode 100755 plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc.mediawiki create mode 100755 plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Document_Template.png create mode 100755 plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Requirements_Structure.png create mode 100755 plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Created_Packages_Structure.png create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.classpath create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.project create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.resources.prefs create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.runtime.prefs create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.core.prefs create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.ui.prefs create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.pde.api.tools.prefs create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/IEEERequirementsProcess.mediawiki create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/META-INF/MANIFEST.MF create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/OSGI-INF/l10n/bundle.properties create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/about.html create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/build.properties create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/plugin.xml create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/pom.xml create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/ODT_IEEE_For_SysML14.pdst create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/icons/srs_document.png create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/odt_sysml14_ieee_requirements.architecture create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/srs_template_ieee.ott create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/utils/IEEEConstants.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/Activator.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorCommand.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorViewCommand.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEERequirementsStructureForSysML14Command.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/CreateIEEERequirementsStructureHandler.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/PropertyTester.java delete mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.ecore create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.ecore create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/ApplyIEEERequirementsDocumentationProfileCommand.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/CreateIEEERequirementsStructureCommand.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsConstants.java create mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java delete mode 100755 plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java diff --git a/features/org.eclipse.papyrus.model2doc.integration.ieee.sysml14.odt.feature/feature.xml b/features/org.eclipse.papyrus.model2doc.integration.ieee.sysml14.odt.feature/feature.xml index 7cc739ff..89be4a23 100755 --- a/features/org.eclipse.papyrus.model2doc.integration.ieee.sysml14.odt.feature/feature.xml +++ b/features/org.eclipse.papyrus.model2doc.integration.ieee.sysml14.odt.feature/feature.xml @@ -48,4 +48,11 @@ install-size="0" version="0.0.0"/> + + diff --git a/plugins/doc/org.eclipse.papyrus.model2doc.doc/plugin.xml b/plugins/doc/org.eclipse.papyrus.model2doc.doc/plugin.xml index f82ecd27..6590b540 100755 --- a/plugins/doc/org.eclipse.papyrus.model2doc.doc/plugin.xml +++ b/plugins/doc/org.eclipse.papyrus.model2doc.doc/plugin.xml @@ -29,10 +29,12 @@ primary="false"> @@ -46,6 +48,16 @@ file="target/site/generated-eclipse-help/model2doc-papyrusDevDoc-toc.xml" primary="false"> + + + + diff --git a/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc-main-toc.xml b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc-main-toc.xml new file mode 100755 index 00000000..d0292f39 --- /dev/null +++ b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc-main-toc.xml @@ -0,0 +1,4 @@ + + + + diff --git a/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc.mediawiki b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc.mediawiki new file mode 100755 index 00000000..b58bf068 --- /dev/null +++ b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/IEEE_For_SysML-papyrusUserDoc.mediawiki @@ -0,0 +1,43 @@ +=IEEE For SysML= +==Description== +This feature provides a template to generate the documentation of SysML Requirements according to the IEEE Recommendation ('''[https://ieeexplore.ieee.org/document/720574 830-1998 - IEEE Recommended Practice for Software Requirements Specifications]'''). +Currently '''Papyrus-Model2doc''' only provides this feature for '''SysML 1.4''' and only allows to generate an odt file (LibreOffice format). + +This feature has been though as a demonstrator of Model2Doc capacities, but it can easily be customized for your own application. + +==Requirements== +*'''LibreOffice''' must be installed on your computer (read ''Model2Doc Installation'' chapter for further information) +*You need to install the model2doc feature called '''Papyrus-Model2Doc Papyrus IEEE Integration for SysML 1.4 (ODT format)''' +**This feature requires '''Papyrus''' and the Papyrus Add-on '''SysML 1.4''' + +==How to use it?== +* Create a new SysML model as usual +* In the ModelExplorer View, select the root element of your model, then '''Right-Click > Create IEEE Requirements Structure For SysML 1.4''' +** This action applies the required profile '''IEEERequirementsDocumentation''' +[[Image:images/ieee/IEEE_Create_Requirements_Structure.png|frame|The menu to select to create the IEEE Structure]] +** This action creates several stereotyped Packages (The applied stereotypes come from the profile '''IEEERequirementsDocumentation'''). +[[Image:images/ieee/IEEE_Created_Packages_Structure.png|frame|The created Structure]] +* Now you can create your requirements, but they must be owned by one of these created Packages: +** UserInterfaceRequirements +** HWInterfacesRequirements +** SWInterfacesRequirements +** CommunicationInterfacesRequirements +** FunctionalRequirements_Mode_1 +** FunctionalRequirements_Mode_2 +** FunctionalRequirements_Mode_3 +*** NB: Your can create more FunctionRequirements_Mode_x package if required. Don't forgot to apply on it the Stereotype '''<>''' and to configure these properties '''mode''' and '''category'''. in addition, you need to complete the provide DocumentStructureTemplate before launching the document generation. +** PerformanceRequirements +** DesignConstraintsRequirements +** SoftwareSystemAttributeRequirements +** OtherRequirements + +Please notice, that the document generation only use the field '''name''' and '''text''' of your requirements, so it is better if you fill these fields. +Once you created your requirements, you can use the Document Template provided for IEEE. +* In the ModelExplorer View, select the root of your model, then '''Right-Click > New Document Template -> ODT - IEEE SysML 1.4 Requirements Documentation''' +[[Image:images/ieee/IEEE_Create_Document_Template.png|frame|The menu to create the Document Template]] +* This action creates the IEEE Document Template, and open the editor. If you created new Package in your model, you need to adapt the provided Template to your structure. +* From the opened editor, select the root element named '''Text Document Template xxx''', then '''Right-Click > Generate All (Structure + ODT)'''. +** The created odt file will appears in your workspace inside a created '''output''' folder. + +===Result=== +The result is a LibreOffice document with the same structure than your SysML model, where the UML Package becomes titles, the '''Requirement#name''' becomes sub-title, and the '''Requirement#text''' becomes a paragraph. \ No newline at end of file diff --git a/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Document_Template.png b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Document_Template.png new file mode 100755 index 00000000..f7e34a85 Binary files /dev/null and b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Document_Template.png differ diff --git a/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Requirements_Structure.png b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Requirements_Structure.png new file mode 100755 index 00000000..1784f6c8 Binary files /dev/null and b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Create_Requirements_Structure.png differ diff --git a/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Created_Packages_Structure.png b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Created_Packages_Structure.png new file mode 100755 index 00000000..e908eaaa Binary files /dev/null and b/plugins/doc/org.eclipse.papyrus.model2doc.doc/src/site/mediawiki/images/ieee/IEEE_Created_Packages_Structure.png differ diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.classpath b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.classpath new file mode 100755 index 00000000..ee0fccb5 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.project b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.project new file mode 100755 index 00000000..5a9125ec --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.project @@ -0,0 +1,28 @@ + + + org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.resources.prefs b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.resources.prefs new file mode 100755 index 00000000..896a9a53 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 \ No newline at end of file diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.runtime.prefs b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.runtime.prefs new file mode 100755 index 00000000..5a0ad22d --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.core.prefs b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.core.prefs new file mode 100755 index 00000000..037f04a0 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,319 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=11 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=260 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=false +org.eclipse.jdt.core.formatter.join_wrapped_lines=false +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=260 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true +org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true +org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true +org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.ui.prefs b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.ui.prefs new file mode 100755 index 00000000..1a3bd02c --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,127 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=false +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_functional_interfaces=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=false +cleanup.format_source_code=false +cleanup.format_source_code_changes_only=false +cleanup.insert_inferred_type_arguments=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=false +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=true +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_redundant_type_arguments=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_anonymous_class_creation=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +cleanup.use_parentheses_in_expressions=false +cleanup.use_this_for_non_static_field_access=false +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=false +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup.use_type_arguments=false +cleanup_profile=_Papyrus +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Papyrus +formatter_settings_version=12 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=java;javax;org;com; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates= +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=true +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_modifiers=false +sp_cleanup.remove_redundant_type_arguments=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=true +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.pde.api.tools.prefs b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.pde.api.tools.prefs new file mode 100755 index 00000000..b2260f87 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,104 @@ +ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +API_USE_SCAN_FIELD_SEVERITY=Error +API_USE_SCAN_METHOD_SEVERITY=Error +API_USE_SCAN_TYPE_SEVERITY=Error +CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_ANNOTATION=Ignore +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +MISSING_EE_DESCRIPTIONS=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Warning +automatically_removed_unused_problem_filters=Enabled +changed_execution_env=Warning +eclipse.preferences.version=1 +incompatible_api_component_version=Warning +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +incompatible_api_component_version_report_major_without_breaking_change=Error +incompatible_api_component_version_report_minor_without_api_change=Error +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/IEEERequirementsProcess.mediawiki b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/IEEERequirementsProcess.mediawiki new file mode 100755 index 00000000..4cc71b51 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/IEEERequirementsProcess.mediawiki @@ -0,0 +1,31 @@ +The IEEERequirementsTranscriber generate a document with this pattern: +#Title 'Specific Requirements' +##Title 'External interfaces Requirements' +###Title 'User Interface' +####A Title for each of these requirements +#####A paragraph with the text of the requirement +###Title 'Hardwares Interfaces' +####A Title for each of these requirements +#####A paragraph with the text of the requirement +###Title 'Software Interfaces' +####A Title for each of these requirements +#####A paragraph with the text of the requirement +###Title 'Communication Interfaces' +####A Title for each of these requirements +#####A paragraph with the text of the requirement +#Title 'Functional Requirements' +##A title per mode of the requirements +###A Title for each of these requirements +####A paragraph with the text of the requirement +#Title 'Performance Requirements' +##A Title for each of these requirements +###A paragraph with the text of the requirement +#Title 'Design Constraints' +##A Title for each of these requirements +###A paragraph with the text of the requirement +#Title 'Software System Attributes' +##A Title for each of these requirements +###A paragraph with the text of the requirement +#Title 'Other Requirements' +##A Title for each of these requirements +###A paragraph with the text of the requirement \ No newline at end of file diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/META-INF/MANIFEST.MF b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/META-INF/MANIFEST.MF new file mode 100755 index 00000000..3a39303f --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/META-INF/MANIFEST.MF @@ -0,0 +1,34 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture;singleton:=true +Bundle-Version: 0.8.0.qualifier +Bundle-Activator: org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.Activator +Bundle-Vendor: %Bundle-Vendor +Require-Bundle: org.eclipse.ui;bundle-version="[3.118.0,4.0.0)", + org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", + org.eclipse.papyrus.model2doc.integration.ieee.requirements;bundle-version="[0.8.0,1.0.0)", + org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.modelexplorer;bundle-version="[0.8.0,1.0.0)", + org.eclipse.papyrus.infra.architecture;bundle-version="[3.0.0,4.0.0)", + org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)", + org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)", + org.eclipse.core.expressions;bundle-version="[3.7.0,4.0.0)", + org.eclipse.papyrus.infra.emf.gmf;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.emf;bundle-version="[4.0.0,5.0.0)", + org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.representation.architecture;bundle-version="[0.8.0,1.0.0)", + org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.ui;bundle-version="[0.8.0,1.0.0)", + org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.representation;bundle-version="[0.8.0,1.0.0)", + org.eclipse.papyrus.model2doc.emf.documentstructuretemplate;bundle-version="[0.8.0,1.0.0)", + org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[4.0.0,5.0.0)", + org.eclipse.papyrus.infra.core;bundle-version="[4.0.0,5.0.0)", + org.eclipse.papyrus.infra.core.sasheditor;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.core.sashwindows.di;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.uml.architecture;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.tools;bundle-version="[4.0.0,5.0.0)", + org.eclipse.papyrus.sysml14.architecture;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.core.log;bundle-version="[2.0.0,3.0.0)" +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Automatic-Module-Name: org.eclipse.papyrus.model2doc.integration.ieee.sysml14.architecture +Bundle-ActivationPolicy: lazy +Export-Package: org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.commands, + org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.utils diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/OSGI-INF/l10n/bundle.properties b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/OSGI-INF/l10n/bundle.properties new file mode 100755 index 00000000..01bb60bd --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/OSGI-INF/l10n/bundle.properties @@ -0,0 +1,14 @@ +# Copyright (c) 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: +# Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation +#Properties file for org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture +Bundle-Vendor = Eclipse Modeling Project +Bundle-Name = Papyrus-Model2Doc - IEEE/SysML 1.4 Requirements Documentation Generator (ODT) Architecture (Incubation) \ No newline at end of file diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/about.html b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/about.html new file mode 100755 index 00000000..ef2872f2 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

About This Content

+ +

November 30, 2017

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 2.0 ("EPL"). A copy of the EPL is available +at https://www.eclipse.org/legal/epl-2.0/. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ + + \ No newline at end of file diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/build.properties b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/build.properties new file mode 100755 index 00000000..406e9654 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/build.properties @@ -0,0 +1,10 @@ +source.. = src/,\ + src-api/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + resources/,\ + about.html,\ + plugin.xml,\ + OSGI-INF/ +src.includes = about.html diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/plugin.xml b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/plugin.xml new file mode 100755 index 00000000..d774b3bd --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/plugin.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/pom.xml b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/pom.xml new file mode 100755 index 00000000..1a08236f --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.papyrus.model2doc.plugins.integration-ieee + org.eclipse.papyrus.model2doc.plugins.integration.ieee + 0.7.0-SNAPSHOT + + + org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture + 0.8.0-SNAPSHOT + eclipse-plugin + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/ODT_IEEE_For_SysML14.pdst b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/ODT_IEEE_For_SysML14.pdst new file mode 100755 index 00000000..86c717b2 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/ODT_IEEE_For_SysML14.pdst @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/icons/srs_document.png b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/icons/srs_document.png new file mode 100755 index 00000000..eb89aa4c Binary files /dev/null and b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/icons/srs_document.png differ diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/odt_sysml14_ieee_requirements.architecture b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/odt_sysml14_ieee_requirements.architecture new file mode 100755 index 00000000..1b150c16 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/odt_sysml14_ieee_requirements.architecture @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/srs_template_ieee.ott b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/srs_template_ieee.ott new file mode 100755 index 00000000..2924d384 Binary files /dev/null and b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/resources/srs_template_ieee.ott differ diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/utils/IEEEConstants.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/utils/IEEEConstants.java new file mode 100755 index 00000000..8eddbace --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/utils/IEEEConstants.java @@ -0,0 +1,36 @@ +/***************************************************************************** + * 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: + * CEA LIST - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.utils; + +/** + * Constants declared for IEEE SysML 1.4 ODT Architecture + */ +public final class IEEEConstants { + + private IEEEConstants() { + // to prevent instantiation + } + + /** + * the declared type for the template prototype + */ + public static final String IEEE_ODT_SYSML_14_TEMPLATE_TYPE = "IEEE_For_Sysml14_ODT_DocumentStructureTemplateType"; //$NON-NLS-1$ + + /** + * the id of the Eclipse command allowing to create the UML Package structure required for the provided documentation template + */ + public static final String CREATE_IEEE_STRUCTURE_COMMAND_ID = "org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.createIEEEStructureForSysML14"; //$NON-NLS-1$ +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/Activator.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/Activator.java new file mode 100755 index 00000000..9e60a75c --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/Activator.java @@ -0,0 +1,63 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.sysml14.odt.architecture; + +import org.eclipse.papyrus.infra.core.log.LogHelper; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + public static LogHelper log; + + /** + * The constructor + */ + public Activator() { + } + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + log = new LogHelper(this); + } + + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorCommand.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorCommand.java new file mode 100755 index 00000000..5af26cac --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorCommand.java @@ -0,0 +1,87 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.commands; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplate; +import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplatePrototype; +import org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.representation.architecture.CreatePapyrusDocumentTemplateEditorCommand; +import org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.representation.architecture.commands.CreateDocumentTemplateEditorViewCommand; + +/** + * Create the TemplateEditor and apply the IEEE Requirements profile if required + */ +public class CreateIEEEDocumentTemplateEditorCommand extends CreatePapyrusDocumentTemplateEditorCommand { + + /** + * + * @param editingDomain + * the editing domain to use for the command + * @param documentPrototype + * * the document template prototype used to create the {@link DocumentTemplate} + * @param documentName + * the name of the created document + * @param documentMainTitle + * the main title of the document + * @param semanticContext + * the semantic context used for the creation of the {@link DocumentTemplate} + * @param graphicalContext + * the graphical context used for the creation of the {@link DocumentTemplate} + * @param openAfterCreation + * if true the editor will be opened after the creation + * @return + * the created {@link DocumentTemplate} + */ + @Override + public CreateDocumentTemplateEditorViewCommand createDocumentTemplateEditorCreationCommand(final TransactionalEditingDomain editingDomain, + final DocumentTemplatePrototype documentPrototype, + final String documentName, + final String documentMainTitle, + final EObject semanticContext, + final EObject graphicalContext, + final boolean openAfterCreation) { + return new CreateIEEEDocumentTemplateEditorViewCommand(editingDomain, documentPrototype, documentName, documentMainTitle, semanticContext, graphicalContext, openAfterCreation); + } + + /** + * + * @param editingDomain + * the editing domain to use for the command + * @param documentPrototype + * * the document template prototype used to create the {@link DocumentTemplate} + * @param documentName + * the name of the created document + * @param documentMainTitle + * the main title of the document + * @param semanticContext + * the semantic context used for the creation of the {@link DocumentTemplate} + * @param openAfterCreation + * if true the editor will be opened after the creation + * @return + * the created {@link DocumentTemplate} + */ + @Override + public CreateDocumentTemplateEditorViewCommand createDocumentTemplateEditorCreationCommand(final TransactionalEditingDomain editingDomain, + final DocumentTemplatePrototype documentPrototype, + final String documentName, + final String documentMainTitle, + final EObject semanticContext, + final boolean openAfterCreation) { + return new CreateIEEEDocumentTemplateEditorViewCommand(editingDomain, documentPrototype, documentName, documentMainTitle, semanticContext, openAfterCreation); + } + +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorViewCommand.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorViewCommand.java new file mode 100755 index 00000000..fa09a701 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEEDocumentTemplateEditorViewCommand.java @@ -0,0 +1,120 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.commands; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.emf.transaction.util.TransactionUtil; +import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplatePrototype; +import org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.representation.architecture.commands.CreateDocumentTemplateEditorViewCommand; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.commands.ApplyIEEERequirementsDocumentationProfileCommand; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.Activator; +import org.eclipse.uml2.uml.Package; + +/** + * This class creates the DocumentStructureTemplate for IEEE and apply the IEEERequirements profile if required + */ +public class CreateIEEEDocumentTemplateEditorViewCommand extends CreateDocumentTemplateEditorViewCommand { + + /** + * Constructor. + * + * @param domain + * @param documentTemplatePrototype + * @param documentName + * @param documentMainTitle + * @param semanticContext + * @param openAfterCreation + */ + public CreateIEEEDocumentTemplateEditorViewCommand(TransactionalEditingDomain domain, DocumentTemplatePrototype documentTemplatePrototype, String documentName, String documentMainTitle, EObject semanticContext, boolean openAfterCreation) { + super(domain, documentTemplatePrototype, documentName, documentMainTitle, semanticContext, openAfterCreation); + } + + /** + * Constructor. + * + * @param domain + * @param documentTemplatePrototype + * @param documentName + * @param documentMainTitle + * @param semanticContext + * @param graphicalContext + * @param openAfterCreation + */ + public CreateIEEEDocumentTemplateEditorViewCommand(TransactionalEditingDomain domain, DocumentTemplatePrototype documentTemplatePrototype, String documentName, String documentMainTitle, EObject semanticContext, EObject graphicalContext, + boolean openAfterCreation) { + super(domain, documentTemplatePrototype, documentName, documentMainTitle, semanticContext, graphicalContext, openAfterCreation); + } + + /** + * @see org.eclipse.papyrus.model2doc.integration.emf.documentstructuretemplate.representation.architecture.commands.CreateDocumentTemplateEditorViewCommand#doExecute() + * + */ + @Override + protected void doExecute() { + super.doExecute(); + final Package rootPackage = getRootPackage(); + if (rootPackage != null) { + final TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(rootPackage); + try { + new ApplyIEEERequirementsDocumentationProfileCommand(domain, rootPackage).execute(new NullProgressMonitor(), null); + } catch (ExecutionException e) { + Activator.log.error(e); + } + } + } + + /** + * @see org.eclipse.emf.common.command.AbstractCommand#canExecute() + * + * @return + */ + @Override + public boolean canExecute() { + return super.canExecute() && canApplyIEEERequirementsProfile(); + } + + /** + * + * @return + * true if we can apply the required profile + */ + private boolean canApplyIEEERequirementsProfile() { + final Package rootPackage = getRootPackage(); + if (rootPackage != null) { + final TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(rootPackage); + if (domain != null) { + return new ApplyIEEERequirementsDocumentationProfileCommand(domain, rootPackage).canExecute(); + } + } + return false; + } + + /** + * + * @return + * the rootPackage of the model or null + */ + private Package getRootPackage() { + EObject owner = this.semanticContext; + while (owner.eContainer() != null) { + owner = owner.eContainer(); + } + return owner instanceof Package ? (Package) owner : null; + } +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEERequirementsStructureForSysML14Command.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEERequirementsStructureForSysML14Command.java new file mode 100755 index 00000000..bce01654 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/commands/CreateIEEERequirementsStructureForSysML14Command.java @@ -0,0 +1,58 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.commands; + +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.commands.CreateIEEERequirementsStructureCommand; +import org.eclipse.uml2.uml.Package; + +/** + * This command allows to create the UML Structure expected by the DocumentStructuretemplate in a SysML 1.4 environnement + */ +public class CreateIEEERequirementsStructureForSysML14Command extends CreateIEEERequirementsStructureCommand { + + /** + * + * Constructor. + * + * @param domain + * the editing domain + * @param pack + * the UML package used to contains the created IEEE packages structures + */ + public CreateIEEERequirementsStructureForSysML14Command(final TransactionalEditingDomain domain, final Package pack) { + super(domain, pack); + } + + /** + * @see org.eclipse.papyrus.model2doc.integration.ieee.requirements.commands.CreateIEEERequirementsStructureCommand#canExecute() + * + * @return + */ + @Override + public boolean canExecute() { + return super.canExecute() && isSysMLProfileRequirementsApplied(); + } + + /** + * + * @return + * true if the SysML::Requirements profile is applied + */ + protected boolean isSysMLProfileRequirementsApplied() { + return this.pack.getAppliedProfile("SysML::Requirements") != null; //$NON-NLS-1$ + } +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/CreateIEEERequirementsStructureHandler.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/CreateIEEERequirementsStructureHandler.java new file mode 100755 index 00000000..be70277b --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/CreateIEEERequirementsStructureHandler.java @@ -0,0 +1,91 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.handlers; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.expressions.IEvaluationContext; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.emf.transaction.util.TransactionUtil; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper; +import org.eclipse.papyrus.infra.emf.utils.EMFHelper; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.commands.CreateIEEERequirementsStructureForSysML14Command; +import org.eclipse.uml2.uml.Package; + +/** + * Handler creating the expected model structure + */ +public class CreateIEEERequirementsStructureHandler extends AbstractHandler { + + /** + * the command creating the structure + */ + private CreateIEEERequirementsStructureForSysML14Command cmd; + + /** + * the editing domain + */ + private TransactionalEditingDomain domain; + + /** + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + * + * @param event + * @return + * @throws ExecutionException + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + if (cmd != null && domain != null) { + domain.getCommandStack().execute(new GMFtoEMFCommandWrapper(cmd)); + } + + return null; + } + + + /** + * @see org.eclipse.core.commands.AbstractHandler#setEnabled(java.lang.Object) + * + * @param evaluationContext + */ + @Override + public void setEnabled(Object evaluationContext) { + boolean enabled = false; + this.cmd = null; + this.domain = null; + if (evaluationContext instanceof IEvaluationContext) { + final IEvaluationContext iEvaluationContext = (IEvaluationContext) evaluationContext; + final Object tmp = iEvaluationContext.getVariable("selection"); //$NON-NLS-1$ + if (tmp instanceof IStructuredSelection) { + final Object selectedElement = ((IStructuredSelection) tmp).getFirstElement(); + final EObject eobject = EMFHelper.getEObject(selectedElement); + if (eobject instanceof Package) { + this.domain = TransactionUtil.getEditingDomain(eobject); + this.cmd = new CreateIEEERequirementsStructureForSysML14Command(domain, (Package) eobject); + enabled = this.cmd.canExecute(); + } + + } + } + setBaseEnabled(enabled); + } + + +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/PropertyTester.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/PropertyTester.java new file mode 100755 index 00000000..f15e6efa --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/sysml14/odt/architecture/internal/handlers/PropertyTester.java @@ -0,0 +1,63 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.sysml14.odt.architecture.internal.handlers; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.papyrus.infra.architecture.ArchitectureDescriptionUtils; +import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureContext; +import org.eclipse.papyrus.infra.core.resource.ModelSet; +import org.eclipse.uml2.uml.Package; + +/** + * Property tester used to check if we are in a SysML 1.4 environement + */ +public class PropertyTester extends org.eclipse.core.expressions.PropertyTester { + + /** + * Property used to check in which Architecture Framework we are + */ + private static final String IS_SYSML_14_AF = "isInsideSysML14AF"; //$NON-NLS-1$ + + /** + * TODO : this constant is not defined in SysML 1.4 + */ + private static final String SYSML14_ARCHITECTURE_CONTEXT_ID = "org.eclipse.papyrus.sysml.architecture.SysML14"; //$NON-NLS-1$ + + + public PropertyTester() { + // nothing to do + } + + /** + * + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + * + * @param receiver + * @param property + * @param args + * @param expectedValue + * @return + */ + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + if (IS_SYSML_14_AF.equals(property) && receiver instanceof Package) { + ArchitectureDescriptionUtils utils = new ArchitectureDescriptionUtils((ModelSet) ((EObject) receiver).eResource().getResourceSet()); + final MergedArchitectureContext architectureContext = utils.getArchitectureContext(); + return SYSML14_ARCHITECTURE_CONTEXT_ID.equals(architectureContext.getId()); + } + return false; + } + +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/.classpath b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/.classpath index bb642933..ad953989 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/.classpath +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/.classpath @@ -3,6 +3,6 @@ - + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/META-INF/MANIFEST.MF b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/META-INF/MANIFEST.MF index bd1bc2a9..97dd1084 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/META-INF/MANIFEST.MF +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/META-INF/MANIFEST.MF @@ -7,13 +7,19 @@ Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 -Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)";resolution:=optional;x-installation:=greedy, - org.eclipse.emf.ecore;bundle-version="[2.17.0,3.0.0)", - org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)", +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)";resolution:=optional;x-installation:=greedy, + org.eclipse.emf.ecore;bundle-version="[2.23.0,3.0.0)", + org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)", org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)", - org.eclipse.papyrus.uml.extensionpoints;bundle-version="[2.0.0,3.0.0)" + org.eclipse.papyrus.uml.extensionpoints;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.uml.service.types;bundle-version="[5.0.0,6.0.0)", + org.eclipse.emf.transaction;bundle-version="[1.9.0,2.0.0)", + org.eclipse.core.commands;bundle-version="[3.9.0,4.0.0)", + org.eclipse.gmf.runtime.common.core;bundle-version="[1.7.0,2.0.0)", + org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)" Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation, +Export-Package: org.eclipse.papyrus.model2doc.integration.ieee.requirements.commands, + org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation, org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.impl, org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.util, org.eclipse.papyrus.model2doc.integration.ieee.requirements.utils diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/build.properties b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/build.properties index 06e62617..0e4f6cc0 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/build.properties +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/build.properties @@ -15,6 +15,6 @@ bin.includes = .,\ about.html jars.compile.order = . source.. = src-gen/,\ - src + src-api output.. = bin/ src.includes = about.html diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.ecore b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.ecore deleted file mode 100755 index 1f4efb73..00000000 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.ecore +++ /dev/null @@ -1,56 +0,0 @@ - - - -
- - - -
- - - - - -
- - - - - - -
- - -
- - - - - - - - - - - - - - - -
- - - - -
- - - - diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.ecore b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.ecore new file mode 100755 index 00000000..d37fa851 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.ecore @@ -0,0 +1,56 @@ + + + +
+ + + +
+ + + + + +
+ + + + + + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + +
+ + + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.genmodel b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.genmodel index 554d6156..8a473333 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.genmodel +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.genmodel @@ -2,8 +2,8 @@ - - - - - - - - - - - - + ecorePackage="IEEERequirementsDocumentation.profile.ecore#/"> + + + + + + + + + + + + - - - + + + - + - + propertySortChoices="true" ecoreFeature="ecore:EReference IEEERequirementsDocumentation.profile.ecore#//AbstractRequirements/base_Package"/> + - - + + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.uml b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.uml index 92118eb6..4743a2e7 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.uml +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/profile/IEEERequirementsDocumentation.profile.uml @@ -1,54 +1,54 @@ - + - -
+ +
- -
-
-
-
-
+ +
+
+
+
+
- + - + - + - - -
+ + +
- - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -57,52 +57,52 @@ - -
+ +
- -
-
-
-
-
+ +
+
+
+
+
- + - + - + - - -
+ + +
- - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -111,52 +111,52 @@ - -
+ +
- -
-
-
-
-
+ +
+
+
+
+
- + - + - + - - -
+ + +
- - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -165,49 +165,49 @@ - -
-
-
-
-
+ +
+
+
+
+
- + - + - + - - -
+ + +
- - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -216,49 +216,49 @@ - -
-
-
-
-
+ +
+
+
+
+
- + - + - + - - -
+ + +
- - - - - - - - - - - + + + + + + + + + + + - - + + - + @@ -267,41 +267,41 @@ - + <p>This profile provides the stereotypes to be able to generate a documentation compliant with the standard defined&nbsp;in &quot;IEEE Recommended Pratice for Software Requirements Specification&quot;.</p> - + - + - + - + Stereotype to apply on Package. It will allows to document user's model according to the IEEE specification. - - - + + + <p>This field allows to define the kind of requirements owned by&nbsp;the package.</p> - + <p>Abstract Stereotype created to ease future extension</p> - + - - + + <p>This field allows to define the kind of requirements owned by&nbsp;the package.</p> <p>NOTE : It is not named cateogy, because we get a validation error with a such name.</p> @@ -315,39 +315,39 @@ - + <p>This enumeration contains all kinds of requirements defined in the IEEE standart.</p> - - - - - - - - - - - - + + + + + + + + + + + + - + <p>Functional Requirement Stereotype allowing to define the mode of the Package requirements</p> - - - + + + <p>The mode of the requirements owned by the package.</p> - - + + <p>This field is read-only and as always the value FUNCTIONAL_REQUIREMENTS?</p> @@ -355,16 +355,16 @@ - + <p>Abtract Enumeration created to ease extension of this profile. It doesn&#39;t have EnumerationLiteral to&nbsp;avoid edition troubles with an extension of it.</p> - - + + - + diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/ApplyIEEERequirementsDocumentationProfileCommand.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/ApplyIEEERequirementsDocumentationProfileCommand.java new file mode 100755 index 00000000..f0052b86 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/ApplyIEEERequirementsDocumentationProfileCommand.java @@ -0,0 +1,114 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.commands; + +import java.util.Collections; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.gmf.runtime.common.core.command.CommandResult; +import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.utils.IEEERequirementsConstants; +import org.eclipse.uml2.uml.Package; +import org.eclipse.uml2.uml.Profile; + +/** + * This command apply the IEEERequirementsProfile. + */ +public class ApplyIEEERequirementsDocumentationProfileCommand extends AbstractTransactionalCommand { + + /** + * the package on which we will apply the profile + */ + protected final Package pack; + + /** + * Constructor. + * + * @param domain + * the editing domain + * @param pack + * the package on which apply the profile + */ + public ApplyIEEERequirementsDocumentationProfileCommand(final TransactionalEditingDomain domain, final Package pack) { + this(domain, "Apply IEEE Requirements Document Profile", pack); //$NON-NLS-1$ + } + + /** + * Constructor. + * + * @param domain + * @param label + * @param affectedFiles + */ + public ApplyIEEERequirementsDocumentationProfileCommand(final TransactionalEditingDomain domain, final String label, final Package pack) { + super(domain, label, Collections.emptyList()); + this.pack = pack; + } + + /** + * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + * + * @param monitor + * @param info + * @return + * @throws ExecutionException + */ + @Override + protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { + if (null == pack.getAppliedProfile(IEEERequirementsConstants.IEEE_PROFILE_NAME)) { + final URI uri = URI.createURI(IEEERequirementsConstants.IEEE_PROFILE_URI); + final Resource res = this.pack.eResource().getResourceSet().getResource(uri, true); + // cast already checked in the canExecute + final Profile rootProfile = (Profile) res.getContents().get(0); + this.pack.applyProfile(rootProfile); + } + return CommandResult.newOKCommandResult(); + } + + /** + * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute() + * + * @return + */ + @Override + public boolean canExecute() { + return super.canExecute() && this.pack != null && getEditingDomain() != null && isIEEEProfileAvailable(); + } + + /** + * + * @return + * true if the profile is available + */ + private boolean isIEEEProfileAvailable() { + final URI uri = URI.createURI(IEEERequirementsConstants.IEEE_PROFILE_URI); + final ResourceSet resourceSet = new ResourceSetImpl(); + final Resource res = resourceSet.getResource(uri, true); + if (res.getContents().size() > 0) { + final EObject rootEobject = res.getContents().get(0); + return rootEobject instanceof Profile && ((Profile) rootEobject).getName().equals(IEEERequirementsConstants.IEEE_PROFILE_NAME); + } + return false; + } +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/CreateIEEERequirementsStructureCommand.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/CreateIEEERequirementsStructureCommand.java new file mode 100755 index 00000000..cd976365 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/commands/CreateIEEERequirementsStructureCommand.java @@ -0,0 +1,337 @@ +/***************************************************************************** + * 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.model2doc.integration.ieee.requirements.commands; + +import java.util.Iterator; +import java.util.List; +import java.util.stream.Collectors; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.gmf.runtime.common.core.command.CommandResult; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEEFunctionalRequirements; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEERequirementCategory; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEERequirements; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.utils.IEEERequirementsConstants; +import org.eclipse.uml2.uml.Package; +import org.eclipse.uml2.uml.Profile; +import org.eclipse.uml2.uml.Stereotype; +import org.eclipse.uml2.uml.UMLFactory; +import org.eclipse.uml2.uml.util.UMLUtil; + +/** + * This command allows to create the UML Structure expected by the DocumentStructuretemplate + */ +public class CreateIEEERequirementsStructureCommand extends ApplyIEEERequirementsDocumentationProfileCommand { + + /** + * the IEEERequirement stereotype to apply on Package + */ + private Stereotype IEEERequirements; + + /** + * the IEEE Functional Requirement stereotype to apply on Package + */ + private Stereotype IEEEFunctionalRequirements; + + /** + * + * Constructor. + * + * @param domain + * the editing domain to use + * @param pack + * the package in which create the structure + */ + public CreateIEEERequirementsStructureCommand(final TransactionalEditingDomain domain, final Package pack) { + super(domain, "Create IEEE Structure", pack); //$NON-NLS-1$ + } + + /** + * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + * + * @param monitor + * @param info + * @return + * @throws ExecutionException + */ + @Override + protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { + // 0. apply IEEE Requirements profile + super.doExecuteWithResult(monitor, info); + + // 0bis. get IEEERequirements and IEEEFunctionalRequirements Profile + final Profile profile = pack.getAppliedProfile(IEEERequirementsConstants.IEEE_PROFILE_NAME); + this.IEEERequirements = profile.getOwnedStereotype(IEEERequirementsConstants.IEEE_REQUIREMENTS_STEREOTYPE); + this.IEEEFunctionalRequirements = profile.getOwnedStereotype(IEEERequirementsConstants.IEEE_FUNCTIONAL_REQUIREMENTS_STEREOTYPE); + + + // 1. Create structure for interfaces requirements + if (!(hasExternalInterfacePackage() && hasExternalInterfacePackage() && hasUserInterfacePackage() && hasHWInterfacePackage() && hasCommunicationInterfacePackage() && hasSWInterfacePackage())) { + + // 1.1 create external interface requirement package + if (!hasExternalInterfacePackage()) { + createStereotypedIEEERequirementsPackage(this.pack, IEEERequirementsConstants.EXTERNAl_INTERFACES_PACKAGE, IEEERequirementCategory.EXTERNAL_INTERFACES_REQUIREMENTS); + } + + final Package externalRequirementsPackage = findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.EXTERNAL_INTERFACES_REQUIREMENTS); + + + // 1.2 create user interface requirement package + if (!hasUserInterfacePackage()) { + createStereotypedIEEERequirementsPackage(externalRequirementsPackage, IEEERequirementsConstants.USER_INTERFACES_PACKAGE, IEEERequirementCategory.USER_INTERFACES); + } + + // 1.3 create HW interface requirement package + if (!hasHWInterfacePackage()) { + createStereotypedIEEERequirementsPackage(externalRequirementsPackage, IEEERequirementsConstants.HW_INTERFACES_PACKAGE, IEEERequirementCategory.HARDWARE_INTERFACES); + } + + // 1.4 create SW interface requirement package + if (!hasSWInterfacePackage()) { + createStereotypedIEEERequirementsPackage(externalRequirementsPackage, IEEERequirementsConstants.SW_INTERFACES_PACKAGE, IEEERequirementCategory.SOFTWARE_INTERFACES); + } + + // 1.5 create Communication interface requirement package + if (!hasCommunicationInterfacePackage()) { + createStereotypedIEEERequirementsPackage(externalRequirementsPackage, IEEERequirementsConstants.COMMUNICATION_INTERFACES_PACKAGE, IEEERequirementCategory.COMMUNICATION_INTERFACES); + } + } + + // 2. create structure for function requirements + if (!(hasFunctionalRequirements_Mode1_Package() && hasFunctionalRequirements_Mode2_Package() && hasFunctionalRequirements_Mode3_Package())) { + createStereotypedIEEERequirementsPackage(this.pack, IEEERequirementsConstants.FUNCTIONAL_REQUIREMENTS_ROOT_PACKAGE, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS); + final Package functionalRequirementsRootPackage = findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS); + + if (!(hasFunctionalRequirements_Mode1_Package())) { + createStereotypedIEEERequirementsPackage(functionalRequirementsRootPackage, IEEERequirementsConstants.FUNCTIONAL_REQUIREMENTS_MODE_1, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS, 1); + } + + if (!(hasFunctionalRequirements_Mode2_Package())) { + createStereotypedIEEERequirementsPackage(functionalRequirementsRootPackage, IEEERequirementsConstants.FUNCTIONAL_REQUIREMENTS_MODE_2, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS, 2); + } + + if (!(hasFunctionalRequirements_Mode3_Package())) { + createStereotypedIEEERequirementsPackage(functionalRequirementsRootPackage, IEEERequirementsConstants.FUNCTIONAL_REQUIREMENTS_MODE_3, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS, 3); + } + } + + // 3. create a package for performance requirements + if (!hasPerformanceRequirementsPackage()) { + createStereotypedIEEERequirementsPackage(this.pack, IEEERequirementsConstants.PERFORMANCE_REQUIREMENTS_PACKAGE, IEEERequirementCategory.PERFORMANCE_REQUIREMENTS); + } + + // 4. create a package for design constraint requirements + if (!hasDesignConstraintsPackage()) { + createStereotypedIEEERequirementsPackage(this.pack, IEEERequirementsConstants.DESIGN_CONSTRAINTS_REQUIREMENTS_PACKAGE, IEEERequirementCategory.DESIGN_CONSTRAINTS); + } + + // 5. create a package for system software attribute requirements + if (!hasSoftwareSystemAttributeRequirementsPackage()) { + createStereotypedIEEERequirementsPackage(this.pack, IEEERequirementsConstants.SOFTWARE_SYSTEM_ATTRIBUTE_REQUIREMENTS_PACKAGE, IEEERequirementCategory.SOFTWARE_SYSTEM_ATTRIBUTES); + } + + // 6. create a package for other requirements + if (!hasOtherRequirementsPackage()) { + createStereotypedIEEERequirementsPackage(this.pack, IEEERequirementsConstants.OTHER_REQUIREMENTS_PACKAGE, IEEERequirementCategory.OTHER_REQUIREMENTS); + } + return CommandResult.newOKCommandResult(); + } + + + private void createStereotypedIEEERequirementsPackage(final Package parentPack, final String packName, final IEEERequirementCategory category) { + final Package newPackage = UMLFactory.eINSTANCE.createPackage(); + newPackage.setName(packName); + parentPack.getNestedPackages().add(newPackage); + + IEEERequirements steAppl = (IEEERequirements) newPackage.applyStereotype(IEEERequirements); + steAppl.setCategory(category); + } + + private void createStereotypedIEEERequirementsPackage(final Package parentPack, final String packName, final IEEERequirementCategory category, final int mode) { + final Package newPackage = UMLFactory.eINSTANCE.createPackage(); + newPackage.setName(packName); + parentPack.getNestedPackages().add(newPackage); + + IEEEFunctionalRequirements steAppl = (IEEEFunctionalRequirements) newPackage.applyStereotype(IEEEFunctionalRequirements); + steAppl.setCategory(category); + steAppl.setMode(mode); + } + + /** + * @see org.eclipse.core.commands.operations.AbstractOperation#canExecute() + * + * @return + */ + @Override + public boolean canExecute() { + return super.canExecute() + && hasMissingIEEEPackage(); + } + + /** + * @return + */ + private final boolean hasMissingIEEEPackage() { + return !(hasExternalInterfacePackage() + && hasUserInterfacePackage() + && hasHWInterfacePackage() + && hasCommunicationInterfacePackage() + && hasSWInterfacePackage() + && hasFunctionalRequirements_Mode1_Package() + && hasFunctionalRequirements_Mode2_Package() + && hasFunctionalRequirements_Mode3_Package() + && hasPerformanceRequirementsPackage() + && hasDesignConstraintsPackage() + && hasSoftwareSystemAttributeRequirementsPackage() + && hasOtherRequirementsPackage()); + } + + /*--------------------Interfaces Requirements-----------------------------------------------*/ + private final boolean hasExternalInterfacePackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.EXTERNAL_INTERFACES_REQUIREMENTS) != null; + } + + private final boolean hasUserInterfacePackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.USER_INTERFACES) != null; + } + + private final boolean hasHWInterfacePackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.HARDWARE_INTERFACES) != null; + } + + private final boolean hasCommunicationInterfacePackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.COMMUNICATION_INTERFACES) != null; + } + + private final boolean hasSWInterfacePackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.SOFTWARE_INTERFACES) != null; + } + + /*--------------------Functional Requirements-----------------------------------------------*/ + private final boolean hasFunctionalRequirements_Mode1_Package() { + return findStereotypedIEEEFunctionalRequirementsPackage(this.pack, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS, 1) != null; + } + + private final boolean hasFunctionalRequirements_Mode2_Package() { + return findStereotypedIEEEFunctionalRequirementsPackage(this.pack, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS, 2) != null; + } + + private final boolean hasFunctionalRequirements_Mode3_Package() { + return findStereotypedIEEEFunctionalRequirementsPackage(this.pack, IEEERequirementCategory.FUNCTIONAL_REQUIREMENTS, 3) != null; + } + + /*--------------------Performance Requirements-----------------------------------------------*/ + private final boolean hasPerformanceRequirementsPackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.PERFORMANCE_REQUIREMENTS) != null; + } + + /*--------------------Design Constraints Requirements-----------------------------------------------*/ + private final boolean hasDesignConstraintsPackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.DESIGN_CONSTRAINTS) != null; + } + + /*--------------------Software System Attribute Requirements-----------------------------------------------*/ + private final boolean hasSoftwareSystemAttributeRequirementsPackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.SOFTWARE_SYSTEM_ATTRIBUTES) != null; + } + + /*--------------------Other Requirements-----------------------------------------------*/ + private final boolean hasOtherRequirementsPackage() { + return findStereotypedIEEERequirementsPackage(this.pack, IEEERequirementCategory.OTHER_REQUIREMENTS) != null; + } + + /** + * + * @param pack + * a package + * @param ieeeCategory + * the expected IEEERequirementCategory for the package + * @return + * the found package or null + */ + private final Package findStereotypedIEEERequirementsPackage(final Package pack, final IEEERequirementCategory ieeeCategory) { + if (pack == null) { + return null; + } + IEEERequirements ieeeReq = UMLUtil.getStereotypeApplication(pack, IEEERequirements.class); + if (ieeeReq != null && ieeeReq.getCategory() == ieeeCategory) { + return pack; + } + + final List ownedPackages = pack.getMembers().stream().filter(Package.class::isInstance).map(Package.class::cast).collect(Collectors.toList()); + Iterator iter = ownedPackages.iterator(); + Package found = null; + while (iter.hasNext() && found == null) { + final Package tmp = iter.next(); + ieeeReq = UMLUtil.getStereotypeApplication(tmp, IEEERequirements.class); + if (ieeeReq != null && ieeeReq.getCategory() == ieeeCategory) { + found = tmp; + } + } + if (found == null) { + iter = ownedPackages.iterator(); + while (iter.hasNext() && found == null) { + found = findStereotypedIEEERequirementsPackage(iter.next(), ieeeCategory); + } + } + + return found; + } + + /** + * + * @param pack + * a package + * @param ieeeCategory + * the expected IEEERequirementCategory for the package + * @param mode + * the expected mode for the FunctionRequirement package + * @return + * the found package or null + */ + private final Package findStereotypedIEEEFunctionalRequirementsPackage(final Package pack, final IEEERequirementCategory ieeeCategory, final int mode) { + if (pack == null) { + return null; + } + IEEEFunctionalRequirements ieeeReq = UMLUtil.getStereotypeApplication(pack, IEEEFunctionalRequirements.class); + if (ieeeReq != null && ieeeReq.getCategory() == ieeeCategory && ieeeReq.getMode() == mode) { + return pack; + } + + final List ownedPackages = pack.getMembers().stream().filter(Package.class::isInstance).map(Package.class::cast).collect(Collectors.toList()); + Iterator iter = ownedPackages.iterator(); + Package found = null; + while (iter.hasNext() && found == null) { + final Package tmp = iter.next(); + ieeeReq = UMLUtil.getStereotypeApplication(tmp, IEEEFunctionalRequirements.class); + if (ieeeReq != null && ieeeReq.getCategory() == ieeeCategory && ieeeReq.getMode() == mode) { + found = tmp; + } + } + if (found == null) { + iter = ownedPackages.iterator(); + while (iter.hasNext() && found == null) { + found = findStereotypedIEEEFunctionalRequirementsPackage(iter.next(), ieeeCategory, mode); + } + } + + return found; + } + +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsConstants.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsConstants.java new file mode 100755 index 00000000..34105817 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsConstants.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.model2doc.integration.ieee.requirements.utils; + +/** + * Constants relative to the IEEE Profile + */ +public class IEEERequirementsConstants { + + private IEEERequirementsConstants() { + // to prevent instantiation + } + + public static final String IEEE_PROFILE_NAME = "IEEERequirementsDocumentation"; //$NON-NLS-1$ + + public static final String IEEE_PROFILE_URI = "pathmap://IEEERequirementsDocumentation/IEEERequirementsDocumentation.profile.uml"; //$NON-NLS-1$ + + public static final String IEEE_REQUIREMENTS_STEREOTYPE = "IEEERequirements"; //$NON-NLS-1$ + + public static final String IEEE_FUNCTIONAL_REQUIREMENTS_STEREOTYPE = "IEEEFunctionalRequirements"; //$NON-NLS-1$ + /* + * the name of all packages structuring an IEEE Requirements models + */ + public static final String INTERFACES_ROOT_PACKAGE = "InterfacesRequirements"; //$NON-NLS-1$ + + public static final String EXTERNAl_INTERFACES_PACKAGE = "ExternalInterfacesRequirements"; //$NON-NLS-1$ + + public static final String USER_INTERFACES_PACKAGE = "UserInterfacesRequirements"; //$NON-NLS-1$ + + public static final String HW_INTERFACES_PACKAGE = "HWInterfacesRequirements"; //$NON-NLS-1$ + + public static final String COMMUNICATION_INTERFACES_PACKAGE = "CommunicationInterfacesRequirements"; //$NON-NLS-1$ + + public static final String SW_INTERFACES_PACKAGE = "SWInterfacesRequirements"; //$NON-NLS-1$ + + public static final String FUNCTIONAL_REQUIREMENTS_ROOT_PACKAGE = "FunctionalRequirements"; //$NON-NLS-1$ + + public static final String FUNCTIONAL_REQUIREMENTS_MODE_1 = "FunctionalRequirements_Mode_1"; //$NON-NLS-1$ + + public static final String FUNCTIONAL_REQUIREMENTS_MODE_2 = "FunctionalRequirements_Mode_2"; //$NON-NLS-1$ + + public static final String FUNCTIONAL_REQUIREMENTS_MODE_3 = "FunctionalRequirements_Mode_3"; //$NON-NLS-1$ + + public static final String PERFORMANCE_REQUIREMENTS_PACKAGE = "PerformanceRequirements"; //$NON-NLS-1$ + + public static final String DESIGN_CONSTRAINTS_REQUIREMENTS_PACKAGE = "DesignConstraintsRequirements"; //$NON-NLS-1$ + + public static final String SOFTWARE_SYSTEM_ATTRIBUTE_REQUIREMENTS_PACKAGE = "SoftwareSystemAttributeRequirements"; //$NON-NLS-1$ + + public static final String OTHER_REQUIREMENTS_PACKAGE = "OtherRequirements"; //$NON-NLS-1$ +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java new file mode 100755 index 00000000..6ccd3e40 --- /dev/null +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-api/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java @@ -0,0 +1,245 @@ +/***************************************************************************** + * Copyright (c) 2019 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: + * Yupanqui Munoz (CEA LIST) yupanqui.munozjulho@cea.fr - Initial API and implementation + * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.model2doc.integration.ieee.requirements.utils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.stream.Collectors; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.AbstractRequirements; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEEFunctionalRequirements; +import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEERequirements; +import org.eclipse.uml2.uml.Package; + +/** + * Helper provding all Packages identified by the IEEE stereotypes + */ +public class IEEERequirementsDocumentationProfileHelper { + /** + * the package used to start the cross of the model + */ + private Package rootPackage; + + /** + * Collections and Map used to group the package by category + */ + private final Collection specificRequirements = new ArrayList<>(); + private final Collection externalInterfaceRequirements = new ArrayList<>(); + private final Collection userInterfaces = new ArrayList<>(); + private final Collection hardwaresInterfaces = new ArrayList<>(); + private final Collection softwareInterfaces = new ArrayList<>(); + private final Collection communicationInterfaces = new ArrayList<>(); + private final Collection functionalRequirementsWithoutMode = new ArrayList<>(); + private final Map> functionalRequirementsWithMode = new HashMap<>(); + private final Collection performanceRequirements = new ArrayList<>(); + private final Collection designConstraints = new ArrayList<>(); + private final Collection softwareSystemAttributes = new ArrayList<>(); + private final Collection otherRequirements = new ArrayList<>(); + + /** + * the list of package stereotyped with a stereotype extending one provided by the IEEE profile, but not provided by our profile itself + */ + final Collection unknownRequirements = new ArrayList<>(); + + /** + * + * Constructor. + * + * @param aPackage + * a package of the model, generally the root one + */ + public IEEERequirementsDocumentationProfileHelper(final Package aPackage) { + this.rootPackage = aPackage; + fillCollections(this.rootPackage); + } + + /** + * This method allows to fill the fields list and map of this class + * + * TODO : warning, this algorithm won't be efficient + */ + protected void fillCollections(final Package pack) { + final Iterator subPackageIterator = pack.getOwnedMembers().stream().filter(Package.class::isInstance).map(Package.class::cast).collect(Collectors.toList()).iterator(); + while (subPackageIterator.hasNext()) { + final Package current = subPackageIterator.next(); + addToCollection(current); + fillCollections(current); + } + } + + + /** + * + * + * @param pack + * a package + * + * this method add the package to one of the field lists of the classes when it is stereotyped as IEEE Requirements + */ + protected void addToCollection(final Package pack) { + for (final EObject current : pack.getStereotypeApplications()) { + if (current instanceof IEEEFunctionalRequirements) { + final IEEEFunctionalRequirements reqSte = (IEEEFunctionalRequirements) current; + final Integer mode = Integer.valueOf(reqSte.getMode()); + Collection packages = this.functionalRequirementsWithMode.get(mode); + if (null == packages) { + packages = new ArrayList<>(); + this.functionalRequirementsWithMode.put(mode, packages); + } + packages.add(pack); + + } else if (current instanceof IEEERequirements) { + final IEEERequirements reqSte = (IEEERequirements) current; + switch (reqSte.getCategory()) { + case SPECIFIC_REQUIREMENTS: + this.specificRequirements.add(pack); + break; + case EXTERNAL_INTERFACES_REQUIREMENTS: + this.externalInterfaceRequirements.add(pack); + break; + case USER_INTERFACES: + this.userInterfaces.add(pack); + break; + case HARDWARE_INTERFACES: + this.hardwaresInterfaces.add(pack); + break; + case SOFTWARE_INTERFACES: + this.softwareInterfaces.add(pack); + break; + case COMMUNICATION_INTERFACES: + this.communicationInterfaces.add(pack); + break; + case FUNCTIONAL_REQUIREMENTS: + this.functionalRequirementsWithoutMode.add(pack); + break; + case PERFORMANCE_REQUIREMENTS: + this.performanceRequirements.add(pack); + break; + case DESIGN_CONSTRAINTS: + designConstraints.add(pack); + break; + case SOFTWARE_SYSTEM_ATTRIBUTES: + this.softwareSystemAttributes.add(pack); + break; + + case OTHER_REQUIREMENTS: + this.otherRequirements.add(pack); + break; + default: + this.unknownRequirements.add(pack); + break; + + } + } else if (current instanceof AbstractRequirements) { + this.unknownRequirements.add(pack); + } + } + } + + /** + * @return this.the specificRequirements + */ + public final Collection getSpecificRequirements() { + return this.specificRequirements; + } + + /** + * @return this.the externalInterfaceRequirements + */ + public final Collection getExternalInterfaceRequirements() { + return this.externalInterfaceRequirements; + } + + /** + * @return this.the userInterfaces + */ + public final Collection getUserInterfaces() { + return this.userInterfaces; + } + + /** + * @return this.the hardwaresInterfaces + */ + public final Collection getHardwaresInterfaces() { + return this.hardwaresInterfaces; + } + + /** + * @return this.the softwareInterfaces + */ + public final Collection getSoftwareInterfaces() { + return this.softwareInterfaces; + } + + /** + * @return this.the communicationInterfaces + */ + public final Collection getCommunicationInterfaces() { + return this.communicationInterfaces; + } + + /** + * @return this.the functionalRequirementsWithoutMode + */ + public final Collection getFunctionalRequirementsWithoutMode() { + return this.functionalRequirementsWithoutMode; + } + + /** + * @return this.the functionalRequirementsWithMode + */ + public final Map> getFunctionalRequirementsWithMode() { + return this.functionalRequirementsWithMode; + } + + /** + * @return this.the performanceRequirements + */ + public final Collection getPerformanceRequirements() { + return this.performanceRequirements; + } + + /** + * @return this.the designConstraints + */ + public final Collection getDesignConstraints() { + return this.designConstraints; + } + + /** + * @return this.the softwareSystemAttributes + */ + public final Collection getSoftwareSystemAttributes() { + return this.softwareSystemAttributes; + } + + /** + * @return this.the otherRequirements + */ + public final Collection getOtherRequirements() { + return this.otherRequirements; + } + + /** + * @return this.the unknownRequirements + */ + public final Collection getUnknownRequirements() { + return this.unknownRequirements; + } +} diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/IEEERequirementCategory.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/IEEERequirementCategory.java index 7bb65f7e..0f6c8774 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/IEEERequirementCategory.java +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/IEEERequirementCategory.java @@ -26,9 +26,12 @@ import org.eclipse.emf.common.util.Enumerator; * and utility methods for working with them. * * - *

Abstract Stereotype created to ease future extension

+ *

+ * Abstract Stereotype created to ease future extension + *

* * + * * @see org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEERequirementsDocumentationPackage#getIEEERequirementCategory() * @model extendedMetaData="baseType='AbstractRequirementCategory'" * @generated @@ -38,6 +41,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'SPECIFIC REQUIREMENTS' literal object. * * + * * @see #SPECIFIC_REQUIREMENTS_VALUE * @generated * @ordered @@ -45,19 +49,21 @@ public enum IEEERequirementCategory implements Enumerator { SPECIFIC_REQUIREMENTS(0, "SPECIFIC_REQUIREMENTS", "SPECIFIC_REQUIREMENTS"), //$NON-NLS-1$ //$NON-NLS-2$ /** - * The 'EXTERNAL INTERFACE REQUIREMENTS' literal object. + * The 'EXTERNAL INTERFACES REQUIREMENTS' literal object. * * - * @see #EXTERNAL_INTERFACE_REQUIREMENTS_VALUE + * + * @see #EXTERNAL_INTERFACES_REQUIREMENTS_VALUE * @generated * @ordered */ - EXTERNAL_INTERFACE_REQUIREMENTS(1, "EXTERNAL_INTERFACE_REQUIREMENTS", "EXTERNAL_INTERFACE_REQUIREMENTS"), //$NON-NLS-1$ //$NON-NLS-2$ + EXTERNAL_INTERFACES_REQUIREMENTS(1, "EXTERNAL_INTERFACES_REQUIREMENTS", "EXTERNAL_INTERFACES_REQUIREMENTS"), //$NON-NLS-1$ //$NON-NLS-2$ /** * The 'USER INTERFACES' literal object. * * + * * @see #USER_INTERFACES_VALUE * @generated * @ordered @@ -68,6 +74,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'HARDWARE INTERFACES' literal object. * * + * * @see #HARDWARE_INTERFACES_VALUE * @generated * @ordered @@ -78,6 +85,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'SOFTWARE INTERFACES' literal object. * * + * * @see #SOFTWARE_INTERFACES_VALUE * @generated * @ordered @@ -88,6 +96,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'COMMUNICATION INTERFACES' literal object. * * + * * @see #COMMUNICATION_INTERFACES_VALUE * @generated * @ordered @@ -98,6 +107,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'FUNCTIONAL REQUIREMENTS' literal object. * * + * * @see #FUNCTIONAL_REQUIREMENTS_VALUE * @generated * @ordered @@ -108,6 +118,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'PERFORMANCE REQUIREMENTS' literal object. * * + * * @see #PERFORMANCE_REQUIREMENTS_VALUE * @generated * @ordered @@ -118,6 +129,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'DESIGN CONSTRAINTS' literal object. * * + * * @see #DESIGN_CONSTRAINTS_VALUE * @generated * @ordered @@ -128,6 +140,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'SOFTWARE SYSTEM ATTRIBUTES' literal object. * * + * * @see #SOFTWARE_SYSTEM_ATTRIBUTES_VALUE * @generated * @ordered @@ -138,6 +151,7 @@ public enum IEEERequirementCategory implements Enumerator { * The 'OTHER REQUIREMENTS' literal object. * * + * * @see #OTHER_REQUIREMENTS_VALUE * @generated * @ordered @@ -152,6 +166,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #SPECIFIC_REQUIREMENTS * @model * @generated @@ -160,19 +175,20 @@ public enum IEEERequirementCategory implements Enumerator { public static final int SPECIFIC_REQUIREMENTS_VALUE = 0; /** - * The 'EXTERNAL INTERFACE REQUIREMENTS' literal value. + * The 'EXTERNAL INTERFACES REQUIREMENTS' literal value. * *

- * If the meaning of 'EXTERNAL INTERFACE REQUIREMENTS' literal object isn't clear, + * If the meaning of 'EXTERNAL INTERFACES REQUIREMENTS' literal object isn't clear, * there really should be more of a description here... *

* - * @see #EXTERNAL_INTERFACE_REQUIREMENTS + * + * @see #EXTERNAL_INTERFACES_REQUIREMENTS * @model * @generated * @ordered */ - public static final int EXTERNAL_INTERFACE_REQUIREMENTS_VALUE = 1; + public static final int EXTERNAL_INTERFACES_REQUIREMENTS_VALUE = 1; /** * The 'USER INTERFACES' literal value. @@ -182,6 +198,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #USER_INTERFACES * @model * @generated @@ -197,6 +214,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #HARDWARE_INTERFACES * @model * @generated @@ -212,6 +230,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #SOFTWARE_INTERFACES * @model * @generated @@ -227,6 +246,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #COMMUNICATION_INTERFACES * @model * @generated @@ -242,6 +262,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #FUNCTIONAL_REQUIREMENTS * @model * @generated @@ -257,6 +278,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #PERFORMANCE_REQUIREMENTS * @model * @generated @@ -272,6 +294,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #DESIGN_CONSTRAINTS * @model * @generated @@ -287,6 +310,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #SOFTWARE_SYSTEM_ATTRIBUTES * @model * @generated @@ -302,6 +326,7 @@ public enum IEEERequirementCategory implements Enumerator { * there really should be more of a description here... *

* + * * @see #OTHER_REQUIREMENTS * @model * @generated @@ -313,11 +338,12 @@ public enum IEEERequirementCategory implements Enumerator { * An array of all the 'IEEE Requirement Category' enumerators. * * + * * @generated */ private static final IEEERequirementCategory[] VALUES_ARRAY = new IEEERequirementCategory[] { SPECIFIC_REQUIREMENTS, - EXTERNAL_INTERFACE_REQUIREMENTS, + EXTERNAL_INTERFACES_REQUIREMENTS, USER_INTERFACES, HARDWARE_INTERFACES, SOFTWARE_INTERFACES, @@ -333,6 +359,7 @@ public enum IEEERequirementCategory implements Enumerator { * A public read-only list of all the 'IEEE Requirement Category' enumerators. * * + * * @generated */ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); @@ -341,7 +368,9 @@ public enum IEEERequirementCategory implements Enumerator { * Returns the 'IEEE Requirement Category' literal with the specified literal value. * * - * @param literal the literal. + * + * @param literal + * the literal. * @return the matching enumerator or null. * @generated */ @@ -359,7 +388,9 @@ public enum IEEERequirementCategory implements Enumerator { * Returns the 'IEEE Requirement Category' literal with the specified name. * * - * @param name the name. + * + * @param name + * the name. * @return the matching enumerator or null. * @generated */ @@ -377,7 +408,9 @@ public enum IEEERequirementCategory implements Enumerator { * Returns the 'IEEE Requirement Category' literal with the specified integer value. * * - * @param value the integer value. + * + * @param value + * the integer value. * @return the matching enumerator or null. * @generated */ @@ -385,8 +418,8 @@ public enum IEEERequirementCategory implements Enumerator { switch (value) { case SPECIFIC_REQUIREMENTS_VALUE: return SPECIFIC_REQUIREMENTS; - case EXTERNAL_INTERFACE_REQUIREMENTS_VALUE: - return EXTERNAL_INTERFACE_REQUIREMENTS; + case EXTERNAL_INTERFACES_REQUIREMENTS_VALUE: + return EXTERNAL_INTERFACES_REQUIREMENTS; case USER_INTERFACES_VALUE: return USER_INTERFACES; case HARDWARE_INTERFACES_VALUE: @@ -412,6 +445,7 @@ public enum IEEERequirementCategory implements Enumerator { /** * * + * * @generated */ private final int value; @@ -419,6 +453,7 @@ public enum IEEERequirementCategory implements Enumerator { /** * * + * * @generated */ private final String name; @@ -426,6 +461,7 @@ public enum IEEERequirementCategory implements Enumerator { /** * * + * * @generated */ private final String literal; @@ -434,6 +470,7 @@ public enum IEEERequirementCategory implements Enumerator { * Only this class can construct instances. * * + * * @generated */ private IEEERequirementCategory(int value, String name, String literal) { @@ -445,6 +482,7 @@ public enum IEEERequirementCategory implements Enumerator { /** * * + * * @generated */ @Override @@ -455,6 +493,7 @@ public enum IEEERequirementCategory implements Enumerator { /** * * + * * @generated */ @Override @@ -465,6 +504,7 @@ public enum IEEERequirementCategory implements Enumerator { /** * * + * * @generated */ @Override @@ -476,6 +516,7 @@ public enum IEEERequirementCategory implements Enumerator { * Returns the literal value of the enumerator, which is its string representation. * * + * * @generated */ @Override @@ -483,4 +524,4 @@ public enum IEEERequirementCategory implements Enumerator { return literal; } -} //IEEERequirementCategory +} // IEEERequirementCategory diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/AbstractRequirementsImpl.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/AbstractRequirementsImpl.java index f6c3a85b..ebd21e87 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/AbstractRequirementsImpl.java +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/AbstractRequirementsImpl.java @@ -237,7 +237,7 @@ public abstract class AbstractRequirementsImpl extends MinimalEObjectImpl.Contai return super.toString(); } - StringBuffer result = new StringBuffer(super.toString()); + StringBuilder result = new StringBuilder(super.toString()); result.append(" (reqCategory: "); //$NON-NLS-1$ result.append(reqCategory); result.append(')'); diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEEFunctionalRequirementsImpl.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEEFunctionalRequirementsImpl.java index ad2d3b66..80ee03ce 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEEFunctionalRequirementsImpl.java +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEEFunctionalRequirementsImpl.java @@ -168,7 +168,7 @@ public class IEEEFunctionalRequirementsImpl extends IEEERequirementsImpl impleme return super.toString(); } - StringBuffer result = new StringBuffer(super.toString()); + StringBuilder result = new StringBuilder(super.toString()); result.append(" (mode: "); //$NON-NLS-1$ result.append(mode); result.append(')'); diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsDocumentationPackageImpl.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsDocumentationPackageImpl.java index 5d5d49d7..ab62b2e1 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsDocumentationPackageImpl.java +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsDocumentationPackageImpl.java @@ -119,9 +119,10 @@ public class IEEERequirementsDocumentationPackageImpl extends EPackageImpl imple } // Obtain or create and register package - IEEERequirementsDocumentationPackageImpl theIEEERequirementsDocumentationPackage = (IEEERequirementsDocumentationPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof IEEERequirementsDocumentationPackageImpl - ? EPackage.Registry.INSTANCE.get(eNS_URI) - : new IEEERequirementsDocumentationPackageImpl()); + Object registeredIEEERequirementsDocumentationPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + IEEERequirementsDocumentationPackageImpl theIEEERequirementsDocumentationPackage = registeredIEEERequirementsDocumentationPackage instanceof IEEERequirementsDocumentationPackageImpl + ? (IEEERequirementsDocumentationPackageImpl) registeredIEEERequirementsDocumentationPackage + : new IEEERequirementsDocumentationPackageImpl(); isInited = true; @@ -139,7 +140,6 @@ public class IEEERequirementsDocumentationPackageImpl extends EPackageImpl imple // Mark meta-data to indicate it can't be changed theIEEERequirementsDocumentationPackage.freeze(); - // Update the registry and return the package EPackage.Registry.INSTANCE.put(IEEERequirementsDocumentationPackage.eNS_URI, theIEEERequirementsDocumentationPackage); return theIEEERequirementsDocumentationPackage; @@ -334,7 +334,7 @@ public class IEEERequirementsDocumentationPackageImpl extends EPackageImpl imple // Initialize enums and add enum literals initEEnum(ieeeRequirementCategoryEEnum, IEEERequirementCategory.class, "IEEERequirementCategory"); //$NON-NLS-1$ addEEnumLiteral(ieeeRequirementCategoryEEnum, IEEERequirementCategory.SPECIFIC_REQUIREMENTS); - addEEnumLiteral(ieeeRequirementCategoryEEnum, IEEERequirementCategory.EXTERNAL_INTERFACE_REQUIREMENTS); + addEEnumLiteral(ieeeRequirementCategoryEEnum, IEEERequirementCategory.EXTERNAL_INTERFACES_REQUIREMENTS); addEEnumLiteral(ieeeRequirementCategoryEEnum, IEEERequirementCategory.USER_INTERFACES); addEEnumLiteral(ieeeRequirementCategoryEEnum, IEEERequirementCategory.HARDWARE_INTERFACES); addEEnumLiteral(ieeeRequirementCategoryEEnum, IEEERequirementCategory.SOFTWARE_INTERFACES); diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsImpl.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsImpl.java index 8e341836..ab23b7a5 100755 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsImpl.java +++ b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src-gen/org/eclipse/papyrus/model2doc/integration/ieee/requirements/documentation/impl/IEEERequirementsImpl.java @@ -169,7 +169,7 @@ public class IEEERequirementsImpl extends AbstractRequirementsImpl implements IE return super.toString(); } - StringBuffer result = new StringBuffer(super.toString()); + StringBuilder result = new StringBuilder(super.toString()); result.append(" (category: "); //$NON-NLS-1$ result.append(category); result.append(')'); diff --git a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java b/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java deleted file mode 100755 index 054ae460..00000000 --- a/plugins/integration/ieee/org.eclipse.papyrus.model2doc.integration.ieee.requirements/src/org/eclipse/papyrus/model2doc/integration/ieee/requirements/utils/IEEERequirementsDocumentationProfileHelper.java +++ /dev/null @@ -1,242 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2019 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: - * Yupanqui Munoz (CEA LIST) yupanqui.munozjulho@cea.fr - Initial API and implementation - * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation - *****************************************************************************/ -package org.eclipse.papyrus.model2doc.integration.ieee.requirements.utils; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.stream.Collectors; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.AbstractRequirements; -import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEEFunctionalRequirements; -import org.eclipse.papyrus.model2doc.integration.ieee.requirements.documentation.IEEERequirements; -import org.eclipse.uml2.uml.Package; - -public class IEEERequirementsDocumentationProfileHelper { - /** - * the package used to start the cross of the model - */ - private Package rootPackage; - - /** - * Collections and Map used to group the package by category - */ - private final Collection specificRequirements = new ArrayList(); - private final Collection externalInterfaceRequirements = new ArrayList(); - private final Collection userInterfaces = new ArrayList(); - private final Collection hardwaresInterfaces = new ArrayList(); - private final Collection softwareInterfaces = new ArrayList(); - private final Collection communicationInterfaces = new ArrayList(); - private final Collection functionalRequirementsWithoutMode = new ArrayList(); - private final Map> functionalRequirementsWithMode = new HashMap>(); - private final Collection performanceRequirements = new ArrayList(); - private final Collection designConstraints = new ArrayList(); - private final Collection softwareSystemAttributes = new ArrayList(); - private final Collection otherRequirements = new ArrayList(); - - /** - * the list of package stereotyped with a stereotype extending one provided by the IEEE profile, but not provided by our profile itself - */ - final Collection unknownRequirements = new ArrayList(); - - /** - * - * Constructor. - * - * @param aPackage - * a package of the model, generally the root one - */ - public IEEERequirementsDocumentationProfileHelper(final Package aPackage) { - this.rootPackage = aPackage; - fillCollections(this.rootPackage); - } - - /** - * This method allows to fill the fields list and map of this class - * - * TODO : warning, this algorithm won't be efficient - */ - protected void fillCollections(final Package pack) { - final Iterator subPackageIterator = pack.getOwnedMembers().stream().filter(Package.class::isInstance).map(Package.class::cast).collect(Collectors.toList()).iterator(); - while (subPackageIterator.hasNext()) { - final Package current = subPackageIterator.next(); - addToCollection(current); - fillCollections(current); - } - } - - - /** - * - * - * @param pack - * a package - * - * this method add the package to one of the field lists of the classes when it is stereotyped as IEEE Requirements - */ - protected void addToCollection(final Package pack) { - for (final EObject current : pack.getStereotypeApplications()) { - if (current instanceof IEEEFunctionalRequirements) { - final IEEEFunctionalRequirements reqSte = (IEEEFunctionalRequirements) current; - final Integer mode = Integer.valueOf(reqSte.getMode()); - Collection packages = this.functionalRequirementsWithMode.get(mode); - if (null == packages) { - packages = new ArrayList(); - this.functionalRequirementsWithMode.put(mode, packages); - } - packages.add(pack); - - } else if (current instanceof IEEERequirements) { - final IEEERequirements reqSte = (IEEERequirements) current; - switch (reqSte.getCategory()) { - case SPECIFIC_REQUIREMENTS: - this.specificRequirements.add(pack); - break; - case EXTERNAL_INTERFACE_REQUIREMENTS: - this.externalInterfaceRequirements.add(pack); - break; - case USER_INTERFACES: - this.userInterfaces.add(pack); - break; - case HARDWARE_INTERFACES: - this.hardwaresInterfaces.add(pack); - break; - case SOFTWARE_INTERFACES: - this.softwareInterfaces.add(pack); - break; - case COMMUNICATION_INTERFACES: - this.communicationInterfaces.add(pack); - break; - case FUNCTIONAL_REQUIREMENTS: - this.functionalRequirementsWithoutMode.add(pack); - break; - case PERFORMANCE_REQUIREMENTS: - this.performanceRequirements.add(pack); - break; - case DESIGN_CONSTRAINTS: - designConstraints.add(pack); - break; - case SOFTWARE_SYSTEM_ATTRIBUTES: - this.softwareSystemAttributes.add(pack); - break; - - case OTHER_REQUIREMENTS: - this.otherRequirements.add(pack); - break; - default: - this.unknownRequirements.add(pack); - break; - - } - } else if (current instanceof AbstractRequirements) { - this.unknownRequirements.add(pack); - } - } - } - - /** - * @return this.the specificRequirements - */ - public final Collection getSpecificRequirements() { - return this.specificRequirements; - } - - /** - * @return this.the externalInterfaceRequirements - */ - public final Collection getExternalInterfaceRequirements() { - return this.externalInterfaceRequirements; - } - - /** - * @return this.the userInterfaces - */ - public final Collection getUserInterfaces() { - return this.userInterfaces; - } - - /** - * @return this.the hardwaresInterfaces - */ - public final Collection getHardwaresInterfaces() { - return this.hardwaresInterfaces; - } - - /** - * @return this.the softwareInterfaces - */ - public final Collection getSoftwareInterfaces() { - return this.softwareInterfaces; - } - - /** - * @return this.the communicationInterfaces - */ - public final Collection getCommunicationInterfaces() { - return this.communicationInterfaces; - } - - /** - * @return this.the functionalRequirementsWithoutMode - */ - public final Collection getFunctionalRequirementsWithoutMode() { - return this.functionalRequirementsWithoutMode; - } - - /** - * @return this.the functionalRequirementsWithMode - */ - public final Map> getFunctionalRequirementsWithMode() { - return this.functionalRequirementsWithMode; - } - - /** - * @return this.the performanceRequirements - */ - public final Collection getPerformanceRequirements() { - return this.performanceRequirements; - } - - /** - * @return this.the designConstraints - */ - public final Collection getDesignConstraints() { - return this.designConstraints; - } - - /** - * @return this.the softwareSystemAttributes - */ - public final Collection getSoftwareSystemAttributes() { - return this.softwareSystemAttributes; - } - - /** - * @return this.the otherRequirements - */ - public final Collection getOtherRequirements() { - return this.otherRequirements; - } - - /** - * @return this.the unknownRequirements - */ - public final Collection getUnknownRequirements() { - return this.unknownRequirements; - } -} diff --git a/plugins/integration/ieee/pom.xml b/plugins/integration/ieee/pom.xml index b58c71dc..c7dffbec 100755 --- a/plugins/integration/ieee/pom.xml +++ b/plugins/integration/ieee/pom.xml @@ -22,5 +22,6 @@ org.eclipse.papyrus.model2doc.integration.ieee.requirements.odt org.eclipse.papyrus.model2doc.integration.ieee.requirements.odt.architecture org.eclipse.papyrus.model2doc.integration.ieee.requirements.odt.ui + org.eclipse.papyrus.model2doc.integration.ieee.requirements.sysml14.odt.architecture -- cgit v1.2.3