diff --git a/.circleci/config.yml b/.circleci/config.yml index d1c90263a..cf935a2d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: openjdk_executor: docker: - - image: circleci/openjdk@sha256:012843a8f91da1ea5e22e142bb5cb8c999a7457e03b8c79ab45d5fcb68043383 + - image: cimg/openjdk:11.0 environment: _JAVA_OPTIONS: "-Xmx3g" GRADLE_OPTS: "-Dorg.gradle.daemon=false" diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..a556ede7f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,35 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Environment:** +- MDK version: +- VE version: +- MMS Version: +- MagicDraw or Cameo Systems Modeler Version: +- Operating system: [e.g., Windows 10, macOS Mojave] + + +**Additional context** +Add any other context about the problem here. diff --git a/.gitignore b/.gitignore index f27076d72..f1f04c412 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,5 @@ rebel.xml venv/* !venv/bin/ *.groovy -libz \ No newline at end of file +libz +mddocs diff --git a/.run/mdk-2021x-runJava.run.xml b/.run/mdk-2021x-runJava.run.xml new file mode 100644 index 000000000..45af2fcc6 --- /dev/null +++ b/.run/mdk-2021x-runJava.run.xml @@ -0,0 +1,21 @@ + + + + + + + true + + + \ No newline at end of file diff --git a/.run/mdk-runJava.run.xml b/.run/mdk-runJava.run.xml new file mode 100644 index 000000000..914a27268 --- /dev/null +++ b/.run/mdk-runJava.run.xml @@ -0,0 +1,21 @@ + + + + + + + true + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index a3add4b62..613d6e7cd 100644 --- a/build.gradle +++ b/build.gradle @@ -13,14 +13,17 @@ buildscript { } dependencies { classpath "io.github.gradle-nexus:publish-plugin:1.0.0" + classpath group: 'org.openjfx', name: 'javafx-plugin', version: '0.0.14' } } + plugins { id 'idea' id 'eclipse' id 'java' id 'distribution' + id 'org.openjfx.javafxplugin' version '0.0.14' } String buildProfile = project.getProperties().getOrDefault('buildProfile', 'opensource') @@ -63,14 +66,10 @@ else { String docbookNameVersion = 'docbook-xsl-1.79.1' String fopNameVersion = 'fop-1.1' -java { - sourceCompatibility = 'VERSION_1_8' - targetCompatibility = 'VERSION_1_8' -} - - // In this section you declare where to find the dependencies of your project repositories { + mavenCentral() + flatDir { dirs "libz" } //Put Cameo no-install and plugin zips here ivy { url "https://sourceforge.net/projects/docbook/files/docbook-xsl/" patternLayout { @@ -91,7 +90,6 @@ repositories { //url 'https://mirror.nodesdirect.com/apache/xmlgraphics/fop/binaries/' for newer version } - mavenCentral() maven { url 'https://repo.gradle.org/gradle/libs-releases-local/' } @@ -135,6 +133,7 @@ if (profiles['repositories'] != null) { configurations { preImplementation + distribution testPublish } @@ -152,7 +151,7 @@ dependencies { implementation group: 'org.jsoup', name: 'jsoup', version: '1.6.1' // implementation group: 'org.jsoup', name: 'jsoup', version: '1.9.1+' - // JGraphT + // JGraphT implementation group: 'net.sf.jgrapht', name: 'jgrapht', version: '0.8.3' // implementation group: 'org.jgrapht', name: 'jgrapht', version: '1.0.0+' @@ -168,8 +167,8 @@ dependencies { implementation group: 'net.sf.opencsv', name: 'opencsv', version: '2.3' // implementation group: 'com.opencsv', name: 'opencsv', version: '3.8+' - // ActiveMQ - implementation group: 'org.apache.activemq', name: 'activemq-all', version: '5.9.1' + // ActiveMQ + //implementation group: 'org.apache.activemq', name: 'activemq-all', version: '5.9.1' // implementation group: 'org.apache.activemq', name: 'activemq-all', version: '5.14.0+' // Jackson @@ -187,10 +186,10 @@ dependencies { implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.2' // Apache Commons CLI - implementation group: 'commons-cli', name: 'commons-cli', version: '1.2' + implementation group: 'commons-cli', name: 'commons-cli', version: '1.4' //OpenMBEE MMS Java Client - implementation group: 'org.openmbee.mms', name: 'mms-java-client', version: '3.4.2' + //implementation group: 'org.openmbee.mms', name: 'mms-java-client', version: '3.4.2' implementation group: 'com.beust', name: 'jcommander', version: '1.72' @@ -216,14 +215,19 @@ dependencies { } } else { - preImplementation group: 'com.nomagic', name: 'demomagicdraw', version: '190sp3', classifier: 'MagicDraw_Demo_190_sp3_no_install', ext: 'zip' - preImplementation group: 'com.nomagic', name: 'sysml', version: '190sp3', classifier: 'SysML_Plugin_190_sp3_bundle', ext: 'zip' - preImplementation group: 'com.nomagic', name: 'cst', version: '190sp3', classifier: 'Cameo_Simulation_Toolkit_Plugin_190_sp3', ext: 'zip' + preImplementation group: 'com.nomagic', name: 'democsm', version: '2022xRefresh1', classifier: 'Cameo_Systems_Modeler_2022x_Refresh1_HF1_no_install', ext: 'zip' +// preCompile group: 'com.nomagic', name: 'sysml', version: '2021x', classifier: 'SysML_Plugin_2021x', ext: 'zip' +// preCompile group: 'com.nomagic', name: 'cst', version: '2021x', classifier: 'Cameo_Simulation_Toolkit_Plugin_2021x', ext: 'zip' } preImplementation group: 'org.apache.fop', name: 'fop', version: '1.1', classifier: fopNameVersion + '-bin', ext: 'zip' preImplementation group: 'net.sourceforge.docbook', name: 'docbook-xsl', version: '1.79.1', classifier: docbookNameVersion, ext: 'zip' + // JavaFX + //preImplementation group: 'org.openjfx', name: 'javafx-fxml', version: '11.0.2' + //preImplementation group: 'org.openjfx', name: 'javafx-controls', version: '11.0.2' + //preImplementation group: 'org.openjfx', name: 'javafx-swing', version: '11.0.2' + // This ensures classpath load order to match the MagicDraw provided order and then includes extras needed for non-OpenAPI stuff. // This was necessary because of the Application class stubbing that was done in the chromium libraries. implementation files(classpathLibraries.collect { 'build/dependency-cache/extracted/magicdraw/' + it }) @@ -236,9 +240,19 @@ dependencies { implementation files(it) } } + else { + implementation files('build/dependency-cache/extracted/fop/jars/fop-1.1.jar', 'build/dependency-cache/extracted/fop/jars/xmlgraphics-commons-1.5.jar') + } } +javafx { + version = "11.0.2" + modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.swing' ] + platform = 'win' + configurations = ['preImplementation'] +} + task extractDependencies { configurations.preImplementation.resolvedConfiguration.resolvedArtifacts.each { artifact -> inputs.file artifact.file @@ -278,6 +292,12 @@ task extractDependencies { into 'build/dependency-cache/extracted/docbook' } } + else if (archive.getName().startsWith('javafx')) { + copy { + from archive.getAbsoluteFile() + into 'build/dependency-cache/extracted/javafx' + } + } else { copy { from zipTree(archive) @@ -316,7 +336,7 @@ task testsJar(type: Jar, dependsOn: testClasses) { archiveClassifier = 'tests' from sourceSets.test.output - exclude 'gov/nasa/jpl/mbee/mdk/test/framework/**' + exclude 'org/openmbee/mdk/test/framework/**' exclude 'org/**' exclude 'worker/**' //include 'gov/nasa/jpl/mbee/mdk/test/tests/**' @@ -326,14 +346,14 @@ task testsHackJar(type: Jar, dependsOn: testClasses) { archiveClassifier = 'tests-hack' from sourceSets.test.output - include 'gov/nasa/jpl/mbee/mdk/test/framework/**' + include 'org/openmbee/mdk/test/framework/**' include 'org/**' include 'worker/**' //exclude 'gov/nasa/jpl/mbee/mdk/test/tests/**' manifest { attributes( - 'Main-Class': 'gov.nasa.jpl.mbee.mdk.test.framework.GradleMagicDrawLauncher' + 'Main-Class': 'org.openmbee.mdk.test.framework.GradleMagicDrawLauncher' ) } } @@ -382,6 +402,10 @@ abstract class PreDist extends DefaultTask { from project.jar into "${outputDir}/plugins/${groupName}" } + project.copy { + from "${extractedCache}/javafx" + into "${outputDir}/plugins/${groupName}/javafx" + } project.copy { from project.getTasks().getByName('javadocZip') into "${outputDir}/plugins/${groupName}/javadoc" @@ -491,7 +515,6 @@ distZip { eachFile { file -> file.setPath(path.substring(path.indexOf("/") + 1, path.length())) } - } distZip.dependsOn preDist @@ -593,8 +616,8 @@ task runJava(type: JavaExec) { if (profiles["executablePath"] != null) { executable = profiles["executablePath"] } - main = 'com.nomagic.osgi.launcher.ProductionFrameworkLauncher' - jvmArgs = ['-Xmx8192M', '-Xss512M', '-DLOCALCONFIG=true', '-DWINCONFIG=true', '-Djsse.enableSNIExtension=true', '-Djava.net.preferIPv4Stack=true', '-Dcom.sun.media.imageio.disableCodecLib=true', '-noverify', '-Dlocal.config.dir.ext=-dev', '-splash:data/splash.png', '-Dmd.class.path=$java.class.path', '-Dcom.nomagic.osgi.config.dir=configuration', '-Desi.system.config=data/application.conf', '-Dlogback.configurationFile=data/logback.xml', '-Dsun.locale.formatasdefault=true', '-Dorg.osgi.framework.bundle.parent=ext'] + main = 'com.nomagic.magicdraw.Main' + jvmArgs = ['--module-path', 'plugins/org.openmbee.mdk/javafx', '--add-modules', 'javafx.controls,javafx.swing,javafx.fxml', '-Xmx8192M', '-Xss512M', '-DLOCALCONFIG=true', '-DWINCONFIG=true', '-Djsse.enableSNIExtension=true', '-Djava.net.preferIPv4Stack=true', '-Dcom.sun.media.imageio.disableCodecLib=true', '-noverify', '-Dlocal.config.dir.ext=-dev', '-splash:data/splash.png', '-Dmd.class.path=$java.class.path', '-Desi.system.config=data/application.conf', '-Dlogback.configurationFile=data/logback.xml', '-Dsun.locale.formatasdefault=true', '-Djdk.attach.allowAttachSelf=true'] // arguments to pass to the application args 'DEVELOPER' } @@ -611,8 +634,8 @@ task testAVG(type: JavaExec) { standardOutput = System.out errorOutput = System.err - main = 'com.nomagic.osgi.launcher.ProductionFrameworkLauncher' - jvmArgs = ['-Xmx8192M', '-Xss512M', '-DLOCALCONFIG=true', '-DWINCONFIG=true', '-Djsse.enableSNIExtension=true', '-Djava.net.preferIPv4Stack=true', '-Dcom.sun.media.imageio.disableCodecLib=true', '-noverify', '-Dlocal.config.dir.ext=-dev', '-splash:data/splash.png', '-Dmd.class.path=$java.class.path', '-Dcom.nomagic.osgi.config.dir=configuration', '-Desi.system.config=data/application.conf', '-Dlogback.configurationFile=data/logback.xml', '-Dsun.locale.formatasdefault=true', '-Dorg.osgi.framework.bundle.parent=ext', '-Dcom.nomagic.magicdraw.launcher=com.nomagic.magicdraw.commandline.CommandLineActionLauncher', '-Dcom.nomagic.magicdraw.commandline.action=gov.nasa.jpl.mbee.pma.cli.AutomatedViewGenerator'] + main = 'com.nomagic.magicdraw.Main' + jvmArgs = ['-Xmx8192M', '-Xss512M', '-DLOCALCONFIG=true', '-DWINCONFIG=true', '-Djsse.enableSNIExtension=true', '-Djava.net.preferIPv4Stack=true', '-Dcom.sun.media.imageio.disableCodecLib=true', '-noverify', '-Dlocal.config.dir.ext=-dev', '-splash:data/splash.png', '-Dmd.class.path=$java.class.path', '-Desi.system.config=data/application.conf', '-Dlogback.configurationFile=data/logback.xml', '-Dsun.locale.formatasdefault=true', '-Dcom.nomagic.magicdraw.launcher=com.nomagic.magicdraw.commandline.CommandLineActionLauncher', '-Dcom.nomagic.magicdraw.commandline.action=org.openmbee.pma.cli.AutomatedViewGenerator'] } testAVG.dependsOn installDist @@ -665,6 +688,7 @@ test { * Example command: .../java -Dcom.nomagic.osgi.config.dir=configuration -Desi.system.config=data/application.conf -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dlogback.configurationFile=data/logback.xml -Dmd.class.path=$java.class.path -jar /Users/igomes/mdk/build/libs/mdk-*-tests-hack.jar -cp ... -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea -cp .../.gradle/caches/.../workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1' * * @author igomes + * TODO 2021x refresh 1 removed osgi */ classpath = files() doFirst { diff --git a/buildProfiles/opensource.properties b/buildProfiles/opensource.properties index 5ff07029a..68bf1ad9a 100644 --- a/buildProfiles/opensource.properties +++ b/buildProfiles/opensource.properties @@ -1,2 +1,2 @@ -classpathLibraries = "lib/patch.jar,lib/brand.jar,lib/brand_api.jar,lib/md.jar,lib/md_api.jar,lib/md_common.jar,lib/md_common_api.jar,lib/md_common_test.jar,lib/tw_common.jar,lib/tw_common_api.jar,lib/launcher.jar,lib/activation.jar,lib/annotation.jar,lib/batik.jar,lib/bridj-0.7.0.jar,lib/bundles/ch.qos.logback.classic_1.2.3.jar,lib/bundles/ch.qos.logback.core_1.2.3.jar,lib/bundles/cmof_1.4.0.202006020804/cmof14.jar,lib/bundles/cmof_1.4.0.202006020804/tas.jar,lib/bundles/com.esotericsoftware.kryo_2.22.0.201401231130.jar,lib/bundles/com.google.guava_18.0.0.jar,lib/bundles/com.nomagic.annotations_1.0.0/com.nomagic.annotation-1.0.jar,lib/bundles/com.nomagic.ci.binary_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.metamodel.project_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.persistence.local_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.persistence_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.services_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.esi.api.messages_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.api_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.client.core_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.common_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.config_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.core.msg_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.emf_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.helper_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.net_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.serializer.akka_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.serializer_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.service.actorsystem_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.services_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.stream_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.supervisor_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.magicdraw.ce_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.core.diagram_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.core.project.options_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.core_1.0.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.esi.binary.metamodel_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.esi.esiproject_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.esi.uuidmap_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.foundation_2.0.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.osgi.fragment_1.0.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.security_18.3.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.uml2_2.5.1.202006020804.jar,lib/bundles/com.nomagic.magicdraw_17.0.5.202006020804.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.linux64_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.mac_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.win32_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.win64_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium_6.24.1.jar,lib/bundles/com.typesafe.akka.actor_2.5.10.jar,lib/bundles/com.typesafe.akka.cluster.tools_2.5.10.jar,lib/bundles/com.typesafe.akka.cluster_2.5.10.jar,lib/bundles/com.typesafe.akka.osgi_2.5.10.jar,lib/bundles/com.typesafe.akka.protobuf_2.5.10.jar,lib/bundles/com.typesafe.akka.remote_2.5.10.jar,lib/bundles/com.typesafe.akka.slf4j_2.5.10.jar,lib/bundles/com.typesafe.akka.stream_2.5.10.jar,lib/bundles/com.typesafe.config_1.3.0.jar,lib/bundles/com.typesafe.sslconfig_0.2.2.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20200602-0758/lib/truezip-driver-zip-7.4.3.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20200602-0758/lib/truezip-kernel-7.4.3.jar,lib/bundles/gnu.trove_3.0.3/lib/trove-3.0.3.jar,lib/bundles/io.aeron.client_1.7.0.jar,lib/bundles/io.aeron.driver_1.7.0.jar,lib/bundles/io.dropwizard.metrics.core_3.1.2.jar,lib/bundles/io.dropwizard.metrics.graphite_3.1.2.jar,lib/bundles/io.netty.buffer_4.1.21.Final.jar,lib/bundles/io.netty.codec_4.1.21.Final.jar,lib/bundles/io.netty.common_4.1.21.Final.jar,lib/bundles/io.netty.handler_4.1.21.Final.jar,lib/bundles/io.netty.resolver_4.1.21.Final.jar,lib/bundles/javax.jmi_1.0.0.202006020804/javax_jmi-1_0-fr.jar,lib/bundles/io.netty.transport_4.1.21.Final.jar,lib/bundles/joda-time_2.9.1.jar,lib/bundles/lz4-java_1.3.0.jar,lib/bundles/org.agrona_0.9.12.jar,lib/bundles/org.apache.commons.codec_1.9.0.v20170208-1614.jar,lib/bundles/org.apache.commons.collections_3.2.1.jar,lib/bundles/org.apache.commons.compress_1.3.0.jar,lib/bundles/org.apache.commons.io_2.4.0.jar,lib/bundles/org.apache.commons.lang_2.6.0.v201404270220.jar,lib/bundles/org.apache.commons.logging_1.1.1.v201101211721.jar,lib/bundles/org.apache.felix.scr_2.0.10.v20170501-2007.jar,lib/bundles/org.apache.httpcomponents.httpclient_4.5.3.jar,lib/bundles/org.apache.httpcomponents.httpcore_4.4.6.v20170210-0925.jar,lib/bundles/org.apache.log4j_1.2.15.v201005080500.jar,lib/bundles/org.apache.servicemix.bundles.jsr305_2.0.1.1.jar,lib/bundles/org.apiguardian_1.1.0.v20190826-0900.jar,lib/bundles/org.eclipse.core.contenttype_3.6.0.v20170207-1037.jar,lib/bundles/org.eclipse.core.jobs_3.9.2.v20171030-1027.jar,lib/bundles/org.eclipse.core.runtime_3.13.0.v20170207-1030.jar,lib/bundles/org.eclipse.emf.common_2.13.0.v20170609-0707.jar,lib/bundles/org.eclipse.emf.ecore.xmi_2.13.0.v20170609-0707.jar,lib/bundles/org.eclipse.emf.ecore_2.13.0.v20170609-0707.jar,lib/bundles/org.eclipse.equinox.app_1.3.400.v20150715-1528.jar,lib/bundles/org.eclipse.equinox.common_3.9.0.v20170207-1454.jar,lib/bundles/org.eclipse.equinox.ds_1.5.0.v20170307-1429.jar,lib/bundles/org.eclipse.equinox.preferences_3.7.0.v20170126-2132.jar,lib/bundles/org.eclipse.equinox.registry_3.7.0.v20170222-1344.jar,lib/bundles/org.eclipse.osgi.services_3.6.0.v20170228-1906.jar,lib/bundles/org.eclipse.osgi.util_3.4.0.v20170111-1608.jar,lib/bundles/org.eclipse.osgi_3.12.50.v20170928-1321.jar,lib/bundles/org.eclipse.uml2.common_1.5.0.v200905041045.jar,lib/bundles/org.hamcrest.core_1.3.0.v201303031735.jar,lib/bundles/org.jboss.netty_3.10.6.Final.jar,lib/bundles/org.json_1.0.0.255610281323.jar,lib/bundles/org.junit.jupiter.api_5.5.1.v20190826-0900.jar,lib/bundles/org.junit.jupiter.params_5.5.1.v20190826-0900.jar,lib/bundles/org.junit.platform.commons_1.5.1.v20190826-0900.jar,lib/bundles/org.junit_4.12.0.v201504281640/junit.jar,lib/bundles/org.opentest4j_1.2.0.v20190826-0900.jar,lib/bundles/org.reactivestreams.reactive-streams_1.0.2.jar,lib/bundles/org.scala-lang.modules.scala-java8-compat_0.8.0.jar,lib/bundles/org.scala-lang.modules.scala-parser-combinators_1.0.4.jar,lib/bundles/org.scala-lang.scala-library_2.12.4.v20171010-220511-VFINAL-c2a5883.jar,lib/bundles/org.uncommons.maths_1.2.2.201301151508/lib/uncommons-maths-1.2.2a.jar,lib/bundles/slf4j.api_1.7.25.jar,lib/bundles/cmof_1.4.0.201912191136/cmof14.jar,lib/bundles/cmof_1.4.0.201912191136/tas.jar,lib/bundles/com.nomagic.ci.binary_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.metamodel.project_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.persistence.local_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.persistence_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.services_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.magicdraw.ce_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.core.diagram_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.core.project.options_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.core_1.0.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.esi.binary.metamodel_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.esi.esiproject_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.esi.uuidmap_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.foundation_2.0.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.osgi.fragment_1.0.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.security_18.3.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.uml2_2.5.1.201912191136.jar,lib/bundles/com.nomagic.magicdraw_17.0.5.201912191136.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20191219-1130/lib/truezip-driver-zip-7.4.3.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20191219-1130/lib/truezip-kernel-7.4.3.jar,lib/bundles/javax.jmi_1.0.0.201912191136/javax_jmi-1_0-fr.jar,lib/com.nomagic.osgi.launcher-17.0.5-SNAPSHOT.jar,lib/commons-compress-1.3.jar,lib/commons-httpclient-3.1.jar,lib/commons-logging-1.0.4.jar,lib/concurrent.jar,lib/EccpressoAll.jar,lib/HTMLEditorLight.jar,lib/JUnitParams-1.0.1.jar,lib/ehcache-2.10.1.jar,lib/flexlm.jar,lib/graphics/clibwrapper_jiio.jar,lib/graphics/freehep-base.jar,lib/graphics/freehep-graphics2d.jar,lib/graphics/freehep-graphicsio-emf.jar,lib/graphics/freehep-graphicsio-ps.jar,lib/graphics/freehep-graphicsio.jar,lib/graphics/jai_imageio.jar,lib/gson-2.2.4.jar,lib/hunspell-bridj-1.0.5-SNAPSHOT.jar,lib/javassist.jar,lib/jhall.jar,lib/jide-action.jar,lib/jide-charts.jar,lib/jide-common.jar,lib/jide-components.jar,lib/jide-diff.jar,lib/jide-dock.jar,lib/jide-editor.jar,lib/jide-gantt.jar,lib/jide-grids.jar,lib/jide-shortcut.jar,lib/jimi.jar,lib/jna.jar,lib/jnp-client.jar,lib/jsr250-api-1.0.jar,lib/jsr305.jar,lib/jtidy.jar,lib/lucene-analyzers-common-7.5.0.jar,lib/lucene-core-7.5.0.jar,lib/lucene-misc-7.5.0.jar,lib/poi-3.14-20160307.jar,lib/poi-ooxml-3.14-20160307.jar,lib/poi-ooxml-schemas-3.14-20160307.jar,lib/webservice/axis-config.jar,lib/webservice/axis.jar,lib/webservice/commons-discovery-0.2.jar,lib/webservice/jaxrpc.jar,lib/webservice/mdserviceclient.jar,lib/webservice/rsclient.jar,lib/webservice/wsdl4j-1.5.1.jar,lib/xalan.jar,lib/xmlbeans-2.6.0.jar,lib/y.jar" -repositories = [{"type": "ivy", "url": "http://download1.nomagic.com/", "layoutPattern": "/[module][revision]/[classifier].[ext]"}] \ No newline at end of file +classpathLibraries = lib/classpath.jar +repositories = [{"type": "ivy", "url": "http://download1.nomagic.com/", "layoutPattern": "/[module][revision]/[classifier].[ext]"}] diff --git a/gradle.properties b/gradle.properties index 7710ce00b..a2c7f2daa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ -version=5.1.3 +version=6.0.0 group=org.openmbee.mdk.magic descriptorFile=MDR_Plugin_Model_Development_Kit_91110_descriptor.xml -magicdDrawGroupName=gov.nasa.jpl.cae.magicdraw.mdk +magicdDrawGroupName=org.openmbee.mdk # Add the following secrets via project properties, as applicable. Options include in ~/.gradle/gradle.properties file, # environment variables, or command line arguments, ref: diff --git a/src/main/dist/DocGenUserScripts/FrameworkValidation/CreateCustomizationsForStereotypes.py b/src/main/dist/DocGenUserScripts/FrameworkValidation/CreateCustomizationsForStereotypes.py deleted file mode 100644 index 227c43527..000000000 --- a/src/main/dist/DocGenUserScripts/FrameworkValidation/CreateCustomizationsForStereotypes.py +++ /dev/null @@ -1,229 +0,0 @@ -''' -Created on Sep 26, 2011 - -@author: efosse -''' -from java.lang import * -from com.nomagic.magicdraw.uml.symbols import * -from com.nomagic.magicdraw.core import Application -from com.nomagic.uml2.ext.jmi.helpers import StereotypesHelper -from com.nomagic.magicdraw.openapi.uml import ModelElementsManager -from com.nomagic.magicdraw.ui.dialogs import * -from com.nomagic.uml2.ext.magicdraw.mdprofiles import Stereotype, Profile -from com.nomagic.uml2.ext.magicdraw.classes.mdkernel import * -from com.nomagic.uml2.ext.magicdraw.classes.mddependencies import * -from com.nomagic.uml2.ext.magicdraw.classes.mdinterfaces import * -from com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions import * -from com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities import * -from com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities import * -from com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdinformationflows import * -from com.nomagic.uml2.ext.magicdraw.compositestructures.mdports import * -from com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdsimpletime import * - -import ProfileValidation as VP -reload(VP) - -mem = ModelElementsManager.getInstance() -gl = Application.getInstance().getGUILog() -project = Application.getInstance().getProject() -ef = project.getElementsFactory() -classmeta = StereotypesHelper.getProfileForStereotype - -def createCustomizationsForStereotypes(modelPackage, validateOnly): -###Checks for: -###stereotypes with no customizations (stereotypesNoCustomizations) -###customizations with no supertype (noType) -###customizations with multiple supertypes (multTypes) -###customizations with no target (noCustTargs) -###customizations with multiple targets (multCust) -###customization name/target name mismatch (stereotypesCustNameMisMatch) -###customization name/type name mismatch (elementCustNameMisMatch) - newcust = 0 - bummer = 0 - bummerType =[] -###get packages - if not isinstance(modelPackage, Profile): - profilePackage = VP.getProfilePackage(modelPackage) - if not profilePackage: - gl.log('***ERROR: The code is not being run on a Profile. Stopping Execution***') - return - else: - profilePackage = modelPackage - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - if not infraPack: - sterPack = filter(lambda element: isinstance(element, Package) and "_Stereotypes" in element.getName(), profilePackage.getOwnedElement()) - if sterPack: sterPack = sterPack[0] - else: return['no stereotypes package'] - else: infraPack = infraPack[0] - stereotypePackage = filter(lambda element: isinstance(element, Package) and "_Stereotypes" in element.getName(),infraPack.getOwnedElement())[0] - customPackage = filter(lambda element: isinstance(element, Package) and element.getName() == "_Customizations", infraPack.getOwnedElement())[0] - allElements = VP.getEverything(profilePackage) -###Validation - Customizations = filter(lambda element: StereotypesHelper.hasStereotype(element, "Customization"), allElements) - Stereotypes = filter(lambda element: isinstance(element, Stereotype) and element.getOwner() == stereotypePackage, allElements) - Stereotypes = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Dependency") not in StereotypesHelper.getBaseClasses(element), Stereotypes) - Stereotypes = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Association") not in StereotypesHelper.getBaseClasses(element), Stereotypes) - Stereotypes = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Property") not in StereotypesHelper.getBaseClasses(element), Stereotypes) - Stereotypes = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Port") not in StereotypesHelper.getBaseClasses(element), Stereotypes) - els = VP.getElements(allElements, profilePackage) - custSter = StereotypesHelper.getStereotype(project, "Customization") - custTypeNames =[] - multCust =[] - multTypes=[] - custTargsName=[] - custNames=[] - custTypes=[] - cignore=[] - noCustTargs=[] - noType=[] - for c in Customizations: - if "part property" in c.getName() or "port" in c.getName(): - mem.removeElement(c) - else: - custNames.append(c.getName()) - custTarg = StereotypesHelper.getStereotypePropertyValue(c, custSter, "customizationTarget") - if len(custTarg)>0: - if len(custTarg)>1:multCust.append(c) - custTargsName.append(StereotypesHelper.getStereotypePropertyValue(c, custSter, "customizationTarget")[0].getName()) - else: - cignore.append(c) - noCustTargs.append(c) - gl.log('[ERROR] No customization target = ' +c.getName()) - custType = StereotypesHelper.getStereotypePropertyValue(c, custSter, "superTypes") - if len(custType)>0: - if len(custType)>1:multTypes.append(c) - custTypes.extend(StereotypesHelper.getStereotypePropertyValue(c, custSter, "superTypes")) - custTypeNames.append(StereotypesHelper.getStereotypePropertyValue(c, custSter, "superTypes")[0].getName()) - else: - noType.append(c) - gl.log('[ERROR] No customization type = ' + c. getName()) - stereotypesNoCustomizations = filter(lambda element: element.getName() not in custTargsName, Stereotypes) - stereotypesNoCustomizations = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Association") not in StereotypesHelper.getBaseClasses(element), stereotypesNoCustomizations) - stereotypesCustNameMisMatch = filter(lambda element: element.getName() not in custNames, Stereotypes) - stereotypesCustNameMisMatch = filter(lambda element: element not in stereotypesNoCustomizations, stereotypesCustNameMisMatch) - elementCustNameMisMatch = filter(lambda element: element.getName() not in custNames, custTypes) -###Fixes - if validateOnly!=True: -###stereotypes with no customizations->Fix: create customization, assign target, superType(if possible), and hide metatype - multName=[] - for s in stereotypesNoCustomizations: - if s.getName() not in custNames: - gl.log('[FIX]: created customization: '+ s.getName()) - newCust = VP.createCustomization(s.getName(), customPackage) - newcust+=1 -######assign customization tags - sMeta = StereotypesHelper.getBaseClasses(s) - if len(sMeta)>1: - gl.log('\t [FIX ERROR]: stereotype has multiple metaclasses. No customization tags assigned. Modeler must rectify.') - bummer+=1 - else: - sMC = StereotypesHelper.getClassOfMetaClass(sMeta[0]) - sMCer = Classifier.isAssignableFrom(sMC) - if sMCer == True: - base = filter(lambda element: element.getName() == s.getName(), els) - if len(base)>0: base = base[0] - else: - base = False - bummerType.append(newCust) - VP.assignCustomizationTags(s, newCust, base) - else: - bummerType.append(newCust) - VP.assignCustomizationTags(s, newCust, False) - else: - gl.log('[FIX ERROR]: Unable to create customization for stereotype '+ s.getName() + '. Customization already exists with that name') - multName.append(s) -###stereotype-customization name mismatch->Fix: change name of customization to match name of stereotype if supertype name doesn't match as well. else keep flagged - fixSterCustMis=[] - for s in stereotypesCustNameMisMatch: - sterCust = filter(lambda element: s in StereotypesHelper.getStereotypePropertyValue(element, custSter, "customizationTarget"), Customizations) - cusType = StereotypesHelper.getStereotypePropertyValue(sterCust[0], custSter, "superTypes") - if custType: - if sterCust[0].getName() != custType[0].getName(): - sterCust[0].setName(s.getName()) - gl.log('[FIX]:Changed name of customization to match name of customizationTarget: ' + sterCust[0].getName()) - else: - gl.log('[FIX ERROR]: Unable to change name of customization to match name of customizationTarget since customization name matches superType name: ' + sterCust[0].getName()) - fixSterCustMis.append(sterCust[0]) -###element-customization name mismatch->Fix: change name of customization to match name of element - fixElCustMis=[] - for e in elementCustNameMisMatch: - eCust = filter(lambda element: e in StereotypesHelper.getStereotypePropertyValue(element, custSter, "superTypes"), Customizations) - eTarg = StereotypesHelper.getStereotypePropertyValue(eCust[0], custSter, "customizationTarget") - if eTarg: - if eCust[0].getName() != eTarg[0].getName(): - eCust[0].setName(e.getName()) - gl.log('[FIX]: Changed name of customization to match name of superType: '+ eCust[0].getName()) - else: - gl.log('[FIX ERROR]: Unable to change name of customization to match name of superType since customization name matches customization target name: ' + eCust[0].getName()) - fixElCustMis.append(eCust[0]) -###multiple customization targets->Fix: if a target matches name of customization, delete all others. Else delete them all & flag customization - fixNoCustTarg=[] - for c in multCust: - cTargs= StereotypesHelper.getStereotypePropertyValue(c, custSter, "customizationTarget") - targetSlot = StereotypesHelper.getSlot(c, custSter, "customizationTarget", False, False) - for t in filter(lambda element: element.getName() != c.getName(), cTargs): - StereotypesHelper.removeSlotValue(targetSlot, t) - gl.log('[FIX]: Removing customizationTarget(s) with names not matching customization name: '+ c.getName()) - if len(StereotypesHelper.getStereotypePropertyValue(c, custSter, "customizationTarget"))==0: - fixNoCustTarg.append(c) - gl.log('[FIX ERROR]: Customization now has no target: '+ c.getName()) -###multiple customization types->Fix: if a type matches name of customization, delete all other. Else delete them all & flag customization - fixNoCustType=[] - for c in multTypes: - cTypes = StereotypesHelper.getStereotypePropertyValue(c, custSter, "superTypes") - typeSlot = StereotypesHelper.getSlot(c, custSter, "superTypes", False, False) - for t in filter(lambda element: element.getName() != c.getName(), cTypes): - StereotypesHelper.removeSlotValue(typeSlot, t) - gl.log('[FIX]: Removing superType(s) with names not matching customization name: '+ c.getName()) - if len(StereotypesHelper.getStereotypePropertyValue(c, custSter, "superTypes"))==0: - fixNoCustType.append(c) - gl.log('[FIX ERROR]: Customization now has no superType: '+ c.getName()) -###no customization target->Fix: if a stereotype matches with same name and is not assigned to another customization, assign as target, else keep flagged - fixNoTargsMult=[] - fixNoTargs=[] - for c in noCustTargs: - custSters = filter(lambda element: element.getName() == c.getName(), Stereotypes) - if custSters and c.getName() not in custTargsName: - StereotypesHelper.setStereotypePropertyValue(c, custSter, "customizationTarget", custSters[0]) - gl.log('[FIX]: Setting customization target for '+ c.getName() +" to " + custSters[0].getName()) - elif custSters and c.getName() in custTargsName: - fixNoTargsMult.append(c) - gl.log('[FIX ERROR]: Another customization already has stereotype of same customization name as target. No target applied for '+ c.getName()) - else: - fixNoTargs.append(c) - gl.log('[FIX ERROR]: No stereotype exists with same name as customization. No target applied for ' + c.getName()) -###no customization type->Fix: if an element matches with same name and is not assigned to another customizaiton assign as type, else keep flagged - fixNoTypeMult=[] - fixNoType=[] - for c in noType: - custEl = filter(lambda element: element.getName() == c.getName(), els) - if custEl and c.getName() not in custTypeNames: - StereotypesHelper.setStereotypePropertyValue(c, custSter, "superTypes", custEl[0]) - gl.log('[FIX]: Setting customization superType for '+c.getName() +" to "+ custEl[0].getName()) - elif custEl and c.getName() in custTypeNames: - fixNoTypeMult.append(c) - gl.log('[FIX ERROR]: Another customization already has this element as its superType. No superType applied for ' + c.getName()) - else: - fixNoType.append(c) - gl.log('[FIX ERROR]: No base element exists with same name as customization. Not superType applied for '+ c.getName()) -###Message Logs - gl.log('SUMMARY') - if validateOnly != True: - gl.log('Customizations created = ' + str(newcust)) - gl.log('Customization FIX ERRORS(Modeler must fix)(See Messages Log):') - gl.log('\t No tags assigned. Stereotype has multiple metaclasses = '+str(bummer)) - gl.log('\t Customization not created. Customization with same name already exists = '+str(len(multName))) - gl.log('\t Customization name not changed. Name already matches Type, wont change to match Target = '+str(len(fixSterCustMis))) - gl.log('\t Customization name not changed. Name already matches Target, wont change to match Type = '+str(len(fixElCustMis))) - gl.log('\t Customizations with no Target = '+str(len(fixNoCustTarg))) - gl.log('\t Customizations with No Type = '+str(len(fixNoCustType))) - gl.log('\t Customization Target not assigned. Another customization already exists with the given Target = '+str(len(fixNoTargsMult))) - gl.log('\t Customization Target not assigned. No stereotype with matching name exists = '+str(len(fixNoTargs))) - gl.log('\t Customization Type not assigned. Another customization already exists with the given Type = '+str(len(fixNoTypeMult))) - gl.log('\t Customization Type not assigned. No element with matching name exists = '+str(len(fixNoType))) -#### - return [stereotypesNoCustomizations, stereotypesCustNameMisMatch, multCust, noCustTargs, noType, multTypes, elementCustNameMisMatch] - - - -scriptOutput = '***Creation Complete***' \ No newline at end of file diff --git a/src/main/dist/DocGenUserScripts/FrameworkValidation/DeprecateStereotypes.py b/src/main/dist/DocGenUserScripts/FrameworkValidation/DeprecateStereotypes.py deleted file mode 100644 index 75db0ee5c..000000000 --- a/src/main/dist/DocGenUserScripts/FrameworkValidation/DeprecateStereotypes.py +++ /dev/null @@ -1,157 +0,0 @@ -''' -Created on Sep 20, 2011 - -@author: efosse -''' -from java.lang import * -from com.nomagic.magicdraw.uml.symbols import * -from com.nomagic.magicdraw.core import Application -from com.nomagic.uml2.ext.jmi.helpers import StereotypesHelper -from com.nomagic.magicdraw.openapi.uml import SessionManager -from com.nomagic.magicdraw.openapi.uml import ModelElementsManager -from com.nomagic.magicdraw.ui.dialogs import * -from com.nomagic.uml2.ext.magicdraw.mdprofiles import Stereotype, Profile -from com.nomagic.uml2.ext.magicdraw.classes.mdkernel import * -from com.nomagic.uml2.ext.magicdraw.classes.mddependencies import * -from com.nomagic.uml2.ext.magicdraw.classes.mdinterfaces import * -from com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions import * -from com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities import * -from com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities import * -from com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdinformationflows import * -from com.nomagic.uml2.ext.magicdraw.compositestructures.mdports import * -from com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdsimpletime import * - -import traceback - -import ProfileValidation as VP -reload(VP) - -gl = Application.getInstance().getGUILog() -project = Application.getInstance().getProject() -ef = project.getElementsFactory() -mem = ModelElementsManager.getInstance() -sysmlProf=StereotypesHelper.getProfile(project,"SysML") -sysmlSt=StereotypesHelper.getStereotypesByProfile(sysmlProf) - - - - -def deprecateStereotypes(modelPackage, validateOnly): - if not isinstance(modelPackage, Profile): - profilePackage = VP.getProfilePackage(modelPackage) - if not profilePackage: - gl.log('***ERROR: The code is not being run on a Profile. Stopping Execution***') - return - else: - profilePackage = modelPackage - energon = filter(lambda element: isinstance(element, Package) and element.getName() == "_Energon", profilePackage.getOwnedElement()) -# if energon: -# energon = energon[0] -# energon = filter(lambda element: isinstance(element, Package) and element.getName() =="_Stereotypes", energon.getOwnedElement())[0] -# else: -# gl.log("INFORMATION: Energon Package not present.") -# gl.log('**FIX: Deprecating Stereotypes') - allElements = VP.getEverything(modelPackage) - allCustomizations = filter(lambda element: StereotypesHelper.hasStereotype(element, "Customization"), allElements) - unusedSterPack = filter(lambda element: isinstance(element, Package) and "_Deprecated Stereotypes" in element.getName(), profilePackage.getOwnedElement()) - if not unusedSterPack: - underscore = filter(lambda element: isinstance(element, Package) and "_" == element.getName(), profilePackage.getOwnedElement()) - if underscore: unusedSterPack = filter(lambda element: isinstance(element, Package) and "_Deprecated Stereotypes" in element.getName(), underscore[0].getOwnedElement())[0] - else: return['no deprecated package'] - else: unusedSterPack = unusedSterPack[0] - - '''find unused stereotypes''' - baseClass = filter(lambda element: isinstance(element, NamedElement), allElements) - baseClass = filter(lambda element:"_Stereotypes" not in element.getName() or "_Customizations" not in element.getName() or "_Deprecated Stereotypes" not in element.getName(), baseClass) - baseClass = filter(lambda element: not StereotypesHelper.hasStereotype(element, "Customization"), baseClass) - if profilePackage != modelPackage: - baseClass.append(modelPackage) - baseClass = VP.flatten(baseClass) - properties = filter(lambda element: isinstance(element, Property) and element.getName() != "", baseClass) - '''Validate Package Org: all stereotypes in one top level stereotypes package; all customizations in one top level customizations package.''' - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - stereotypeIpack =[] - customIpack = [] - userScriptsIpack=[] - if len(infraPack)!=0: - infraPack = infraPack[0] - stereotypeIpack = filter(lambda element: isinstance(element, Package) and "_Stereotypes" in element.getName(), infraPack.getOwnedElement()) - customIpack = filter(lambda element: isinstance(element, Package) and "_Customizations" in element.getName(), infraPack.getOwnedElement()) - userScriptsIpack = filter(lambda element: isinstance(element, Package) and "_UserScripts" in element.getName(), infraPack.getOwnedElement()) - stereotypePackage = filter(lambda element: isinstance(element, Package) and "_Stereotypes" in element.getName(), profilePackage.getOwnedElement()) - customPackage = filter(lambda element: isinstance(element, Package) and "_Customizations" in element.getName(), profilePackage.getOwnedElement()) - userScriptsPack = filter(lambda element: isinstance(element, Package) and "_UserScripts" in element.getName(), profilePackage.getOwnedElement()) - if not stereotypePackage: - if len(stereotypeIpack)>0: stereotypePackage = stereotypeIpack[0] - else: - gl.log('======No Stereotype Package Exists for This Profile! All stereotypes are in the wrong place. Stopping Execution; Run Validate Location set to "fix"======') - return ['no stereotype Package'] - else: - stereotypePackage = stereotypePackage[0] - if not customPackage: - if len(customIpack)>0: customPackage = customIpack[0] - elif len(customIpack)==0: - gl.log('======No Customization Package Exists for This Profile! All customizations are in the wrong place. Stopping Execution; Run Validation Location set to "fix"======') - return ['no customization Package'] - else: - customPackage = customPackage[0] - if not userScriptsPack: - if len(userScriptsIpack)>0: userScriptsPack = userScriptsIpack[0] - elif len(userScriptsIpack)==0: gl.log('=======Warning! No UserScripts Package Exists for this Profile.') - appliedStereotypes = StereotypesHelper.getAllAssignedStereotypes(baseClass) - unassignedStereotypes = filter(lambda element: element not in appliedStereotypes, filter(lambda element: isinstance(element, Stereotype), stereotypePackage.getOwnedElement())) - if not userScriptsPack: - unassignedStereotypes = filter(lambda element: element.getOwner() != userScriptsPack, unassignedStereotypes) - for u in unassignedStereotypes: - if validateOnly != True: - gl.log('FIX: moving '+ u.getQualifiedName() + ' to deprecated stereotypes package') - depr = u.getName().find("zz") - if depr == -1: - u.setName("zz"+u.getName()) - u.setOwner(unusedSterPack) - gl.log("Number of stereotypes in profile not being applied in base class: " + str(len(unassignedStereotypes))) - if validateOnly!= True: - killCust(unusedSterPack, customPackage) - gl.log('======Deprecate Stereotypes Summary') - if not stereotypePackage: - gl.log('*WARNING: No Stereotype Package Exists for This Profile! All stereotypes are in the wrong place*') - - if not customPackage: - gl.log('*WARNING: No Customization Package Exists for This Profile! All stereotypes are in the wrong place*') - gl.log("======Deprecation Summary=======") - gl.log(str(len(unassignedStereotypes)) + ' stereotypes have no matching element. They were moved to unused stereotypes package, customizations deleted') - gl.log("***Deprecation Complete***") - return unassignedStereotypes - -def killCust(unusedSterPack, customPackage): - for u in filter(lambda element: isinstance(element, Stereotype), unusedSterPack.getOwnedElement()): - gl.log('removing generalizations and associations for: ' + u.getName()) - gens = filter(lambda element: isinstance(element, Generalization) or isinstance(element, Association), u.getOwnedElement()) - killGen(gens) - deprCust = filter(lambda element: element.getName() == u.getName()[2:], filter(lambda element: isinstance(element, NamedElement),customPackage.getOwnedElement())) - if deprCust: - gl.log('remove customization for: ' + u.getName()) - mem.removeElement(deprCust[0]) - return - -def killGen(owned): - for o in owned: - mem.removeElement(o) - - - -def run(mode): - if mode == 'b': - selected = Application.getInstance().getMainFrame().getBrowser().getActiveTree().getSelectedNode().getUserObject() - try: - SessionManager.getInstance().createSession("syncProfile") - deprecateStereotypes(selected) - SessionManager.getInstance().closeSession() - except: - if SessionManager.getInstance().isSessionCreated(): - SessionManager.getInstance().cancelSession() - exceptionType, exceptionValue, exceptionTraceback = sys.exc_info() - gl.log("*** EXCEPTION:") - messages=traceback.format_exception(exceptionType, exceptionValue, exceptionTraceback) - for message in messages: - gl.log(message) \ No newline at end of file diff --git a/src/main/dist/DocGenUserScripts/FrameworkValidation/Profile.py b/src/main/dist/DocGenUserScripts/FrameworkValidation/Profile.py deleted file mode 100644 index 87e4304fc..000000000 --- a/src/main/dist/DocGenUserScripts/FrameworkValidation/Profile.py +++ /dev/null @@ -1,285 +0,0 @@ -''' -Created on Sep 20, 2011 - -@author: efosse -''' -from java.lang import * -from com.nomagic.magicdraw.uml.symbols import * -from com.nomagic.magicdraw.core import Application -from com.nomagic.magicdraw.ui.dialogs import * -from com.nomagic.uml2.ext.magicdraw.classes.mdkernel import * -from com.nomagic.uml2.ext.magicdraw.classes.mddependencies import * -from com.nomagic.uml2.ext.magicdraw.classes.mdinterfaces import * -from com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions import * -from com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities import * -from com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities import * -from com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdinformationflows import * -from com.nomagic.uml2.ext.magicdraw.compositestructures.mdports import * -from com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdsimpletime import * -from gov.nasa.jpl.mbee.mdk.validation import ValidationRule -from gov.nasa.jpl.mbee.mdk.validation import ValidationSuite -from gov.nasa.jpl.mbee.mdk.validation import ViolationSeverity - -from gov.nasa.jpl.mbee.mdk.docgen.docbook import DBParagraph - -import ProfileValidation as PV -reload(PV) -import CreateCustomizationsForStereotypes as CCS -reload(CCS) -import DeprecateStereotypes as DS -reload(DS) - -gl = Application.getInstance().getGUILog() -project = Application.getInstance().getProject() - - -###Grab Inputs from User Script### -si = {} -options = ['validateLocation', 'stereotypesForClassifiers', 'stereotypesForProperties', 'stereotypesForOperations','stereotypesForPackages', 'stereotypesForDependencies', 'stereotypesForMisc', 'stereotypeMetaClassCheck','stereotypeSysMLGeneralizationCheck','localGeneralizations', 'customizations','deprecateStereotypes'] -for o in options: si[o]='ignore' - -if len(scriptInput['validationTarget'])>0: - target = scriptInput['validationTarget'][0] -elif len(scriptInput['DocGenTargets'])>0: - target = scriptInput['DocGenTargets'][0] -else: - gl.log("**ERROR** No Target Provided!") - output =[] -if len(scriptInput['validateLocation'])>0: - if scriptInput['validateLocation'][0].getName() =='validate': Location = PV.validateLocation(target, True, scriptInput['ignorePackage']) - elif scriptInput['validateLocation'][0].getName() == 'fix': Location = PV.validateLocation(target, False, scriptInput['ignorePackage']) - si['validateLocation']=scriptInput['validateLocation'][0].getName() -if len(scriptInput['stereotypesForClassifiers'])>0: - if scriptInput['stereotypesForClassifiers'][0].getName()=='validate': sterClass = PV.stereotypesForElements(target, True, Classifier, scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - elif scriptInput['stereotypesForClassifiers'][0].getName()=='fix': sterClass = PV.stereotypesForElements(target, False, Classifier, scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - si['stereotypesForClassifiers']=scriptInput['stereotypesForClassifiers'][0].getName() -if len(scriptInput['stereotypesForProperties'])>0: - if scriptInput['stereotypesForProperties'][0].getName()=='validate': sterProp = PV.stereotypesForElements(target, True, Property,scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - elif scriptInput['stereotypesForProperties'][0].getName()=='fix': sterProp = PV.stereotypesForElements(target, False, Property,scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - si['stereotypesForProperties']=scriptInput['stereotypesForProperties'][0].getName() -if len(scriptInput['stereotypesForOperations'])>0: - if scriptInput['stereotypesForOperations'][0].getName()=='validate': sterOp = PV.stereotypesForElements(target, True, Operation,scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - elif scriptInput['stereotypesForOperations'][0].getName()=='fix': sterOp= PV.stereotypesForElements(target, False, Operation,scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - si['stereotypesForOperations']=scriptInput['stereotypesForOperations'][0].getName() -if len(scriptInput['stereotypesForPackages'])>0: - if scriptInput['stereotypesForPackages'][0].getName()=='validate': sterPack = PV.stereotypesForElements(target, True, Package,scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - elif scriptInput['stereotypesForPackages'][0].getName()=='fix': sterPack = PV.stereotypesForElements(target, False, Package,scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - si['stereotypesForPackages']=scriptInput['stereotypesForPackages'][0].getName() -if len(scriptInput['stereotypesForDependencies'])>0: - if scriptInput['stereotypesForDependencies'][0].getName() =='validate': sterDep = PV.stereotypesForElements(target, True, Dependency, scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - elif scriptInput['stereotypesForDependencies'][0].getName() == 'fix': sterDep = PV.stereotypesForElements(target, False, Dependency, scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - si['stereotypesForDependencies']=scriptInput['stereotypesForDependencies'][0].getName() -if len(scriptInput['stereotypesForMisc'])>0: - if scriptInput['stereotypesForMisc'][0].getName()=='validate': sterM = PV.stereotypesForElements(target, True, 'Misc', scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - elif scriptInput['stereotypesForMisc'][0].getName()=='fix': sterM = PV.stereotypesForElements(target, False, 'Misc', scriptInput['ignoreStereotype'], scriptInput['ignorePackage']) - si['stereotypesForMisc']=scriptInput['stereotypesForMisc'][0].getName() -if len(scriptInput['deprecateStereotypes'])>0: - if scriptInput['deprecateStereotypes'][0].getName() =='validate': depSter = DS.deprecateStereotypes(target, True) - elif scriptInput['deprecateStereotypes'][0].getName()=='fix': depSter = DS.deprecateStereotypes(target, False) - si['deprecateStereotypes']=scriptInput['deprecateStereotypes'][0].getName() -if len(scriptInput['customizations'])>0: - if scriptInput['customizations'][0].getName()=='validate': cust = CCS.createCustomizationsForStereotypes(target, True) - elif scriptInput['customizations'][0].getName()=='fix': cust = CCS.createCustomizationsForStereotypes(target, False) - si['customizations']=scriptInput['customizations'][0].getName() -if len(scriptInput['stereotypeMetaClassCheck'])>0: - if scriptInput['stereotypeMetaClassCheck'][0].getName()=='validate': meta = PV.metaclassCheck(target, True) - elif scriptInput['stereotypeMetaClassCheck'][0].getName() == 'fix': meta = PV.metaclassCheck(target, False) - si['stereotypeMetaClassCheck']=scriptInput['stereotypeMetaClassCheck'][0].getName() -if len(scriptInput['stereotypeSysMLGeneralizationCheck'])>0: - if scriptInput['stereotypeSysMLGeneralizationCheck'][0].getName()=='validate': gen = PV.stereotypeGenCheck(target, True) - elif scriptInput['stereotypeSysMLGeneralizationCheck'][0].getName()=='fix': gen = PV.stereotypeGenCheck(target, False) - si['stereotypeSysMLGeneralizationCheck']=scriptInput['stereotypeSysMLGeneralizationCheck'][0].getName() -if len(scriptInput['localGeneralizations'])>0: - if scriptInput['localGeneralizations'][0].getName()=='validate': localGen = PV.localGeneralizations(target, True, False, scriptInput['ignoreStereotype']) - elif scriptInput['localGeneralizations'][0].getName()=='fix': localGen = PV.localGeneralizations(target, False, False, scriptInput['ignoreStereotype']) - si['localGeneralizations']=scriptInput['localGeneralizations'][0].getName() - -#declare validation suite -profvs = ValidationSuite("ProfileValidation") -if si['validateLocation']!='ignore': - #declare validationLocation rules - sterLoc = ValidationRule("Stereotypes Location", "All stereotypes should be owned by a package with '_Stereotypes' in its name", ViolationSeverity.ERROR) - profvs.addValidationRule(sterLoc) - custLoc = ValidationRule("Customizations Location","All customizations should be owned by a package with '_Customizations' in its name", ViolationSeverity.ERROR) - profvs.addValidationRule(custLoc) - packExist = ValidationRule("Packages Exist", "A package named '_' should exist as a child of the profile and packages with '_Stereotypes' and '_Customizations' in their names should exist as children of '_' package", ViolationSeverity.ERROR) - profvs.addValidationRule(packExist) - profExist = ValidationRule("Executed on Profile", "The input to the viewpoint should be nested within a Profile", ViolationSeverity.ERROR) - profvs.addValidationRule(profExist) - depExist = ValidationRule("_Deprecated Stereotypes Package Exists", "A package with '_Deprecated Stereotypes' in its name exists and is owned by '_' Package", ViolationSeverity.WARNING) - profvs.addValidationRule(depExist) - ###collect validateLocation errors - if len(Location)==1: - if 'ignore' not in Location: - if '_' in Location[0]: profExist.addViolation(target, "No '_' Package") - if 'Profile' in Location[0]: packExist.addViolation(target, "Execution Stopped") - elif len(Location)==3: - if not isinstance(Location[0], Package): - if 'wrong' not in Location[0][0]: packExist.addViolation(target, "No '_Stereotypes' Package") - else: packExist.addViolation(target, "'_Stereotypes Package' not owned by '_' Package") - if not isinstance(Location[1], Package): - if 'wrong' not in Location[1][0]: packExist.addViolation(target, "No '_Customizations' Package") - else: packExist.addViolation(target, "'_Customizations' Package not owned by '_' Package") - if not isinstance(Location[2], Package): - if 'wrong' not in Location[2][0]: depExist.addViolation(target, "No '_Deprecated Stereotypes' Package") - else: depExist.addViolation(target, "'_Deprecated Stereotypes' Package not owned by '_' Package") - else: - if not Location[0]: packExist.addViolation(target, "No '_Stereotypes' Package") - if not Location[1]: depExist.addViolation(target, "No '_Deprecated Stereotypes' Package") - if not Location[2]: packExist.addViolation(target, "No '_Customizations' Package") - for s in Location[3]: sterLoc.addViolation(s, "") - for c in Location[4]: custLoc.addViolation(c, "") - -if si['stereotypesForClassifiers']!= 'ignore': - noSterClass = ValidationRule("Classifier Stereotype Missing", "There is no stereotype name that matches classifier name", ViolationSeverity.ERROR) - profvs.addValidationRule(noSterClass) - wrongMetaClass=ValidationRule("Conflicting Classifier Metaclass", "Stereotype metaclass and element type does not match", ViolationSeverity.ERROR) - profvs.addValidationRule(wrongMetaClass) - applySterClass = ValidationRule("Stereotype Can Be Applied to a Classifier", "A stereotype exists with the same name as the classifier", ViolationSeverity.ERROR) - profvs.addValidationRule(applySterClass) - ###collect errors - for s in sterClass[0]:noSterClass.addViolation(s, s.getName()) -# for c in sterClass[1]:wrongSter.addViolation(c, c.getName()) - for d in sterClass[2]:wrongMetaClass.addViolation(d, "Stereotype Metaclass") - for e in sterClass[3]:applySterClass.addViolation(e, e.getName()) -if si['stereotypesForProperties']!='ignore': - noSterProp = ValidationRule("Property Stereotype Missing", "There is no stereotype name that matches property name", ViolationSeverity.ERROR) - profvs.addValidationRule(noSterProp) - wrongMetaProp=ValidationRule("Conflicting Property Metaclass", "Stereotype metaclass and element type does not match", ViolationSeverity.ERROR) - profvs.addValidationRule(wrongMetaProp) - applySterProp = ValidationRule("Stereotype Can Be Applied to a Property", "A stereotype exists with the same name as the property", ViolationSeverity.ERROR) - profvs.addValidationRule(applySterProp) - ###collect errors - for s in sterProp[0]:noSterProp.addViolation(s, "") -# for c in sterClass[1]:wrongSter.addViolation(c, c.getName()) - for d in sterProp[2]:wrongMetaProp.addViolation(d, "Stereotype Metaclass") - for e in sterProp[3]:applySterProp.addViolation(e, e.getName()) -if si['stereotypesForOperations']!='ignore': - noSterOp = ValidationRule("Operation Stereotype Missing", "There is no stereotype name that matches operation name", ViolationSeverity.ERROR) - profvs.addValidationRule(noSterOp) - wrongMetaOp=ValidationRule("Conflicting Operation Metaclass", "Stereotype metaclass and element type does not match", ViolationSeverity.ERROR) - profvs.addValidationRule(wrongMetaOp) - applySterOp = ValidationRule("Stereotype Can Be Applied to a Operation", "A stereotype exists with the same name as the operation", ViolationSeverity.ERROR) - profvs.addValidationRule(applySterOp) - for s in sterOp[0]:noSterOp.addViolation(s, s.getName()) -# for c in sterClass[1]:wrongSter.addViolation(c, c.getName()) - for d in sterOp[2]:wrongMetaOp.addViolation(d, "Stereotype Metaclass") - for e in sterOp[3]:applySterOp.addViolation(e, e.getName()) -if si['stereotypesForPackages']!='ignore': - noSterPack = ValidationRule("Package Stereotype Missing", "There is no stereotype name that matches package name", ViolationSeverity.ERROR) - profvs.addValidationRule(noSterPack) - wrongMetaPack=ValidationRule("Conflicting Package Metaclass", "Stereotype metaclass and element type does not match", ViolationSeverity.ERROR) - profvs.addValidationRule(wrongMetaPack) - applySterPack = ValidationRule("Stereotype Can Be Applied to a Package", "A stereotype exists with the same name as the package", ViolationSeverity.ERROR) - profvs.addValidationRule(applySterPack) - for s in sterPack[0]:noSterPack.addViolation(s, s.getName()) -# for c in sterClass[1]:wrongSter.addViolation(c, c.getName()) - for d in sterPack[2]:wrongMetaPack.addViolation(d, "") - for e in sterPack[3]:applySterPack.addViolation(e, e.getName()) -if si['stereotypesForDependencies']!='ignore': - noSterDep = ValidationRule("Dependency Stereotype Missing", "There is no stereotype name that matches package name", ViolationSeverity.ERROR) - profvs.addValidationRule(noSterDep) - wrongMetaDep=ValidationRule("Conflicting Dependency Metaclass", "Stereotype metaclass and element type does not match", ViolationSeverity.ERROR) - profvs.addValidationRule(wrongMetaDep) - applySterDep = ValidationRule("Stereotype Can Be Applied to a Dependency", "A stereotype exists with the same name as the dependency", ViolationSeverity.ERROR) - profvs.addValidationRule(applySterDep) - for s in sterDep[0]:noSterDep.addViolation(s, s.getName()) -# for c in sterClass[1]:wrongSter.addViolation(c, c.getName()) - for d in sterDep[2]:wrongMetaDep.addViolation(d, "Stereotype Metaclass") - for e in sterDep[3]:applySterDep.addViolation(e, e.getName()) -if si['stereotypesForMisc']!='ignore': - noSterMisc = ValidationRule("Misc Stereotype Missing", "There is no stereotype name that matches element name", ViolationSeverity.ERROR) - profvs.addValidationRule(noSterMisc) - wrongMetaMisc=ValidationRule("Conflicting Misc Metaclass", "Stereotype metaclass and element type does not match", ViolationSeverity.ERROR) - profvs.addValidationRule(wrongMetaMisc) - applySterMisc = ValidationRule("Stereotype Can Be Applied to a Misc", "A stereotype exists with the same name as the dependency", ViolationSeverity.ERROR) - profvs.addValidationRule(applySterMisc) - for s in sterM[0]:noSterMisc.addViolation(s, s.getName()) -# for c in sterClass[1]:wrongSter.addViolation(c, c.getName()) - for d in sterM[2]:wrongMetaMisc.addViolation(d, "Stereotype Metaclass") - for e in sterM[3]:applySterMisc.addViolation(e, e.getName()) - -if si['stereotypeMetaClassCheck']!='ignore': -###declare rules for stereotype meta class check - multMeta = ValidationRule("Stereotype has multiple metaclasses", "The stereotype has multiple metaclasses assigned", ViolationSeverity.WARNING) - profvs.addValidationRule(multMeta) -###collect errors - for m in meta: multMeta.addViolation(m,"") - -if si['stereotypeSysMLGeneralizationCheck']!='ignore': -###declare rules for stereotype sysml generalization check - sysmlGen = ValidationRule("SysML Generalization", "The stereotype should generalize a SysML stereotype", ViolationSeverity.ERROR) - nonSysmlGen = ValidationRule('Non SysML Generalization', 'The stereotype has generalizations to profiles besides SysML', ViolationSeverity.WARNING) - profvs.addValidationRule(sysmlGen) - profvs.addValidationRule(nonSysmlGen) -###collect errors - for n in gen[0]: nonSysmlGen.addViolation(n, "") - for g in gen[1]: sysmlGen.addViolation(g, "") - -if si['localGeneralizations']!='ignore': -###declare rules for local generalizations check - sterNoMatch = ValidationRule("Stereotypes Generalization", "A stereotype generalization exists that is not reflected in the model", ViolationSeverity.ERROR) - baseNoMatch = ValidationRule("Model Generalization", "A local generalization exists in the model that is not reflected in the stereotypes", ViolationSeverity.ERROR) - profvs.addValidationRule(sterNoMatch) - profvs.addValidationRule(baseNoMatch) -###collect errors - for lg in localGen[0]: - if lg.getGeneral() is not None and lg.getSpecific() is not None: sterNoMatch.addViolation(lg.getGeneral(), "Generalization from "+ lg.getGeneral().getName() + " to "+ lg.getSpecific().getName()) - else: sterNoMatch.addViolation(lg.getGeneral(), "") - for lgs in localGen[1]: baseNoMatch.addViolation(lgs.getGeneral(), "Generalization from "+ lgs.getGeneral().getName()+ " to "+ lgs.getSpecific().getName()) - -if si['customizations']!= 'ignore': -###declare rules for customizations -###add in: - noCust = ValidationRule("Stereotypes With No Customizations", "A stereotype exists without a corresponding customization", ViolationSeverity.ERROR) - nameMismatch = ValidationRule("Stereotype-Customization Name Mismatch", "The customization name does not match the name of the customization target", ViolationSeverity.ERROR) - multCust = ValidationRule("Multiple Customization Targets", "Multiple customization targets exist for the customization", ViolationSeverity.ERROR) - noCustTargs = ValidationRule("No Customization Target", "Customization does not have a target", ViolationSeverity.ERROR) - noType = ValidationRule("No Customization Type", "Customization does not have a type", ViolationSeverity.ERROR) - multTypes = ValidationRule("Multiple Customization superTypes", "Multiple customization superTypes exist for the customizations", ViolationSeverity.ERROR) - elNameMisMatch = ValidationRule("Element-Customization Name Mismatch", "The customization name does not match the name of the customization supertype", ViolationSeverity.ERROR) - profvs.addValidationRule(noCust) - profvs.addValidationRule(nameMismatch) - profvs.addValidationRule(multCust) - profvs.addValidationRule(noCustTargs) - profvs.addValidationRule(noType) - profvs.addValidationRule(multTypes) - profvs.addValidationRule(elNameMisMatch) -###collect errors - for nc in cust[0]: noCust.addViolation(nc, "Stereotype") - for nm in cust[1]: nameMismatch.addViolation(nm, "Stereotype") - for mc in cust[2]: multCust.addViolation(mc, "Stereotype") - for nt in cust[3]: noCustTargs.addViolation(nt, "Customization") - for nty in cust[4]: noType.addViolation(nty, "Customization") - for mt in cust[5]: multTypes.addViolation(mt, "Customization") - for e in cust[6]: elNameMisMatch.addViolation(e, "Element Name") -if si['deprecateStereotypes']!='ignore': -###declare rules - unused = ValidationRule("Unused Stereotypes", "A stereotype is not applied in the model and can be deprecated", ViolationSeverity.ERROR) - profvs.addValidationRule(unused) -###collect errors - gl.log(str(depSter)) - for d in depSter: - gl.log(str(d)) - unused.addViolation(d, "") - -scriptOutput = {"DocGenValidationOutput":[profvs]} -if len(scriptInput['reportKind'])>0: - if scriptInput['reportKind'][0].getName()=='log': - profvs.setShowDetail(True) - profvs.setShowSummary(False) - else: - profvs.setShowSummary(True) - profvs.setShowDetail(False) -else: - profvs.setShowSummary(True) - profvs.setShowDetail(False) - -###Collect Fix Onlys -fixOutput = [] -for f in si: - if si[f] == 'fix': fixOutput.append(DBParagraph(f)) -gl.log('[FINISHED]') -scriptOutput["DocGenOutput"]=[DBParagraph("Profile Validation ")] - - \ No newline at end of file diff --git a/src/main/dist/DocGenUserScripts/FrameworkValidation/ProfileValidation.py b/src/main/dist/DocGenUserScripts/FrameworkValidation/ProfileValidation.py deleted file mode 100644 index 285986d4c..000000000 --- a/src/main/dist/DocGenUserScripts/FrameworkValidation/ProfileValidation.py +++ /dev/null @@ -1,771 +0,0 @@ -''' -Created on Sep 20, 2011 - -@author: efosse -''' -from java.lang import * -from com.nomagic.magicdraw.uml.symbols import * -from com.nomagic.magicdraw.core import Application -from com.nomagic.uml2.ext.jmi.helpers import StereotypesHelper -from com.nomagic.magicdraw.openapi.uml import ModelElementsManager -from com.nomagic.magicdraw.ui.dialogs import * -from com.nomagic.uml2.ext.magicdraw.mdprofiles import Stereotype, Profile, Image -from com.nomagic.uml2.ext.magicdraw.classes.mdkernel import * -from com.nomagic.uml2.ext.magicdraw.classes.mddependencies import * -from com.nomagic.uml2.ext.magicdraw.classes.mdinterfaces import * -from com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions import * -from com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities import * -from com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities import * -from com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdinformationflows import * -from com.nomagic.uml2.ext.magicdraw.compositestructures.mdports import * -from com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdsimpletime import * -from com.nomagic.uml2.ext.magicdraw.interactions.mdbasicinteractions import Interaction -from com.nomagic.uml2.ext.magicdraw.classes.mdpowertypes import GeneralizationSet -from com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdcommunications import Reception, Signal -from com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities import Activity -from com.nomagic.uml2.ext.jmi.helpers import CoreHelper - -gl = Application.getInstance().getGUILog() -project = Application.getInstance().getProject() -ef = project.getElementsFactory() -mem = ModelElementsManager.getInstance() -sysmlProf=StereotypesHelper.getProfile(project,"SysML") -sysmlSt=StereotypesHelper.getStereotypesByProfile(sysmlProf) -datapack=project.getModel() -noApply = {} - -def validateLocation(modelPackage, validateOnly, ignorePack): - sterPlace =[] - custPlace =[] - if validateOnly!=True: gl.log('[FIXES]: for Package, Stereotypes, and Customization Locations') -###Find profile package - profilePackage = profilePackCheck(modelPackage) - if not profilePackage: return ['No Profile Package'] -###Find infrastructure package - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - if len(infraPack)>0: infraPack = infraPack[0] - elif validateOnly != True: - infraPack = ef.createPackageInstance() - infraPack.setOwner(profilePackage) - infraPack.setName("_") - gl.log('[FIX]: Created "_" package') - else: return['No "_" Package'] -###Collect other packages - stereotypePackage = packageCheck(profilePackage, infraPack, validateOnly, "_Stereotypes") - depSterPack = packageCheck(profilePackage, infraPack, validateOnly, "_Deprecated Stereotypes") - userscriptsPack = packageCheck(profilePackage, infraPack, validateOnly, "_UserScripts") - customPackage = packageCheck(profilePackage, infraPack, validateOnly, "_Customizations") - if not isinstance(stereotypePackage, Package) or not isinstance(customPackage, Package): return[stereotypePackage, customPackage, depSterPack] -###Find locations of all stereotypes and customizations - allStereotypes = filter(lambda element: isinstance(element, Stereotype), getEverything(profilePackage)) - allCustomizations = filter(lambda element: isinstance(element, Class) and StereotypesHelper.hasStereotype(element, StereotypesHelper.getStereotype(project, "Customization")), getEverything(profilePackage)) - sterPlace = filter(lambda element: element.getOwner() != stereotypePackage, allStereotypes) - sterPlace = filter(lambda element: element.getOwner()!=depSterPack, sterPlace) - sterPlace = filter(lambda element: element.getOwner() != userscriptsPack, sterPlace) - for p in ignorePack: - sterPlace = filter(lambda element: element.getOwner() != p, sterPlace) - userscriptPlace = filter(lambda element: element.getOwner()!= userscriptsPack and element.getName().find("opsrev")==0, allStereotypes) - custPlace = filter(lambda element: element.getOwner()!=customPackage, allCustomizations) -###Move locations appropriately if set to fix - if validateOnly!=True: - setSterOwner(sterPlace, stereotypePackage, depSterPack, userscriptsPack) - setSterOwner(userscriptPlace, stereotypePackage, depSterPack, userscriptsPack) - setSterOwner(custPlace, customPackage, 'cust', 'beh') -###Check for icons - sters = filter(lambda element: element.getOwner() != userscriptsPack, allStereotypes) - sters = filter(lambda element: 'port' not in element.getName(), sters) - sters = filter(lambda element: GeneralizationSet not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Dependency not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Association not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Package not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Operation not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Interface not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Enumeration not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Activity not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Signal not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - sters = filter(lambda element: Reception not in StereotypesHelper.getBaseClassesAsClasses(element), sters) - for s in sters: - icon = filter(lambda element: isinstance(element, Image), s.getOwnedElement()) - if not icon: - gl.log('No icon for stereotype: ' + s.getName()) - return [stereotypePackage, depSterPack, customPackage, sterPlace, custPlace] - -def setSterOwner(ster, usedPackage, unusedPackage, userscriptsPackage): -###set stereotype owner (either stereotype or deprecated stereotypes package - for s in ster: - gl.log('[FIX]: Moved ' + s.getName()) - if s.getName().find("zz")==-1 and s.getName().find("opsrev")==-1: - if isinstance(usedPackage, array): usedPackage=usedPackage[0] - s.setOwner(usedPackage) - elif s.getName().find("opsrev")==0: - if isinstance(userscriptsPackage, array): userscripts = userscripts[0] - s.setOwner(userscriptsPackage) - elif unusedPackage!= 'cust': - if isinstance(unusedPackage, array): unusedPackage=unusedPackage[0] - s.setOwner(unusedPackage) - return - -def stereotypeGenCheck(modelPackage, validateOnly): -###Packages - profilePackage = profilePackCheck(modelPackage) - if not profilePackage: return ['No Profile Package'] - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - if len(infraPack)>0: infraPack = infraPack[0] - else: return['No underscore Package'] - stereotypePackage = packageCheck(profilePackage, infraPack, validateOnly, "_Stereotypes") - if not stereotypePackage: return['No Stereotype Package'] - stereotypes =filter(lambda element: isinstance(element, Stereotype), stereotypePackage.getOwnedElement()) - badG = [] - badGs=[] - noSys = [] - sBad = [] - - for s in stereotypes: - sGenerals = filter(lambda element: isinstance(element, Generalization), s.getOwnedElement()) - sGeneral =[] - for sg in sGenerals: - sGeneral.extend(s.getGeneral()) - sSysML = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) == StereotypesHelper.getProfile(project, "SysML"), sGeneral) - sAdd = filter(lambda element: StereotypesHelper.getProfileForStereotype(element)==StereotypesHelper.getProfile(project, "additional_stereotypes"), sGeneral) -# if StereotypesHelper.getProfileForStereotype(sGeneral) in ignoreProfile: -# sSyMLInh = filter(lambda element: StereotypesHelper.getProfileForStereotype(element)==StereotypesHelper.getProfile(project, "SysML"), SR.getGeneralizationTree(sg)) -###Collect stereotypes with no sysml generalization - if len(sSysML)==0 and len(sAdd)==0: noSys.append(s) -###Collect stereotypes with generalizations to non sysml elements and not part of ignore profiles - sBad = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) != StereotypesHelper.getProfile(project, "SysML"), sGeneral) - sBad = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) != StereotypesHelper.getProfile(project, "additional_stereotypes"), sBad) - sBad = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) != profilePackage, sBad) - sBad = filter(lambda element: element.getOwner() != stereotypePackage, sBad) -# for i in ignoreProfile: -# sBad = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) != StereotypesHelper.getProfile(project, i.getName()), sBad) - sBad = filter(lambda element: element not in stereotypes, sBad) - for n in sBad: - badG.append(filter(lambda element: isinstance(element, Generalization) and element.getGeneral() == n and element.getSpecific() == s, s.get_directedRelationshipOfSource())) - badG = flatten(badG) - if validateOnly!=True: - for b in badG: - gl.log('[FIX]: removing generalization between '+ b.getGeneral().getName() + ' and '+ b.getSpecific().getName()) - mem.removeElement(b) -###refine stereotypes with no sysml generalization collection - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Package") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Dependency") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project,"Connector") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Operation") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Diagram") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Port") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Activity") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "DataType") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "GeneralizationSet") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Association") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Reception") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Interaction") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Interface") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Enumeration") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Constraint") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "Signal") not in StereotypesHelper.getBaseClasses(element), noSys) - noSys = filter(lambda element: StereotypesHelper.getMetaClassByName(project, "SignalEvent") not in StereotypesHelper.getBaseClasses(element), noSys) - if validateOnly != True: gl.log('['+ str(len(noSys))+'] possible SysML specializations. No codified fix for stereotypes that can specialize SysML. Modeler must do. ') - return [sBad, noSys] - -def flatten(x): - result = [] - for el in x: - if hasattr(el, "__iter__") and not isinstance(el, basestring): result.extend(flatten(el)) - else: result.append(el) - return result - -def metaclassCheck(modelPackage, validateOnly): -###get stereotype package - if not isinstance(modelPackage, Profile): - profilePackage = getProfilePackage(modelPackage) - if not profilePackage: - gl.log('****ERROR: The code is not being run on a Profile. Stopping Execution') - return - else: profilePackage = modelPackage - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - if len(infraPack)>0: infraPack = infraPack[0] - else: return['No underscore Package'] - stereotypePackage = filter(lambda element: isinstance(element, Package) and "_Stereotypes" in element.getName(), infraPack.getOwnedElement()) - if len(stereotypePackage)==0: - gl.log('****ERROR: There is no package named "_Stereotypes" that is a direct child of the Profile. Stopping Execution') - return ['no stereotype Package'] - else: stereotypePackage = stereotypePackage[0] - sMMeta=[] -####Collect stereotypes with >1 metaclasses - for s in stereotypePackage.getOwnedElement(): - if isinstance(s, Stereotype): - sMeta = StereotypesHelper.getBaseClasses(s) - if len(sMeta)>1: - sMMeta.append(s) - if validateOnly!= True: - gl.log('There is no codified fix for this problem. Modeler must rectify') - return sMMeta - -def profilePackCheck(modelPackage): - if not isinstance(modelPackage, Profile): - profilePackage = profilePackCheck(modelPackage.getOwner()) - if not profilePackage: - gl.log('[ERROR]: The code is not being run on a Profile. Stopping Execution') - return - else: - profilePackage = modelPackage - return profilePackage - - -def packageCheck(profilePackage, infraPack, validateOnly, pName): - package = filter(lambda element: isinstance(element, Package) and pName in element.getName(), profilePackage.getOwnedElement()) - packageI = filter(lambda element: isinstance(element, Package) and pName in element.getName(), infraPack.getOwnedElement()) - if len(package)==0 and len(packageI)==0: - if validateOnly != True: - package=ef.createPackageInstance() - package.setOwner(infraPack) - package.setName(pName) - gl.log('[FIX]: created ' + pName +' Package') - else: - return ['No package found'] - elif len(package)>0: - if validateOnly!=True: - package[0].setOwner(infraPack) - package = package[0] - else: - return ['Package in wrong place'] - else: package=packageI[0] - return package - -def stereotypesForElements(modelPackage, validateOnly, elementType, stereotypesIgnore, packagesIgnore): - if not stereotypesIgnore: - stereotypesIgnore=[] - profilePackage = profilePackCheck(modelPackage) - if not profilePackage: return ['no Profile Package', 'no Profile Package', 'no Profile Package', 'no Profile Package'] - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - if len(infraPack)>0: infraPack = infraPack[0] - else: return['no underscore pacakage, no underscore pacakage,no underscore pacakage,no underscore pacakage'] - stereotypePackage=packageCheck(profilePackage, infraPack, validateOnly, "_Stereotypes") - if not stereotypePackage: return ['no Stereotype Package', 'no Stereotype Package', 'no Stereotype Package', 'no Stereotype Package'] - baseClass = getElements(getEverything(modelPackage), profilePackage) - baseClass = filter(lambda element: "_" not in element.getName(), baseClass) - if not isinstance(modelPackage, Profile): baseClass.append(modelPackage) -###intialize counts - sterCreate = 0 - nameChange = 0 - unapply = 0 - apply = 0 -### - if elementType != 'Misc': - baseClass = filter(lambda element: isinstance(element, elementType), baseClass) - for s in stereotypesIgnore: baseClass = filter(lambda element: StereotypesHelper.hasStereotypeOrDerived(element, s) == False, baseClass) - ignoredPackEls = [] - for i in packagesIgnore: baseClass = filter(lambda element: element not in getEverything(i), baseClass) - result = getMissing(baseClass, filter(lambda element: isinstance(element, NamedElement),stereotypePackage.getOwnedElement())) - bNoSter = result[0] - bWrongSter = result[1] - bWrongMeta = result[2] - applySter = [] - for n in noApply: - if n not in bWrongSter and n not in bWrongMeta and n in baseClass: applySter.append(n) - if validateOnly!=True: - ('[FIXING]:' + str(elementType)) - successful = [] - bWS = [] - bWM=[] - noFix=[] - for b in bNoSter: - bStillMissing = getMissing([b], filter(lambda element: isinstance(element, NamedElement), stereotypePackage.getOwnedElement())) - bWS = bStillMissing[1] - bWM = bStillMissing[2] - if bStillMissing[0]: - ###check if any local stereotype is applied - bLocalSter = filter(lambda element: element.getOwner() == stereotypePackage, StereotypesHelper.getStereotypes(b)) - if len(bLocalSter)>0: - for bL in bLocalSter: - localSterApply = filter(lambda element: bL in StereotypesHelper.getStereotypes(element), getElements(getEverything(profilePackage), profilePackage)) - if len(localSterApply)==1: - ###if local stereotype is applied to only this element in the base class then change the name of stereotype. Otherwise create new ster and unapply this one. - bL.setName(propertyCheck(b)) - gl.log('[FIX]:Stereotype name was changed to match applied element name: ' + b.getQualifiedName()) - nameChange+=1 - elif filter(lambda element: propertyCheck(element) == bL.getName(), getElements(getEverything(profilePackage), profilePackage)): - createStereotype(stereotypePackage, b, stereotypePackage) - unapplyStereotypes([b]) - gl.log('[FIX]:Stereotype Created ' +b.getName()) - gl.log('\t\t Location = ' + b.getQualifiedName()) - sterCreate+=1 - else: - ###get sysml extension, unapply stereotype and apply sysml extension - bLgeneralizations = getGeneralizationTree(bL) - bLSysGen = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) == StereotypesHelper.getProfile(project, "SysML") or StereotypesHelper.getProfileForStereotype(element) == StereotypesHelper.getProfile(project, "additional_stereotypes"), bLgeneralizations) - unapplyStereotypes([b]) - if bLSysGen: - StereotypesHelper.addStereotype(b, bLSysGen[0]) - gl.log('[FIX]:Stereotype applied to multiple elements, none with matching name. Unapplied stereotype:' + bL.getName()) - unapply+=1 - createStereotype(stereotypePackage, b, stereotypePackage) - unapplyStereotypes([b]) - gl.log('[FIX]:Stereotype Created ' +b.getName()) - gl.log('\t\t Location = ' + b.getQualifiedName()) - sterCreate+=1 - else: - createStereotype(stereotypePackage, b, stereotypePackage) - unapplyStereotypes([b]) - gl.log('[FIX]:Stereotype Created ' +b.getName()) - gl.log('\t\t Location = ' + b.getQualifiedName()) - sterCreate+=1 - for b in bWS: - if not isinstance(b, Interface) and StereotypesHelper.getBaseClassAsClasses(b)[0] == Port: - if b.getName().find("part property")==0: - bPort = filter(lambda element: element.getName() == b.getName() + " port", filter(lambda element: isinstance(element, NamedElement), stereotypePackage.getOwnedElement())) - if len(bPort)!=0: - bApplied = filter(lambda element: StereotypesHelper.isElementStereotypedBy(element, b.getName())==True, baseClass) - for f in bApplied: - StereotypesHelper.removeStereotypes(f, [b]) - StereotypesHelper.addStereotype(f, bPort) - ###Apply applicable stereotypes - for b in noApply: - if b not in bWrongSter and b not in bWrongMeta and b not in bWS and b not in bWM and b in baseClass: - if StereotypesHelper.getBaseClasses(noApply[b])[0].getName() != 'Element': - StereotypesHelper.addStereotype(b, noApply[b]) - unapplyStereotypes([b]) - gl.log('[FIX]: Stereotype Applied ' + b.getName()) - gl.log('\t\t Location = '+b.getQualifiedName()) - apply+=1 - if len(bWrongSter)>0: gl.log('[UNFIXABLE]: Inheritance Mismatch (see validation log for details)') - for b in bWrongMeta: - gl.log('[UNFIXABLE]: Metaclass Mismatch: '+ b.getQualifiedName()) -# if elementType == Classifier and validateOnly!=True: localGeneralizations(modelPackage, validateOnly, True) -###Messages Log - if apply!=0 or sterCreate!=0 or nameChange !=0 or unapply!=0: - gl.log('[FIX SUMMARY]:') - gl.log(str(apply) + " existing stereotype(s) applied") - gl.log(str(sterCreate) + " stereotypes created") - gl.log(str(nameChange) + " stereotype names changed") - gl.log(str(unapply) + " stereotypes unapplied") - else: gl.log('No Fixes Needed') - if len(bWrongSter)!=0 or bWrongMeta!=0: - gl.log('[UNFIXABLE SUMMARY]:') - if len(bWrongSter)>0: gl.log(str(len(bWrongSter))+ " stereotype inheritance mismatch") - if len(bWrongMeta)>0: gl.log(str(len(bWrongMeta))+ " stereotype metaclasses and element types not matching") - else: gl.log('No modeler fixes needed') -################ - return [bNoSter, bWrongSter, bWrongMeta, applySter] - else: - baseClass = filter(lambda element: not isinstance(element, Class), baseClass) - baseClass = filter(lambda element: not isinstance(element, Package), baseClass) - baseClass = filter(lambda element: not isinstance(element, Property), baseClass) - baseClass = filter(lambda element: not isinstance(element, Operation), baseClass) - baseClass = filter(lambda element: not isinstance(element, Diagram), baseClass) - baseClass = filter(lambda element: not isinstance(element, Dependency), baseClass) - for s in stereotypesIgnore: baseClass = filter(lambda element: StereotypesHelper.hasStereotypeOrDerived(element, s) == False, baseClass) - ignoredPackEls = [] - for i in packagesIgnore: baseClass = filter(lambda element: element not in getEverything(i), baseClass) - resultMisc = getMissing(baseClass, stereotypePackage.getOwnedElement()) - mNoSter = resultMisc[0] - mWrongSter = resultMisc[1] - mWrongMeta = resultMisc[2] - applySter = [] - for n in noApply: - if n not in mWrongSter and n not in mWrongMeta and n in baseClass: applySter.append(n) - if validateOnly!=True: - gl.log('[FIX]:' + str(elementType)) - successful = [] - for b in mNoSter: - mStillMissing = getMissing([b], stereotypePackage.getOwnedElement()) - if mStillMissing[0]: - createStereotype(stereotypePackage, b, stereotypePackage) - unapplyStereotypes([b]) - gl.log('\t Stereotype Created ' +b.getName()) - gl.log('\t\t Location = ' + b.getQualifiedName()) - for b in noApply: - if b not in mWrongSter and b not in mWrongMeta and n in baseClass: - StereotypesHelper.addStereotype(b, noApply[b]) - unapplyStereotypes([b]) - gl.log('\t Stereotype Applied ' + b.getName()) - gl.log('\t\t Location = '+b.getQualifiedName()) - if len(mWrongSter)>0: gl.log('UNFIXABLE: Inheritance Mismatch (see validation log for details)') - if len(mWrongMeta)>0: gl.log('UNFIXABLE: Metaclass Mismatch (see validation log for details)') - return [mNoSter, mWrongSter, mWrongMeta, applySter] - -def localGeneralizations(modelPackage, validateOnly, createOnly, sterIgnore): -###Finds generalizations that exist in the base class and checks to see if they exist in the stereotypes. - badGen = 0 - warn = 0 - error = 0 - profilePackage = profilePackCheck(modelPackage) - if not profilePackage: return ['no Profile Package', 'no Profile Package', 'no Profile Package', 'no Profile Package'] - infraPack = filter(lambda element: isinstance(element, Package) and "_"==element.getName(), profilePackage.getOwnedElement()) - if len(infraPack)>0: infraPack = infraPack[0] - else: return['No underscore package','No underscore package','No underscore package','No underscore package'] - stereotypePackage=packageCheck(profilePackage, infraPack, validateOnly, "_Stereotypes") - if not stereotypePackage: return ['no Stereotype Package', 'no Stereotype Package', 'no Stereotype Package', 'no Stereotype Package'] - stereotypesGen = getEverything(stereotypePackage) - stereotypesGen = flatten(stereotypesGen) - sters = filter(lambda element: isinstance(element, Stereotype), stereotypesGen) - stereotypesGen = filter(lambda element: isinstance(element, Generalization), stereotypesGen) - localstereotypeGen=filter(lambda element: getProfilePackage(element.getGeneral().getOwner()) == profilePackage and getProfilePackage(element.getSpecific().getOwner()) == profilePackage, stereotypesGen) - baseGen = filter(lambda element: isinstance(element, Generalization) and element not in stereotypesGen, getEverything(modelPackage)) - baseGen = filter(lambda element: isinstance(element.getGeneral(), Class), baseGen) - everything = getEverything(profilePackage) - BG= [] - # [CYL:2012/10/03] Define these variables since they may not get defined if the if statements are skipped - sterNoMatch = [] - baseNoMatch = [] - for b in baseGen: - if b.getGeneral() in everything and b.getSpecific() in everything: - BG.append(b) -###Check for stereotype Generalizations not in base - if len(localstereotypeGen)>0: - sterCheck = generalizationCheck(localstereotypeGen, BG, sterIgnore) - sterMatch = sterCheck[0] - sterNoMatch.extend(sterCheck[1]) -###FIX->remove local generalizations that exist in stereotypes but not in base - if validateOnly != True and createOnly!=True: - for s in sterNoMatch: - gl.log('[FIX] Removed Stereotype Generalization: '+ s.getGeneral().getName() + ' to '+ s.getSpecific().getName()) - mem.removeElement(s) -###Check for base generalizations not in stereotypes - stereotypesGen=filter(lambda element: isinstance(element, Generalization), flatten(getEverything(stereotypePackage))) - localstereotypeGen=filter(lambda element: getProfilePackage(element.getGeneral().getOwner()) == profilePackage and getProfilePackage(element.getSpecific().getOwner()) == profilePackage, stereotypesGen) - baseCheck = generalizationCheck(BG, localstereotypeGen, sterIgnore) - baseMatch = baseCheck[0] - baseNoMatch.extend(baseCheck[1]) -###Fix add base generalizations into stereotypes - if validateOnly != True: - genError=[] - for s in baseNoMatch: - sterParent = filter(lambda element: element.getName()==s.getGeneral().getName(), sters) - if len(sterParent)!=0: sterParent = sterParent[0] - else: sterParent = 0 - sterChild = filter(lambda element: element.getName()== s.getSpecific().getName(), sters) - if len(sterChild)!=0: sterChild = sterChild[0] - else: sterChild= 0 - if sterChild!=0 and sterParent!=0: -###Check for potential cyclic generalizations - Gen = sterChild.get_generalizationOfGeneral() - cycle = filter(lambda element: element.getSpecific()==sterParent, Gen) - if len(cycle)>0: - gl.log('[WARNING]: Fix not implemented, cyclic generalization: '+ sterParent.getQualifiedName() + ' and '+ sterChild.getQualfiedName()) - warn+=1 - else: - newg = ef.createGeneralizationInstance() - newg.setGeneral(sterParent) - newg.setSpecific(sterChild) - newg.setOwner(sterChild) - gl.log('[FIX] Created Stereotype Generalization:' + sterParent.getName() + " to " + sterChild.getName()) - else: genError.append(s) - if len(genError)>0: - for g in genError: - error+=1 - gl.log('[ERROR] '+ g.getGeneral().getName() + " to " + g.getSpecific().getName() + " couldn't be made") - gl.log('[FIX SUMMARY]: ') - gl.log('[ERRORS] = ' + str(error)) - gl.log('[WARNINGS] = ' + str(warn)) - return [sterNoMatch, baseNoMatch] - - - -def generalizationCheck(setA, setB, sterIgnore): - match = [] - noMatch = [] - ignore = [] - setB = filter(lambda element: element not in sterIgnore, setB) - for s in setA: - check = filter(lambda element: element.getGeneral().getName() == s.getGeneral().getName() and element.getSpecific().getName() == s.getSpecific().getName(), setB) - if len(check)>0: - if not StereotypesHelper.hasStereotypeOrDerived(s.getGeneral(), sterIgnore) and not StereotypesHelper.hasStereotypeOrDerived(s.getSpecific(),sterIgnore): - match.append(s) - else: - ignore.append(s) - else: - if not StereotypesHelper.hasStereotypeOrDerived(s.getGeneral(), sterIgnore) and not StereotypesHelper.hasStereotypeOrDerived(s.getSpecific(), sterIgnore): - noMatch.append(s) - return [match, noMatch] - -def getElements(allels, profilePackage): - sterPack = filter(lambda element: isinstance(element, Package) and element.getName() == "_Stereotypes", profilePackage.getOwnedElement()) - custPack = filter(lambda element:isinstance(element, Package) and element.getName() == "_Customizations", profilePackage.getOwnedElement()) - depPack = filter(lambda element: isinstance(element, Package) and element.getName() == "_Deprecated Stereotypes", profilePackage.getOwnedElement()) - depCust = filter(lambda element: isinstance(element, Package) and element.getName() == "_Deprecated Customizations", profilePackage.getOwnedElement()) - unusedSter = filter(lambda element: isinstance(element, Package) and element.getName() == '_Unused Stereotypes', profilePackage.getOwnedElement()) - baseClass = filter(lambda element: element.getOwner() != sterPack, allels) - baseClass = filter(lambda element: element.getOwner() != custPack, baseClass) - baseClass = filter(lambda element: element.getOwner()!=depPack, baseClass) - baseClass = filter(lambda element: element.getOwner()!= depCust, baseClass) - baseClass = filter(lambda element: element.getOwner()!=unusedSter, baseClass) - baseClass = filter(lambda element: isinstance(element, NamedElement), baseClass) - baseClass = filter(lambda element: element.getName() != "_Stereotypes" and element.getName() != "_Customizations" and element.getName() != "_Deprecated Stereotypes" and element.getName() != "_Deprecated Customizations", baseClass) - baseClass = filter(lambda element: not isinstance(element, Stereotype), baseClass) - baseClass = filter(lambda element: StereotypesHelper.getStereotype(project, "Customization") not in StereotypesHelper.getAllAssignedStereotypes([element]), baseClass) -# baseClass = filter(lambda element: not isinstance(element, Diagram), baseClass) - baseClass = filter(lambda element: not isinstance(element, Comment), baseClass) - baseClass = filter(lambda element: StereotypesHelper.getStereotype(project, "FrameworkValidation.Profile") not in StereotypesHelper.getAllAssignedStereotypes([element]), baseClass) - # baseClass = filter(lambda element: not isinstance(element, Property), baseClass) - baseClass = filter(lambda element: not isinstance(element, InputPin), baseClass) - baseClass = filter(lambda element: not isinstance(element, OutputPin), baseClass) - baseClass = filter(lambda element: not isinstance(element, ActivityParameterNode), baseClass) - baseClass = filter(lambda element: not isinstance(element, Parameter), baseClass) - baseClass = filter(lambda element: not isinstance(element, CallBehaviorAction), baseClass) -# baseClass = filter(lambda element: not isinstance(element, Operation), baseClass) - baseClass = filter(lambda element: not isinstance(element, EnumerationLiteral), baseClass) - baseClass = filter(lambda element: not isinstance(element, ObjectFlow), baseClass) - baseClass = filter(lambda element: not isinstance(element, Interaction), baseClass) -# baseClass = filter(lambda element: not isinstance(element, StateMachine), baseClass) - baseClass = filter(lambda element: element.getName() != "", baseClass) - baseClass = filter(lambda element: 'base_' not in element.getName(), baseClass) - baseClass = filter(lambda element: 'extension_' not in element.getName(), baseClass) - return baseClass - -def getEverything(element, collection = None): - collection2 = [] - if collection is not None: - collection2 = collection - - for e in element.getOwnedElement(): - collection2.append(e) - getEverything(e, collection2) - - return collection2 - -def getProfilePackage(package, profilePackage = None): - profilePackage2 = [] - if profilePackage is not None: - profilePackage2 = profilePackage - if isinstance(package, Profile): - profilePackage = package - else: - p = package.getNestingPackage() - if p: - if not isinstance(p, Profile): - profilePackage2 = getProfilePackage(p, profilePackage) - else: - profilePackage2 = p - return profilePackage2 - -def unapplyStereotypes(elements): - for e in elements: - eSter = StereotypesHelper.getAllAssignedStereotypes([e]) - suffix = [' part property', ' constraint property', ' reference property',' shared property', ' value property', ' shared property', ' distributed property', ' port', ' flow property'] - names = [] - for s in suffix: - names.append(e.getName() + s) - names.append(e.getName()) - names.append('Customization') - for s in eSter: - if s.getName() not in names: - StereotypesHelper.removeStereotype(e, s) - return - -def getMissing(A, B): - missing =[] - nameMatch = {} - metaMismatch=[] - applyMismatch=[] - for a in A: - aName = a.getName() - if isinstance(a, Property): - aName = propertyCheck(a) - elif isinstance(a, Stereotype) and StereotypesHelper.getBaseClassesAsClasses(a)[0] == Property: - aGens = filter(lambda element: isinstance(element, Generalization), a.get_directedRelationshipOfSource()) - if len(filter(lambda element: element.getGeneral() == StereotypesHelper.getStereotype(project, "ConstraintProperty"), aGens))!=0: - if a.getName().find("constraint property")==-1: aName = a.getName() + " constraint property" - elif len(filter(lambda element: element.getGeneral() == StereotypesHelper.getStereotype(project, "SharedProperty"), aGens))!=0: - if a.getName().find("shared property")==-1: aName = a.getName() + " shared property" - elif len(filter(lambda element: element.getGeneral() == StereotypesHelper.getStereotype(project, "DistributedProperty"), aGens))!=0: - if a.getName().find("distributed property")==-1: aName = a.getName() + " distributed property" - elif len(filter(lambda element: element.getGeneral() == StereotypesHelper.getStereotype(project, "FlowProperty"), aGens))!=0: - if a.getName().find("flow property")==-1: aName = a.getName() + " flow property" - elif len(filter(lambda element: element.getGeneral() == StereotypesHelper.getStereotype(project, "ValueProperty"), aGens))!=0: - if a.getName().find("value property")==-1: aName = a.getName() + " value property" - elif len(filter(lambda element: element.getGeneral() == StereotypesHelper.getStereotype(project, "ReferenceProperty"), aGens))!=0: - if a.getName().find("reference property")==-1: aName = a.getName() + " reference property" - else: - if a.getName().find("part property")==-1: aName=a.getName() + " part property" - elif isinstance(a, Stereotype) and StereotypesHelper.getBaseClassAsClasses(a)[0] == Port: - if a.getName().find("port")==-1: aName = a.getName() + " port" - bExist = 0 - for b in B: - if aName == b.getName(): - nameMatch[a]=b - bExist = 1 - if b not in StereotypesHelper.getAllAssignedStereotypes([a]): - noApply[a]=b - if bExist == 0: - missing.append(a) - for n in nameMatch: - ###get generalizations of stereotype - stereotype = nameMatch[n] - nGeneral = filter(lambda element: isinstance(element, Generalization), stereotype.get_directedRelationshipOfSource()) - general = [] - for g in nGeneral: - general.append(g.getGeneral()) - ###keep only SysML generalizations - gSys = filter(lambda element: StereotypesHelper.getProfileForStereotype(element) == StereotypesHelper.getProfile(project, "SysML"), general) - if gSys and not StereotypesHelper.checkForAllDerivedStereotypes(n, gSys[0]): applyMismatch.append(n) - ###check if same - if n.getName() != "_Unused Stereotypes": - if not isinstance(n, StereotypesHelper.getClassOfMetaClass(StereotypesHelper.getBaseClasses(nameMatch[n])[0])): metaMismatch.append(n) - return [missing, applyMismatch, metaMismatch] - -def assignCustomizationTags(stereotype, customBlock, supertype): - StereotypesHelper.setStereotypePropertyValue(customBlock, StereotypesHelper.getStereotype(project, "Customization"), "customizationTarget", stereotype) - if supertype != False: StereotypesHelper.setStereotypePropertyValue(customBlock, StereotypesHelper.getStereotype(project, "Customization"), "superTypes", supertype) - else: gl.log('[FIX ERROR]: no supertype found for customization: ' + customBlock.getName()) - StereotypesHelper.setStereotypePropertyValue(customBlock, StereotypesHelper.getStereotype(project, "Customization"), "hideMetatype", False) - return - -def flatten(x): - result = [] - for el in x: - if hasattr(el, "__iter__") and not isinstance(el, basestring): - result.extend(flatten(el)) - else: - result.append(el) - return result - -def createCustomization(stereotypeName, owner): - new = ef.createClassInstance() - new.setOwner(owner) - new.setName(stereotypeName) - StereotypesHelper.addStereotype(new, StereotypesHelper.getStereotype(project, "Customization")) - return new - -def createStereotype(owner, element, stereotypePackage): - '''append Package to any package element, this is an OpsRev naming convention ''' - if isinstance(element, Package): - package = element.getName().find("Package") - if package == -1: - element.setName(element.getName() + " Package") - '''stereotypes should not be made for enumeration literals''' - if not isinstance(element, EnumerationLiteral): - eSter = StereotypesHelper.getAllAssignedStereotypes([element]) - elementSterName = propertyCheck(element) - newSter = StereotypesHelper.createStereotype(owner, elementSterName, [StereotypesHelper.getBaseClass(element)]) - StereotypesHelper.addStereotype(element, newSter) - for e in eSter: - if StereotypesHelper.getProfileForStereotype(e) == StereotypesHelper.getProfile(project, "SysML") or StereotypesHelper.getProfileForStereotype(e) == StereotypesHelper.getProfile(project, "additional_stereotypes"): - newgen = ef.createGeneralizationInstance() - newgen.setGeneral(e) - newgen.setSpecific(newSter) - newgen.setOwner(newSter) - icon = filter(lambda element: isinstance(element, Image), e.getOwnedElement()) - if icon: - icon = icon[0] - newicon= ef.createImageInstance() - newicon.setLocation(icon.getLocation()) - newicon.setContent(icon.getContent()) - newicon.setFormat(icon.getFormat()) - newicon.setOwner(newSter) - if isinstance(element, Class) and e.getOwner() == stereotypePackage: - newgen = ef.createGeneralizationInstance() - newgen.setGeneral(e) - newgen.setSpecific(newSter) - newgen.setOwner(newSter) - icon = filter(lambda element: isinstance(element, Image), e.getOwnedElement()) - if icon: - icon = icon[0] - newicon = ef.createImageInstance() - newicon.setLocation(icon.getLocation()) - newicon.setContent(icon.getContent()) - newicon.setFormat(icon.getFormat()) - newicon.setOwner(newSter) - return - -def propertyCheck(element): - '''append part property to any Property or constraint property or port element, this is an OpsRev naming convention ''' - elementSterName = element.getName() - if isinstance(element, Property): - if StereotypesHelper.isElementStereotypedBy(element, "ConstraintProperty"): - if element.getName().find("constraint property") == -1: - elementSterName = element.getName() + " constraint property" - elif StereotypesHelper.isElementStereotypedBy(element, "PartProperty"): - if element.getName().find("part property") == -1: - elementSterName = element.getName() + " part property" - elif isinstance(element, Port): - if element.getName().find("port") == -1: - elementSterName = element.getName()+ " port" - elif StereotypesHelper.isElementStereotypedBy(element, "SharedProperty"): - if element.getName().find("shared property")==-1: - elementSterName = element.getName() + " shared property" - elif StereotypesHelper.isElementStereotypedBy(element, "ValueProperty"): - if element.getName().find("value property")==-1: - elementSterName = element.getName() + " value property" - elif StereotypesHelper.isElementStereotypedBy(element,"ReferenceProperty"): - if element.getName().find("reference property")==-1: - elementSterName = element.getName() + " reference property" - elif StereotypesHelper.isElementStereotypedBy(element, "DistributedProperty"): - if element.getName().find("distributed property")==-1: - elementSterName = element.getName() + " distributed property" - elif StereotypesHelper.isElementStereotypedBy(element, "FlowProperty"): - if element.getName().find("flow property")==-1: - elementSterName = element.getName() + " flow property" - return elementSterName - -def createPackage(name, owner): - new = ef.createPackageInstance() - new.setOwner(owner) - new.setName(name) - return new - -def createElement(stereotype, owner,checkEnum): - new = None - mclass = StereotypesHelper.getBaseClassesAsClasses(stereotype) - for m in mclass: - insCreate = str(m) - findtrunc = insCreate.split(".") - insCreate = findtrunc[len(findtrunc)-1] - insCreate = insCreate[:-2] - if insCreate != "Property" and insCreate != "Association" and insCreate != "Dependency" and insCreate!= "ObjectFlow" and insCreate != "Relationship" and insCreate != "Operation" and insCreate!= "EnumerationLiteral": - if insCreate == "Element": - new = ef.createClassInstance() - gl.log(stereotype.getName() + " Stereotype metaclass was element. Stereotyped Class was created") - elif checkEnum==True: - new=ef.createEnumerationInstance() - gl.log(stereotype.getName() + " Stereotype metaclass was enumeration. Stereotyped Enumeration was created") - else: - instanceCreate = 'create'+insCreate+'Instance' - new = eval('ef.create'+insCreate+'Instance()') - new.setOwner(owner) - if docStereotypeCheck(stereotype) == 0: - new.setName(stereotype.getName()) - return new - -def docStereotypeCheck(element): - sterCheck = 0 - docProfile = StereotypesHelper.getProfile(project,"Document Profile") - if docProfile: - docStereotypes = getEverything(docProfile) - docStereotypes = filter(lambda element: isinstance(element, Stereotype), docStereotypes) - for s in StereotypesHelper.getStereotypes(element): - if s in docStereotypes: - sterCheck = 1 - return sterCheck - -def createStereotypedElement(stereotype, owner): - new = None - mclass = StereotypesHelper.getBaseClassesAsClasses(stereotype) - for m in mclass: - insCreate = str(m) - findtrunc = insCreate.split(".") - insCreate = findtrunc[len(findtrunc)-1] - insCreate = insCreate[:-2] - if insCreate != "Property" and insCreate != "Association" and insCreate != "Dependency" and insCreate != "Relationship" and insCreate != "Element" and insCreate != "Operation" and insCreate!= "Property" and insCreate!= "EnumerationLiteral": - instanceCreate = 'create'+insCreate+'Instance' - new = eval('ef.create'+insCreate+'Instance()') - new.setOwner(owner) - new.setName(stereotype.getName()) - StereotypesHelper.addStereotypeByString(new, stereotype.getName()) - return new - -def getGeneralizationTree(e, tree=None): - '''returns a map of element to list of elements it specializes, starting from e''' - res = tree - if not res: - res = {} - parents = [] - for r in e.get_directedRelationshipOfSource(): - if isinstance(r, Generalization): - parents.append(CoreHelper.getSupplierElement(r)) - #if isinstance(e, Class): - # parents = e.getSuperClass() - res[e] = parents - for super in parents: - getGeneralizationTree(super, res) - return res \ No newline at end of file diff --git a/src/main/dist/DocGenUserScripts/examples/HelloWorldParagraph.py b/src/main/dist/DocGenUserScripts/examples/HelloWorldParagraph.py index 71b44542a..7047187d9 100644 --- a/src/main/dist/DocGenUserScripts/examples/HelloWorldParagraph.py +++ b/src/main/dist/DocGenUserScripts/examples/HelloWorldParagraph.py @@ -1,3 +1,3 @@ -from gov.nasa.jpl.mbee.mdk.docgen.docbook import DBParagraph +from org.openmbee.mdk.docgen.docbook import DBParagraph -scriptOutput = [DBParagraph("Hello World")] \ No newline at end of file +scriptOutput = [DBParagraph("Hello World")] diff --git a/src/main/dist/bin/cli/automatedcommitter.sh b/src/main/dist/bin/cli/automatedcommitter.sh index 41141a705..d86287bc4 100755 --- a/src/main/dist/bin/cli/automatedcommitter.sh +++ b/src/main/dist/bin/cli/automatedcommitter.sh @@ -65,7 +65,7 @@ java -Xmx8192M -Xss1024M -DLOCALCONFIG=true -DWINCONFIG=true \ -Dcom.sun.media.imageio.disableCodecLib=true \ -Dsun.locale.formatasdefault=true \ -Dcom.nomagic.magicdraw.launcher=com.nomagic.magicdraw.commandline.CommandLineActionLauncher \ - -Dcom.nomagic.magicdraw.commandline.action=gov.nasa.jpl.mbee.mdk.cli.AutomatedCommitter \ + -Dcom.nomagic.magicdraw.commandline.action=org.openmbee.mdk.cli.AutomatedCommitter \ com.nomagic.osgi.launcher.ProductionFrameworkLauncher -verbose "$@" exit $? diff --git a/src/main/dist/bin/cli/automatedviewgenerator.sh b/src/main/dist/bin/cli/automatedviewgenerator.sh index e5846c3b0..3b88afb7a 100755 --- a/src/main/dist/bin/cli/automatedviewgenerator.sh +++ b/src/main/dist/bin/cli/automatedviewgenerator.sh @@ -48,7 +48,7 @@ java -Xmx8192M -Xss1024M -DLOCALCONFIG=true -DWINCONFIG=true \ -Dcom.sun.media.imageio.disableCodecLib=true \ -Dsun.locale.formatasdefault=true \ -Dcom.nomagic.magicdraw.launcher=com.nomagic.magicdraw.commandline.CommandLineActionLauncher \ - -Dcom.nomagic.magicdraw.commandline.action=gov.nasa.jpl.mbee.mdk.cli.AutomatedViewGenerator \ + -Dcom.nomagic.magicdraw.commandline.action=org.openmbee.mdk.cli.AutomatedViewGenerator \ com.nomagic.osgi.launcher.ProductionFrameworkLauncher -verbose "$@" exit $? diff --git a/src/main/dist/data/defaults/data/diagrams/DocGen 3 Diagram/descriptor.xml b/src/main/dist/data/defaults/data/diagrams/DocGen 3 Diagram/descriptor.xml deleted file mode 100644 index 710761ce8..000000000 --- a/src/main/dist/data/defaults/data/diagrams/DocGen 3 Diagram/descriptor.xml +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326674039615_227913_16224 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326673370475_341756_16193 - - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326673370476_414963_16195 - - - - - - - - - - _17_0_3_244d03ea_1326673370477_194305_16196 - - - - - - - - - - _17_0_3_244d03ea_1326673370477_153155_16197 - - - - - - - - - - _17_0_3_244d03ea_1326673370477_499488_16198 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326673370478_258826_16200 - - - - - - - - - - _17_0_3_244d03ea_1326673370478_57771_16201 - - - - - - - - - - _17_0_3_244d03ea_1326673370479_571288_16202 - - - - - - - - - - _17_0_3_244d03ea_1326673370479_350723_16203 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326673370479_705556_16204 - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326673370479_99496_16205 - - - - - - - - - - _17_0_3_244d03ea_1326673370480_245933_16206 - - - - - - - - - - _17_0_3_244d03ea_1326673370480_823110_16207 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326674039621_930791_16225 - - - - - - - - - - _17_0_3_244d03ea_1326674039621_571449_16226 - - - - - - - - - - _17_0_3_244d03ea_1326674039621_354029_16227 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _17_0_3_244d03ea_1326674039622_366865_16230 - - - - - - - - - _17_0_3_244d03ea_1326674039623_393506_16231 - - - - - - - - - - - - - - - com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction - - ADD_CALL_BEHAVIOR_ACTION - ADD_DECISION_NODE - ADD_MERGE_NODE - ADD_JOIN_NODE_HORIZONTAL - ADD_FORK_NODE_HORIZONTAL - ADD_CALL_OPERATION_ACTION - ADD_FINAL_NODE - ADD_FLOW_FINAL_NODE_ - ADD_STRUCTURED_ACTIVITY_NODE - - - - ADD_NOTE - ADD_HTML_NOTE - ADD_COMMENT - ADD_HTML_COMMENT - - - - com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.ForkNode - - ADD_CALL_BEHAVIOR_ACTION - ADD_DECISION_NODE - ADD_MERGE_NODE - ADD_JOIN_NODE_HORIZONTAL - ADD_FORK_NODE_HORIZONTAL - ADD_CALL_OPERATION_ACTION - ADD_FINAL_NODE - ADD_FLOW_FINAL_NODE_ - ADD_STRUCTURED_ACTIVITY_NODE - - - ADD_NOTE - ADD_HTML_NOTE - - - - com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.JoinNode - - ADD_CALL_BEHAVIOR_ACTION - ADD_DECISION_NODE - ADD_MERGE_NODE - ADD_JOIN_NODE_HORIZONTAL - ADD_FORK_NODE_HORIZONTAL - ADD_CALL_OPERATION_ACTION - ADD_FINAL_NODE - ADD_FLOW_FINAL_NODE_ - ADD_STRUCTURED_ACTIVITY_NODE - - - ADD_NOTE - ADD_HTML_NOTE - - - - com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.MergeNode - - ADD_CALL_BEHAVIOR_ACTION - ADD_DECISION_NODE - ADD_MERGE_NODE - ADD_JOIN_NODE_HORIZONTAL - ADD_FORK_NODE_HORIZONTAL - ADD_CALL_OPERATION_ACTION - ADD_FINAL_NODE - ADD_FLOW_FINAL_NODE_ - ADD_STRUCTURED_ACTIVITY_NODE - - - ADD_NOTE - ADD_HTML_NOTE - ADD_COMMENT - ADD_HTML_COMMENT - - - - com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode - - - ADD_CALL_BEHAVIOR_ACTION - ADD_DECISION_NODE - ADD_MERGE_NODE - ADD_JOIN_NODE_HORIZONTAL - ADD_FORK_NODE_HORIZONTAL - ADD_CALL_OPERATION_ACTION - ADD_FINAL_NODE - ADD_FLOW_FINAL_NODE_ - ADD_STRUCTURED_ACTIVITY_NODE - - - ADD_NOTE - ADD_HTML_NOTE - ADD_COMMENT - ADD_HTML_COMMENT - - - - diff --git a/src/main/dist/data/defaults/data/diagrams/DocGen 3 View Diagram/descriptor.xml b/src/main/dist/data/defaults/data/diagrams/DocGen 3 View Diagram/descriptor.xml deleted file mode 100644 index 69d8bcd69..000000000 --- a/src/main/dist/data/defaults/data/diagrams/DocGen 3 View Diagram/descriptor.xml +++ /dev/null @@ -1,815 +0,0 @@ - - - - - 47494638396110001000B30800FFD6967E7E7EFCFCD7F8F9A9FAFAC1F6F793F5F6844D4D4DFFFFFF00000000000000000000000000000000000000000021F90401000008002C000000001000100000043C10C949ABBD38D3C07BC801208A1F769C689A4A87E1BEB07BB0716DCC486BC3F851FCC0E0AF37281A8FC51E61C96C2E7B82A8741AEDA9AE278D761B01003B - - - - - - - - - - 47494638396110001000B30800D7D7D7B9B9B9F5F5F5E7E7E7C7C7C7AFAFAFFFFFFF4D4D4DFFFFFF00000000000000000000000000000000000000000021F90401000008002C000000001000100000043E10C949AB3C386B4C4F2901010C82617257B165C6D1A6A0489A6D86782B46BF5E3C963B9E2AC73ADC3EA15F90475C599E508B263A31DEA8171BD68ABD5022003B - 47494638396110001000B30800D7D7D7B9B9B9F5F5F5E7E7E7C7C7C7AFAFAFFFFFFF4D4D4DFFFFFF00000000000000000000000000000000000000000021F90401000008002C000000001000100000043C10C949ABBDF5E8CD4F2E4540008360181A75149D86A2D31A8EE5C9496B7B9C360E8A24130F86C8E95C9EE28F66BA1C3D374C0C278D6DAA54AC561B01003B - - - - _12_0EAPbeta_be00301_1161608845944_479560_828 - - body - - - - documentation - - - - - - - - - 47494638396110001000B30800D7D7D7B9B9B9F5F5F5E7E7E7C7C7C7AFAFAFFFFFFF4D4D4DFFFFFF00000000000000000000000000000000000000000021F90401000008002C000000001000100000043E10C949AB3C386B4C4F2901010C82617257B165C6D1A6A0489A6D86782B46BF5E3C963B9E2AC73ADC3EA15F90475C599E508B263A31DEA8171BD68ABD5022003B - 47494638396110001000B30800D7D7D7B9B9B9F5F5F5E7E7E7C7C7C7AFAFAFFFFFFF4D4D4DFFFFFF00000000000000000000000000000000000000000021F90401000008002C000000001000100000043C10C949ABBDF5E8CD4F2E4540008360181A75149D86A2D31A8EE5C9496B7B9C360E8A24130F86C8E95C9EE28F66BA1C3D374C0C278D6DAA54AC561B01003B - - - - _12_0EAPbeta_be00301_1161608845944_588421_829 - - body - - - - documentation - - - - - - - - - - - - - - - - - - - - - - - - - _12_0EAPbeta_8740266_1161259910656_258566_788 - - visibility - public - - - - - - documentation - - - - - - - - - - - - - - - - 47494638396110001000A20500FEFECCFFFFFF4D4D4D878787DDCD9EFFFFFF00000000000021F90401000005002C000000001000100000034238BABCF583C8494718906A626F8984206ADD1509402AAECDB9A66A75C2B42087F06B4F0A0EA0AA95AD0714D6382E112D87A400974390E479EC4D84D8E666DBEA3212003B - - - - - - - - - - - - - - - - - - - - 47494638396110001000A20000000000FFFFFFCCCCFED2D2FEDEDEFEECECFF4D4D4DFFFFFF21F90401000007002C000000001000100000033778BADC67301AB78CB877D287F37E52285A5DD941662AA0AA45B2A99B91F13AABF66B0C7CEFEF3C0861482C162185A472B91C39211F4A02003B - 47494638396110001000C40000000000FFFFFFCCCCFECECEFECFCFFED1D1FED3D3FED4D4FED6D6FED8D8FEDADAFEDBDBFEDFDFFEE0E0FEE2E2FEE6E6FFE8E8FFEAEAFFEFEFFFF0F0FFF6F6FF4D4D4DFFFFFF00000000000000000000000000000000000000000000000000000021F90401000016002C0000000010001000000545A0258E64699E66A5AEA85809B050B5D61BCFEDAAEFA41DFFB29EA130B8C982A3CA226120C05ED0DEA3B13838A1489724E250188A369C8B32813010CE5B6FC7A6B9DF705208003B - - - - _12_0EAPbeta_be00301_1161605592877_100027_1665 - - visibility - public - - - - - - documentation - - - - - - - - - 47494638396110001000910000DADAA84D4D4DFFFFCCFFFFFF21F90401000003002C000000001000100000022D8C8F69C0ED6E849C7482586710FBEE2C6D1D068A820786DC4996129A529E421FCFDDB4F15CD338AE4BF17A8802003B - 47494638396110001000910300DADAA8FFFFCC4D4D4DFFFFFF21F90401000003002C00000000100010000002329C8FA99BE20FA111A0DA5BC50CBC731150DA007A1D286EE6170263B98681ABC61C4D46BA53DBF8BEEBC57EC008E388541400003B - - - - _12_0_8740266_1163768800359_692757_250 - - isActive - isActive_DESCRIPTION - - - isAbstract - isAbstract_DESCRIPTION - - - - isLeaf - isLeaf_DESCRIPTION - - - visibility - public - - - - - - documentation - - - - - - - - - 474946383961100010009102005B7EE34D4D4DFFFFFF00000021F90401000002002C0000000010001000000224948FA9CB080F4373404E51EBD5BAF57E6196024E60802E67788C4929B8076CA023CD4E05003B - 474946383961100010009102005B7EE34D4D4DFFFFFF00000021F90401000002002C0000000010001000000224948FA9CB080F4373404E51EBD5BAF57E6196024E60802E67788C4929B8076CA0328B1B05003B - - - - _12_0EAPbeta_be00301_1161605592877_807953_1667 - - visibility - public - - - - - - documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 47494638396110001000A20500FEFECCFFFFFF4D4D4D878787DDCD9EFFFFFF00000000000021F90401000005002C000000001000100000034238BABCF583C8494718906A626F8984206ADD1509402AAECDB9A66A75C2B42087F06B4F0A0EA0AA95AD0714D6382E112D87A400974390E479EC4D84D8E666DBEA3212003B - 47494638396110001000A20500FEFECCFFFFFF4D4D4D878787DDCD9EFFFFFF00000000000021F90401000005002C000000001000100000034238BABCF583C8494718906A626F8984206ADD1509402AAECDB9A66A75C2B42087F06B4F0A0EA0AA95AD0714D6382E112D87A400974390E479EC4D84D8E666DBEA3212003B - 3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520496C6C7573747261746F722031312E302C20535647204578706F727420506C75672D496E20202D2D3E0D0A3C21444F435459504520737667205055424C494320222D2F2F5733432F2F4454442053564720312E302F2F454E222020202022687474703A2F2F7777772E77332E6F72672F54522F323030312F5245432D5356472D32303031303930342F4454442F73766731302E64746422205B0D0A093C21454E54495459206E735F666C6F77732022687474703A2F2F6E732E61646F62652E636F6D2F466C6F77732F312E302F223E0D0A093C21454E54495459206E735F7376672022687474703A2F2F7777772E77332E6F72672F323030302F737667223E0D0A093C21454E54495459206E735F786C696E6B2022687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B223E0D0A5D3E0D0A3C7376672020786D6C6E733D22266E735F7376673B2220786D6C6E733A786C696E6B3D22266E735F786C696E6B3B2220786D6C6E733A613D22687474703A2F2F6E732E61646F62652E636F6D2F41646F6265535647566965776572457874656E73696F6E732F332E302F220D0A092077696474683D22313622206865696768743D223136222076696577426F783D223020302031362031362220786D6C3A73706163653D227072657365727665223E0D0A093C646566733E0D0A093C2F646566733E0D0A093C673E0D0A09093C72616469616C4772616469656E742069643D22584D4C49445F315F222063783D2238222063793D22382220723D22372E33383533222066783D2238222066793D223822206772616469656E74556E6974733D227573657253706163654F6E557365223E0D0A0909093C73746F7020206F66667365743D223022207374796C653D2273746F702D636F6C6F723A23464646464646222F3E0D0A0909093C73746F7020206F66667365743D223122207374796C653D2273746F702D636F6C6F723A23444443443945222F3E0D0A0909093C613A6D6964506F696E7453746F7020206F66667365743D223022207374796C653D2273746F702D636F6C6F723A23464646464646222F3E0D0A0909093C613A6D6964506F696E7453746F7020206F66667365743D22302E3522207374796C653D2273746F702D636F6C6F723A23464646464646222F3E0D0A0909093C613A6D6964506F696E7453746F7020206F66667365743D223122207374796C653D2273746F702D636F6C6F723A23444443443945222F3E0D0A09093C2F72616469616C4772616469656E743E0D0A09093C706F6C796C696E6520646973706C61793D226E6F6E65222066696C6C3D2275726C2823584D4C49445F315F292220706F696E74733D2231352E342C332E372031352E342C31352E3420302E362C31352E3420302E362C302E362031322E332C302E3620222F3E0D0A09093C706F6C79676F6E20646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D22352220706F696E74733D22372E312C31332E3420322E332C31332E34200D0A090909322E332C31322E3220322E332C31302E3120372E312C31302E3120222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3322207374726F6B652D6D697465726C696D69743D2235222078313D2237222079313D2231322E31222078323D22322E32222079323D2231322E31222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3322207374726F6B652D6D697465726C696D69743D2235222078313D22372E31222079313D2231322E36222078323D22322E33222079323D2231322E36222F3E0D0A09093C706F6C79676F6E20646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D22352220706F696E74733D2231342C31332E3420392E322C31332E34200D0A090909392E322C31322E3220392E322C31302E312031342C31302E3120222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3322207374726F6B652D6D697465726C696D69743D2235222078313D2231332E39222079313D2231322E31222078323D22392E31222079323D2231322E31222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3322207374726F6B652D6D697465726C696D69743D2235222078313D223134222079313D2231322E36222078323D22392E32222079323D2231322E36222F3E0D0A09093C706F6C79676F6E20646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D22352220706F696E74733D2231302E362C362E3520352E382C362E35200D0A090909352E382C352E3420352E382C332E332031302E362C332E332031302E362C362E3620222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3322207374726F6B652D6D697465726C696D69743D2235222078313D2231302E35222079313D22352E32222078323D22352E37222079323D22352E32222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3322207374726F6B652D6D697465726C696D69743D2235222078313D2231302E36222079313D22352E38222078323D22352E38222079323D22352E38222F3E0D0A09093C706F6C796C696E6520646973706C61793D226E6F6E65222066696C6C3D226E6F6E6522207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D22352220706F696E74733D22342E342C392E3920342E342C382E38200D0A09090931312E382C382E382031312E382C313020222F3E0D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D226E6F6E6522207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D2235222078313D22382E32222079313D22382E36222078323D22382E32222079323D22362E35222F3E0D0A09093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D226E6F6E6522207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D2235222078313D22372E34222079313D22372E36222078323D2239222079323D22372E36222F3E0D0A09093C706F6C796C696E6520646973706C61793D226E6F6E65222066696C6C3D2275726C2823584D4C49445F315F292220706F696E74733D2231352E342C332E372031352E342C31352E3420302E362C31352E3420302E362C302E362031322E332C302E3620222F3E0D0A09093C706F6C79676F6E20646973706C61793D226E6F6E65222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D22352220706F696E74733D2231342E322C31342E3120322E312C31342E31200D0A090909322E312C332E362031342E312C332E362031342E312C31342E3120222F3E0D0A09093C706F6C79676F6E20646973706C61793D226E6F6E65222066696C6C3D222346464646464622207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D22352220706F696E74733D2231322E382C31312E3620352E392C31312E36200D0A090909352E392C362E312031322E392C362E312031322E392C31312E3520222F3E0D0A09090D0A0909093C7265637420783D22352E342220793D22382E312220646973706C61793D226E6F6E65222066696C6C3D222346464646464622207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D2235222077696474683D22312E3722206865696768743D22312E37222F3E200D0A09090D0A0909093C7265637420783D22312E332220793D22382E312220646973706C61793D226E6F6E65222066696C6C3D222346464646464622207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D2235222077696474683D22312E3722206865696768743D22312E37222F3E200D0A09090D0A0909093C6C696E6520646973706C61793D226E6F6E65222066696C6C3D222346464646464622207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E3622207374726F6B652D6D697465726C696D69743D2235222078313D22332E31222079313D22382E39222078323D22352E34222079323D22382E39222F3E0D0A09093C706F6C796C696E652066696C6C3D2275726C2823584D4C49445F315F292220706F696E74733D2231352E342C332E372031352E342C31352E3420302E362C31352E3420302E362C302E362031322E332C302E3620222F3E0D0A09093C7265637420783D22322E312220793D22342E38222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E36222077696474683D22382E3322206865696768743D22352E33222F3E200D0A09093C7265637420783D22322E312220793D22332E37222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E36222077696474683D22332E3822206865696768743D2232222F3E200D0A09093C7265637420783D22352E362220793D22382E34222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E36222077696474683D22382E3322206865696768743D22352E33222F3E200D0A09093C7265637420783D22352E362220793D22372E33222066696C6C3D222346454645434322207374726F6B653D222334443444344422207374726F6B652D77696474683D22302E36222077696474683D22332E3822206865696768743D2232222F3E200D0A09093C706F6C79676F6E2066696C6C3D22234646464646462220656E61626C652D6261636B67726F756E643D226E6577202020202220706F696E74733D2231322E332C302E372031322E332C332E382031352E342C332E382031322E342C302E3920222F3E0D0A09093C706174682066696C6C3D22233444344434442220643D224D31322C302E3776332E3468332E396C2D332E332D332E354C31322C302E3356302E377A204D31322E362C312E3163302E352C302E352C312E392C312E392C322E352C322E35632D302E372C302D322E312C302D322E352C300D0A0909094331322E362C332E322C31322E362C312E382C31322E362C312E317A222F3E0D0A09093C706174682066696C6C3D22233444344434442220643D224D31322C30483076313668313656332E386C2D322D324C31322E312C304831327A204D31312E392C302E3663302E322C302E322C312E372C312E372C312E372C312E3773312E362C312E362C312E382C312E380D0A09090963302C302E322C302C31302E392C302C31312E33632D302E362C302D31342E322C302D31342E382C3063302D302E362C302D31342E322C302D31342E3843312E322C302E362C31312E362C302E362C31312E392C302E367A222F3E0D0A093C2F673E0D0A3C2F7376673E0D0A - - - - - - - - - - - - - - - - - - - - SHOW_ABBREVIATED_DIAGRAM_TYPE - DIAGRAM_FRAME - SHOW_ABBREVIATED_DIAGRAM_TYPE_DESCRIPTION - - - - SHOW_DIAGRAM_TYPE - DIAGRAM_FRAME - SHOW_DIAGRAM_TYPE_DESCRIPTION - - - - SHOW_PARAMETERS - DIAGRAM_FRAME - SHOW_PARAMETERS_DESCRIPTION - - - SHOW_CONTEXT_TYPE - DIAGRAM_FRAME - SHOW_CONTEXT_TYPE_DESCRIPTION - - - - SHOW_FRAME_OWNER - DIAGRAM_FRAME - SHOW_FRAME_OWNER_DESCRIPTION - - - - - - com.nomagic.uml2.ext.magicdraw.mdusecases.Actor - - ADD_ACTOR - - - ADD_ACTOR - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_PACKAGE - - - ADD_USECASE - ADD_ACTOR - - - ADD_ACTOR - - - ADD_ACTOR - - - ADD_USECASE - ADD_ACTOR - - - ADD_ACTOR - - - ADD_ACTOR - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - com.nomagic.uml2.ext.magicdraw.classes.mdkernel.DataType - - ADD_DATA_TYPE - - - ADD_DATA_TYPE - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_PACKAGE - - - ADD_NOTE - ADD_COMMENT - - - - com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Enumeration - - ADD_ENUMERATION - - - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - com.nomagic.uml2.ext.magicdraw.classes.mdinterfaces.Interface - - - - ADD_INTERFACE - - - ADD_INTERFACE - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdmodels.Model - - ADD_PACKAGE - ADD_MODEL - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_PACKAGE - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package - - - - - - - ADD_PACKAGE - - - - ADD_PACKAGE - ADD_MODEL - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - com.nomagic.uml2.ext.magicdraw.mdusecases.UseCase - - ADD_ACTOR - ADD_USECASE - ADD_SUBSYSTEM - - - ADD_USECASE - - - ADD_USECASE - - - ADD_USECASE - - - ADD_USECASE - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_INTERFACE - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_INTERFACE - - - ADD_INTERFACE - - - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_INTERFACE - - - ADD_INTERFACE - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_INTERFACE - ADD_ENUMERATION - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_PACKAGE - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - - - IDaction_1157007825625_911897_0 - - - ADD_PACKAGE - - - - - - - - ADD_NOTE - ADD_COMMENT - - - - - - ADD_INTERFACE - ADD_DATA_TYPE - ADD_ENUMERATION - ADD_PACKAGE - - - ADD_NOTE - ADD_COMMENT - IDaction_1161246966968_114012_0 - IDaction_1161246993578_492912_0 - - - - diff --git a/src/main/dist/data/defaults/data/diagrams/Module Management/descriptor.xml b/src/main/dist/data/defaults/data/diagrams/Module Management/descriptor.xml deleted file mode 100644 index 7a3ef354b..000000000 --- a/src/main/dist/data/defaults/data/diagrams/Module Management/descriptor.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - _17_0_2_2_8c20286_1363889204742_829595_37939 - - - - - - - - - - _17_0_2_2_8c20286_1363889204742_324987_37940 - - - - - - - - - - _17_0_2_2_8c20286_1363889204742_76983_37941 - - - - - - - - - - _17_0_2_2_8c20286_1363889204743_995012_37942 - - - - - - - - - - _17_0_2_2_8c20286_1363889204743_131978_37943 - - - - - - - - - - _17_0_2_2_8c20286_1363889204743_19823_37944 - - - - - - - - - - _17_0_2_2_8c20286_1363889204743_424691_37945 - - - - - - - - - - - _17_0_2_2_8c20286_1363889204741_197978_37938 - - LINE_WIDTH - LINE_WIDTH_DESCRIPTION - - - - - - STEREOTYPE_FONT - STEREOTYPE_FONT_DESCRIPTION - Arial - - SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION WRAP_WORDS WRAP_WORDS_DESCRIPTION CONSTRAINT_TEXT_MODE CONSTRAINT_TEXT_MODE_DESCRIPTION NAME_MODE SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION ATTRIBUTE_FONT ATTRIBUTES ATTRIBUTE_FONT_DESCRIPTION Arial OPERATION_FONT OPERATIONS OPERATION_FONT_DESCRIPTION Arial TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE MEMBERS_WORD_WRAP MEMBERS_WORD_WRAP_DESCRIPTION PORTS_FONT PORTS PORTS_FONT_DESCRIPTION Arial RECEPTION_FONT RECEPTIONS RECEPTION_FONT_DESCRIPTION Arial 49, 84, 309, 263 434, 63, 160, 73 5, 5, 1422, 774 588, 478, 339, 281 680, 378, 155, 60 757, 438; 757, 478; 945, 350, 155, 60 994, 410; 994, 618; 927, 618; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WRAP_WORDS WRAP_WORDS_DESCRIPTION 121, 46, 18, 19 _17_0_2_3_e9f034d_1368032476085_820557_54251 _17_0_2_3_e9f034d_1368032476086_322047_54252 WRAP_WORDS WRAP_WORDS_DESCRIPTION 121, 579, 18, 19 _17_0_2_3_e9f034d_1368032476085_820557_54251 _17_0_2_3_e9f034d_1368032476086_512912_54253 61, 105, 138, 38 _17_0_2_3_e9f034d_1368032476085_820557_54251 _17_0_2_3_e9f034d_1368032476086_685875_54254 33, 183, 194, 67 _17_0_2_3_e9f034d_1368032476085_820557_54251 _17_0_2_3_e9f034d_1368032476086_756564_54255 57, 368, 146, 93 _17_0_2_3_e9f034d_1368032476085_820557_54251 _17_0_2_3_e9f034d_1368032476087_716473_54256 80, 290, 100, 38 _17_0_2_3_e9f034d_1368032476085_820557_54251 _17_0_2_3_e9f034d_1368032476087_282018_54257 WRAP_WORDS WRAP_WORDS_DESCRIPTION SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION 130, 105; 130, 65; 130, 290; 130, 250; 130, 183; 130, 143; 130, 368; 130, 328; LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 130, 579; 130, 461; 5, 5, 523, 613 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212390_143656_24029 _17_0_2_8c20286_1352155212390_803439_24030 15, 105, 160, 53 _17_0_2_8c20286_1352155212390_143656_24029 _17_0_2_8c20286_1352155212391_33091_24031 86, 198, 18, 19 _17_0_2_8c20286_1352155212390_143656_24029 _17_0_2_8c20286_1352155212391_13877_24032 95, 105; 95, 65; 95, 198; 95, 158; 5, 5, 342, 232 - - - FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SHOW_ATTRIBUTES_VISIBILITY ATTRIBUTES SHOW_ATTRIBUTES_VISIBILITY_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 168, 49, 89, 24 FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SHOW_ATTRIBUTES_VISIBILITY ATTRIBUTES SHOW_ATTRIBUTES_VISIBILITY_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 168, 161, 89, 24 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION WRAP_WORDS WRAP_WORDS_DESCRIPTION SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION 210, 161; 210, 73; 205, 151, 10, 10 171, 139, 36, 19 test 205, 73, 10, 10 132, 89; 210, 117; 132, 172; 168, 173; 294, 128; 210, 117; 84, 63, 48, 36 Input 84, 154, 48, 36 Output 294, 84, 84, 99 MUST BE A DIRECTED ASSOCIATION! If it's not, it will return both ends. 5, 5, 462, 205 - - - WRAP_WORDS WRAP_WORDS_DESCRIPTION 91, 241, 18, 19 _17_0_2_3_e9f034d_1368032476088_11505_54262 _17_0_2_3_e9f034d_1368032476088_443763_54263 WRAP_WORDS WRAP_WORDS_DESCRIPTION 999, 241, 18, 19 _17_0_2_3_e9f034d_1368032476088_354195_54264 _17_0_2_3_e9f034d_1368032476088_443763_54263 184, 231, 138, 38 _17_0_2_3_e9f034d_1368032476088_934657_54265 _17_0_2_3_e9f034d_1368032476088_443763_54263 420, 217, 170, 67 _17_0_2_3_e9f034d_1368032476108_877976_54266 _17_0_2_3_e9f034d_1368032476088_443763_54263 714, 204, 125, 93 _17_0_2_3_e9f034d_1368032476109_246721_54267 _17_0_2_3_e9f034d_1368032476088_443763_54263 WRAP_WORDS WRAP_WORDS_DESCRIPTION SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION 184, 250; 109, 250; WRAP_WORDS WRAP_WORDS_DESCRIPTION SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION 999, 250; 839, 250; LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 420, 250; 322, 250; LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 714, 250; 590, 250; 5, 5, 1032, 312 - - - 189, 147, 161, 66 _17_0_2_8c20286_1352155212395_762469_24114 _17_0_2_8c20286_1352155212395_440918_24115 245, 70, 18, 19 _17_0_2_8c20286_1352155212395_33954_24116 _17_0_2_8c20286_1352155212395_421723_24117 238, 245, 18, 19 _17_0_2_8c20286_1352155212395_436397_24118 _17_0_2_8c20286_1352155212395_157720_24119 254, 147; 254, 89; 247, 245; 247, 213; 5, 5, 538, 279 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212389_822937_24009 _17_0_2_8c20286_1352155212389_447509_24010 86, 211, 18, 19 _17_0_2_8c20286_1352155212389_822937_24009 _17_0_2_8c20286_1352155212389_154408_24011 15, 105, 161, 66 _17_0_2_8c20286_1352155212389_822937_24009 _17_0_2_8c20286_1352155212390_370560_24012 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 456, 245 - - - 5, 5, 1954, 1119 96, 257, 18, 19 _17_0_3_407019f_1326778590855_934009_15100 _17_0_3_407019f_1326778590855_228804_15101 224, 238, 147, 66 476, 252, 100, 38 _17_0_3_407019f_1326778604572_543956_15126 _17_0_3_407019f_1326778604572_365792_15127 224, 266; 114, 266; 476, 266; 371, 266; 679, 257, 18, 19 _17_0_3_407019f_1326778614046_522143_15148 _17_0_3_407019f_1326778590855_228804_15101 679, 266; 576, 266; - - - 211, 228, 18, 19 _17_0_2_8c20286_1352155212392_362908_24061 _17_0_2_8c20286_1352155212392_787859_24062 211, 63, 18, 19 _17_0_2_8c20286_1352155212392_362908_24061 _17_0_2_8c20286_1352155212392_589142_24063 140, 122, 161, 66 _17_0_2_8c20286_1352155212392_362908_24061 _17_0_2_8c20286_1352155212392_492492_24064 220, 122; 220, 82; 220, 228; 220, 188; 5, 5, 408, 262 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212392_444624_24049 _17_0_2_8c20286_1352155212392_422788_24050 86, 211, 18, 19 _17_0_2_8c20286_1352155212392_444624_24049 _17_0_2_8c20286_1352155212392_797492_24051 15, 105, 161, 66 _17_0_2_8c20286_1352155212392_444624_24049 _17_0_2_8c20286_1352155212392_256538_24052 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 460, 245 - - - 15, 105, 161, 66 _17_0_2_8c20286_1352155212393_562434_24077 _17_0_2_8c20286_1352155212393_796666_24078 86, 46, 18, 19 _17_0_2_8c20286_1352155212393_562434_24077 _17_0_2_8c20286_1352155212393_757798_24079 86, 211, 18, 19 _17_0_2_8c20286_1352155212393_562434_24077 _17_0_2_8c20286_1352155212393_725877_24080 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 348, 245 - - - H4sIAAAAAAAAAFPmUg4pTVXwTSxSMDJRMDSxMjayMjZXCHAJUTAyMDLgAgD7S1pqIAAAAA== - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212389_559162_24001 _17_0_2_8c20286_1352155212389_240437_24002 86, 211, 18, 19 _17_0_2_8c20286_1352155212389_559162_24001 _17_0_2_8c20286_1352155212389_846920_24003 15, 105, 161, 66 _17_0_2_8c20286_1352155212389_559162_24001 _17_0_2_8c20286_1352155212389_319162_24004 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 464, 245 - - - 5, 5, 1011, 752 56, 168, 18, 19 _17_0_5_407019f_1335202372245_164679_11918 _17_0_5_407019f_1335202372246_223059_11919 147, 158, 100, 38 _17_0_5_407019f_1335202375965_917200_11928 _17_0_5_407019f_1335202372246_223059_11919 147, 177; 74, 177; - - - 113, 91, 18, 19 _17_0_2_8c20286_1352155212392_188210_24065 _17_0_2_8c20286_1352155212392_543588_24066 42, 150, 161, 66 _17_0_2_8c20286_1352155212392_188210_24065 _17_0_2_8c20286_1352155212393_936502_24067 113, 256, 18, 19 _17_0_2_8c20286_1352155212392_188210_24065 _17_0_2_8c20286_1352155212393_352518_24068 122, 150; 122, 110; 122, 256; 122, 216; 5, 5, 480, 290 - - - 5, 5, 728, 194 98, 124, 18, 19 _17_0_2_3_e9f034d_1382562169128_92532_29539 _17_0_2_3_e9f034d_1382562169128_797409_29540 226, 112, 373, 67 _17_0_2_3_e9f034d_1382562205414_786622_29568 _17_0_2_3_e9f034d_1382562205414_508219_29569 226, 133; 116, 133; 695, 136, 18, 19 _17_0_2_3_e9f034d_1382563068981_235136_29617 _17_0_2_3_e9f034d_1382562205414_508219_29569 695, 145; 599, 145; - - - - + + + + + + - - - + @@ -16531,244 +9083,75 @@ - - - - - - - - - - - - - - <_extensionEndOfType href="#_10_0EAPbeta_be00301_1123081772108_624594_276"/> - - - - - - - - - - - - - - - - - - - - <_extensionEndOfType href="#_10_0EAPbeta_be00301_1123081771136_580423_99"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + + + + + <_extensionEndOfType href="#_10_0EAPbeta_be00301_1123081772108_624594_276"/> - - + + + + + + + - - + + + + + + + + <_extensionEndOfType href="#_10_0EAPbeta_be00301_1123081771136_580423_99"/> - - + + + + + + + - - 35, 259, 18, 19 _17_0_3_407019f_1326778255527_322313_14918 _17_0_3_407019f_1326778255527_553770_14919 133, 241, 151, 54 _17_0_3_407019f_1326778255527_991800_14920 _17_0_3_407019f_1326778255527_553770_14919 406, 235, 126, 67 _17_0_3_407019f_1326778255527_947847_14921 _17_0_3_407019f_1326778255527_553770_14919 623, 259, 18, 19 _17_0_3_407019f_1326778255527_67063_14922 _17_0_3_407019f_1326778255527_553770_14919 133, 268; 53, 268; 406, 268; 284, 268; 623, 268; 532, 268; 5, 5, 1954, 1119 - - - 35, 259, 18, 19 _17_0_3_407019f_1326778352274_561536_14985 _17_0_3_407019f_1326778352274_230608_14986 133, 241, 151, 54 _17_0_3_407019f_1326778352274_191082_14987 _17_0_3_407019f_1326778352274_230608_14986 406, 235, 126, 67 _17_0_3_407019f_1326778352274_249943_14988 _17_0_3_407019f_1326778352274_230608_14986 623, 259, 18, 19 _17_0_3_407019f_1326778352274_477023_14989 _17_0_3_407019f_1326778352274_230608_14986 133, 268; 53, 268; 406, 268; 284, 268; 623, 268; 532, 268; 5, 5, 1954, 1119 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212390_749382_24021 _17_0_2_8c20286_1352155212390_579847_24022 15, 105, 161, 66 _17_0_2_8c20286_1352155212390_749382_24021 _17_0_2_8c20286_1352155212390_961938_24023 86, 211, 18, 19 _17_0_2_8c20286_1352155212390_749382_24021 _17_0_2_8c20286_1352155212390_828800_24024 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 530, 245 - - - 5, 5, 1437, 792 84, 280, 345, 162 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212394_250968_24093 _17_0_2_8c20286_1352155212394_174264_24094 86, 211, 18, 19 _17_0_2_8c20286_1352155212394_250968_24093 _17_0_2_8c20286_1352155212394_185342_24095 15, 105, 161, 66 _17_0_2_8c20286_1352155212394_250968_24093 _17_0_2_8c20286_1352155212394_995486_24096 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 470, 245 - - - 35, 259, 18, 19 _17_0_3_407019f_1327275290562_750992_11988 _17_0_3_407019f_1327275290562_109649_11989 133, 241, 151, 54 _17_0_3_407019f_1327275290562_733830_11990 _17_0_3_407019f_1327275290562_109649_11989 406, 235, 161, 67 _17_0_3_407019f_1327275290562_684109_11991 _17_0_3_407019f_1327275290562_109649_11989 623, 259, 18, 19 _17_0_3_407019f_1327275290563_164076_11992 _17_0_3_407019f_1327275290562_109649_11989 133, 268; 53, 268; 406, 268; 284, 268; 623, 268; 567, 268; 5, 5, 1954, 1119 - - - H4sIAAAAAAAAAAMAAAAAAAAAAAA= - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212393_184305_24081 _17_0_2_8c20286_1352155212393_599769_24082 15, 105, 161, 66 _17_0_2_8c20286_1352155212393_184305_24081 _17_0_2_8c20286_1352155212393_878491_24083 86, 211, 18, 19 _17_0_2_8c20286_1352155212393_184305_24081 _17_0_2_8c20286_1352155212393_997459_24084 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 424, 245 - - - 5, 5, 374, 118 33, 59, 18, 19 _17_0_3_407019f_1333857154799_957280_11889 _17_0_3_407019f_1333857186091_768568_11925 140, 49, 100, 38 _17_0_3_407019f_1333857157937_216978_11899 _17_0_3_407019f_1333857186091_768568_11925 140, 68; 51, 68; 334, 59, 18, 19 _17_0_3_407019f_1333857168014_170621_11916 _17_0_3_407019f_1333857186091_768568_11925 334, 68; 240, 68; + + H4sIAAAAAAAAAC2MwQoCIRRF9/MVwmxTxufTxqBFLYIWRVSbVqE+rWAcYSL6/aTiXg4cuNy2aXdlZJvoWWeYVAsta9nhdGbQgWpCyWIs2d0eQXxJk3uLVx6uuVAcxPPupkg/Wa63+9Xxwl0PpvPoudcycYTouKOKOQUgVYPBzP5brzUSauDQJ80xWeTOkqofEZKVvTdBNR+FNJxHpQAAAA== - - 147, 56, 18, 19 _17_0_2_8c20286_1352155212395_607_24109 _17_0_2_8c20286_1352155212395_332920_24110 147, 189, 18, 19 _17_0_2_8c20286_1352155212395_607_24109 _17_0_2_8c20286_1352155212395_189849_24111 112, 105, 161, 66 _17_0_2_8c20286_1352155212395_180626_24112 _17_0_2_8c20286_1352155212395_411372_24113 175, 105; 175, 65; 165, 65; 156, 189; 156, 171; 5, 5, 466, 223 + + H4sIAAAAAAAAAFPmUvbNz1NwS01SMDBTMDS2MjUEIoWA4BAFIwMjYy4ABSGOPiAAAAA= - - 77, 129, 161, 66 _17_0_2_8c20286_1352155212393_352039_24073 _17_0_2_8c20286_1352155212393_857375_24074 148, 70, 18, 19 _17_0_2_8c20286_1352155212393_352039_24073 _17_0_2_8c20286_1352155212393_681981_24075 148, 235, 18, 19 _17_0_2_8c20286_1352155212393_352039_24073 _17_0_2_8c20286_1352155212393_301669_24076 157, 129; 157, 89; 157, 235; 157, 195; 5, 5, 506, 269 - - - 141, 281, 18, 19 _17_0_2_3_e9f034d_1367941431767_32250_54230 _17_0_2_3_e9f034d_1367941431767_17224_54231 207, 269, 100, 38 _17_0_2_3_e9f034d_1367941431767_56216_54232 _17_0_2_3_e9f034d_1367941431767_371970_54233 LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 207, 289; 159, 290; 5, 5, 346, 322 - - - 87, 285, 18, 19 _17_0_2_3_e9f034d_1367941876537_708011_54279 _17_0_2_3_e9f034d_1367941876537_479740_54280 194, 283, 146, 38 _17_0_2_3_e9f034d_1367941876537_617268_54281 _17_0_2_3_e9f034d_1367941876537_723766_54282 194, 294; 105, 294; 5, 5, 355, 336 - - - 91, 171, 161, 66 _17_0_2_8c20286_1352155212396_237197_24128 _17_0_2_8c20286_1352155212396_87149_24129 162, 112, 18, 19 _17_0_2_8c20286_1352155212396_237197_24128 _17_0_2_8c20286_1352155212396_83010_24130 162, 277, 18, 19 _17_0_2_8c20286_1352155212396_237197_24128 _17_0_2_8c20286_1352155212396_925666_24131 171, 171; 171, 131; 171, 277; 171, 237; 5, 5, 406, 311 - - - 120, 56, 18, 19 _17_0_2_8c20286_1352155212391_92813_24045 _17_0_2_8c20286_1352155212391_593947_24046 120, 221, 18, 19 _17_0_2_8c20286_1352155212391_92813_24045 _17_0_2_8c20286_1352155212391_430236_24047 49, 115, 161, 66 _17_0_2_8c20286_1352155212391_92813_24045 _17_0_2_8c20286_1352155212391_621862_24048 129, 115; 129, 75; 129, 221; 129, 181; 5, 5, 470, 255 - - + - + - + - + @@ -16778,16 +9161,16 @@ - + - + - + @@ -16796,36 +9179,28 @@ - - - + + + - - + + - - 5, 5, 17956, 2598 4914, 1386, 480, 85 17500, 1659, 141, 85 17339, 1659, 147, 85 17689, 1659, 113, 85 17178, 1659, 150, 85 1666, 1386, 146, 85 1820, 1372, 160, 111 11291, 546, 253, 98 5075, 532, 210, 111 17584, 560, 145, 85 5404, 707, 124, 85 5159, 707, 192, 85 5005, 707, 114, 85 672, 1610, 1170, 137 11599, 1988, 1537, 189 15575, 1694, 1372, 51 8400, 2128, 816, 51 13020, 1694, 1260, 51 12628, 1694, 384, 51 14294, 1694, 1275, 51 13356, 1421, 768, 51 13594, 2422, 139, 161 9366, 2128, 1207, 51 1855, 1631, 480, 111 7182, 1631, 1314, 111 3794, 1659, 738, 98 6769, 1659, 384, 85 2345, 1659, 750, 85 12376, 2317, 927, 228 6377, 1659, 384, 85 4508, 1386, 369, 85 350, 2128, 774, 51 5733, 1694, 630, 51 9429, 1694, 522, 51 14364, 2457, 112, 85 5446, 1421, 805, 51 10276, 2464, 80, 83 14203, 2492, 151, 51 11501, 707, 107, 85 10073, 2492, 192, 51 16961, 1694, 192, 51 8505, 1624, 384, 124 3136, 1694, 612, 51 10969, 2128, 621, 51 14084, 2492, 80, 51 420, 1386, 184, 85 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 2142, 756, 2850, 35 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 6342, 742, 5148, 51 5463, 792; 5463, 1308; 5253, 1308; 5253, 1386; 5061, 792; 5061, 1386; 3567, 791; 3567, 1318; 4965, 1318; 4965, 1386; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 4960, 1376, 10, 10 4908, 1370, 54, 13 extension_ 4968, 1370, 24, 13 0..1 8913, 793; 8913, 1313; 5349, 1313; 5349, 1386; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 5344, 1376, 10, 10 5292, 1370, 54, 13 extension_ 5352, 1370, 24, 13 0..1 5253, 792; 5253, 1303; 5157, 1303; 5157, 1386; STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 16261, 56, 1680, 142 17103, 198; 17103, 493; 17569, 493; 17569, 1659; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 17564, 1649, 10, 10 17512, 1643, 54, 13 extension_ 17572, 1643, 24, 13 0..1 17103, 198; 17103, 493; 17415, 493; 17415, 1659; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 17410, 1649, 10, 10 17358, 1643, 54, 13 extension_ 17418, 1643, 24, 13 0..1 17103, 198; 17103, 493; 17744, 493; 17744, 1659; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 17739, 1649, 10, 10 17687, 1643, 54, 13 extension_ 17747, 1643, 24, 13 0..1 17103, 198; 17103, 493; 17256, 493; 17256, 1659; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 17251, 1649, 10, 10 17199, 1643, 54, 13 extension_ 17259, 1643, 24, 13 0..1 17103, 198; 17103, 493; 1740, 493; 1740, 1386; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 1735, 1376, 10, 10 1683, 1370, 54, 13 extension_ 1743, 1370, 24, 13 0..1 17103, 198; 17103, 493; 1903, 493; 1903, 1372; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 1898, 1362, 10, 10 1846, 1356, 54, 13 extension_ 1906, 1356, 24, 13 0..1 17103, 198; 17103, 493; 11415, 493; 11415, 546; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 11410, 536, 10, 10 11358, 530, 54, 13 extension_ 11418, 530, 24, 13 0..1 17103, 198; 17103, 493; 5181, 493; 5181, 532; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 5176, 522, 10, 10 5124, 516, 54, 13 extension_ 5184, 516, 24, 13 0..1 17103, 198; 17103, 493; 17656, 493; 17656, 560; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 17651, 550, 10, 10 17599, 544, 54, 13 extension_ 17659, 544, 24, 13 0..1 17103, 198; 17103, 493; 5463, 493; 5463, 707; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 5458, 697, 10, 10 5361, 691, 99, 13 extension_Ignorable 5466, 691, 24, 13 0..1 17103, 198; 17103, 493; 5301, 493; 5301, 707; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 5296, 697, 10, 10 5244, 691, 54, 13 extension_ 5304, 691, 24, 13 0..1 5181, 643; 5181, 666; 5205, 666; 5205, 707; 17103, 198; 17103, 493; 5061, 493; 5061, 707; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 5056, 697, 10, 10 5004, 691, 54, 13 extension_ 5064, 691, 24, 13 0..1 2107, 1386, 235, 85 1357, 1545; 1357, 1610; 8913, 793; 8913, 1313; 967, 1313; 967, 1610; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 962, 1600, 10, 10 844, 1594, 120, 13 extension_TableQueries 970, 1594, 24, 13 0..1 1552, 1565; 1552, 1610; 1162, 1550; 1162, 1610; 3567, 791; 3567, 1318; 772, 1318; 772, 1610; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 767, 1600, 10, 10 715, 1594, 54, 13 extension_ 775, 1594, 24, 13 0..1 1747, 1555; 1747, 1610; 8913, 793; 8913, 1313; 12368, 1313; 12368, 1988; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 12363, 1978, 10, 10 12170, 1972, 195, 13 extension_HierarchicalPropertiesTable3 12371, 1972, 24, 13 0..1 17256, 1744; 17256, 1785; 12676, 1785; 12676, 1988; 17744, 1744; 17744, 1795; 12983, 1795; 12983, 1988; 11754, 1790; 11754, 1988; 3567, 791; 3567, 1318; 405, 1318; 405, 1775; 12061, 1775; 12061, 1988; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 12056, 1978, 10, 10 11863, 1972, 195, 13 extension_HierarchicalPropertiesTable3 12064, 1972, 24, 13 0..1 14539, 1372, 123, 98 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 13216, 756, 1836, 35 8913, 793; 8913, 1313; 16538, 1313; 16538, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 16533, 1684, 10, 10 16375, 1678, 160, 13 extension_TablePropertyColumn 16541, 1678, 24, 13 0..1 15715, 1565; 15715, 1694; 14136, 791; 14136, 1323; 16812, 1323; 16812, 1694; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 16807, 1684, 10, 10 16636, 1678, 173, 13 extension_TableExpressionColumn 16815, 1678, 24, 13 0..1 3567, 791; 3567, 1318; 16263, 1318; 16263, 1694; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 16258, 1684, 10, 10 16100, 1678, 160, 13 extension_TablePropertyColumn 16266, 1678, 24, 13 0..1 15989, 1550; 15989, 1694; 3567, 791; 3567, 1318; 619, 1318; 619, 1785; 8505, 1785; 8505, 2128; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 8500, 2118, 10, 10 8376, 2112, 126, 13 extension_TableStructure 8508, 2112, 24, 13 0..1 8709, 1790; 8709, 2128; 14136, 791; 14136, 1323; 17166, 1323; 17166, 1765; 9117, 1765; 9117, 2128; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 9112, 2118, 10, 10 8988, 2112, 126, 13 extension_TableStructure 9120, 2112, 24, 13 0..1 8913, 793; 8913, 2128; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 8908, 2118, 10, 10 8784, 2112, 126, 13 extension_TableStructure 8916, 2112, 24, 13 0..1 8764, 1386, 136, 85 14156, 1565; 14156, 1694; 14136, 791; 14136, 1671; 13904, 1671; 13904, 1694; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 13899, 1684, 10, 10 13743, 1678, 158, 13 extension_TableAttributeColumn 13907, 1678, 24, 13 0..1 3567, 791; 3567, 1318; 12752, 1318; 12752, 1520; 13291, 1520; 13291, 1671; 13400, 1671; 13400, 1694; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 13395, 1684, 10, 10 13343, 1678, 54, 13 extension_ 13403, 1678, 24, 13 0..1 13148, 1560; 13148, 1694; 8913, 793; 8913, 1313; 13311, 1313; 13311, 1666; 13652, 1666; 13652, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 13647, 1684, 10, 10 13595, 1678, 54, 13 extension_ 13655, 1678, 24, 13 0..1 12964, 1565; 12964, 1694; 8913, 793; 8913, 1313; 12772, 1313; 12772, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 12767, 1684, 10, 10 12715, 1678, 54, 13 extension_ 12775, 1678, 24, 13 0..1 3567, 791; 3567, 1318; 12676, 1318; 12676, 1694; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 12671, 1684, 10, 10 12619, 1678, 54, 13 extension_ 12679, 1678, 24, 13 0..1 14136, 791; 14136, 1323; 12868, 1323; 12868, 1694; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 12863, 1684, 10, 10 12811, 1678, 54, 13 extension_ 12871, 1678, 24, 13 0..1 15372, 1386, 140, 85 15440, 1471; 15440, 1694; 14420, 1565; 14420, 1694; 8913, 793; 8913, 1313; 14930, 1313; 14930, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 14925, 1684, 10, 10 14767, 1678, 160, 13 extension_TablePropertyColumn 14933, 1678, 24, 13 0..1 3567, 791; 3567, 1318; 14675, 1318; 14675, 1694; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 14670, 1684, 10, 10 14512, 1678, 160, 13 extension_TablePropertyColumn 14678, 1678, 24, 13 0..1 14136, 791; 14136, 1323; 15185, 1323; 15185, 1694; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 15180, 1684, 10, 10 15022, 1678, 160, 13 extension_TablePropertyColumn 15188, 1678, 24, 13 0..1 8913, 793; 8913, 1313; 13641, 1313; 13641, 1421; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 13636, 1411, 10, 10 13520, 1405, 118, 13 extension_TableColumn 13644, 1405, 24, 13 0..1 14136, 791; 14136, 1323; 14025, 1323; 14025, 1421; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 14020, 1411, 10, 10 13904, 1405, 118, 13 extension_TableColumn 14028, 1405, 24, 13 0..1 3567, 791; 3567, 1318; 13449, 1318; 13449, 1421; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 13444, 1411, 10, 10 13328, 1405, 118, 13 extension_TableColumn 13452, 1405, 24, 13 0..1 13833, 1328; 13833, 1421; 9726, 1790; 9726, 2128; 17569, 1744; 17569, 1780; 10450, 1780; 10450, 2128; 17415, 1744; 17415, 1770; 10209, 1770; 10209, 2128; 3567, 791; 3567, 1318; 659, 1318; 659, 1770; 9485, 1770; 9485, 2128; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 9480, 2118, 10, 10 9428, 2112, 54, 13 extension_ 9488, 2112, 24, 13 0..1 8913, 793; 8913, 1313; 9967, 1313; 9967, 2128; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 9962, 2118, 10, 10 9813, 2112, 151, 13 extension_GenericTableQuery 9970, 2112, 24, 13 0..1 2190, 1565; 2190, 1631; 2286, 1555; 2286, 1631; 3567, 791; 3567, 1318; 1998, 1318; 1998, 1631; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 1993, 1621, 10, 10 1941, 1615, 54, 13 extension_ 2001, 1615, 24, 13 0..1 1902, 1550; 1902, 1631; 8913, 793; 8913, 1313; 2094, 1313; 2094, 1631; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 2089, 1621, 10, 10 2037, 1615, 54, 13 extension_ 2097, 1615, 24, 13 0..1 7512, 1555; 7512, 1631; 8388, 1560; 8388, 1631; 7293, 1565; 7293, 1631; 3567, 791; 3567, 1318; 7731, 1318; 7731, 1631; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 7726, 1621, 10, 10 7674, 1615, 54, 13 extension_ 7734, 1615, 24, 13 0..1 8913, 793; 8913, 1313; 7950, 1313; 7950, 1631; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 7945, 1621, 10, 10 7811, 1615, 136, 13 extension_ParagraphQuery 7953, 1615, 24, 13 0..1 8169, 1328; 8169, 1631; 3567, 791; 3567, 1318; 3914, 1318; 3914, 1659; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 3909, 1649, 10, 10 3757, 1643, 154, 13 extension_TomSawyerDiagram 3917, 1643, 24, 13 0..1 8913, 793; 8913, 1313; 4891, 1313; 4891, 1520; 4160, 1520; 4160, 1659; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 4155, 1649, 10, 10 4003, 1643, 154, 13 extension_TomSawyerDiagram 4163, 1643, 24, 13 0..1 4406, 1555; 4406, 1659; 6817, 1555; 6817, 1659; 3567, 791; 3567, 1318; 6913, 1318; 6913, 1659; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 6908, 1649, 10, 10 6856, 1643, 54, 13 extension_ 6916, 1643, 24, 13 0..1 7105, 1550; 7105, 1659; 8913, 793; 8913, 1313; 7009, 1313; 7009, 1659; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 7004, 1649, 10, 10 6952, 1643, 54, 13 extension_ 7012, 1643, 24, 13 0..1 3567, 791; 3567, 1318; 2625, 1318; 2625, 1659; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 2620, 1649, 10, 10 2568, 1643, 54, 13 extension_ 2628, 1643, 24, 13 0..1 3000, 1555; 3000, 1659; 2438, 1545; 2438, 1659; 8913, 793; 8913, 1313; 3934, 1313; 3934, 1510; 2813, 1510; 2813, 1659; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 2808, 1649, 10, 10 2695, 1643, 115, 13 extension_ImageQuery 2816, 1643, 24, 13 0..1 3567, 791; 3567, 1318; 307, 1318; 307, 2259; 12534, 2259; 12534, 2317; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 12529, 2307, 10, 10 12335, 2301, 196, 13 extension_PropertiesTableByAttributes3 12537, 2301, 24, 13 0..1 12368, 2177; 12368, 2254; 12843, 2254; 12843, 2317; 8913, 793; 8913, 1313; 12388, 1313; 12388, 1790; 13152, 1790; 13152, 2317; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 13147, 2307, 10, 10 12953, 2301, 196, 13 extension_PropertiesTableByAttributes3 13155, 2301, 24, 13 0..1 3567, 791; 3567, 1318; 4466, 1318; 4466, 1515; 6519, 1515; 6519, 1659; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 6514, 1649, 10, 10 6462, 1643, 54, 13 extension_ 6522, 1643, 24, 13 0..1 14136, 791; 14136, 1323; 6711, 1323; 6711, 1659; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 6706, 1649, 10, 10 6654, 1643, 54, 13 extension_ 6714, 1643, 24, 13 0..1 6423, 1555; 6423, 1659; 8913, 793; 8913, 1313; 6615, 1313; 6615, 1659; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 6610, 1649, 10, 10 6558, 1643, 54, 13 extension_ 6618, 1643, 24, 13 0..1 3567, 791; 3567, 1318; 4599, 1318; 4599, 1386; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 4594, 1376, 10, 10 4483, 1370, 113, 13 extension_HasTimeout 4602, 1370, 24, 13 0..1 8913, 793; 8913, 1313; 4784, 1313; 4784, 1386; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 4779, 1376, 10, 10 4668, 1370, 113, 13 extension_HasTimeout 4787, 1370, 24, 13 0..1 833, 1790; 833, 2128; 8913, 793; 8913, 1313; 7168, 1313; 7168, 1780; 639, 1780; 639, 2128; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 634, 2118, 10, 10 517, 2112, 119, 13 extension_EditableTable 642, 2112, 24, 13 0..1 1026, 1795; 1026, 2128; 3567, 791; 3567, 1318; 639, 1318; 639, 1770; 446, 1770; 446, 2128; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 441, 2118, 10, 10 324, 2112, 119, 13 extension_EditableTable 449, 2112, 24, 13 0..1 3567, 791; 3567, 1318; 4426, 1318; 4426, 1655; 5814, 1655; 5814, 1694; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 5809, 1684, 10, 10 5716, 1678, 95, 13 extension_Simulate 5817, 1678, 24, 13 0..1 6287, 1555; 6287, 1694; 4691, 1471; 4691, 1550; 5972, 1550; 5972, 1694; 8913, 793; 8913, 1313; 6267, 1313; 6267, 1671; 6129, 1671; 6129, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 6124, 1684, 10, 10 6031, 1678, 95, 13 extension_Simulate 6132, 1678, 24, 13 0..1 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 12404, 1435, 258, 35 8913, 793; 8913, 1313; 9691, 1313; 9691, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 9686, 1684, 10, 10 9582, 1678, 106, 13 extension_UserScript 9694, 1678, 24, 13 0..1 9517, 1555; 9517, 1694; 12532, 1470; 12532, 1545; 9865, 1545; 9865, 1694; 12527, 1470, 10, 10 12453, 1473, 76, 13 base_Classifier 9860, 1684, 10, 10 9756, 1678, 106, 13 extension_UserScript 9868, 1678, 24, 13 0..1 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 14385, 2142, 80, 35 14422, 2177; 14422, 2457; 14417, 2177, 10, 10 14335, 2180, 84, 13 base_Stereotype 14417, 2447, 10, 10 14365, 2441, 54, 13 extension_ 14425, 2441, 24, 13 0..1 5810, 742, 84, 51 5849, 793; 5849, 1421; 8913, 793; 8913, 1313; 6117, 1313; 6117, 1421; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 6112, 1411, 10, 10 5945, 1405, 169, 13 extension_Collect/Filter UserScript 6120, 1405, 24, 13 0..1 3567, 791; 3567, 1318; 5581, 1318; 5581, 1421; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 5576, 1411, 10, 10 5409, 1405, 169, 13 extension_Collect/Filter UserScript 5584, 1405, 24, 13 0..1 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 14238, 2142, 84, 35 14278, 2177; 14278, 2492; 14273, 2177, 10, 10 14174, 2180, 101, 13 base_Generalization 14273, 2482, 10, 10 14221, 2476, 54, 13 extension_ 14281, 2476, 24, 13 0..1 17103, 198; 17103, 493; 11556, 493; 11556, 707; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 11551, 697, 10, 10 11499, 691, 54, 13 extension_ 11559, 691, 24, 13 0..1 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 10633, 2142, 80, 35 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 42, 2142, 252, 35 166, 2177; 166, 2269; 10119, 2269; 10119, 2492; 161, 2177, 10, 10 89, 2180, 74, 13 base_Package 10114, 2482, 10, 10 10062, 2476, 54, 13 extension_ 10122, 2476, 24, 13 0..1 10672, 2177; 10672, 2274; 10215, 2274; 10215, 2492; 10667, 2177, 10, 10 10583, 2180, 86, 13 base_Expression 10210, 2482, 10, 10 10158, 2476, 54, 13 extension_ 10218, 2476, 24, 13 0..1 17103, 198; 17103, 1694; 17098, 198, 10, 10 17030, 201, 70, 13 base_Element 17098, 1684, 10, 10 17046, 1678, 54, 13 extension_ 17106, 1678, 24, 13 0..1 17007, 1550; 17007, 1694; 8913, 793; 8913, 1313; 8747, 1313; 8747, 1624; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 8742, 1614, 10, 10 8690, 1608, 54, 13 extension_ 8750, 1608, 24, 13 0..1 8843, 1560; 8843, 1624; 3567, 791; 3567, 1318; 8651, 1318; 8651, 1624; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 8646, 1614, 10, 10 8594, 1608, 54, 13 extension_ 8654, 1608, 24, 13 0..1 8555, 1555; 8555, 1624; 3567, 791; 3567, 1318; 3235, 1318; 3235, 1694; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 3230, 1684, 10, 10 3106, 1678, 126, 13 extension_JavaExtension 3238, 1678, 24, 13 0..1 3643, 1555; 3643, 1694; 8913, 793; 8913, 1313; 4446, 1313; 4446, 1515; 3439, 1515; 3439, 1694; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 3434, 1684, 10, 10 3310, 1678, 126, 13 extension_JavaExtension 3442, 1678, 24, 13 0..1 11072, 1795; 11072, 2128; 12532, 1470; 12532, 1785; 11486, 1785; 11486, 2128; 12527, 1470, 10, 10 12453, 1473, 76, 13 base_Classifier 11481, 2118, 10, 10 11355, 2112, 128, 13 extension_ValidationScript 11489, 2112, 24, 13 0..1 8913, 793; 8913, 1313; 11279, 1313; 11279, 2128; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 11274, 2118, 10, 10 11148, 2112, 128, 13 extension_ValidationScript 11282, 2112, 24, 13 0..1 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 14084, 2142, 80, 35 14122, 2177; 14122, 2492; 14117, 2177, 10, 10 14026, 2180, 93, 13 base_Dependency 14117, 2482, 10, 10 14026, 2476, 93, 13 extension_Queries 14125, 2476, 24, 13 0..1 3567, 791; 3567, 1318; 512, 1318; 512, 1386; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 507, 1376, 10, 10 455, 1370, 54, 13 extension_ 515, 1370, 24, 13 0..1 10381, 2422, 765, 124 166, 2177; 166, 2269; 10460, 2269; 10460, 2422; 161, 2177, 10, 10 89, 2180, 74, 13 base_Package 10455, 2412, 10, 10 10365, 2406, 92, 13 extension_Product 10463, 2406, 24, 13 0..1 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 10878, 2142, 80, 35 13167, 1820, 847, 358 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 9275, 2142, 80, 35 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 10759, 2009, 80, 168 13590, 2178; 13590, 2274; 11072, 2274; 11072, 2422; 10799, 2177; 10799, 2274; 10766, 2274; 10766, 2422; 10794, 2177, 10, 10 10724, 2180, 72, 13 base_Diagram 10761, 2412, 10, 10 10671, 2406, 92, 13 extension_Product 10769, 2406, 24, 13 0..1 9314, 2177; 9314, 2264; 10613, 2264; 10613, 2422; 9309, 2177, 10, 10 9252, 2180, 59, 13 base_Class 10608, 2412, 10, 10 10518, 2406, 92, 13 extension_Product 10616, 2406, 24, 13 0..1 10919, 2177; 10919, 2422; 10914, 2177, 10, 10 10851, 2180, 65, 13 base_Artifact 10914, 2412, 10, 10 10824, 2406, 92, 13 extension_Product 10922, 2406, 24, 13 0..1 8925, 1631, 492, 111 14136, 791; 14136, 1323; 9359, 1323; 9359, 1631; 14131, 791, 10, 10 13990, 794, 143, 13 base_StructuredActivityNode 9354, 1621, 10, 10 9284, 1615, 72, 13 extension_Plot 9362, 1615, 24, 13 0..1 8913, 793; 8913, 1313; 9236, 1313; 9236, 1631; 8908, 793, 10, 10 8788, 796, 122, 13 base_CallBehaviorAction 9231, 1621, 10, 10 9161, 1615, 72, 13 extension_Plot 9239, 1615, 24, 13 0..1 3567, 791; 3567, 1318; 9113, 1318; 9113, 1631; 3562, 791, 10, 10 3498, 794, 66, 13 base_Activity 9108, 1621, 10, 10 9038, 1615, 72, 13 extension_Plot 9116, 1615, 24, 13 0..1 8990, 1555; 8990, 1631; 833, 1790, 10921, 0 1552, 1565, 5741, 0 1162, 1550, 740, 0 1357, 1545, 1081, 0 7105, 1550, 9902, 0 1747, 1555, 7770, 0 8169, 1328, 5664, 0 8388, 1560, 4760, 0 12964, 1565, 2751, 0 1026, 1795, 10046, 0 - - - SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION 581, 273, 483, 281 SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION 602, 77, 1043, 60 812, 137; 812, 273; SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION 1190, 350, 155, 73 1271, 137; 1271, 350; SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION 1442, 350, 155, 190 1516, 137; 1516, 350; 5, 5, 1660, 1031 SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION 1295, 609, 223, 99 SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION 1036, 609, 223, 73 1397, 137; 1397, 609; 1145, 137; 1145, 609; - - - 15, 105, 161, 79 _17_0_2_8c20286_1352155212395_57678_24105 _17_0_2_8c20286_1352155212395_25497_24106 86, 46, 18, 19 _17_0_2_8c20286_1352155212395_57678_24105 _17_0_2_8c20286_1352155212395_61743_24107 86, 224, 18, 19 _17_0_2_8c20286_1352155212395_57678_24105 _17_0_2_8c20286_1352155212395_521678_24108 95, 105; 95, 65; 95, 224; 95, 184; 5, 5, 560, 258 - - + - + + + + - - - + @@ -16865,9 +9240,7 @@ - - - + @@ -16892,217 +9265,134 @@ - - - - - - + - - - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212389_922735_23997 _17_0_2_8c20286_1352155212389_183305_23998 86, 211, 18, 19 _17_0_2_8c20286_1352155212389_922735_23997 _17_0_2_8c20286_1352155212389_80448_23999 15, 105, 161, 66 _17_0_2_8c20286_1352155212389_922735_23997 _17_0_2_8c20286_1352155212389_925305_24000 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 513, 245 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212388_484937_23993 _17_0_2_8c20286_1352155212388_539863_23994 86, 198, 18, 19 _17_0_2_8c20286_1352155212388_484937_23993 _17_0_2_8c20286_1352155212389_684682_23995 15, 105, 160, 53 _17_0_2_8c20286_1352155212388_484937_23993 _17_0_2_8c20286_1352155212389_302748_23996 95, 105; 95, 65; 95, 198; 95, 158; 5, 5, 411, 232 - - - - + - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212391_983391_24041 _17_0_2_8c20286_1352155212391_818338_24042 86, 211, 18, 19 _17_0_2_8c20286_1352155212391_983391_24041 _17_0_2_8c20286_1352155212391_112539_24043 15, 105, 161, 66 _17_0_2_8c20286_1352155212391_983391_24041 _17_0_2_8c20286_1352155212391_943782_24044 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 464, 245 - - - TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 182, 1517, 101, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 121, 315, 223, 203 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 161, 410, 143, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 172, 482, 121, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 138, 337, 190, 62 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 145, 364, 176, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 128, 446, 209, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 91, 1451, 283, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 169, 1197, 137, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 77, 560, 310, 596 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 130, 582, 220, 158 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 157, 673, 165, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 185, 705, 109, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 171, 641, 137, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 195, 609, 89, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 148, 1050, 196, 96 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 176, 1111, 128, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 170, 1078, 139, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 99, 756, 281, 245 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 117, 778, 246, 126 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 168, 833, 143, 61 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 175, 859, 129, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 124, 800, 231, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 134, 966, 222, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 156, 924, 178, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 116, 1015, 258, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 78, 105, 308, 172 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 177, 241, 110, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 154, 165, 157, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 143, 127, 178, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 85, 203, 294, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 152, 1263, 160, 147 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 163, 1375, 131, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 162, 1333, 143, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 179, 1285, 111, 25 TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 188, 42, 89, 25 5, 5, 520, 1557 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212392_495026_24053 _17_0_2_8c20286_1352155212392_612373_24054 86, 211, 18, 19 _17_0_2_8c20286_1352155212392_495026_24053 _17_0_2_8c20286_1352155212392_59041_24055 15, 105, 161, 66 _17_0_2_8c20286_1352155212392_495026_24053 _17_0_2_8c20286_1352155212392_722766_24056 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 462, 245 + + 5, 5, 17956, 2609 _12_0_8f90291_1164047242281_97653_2092 4914, 1386, 480, 88 _18_5_3_8bf0285_1564545242148_147196_11 17500, 1659, 141, 88 _18_5_3_8bf0285_1564545242148_147196_11 17339, 1659, 147, 88 _18_5_3_8bf0285_1564545242148_147196_11 17689, 1659, 113, 88 _18_5_3_8bf0285_1564545242148_147196_11 17178, 1659, 150, 88 _18_5_3_8bf0285_1564545242148_147196_11 1666, 1386, 146, 88 _18_5_3_8bf0285_1564545242148_147196_11 1820, 1372, 160, 116 _18_5_3_8bf0285_1564545242148_147196_11 11291, 546, 253, 102 _18_5_3_8bf0285_1564545242148_147196_11 5075, 532, 210, 116 _18_5_3_8bf0285_1564545242148_147196_11 17584, 560, 145, 88 _18_5_3_8bf0285_1564545242148_147196_11 5404, 707, 124, 88 _18_5_3_8bf0285_1564545242148_147196_11 5159, 707, 192, 88 _18_5_3_8bf0285_1564545242148_147196_11 5005, 707, 114, 88 _18_5_3_8bf0285_1564545242148_147196_11 672, 1610, 1170, 144 _18_5_3_8bf0285_1564545242148_147196_11 11599, 1988, 1537, 200 _18_5_3_8bf0285_1564545242148_147196_11 15575, 1694, 1372, 54 _18_5_3_8bf0285_1564545242148_147196_11 8400, 2128, 816, 54 _18_5_3_8bf0285_1564545242148_147196_11 13020, 1694, 1260, 54 _18_5_3_8bf0285_1564545242148_147196_11 12628, 1694, 384, 54 _18_5_3_8bf0285_1564545242148_147196_11 14294, 1694, 1275, 54 _18_5_3_8bf0285_1564545242148_147196_11 13356, 1421, 768, 53 _18_5_3_8bf0285_1564545242148_147196_11 13594, 2422, 139, 172 _12_0EAPbeta_8740266_1161255252812_822158_488 9366, 2128, 1207, 54 _18_5_3_8bf0285_1564545242148_147196_11 1855, 1631, 480, 117 _18_5_3_8bf0285_1564545242148_147196_11 7182, 1631, 1314, 117 _18_5_3_8bf0285_1564545242148_147196_11 3794, 1659, 738, 103 _18_5_3_8bf0285_1564545242148_147196_11 6769, 1659, 384, 89 _18_5_3_8bf0285_1564545242148_147196_11 2345, 1659, 750, 89 _18_5_3_8bf0285_1564545242148_147196_11 12376, 2317, 927, 243 _18_5_3_8bf0285_1564545242148_147196_11 6377, 1659, 384, 89 _18_5_3_8bf0285_1564545242148_147196_11 4508, 1386, 369, 89 _18_5_3_8bf0285_1564545242148_147196_11 350, 2128, 774, 53 _18_5_3_8bf0285_1564545242148_147196_11 5733, 1694, 630, 54 _18_5_3_8bf0285_1564545242148_147196_11 9429, 1694, 522, 53 _18_5_3_8bf0285_1564545242148_147196_11 14364, 2457, 112, 89 _18_5_3_8bf0285_1564545242148_147196_11 5446, 1421, 805, 53 _18_5_3_8bf0285_1564545242148_147196_11 10276, 2464, 80, 88 _12_0EAPbeta_8740266_1161255252812_822158_488 14203, 2492, 151, 54 _18_5_3_8bf0285_1564545242148_147196_11 11501, 707, 107, 89 _18_5_3_8bf0285_1564545242148_147196_11 10073, 2492, 192, 54 _18_5_3_8bf0285_1564545242148_147196_11 16961, 1694, 192, 54 _18_5_3_8bf0285_1564545242148_147196_11 8505, 1624, 384, 131 _18_5_3_8bf0285_1564545242148_147196_11 3136, 1694, 612, 53 _18_5_3_8bf0285_1564545242148_147196_11 10969, 2128, 621, 53 _18_5_3_8bf0285_1564545242148_147196_11 14084, 2492, 80, 54 _18_5_3_8bf0285_1564545242148_147196_11 420, 1386, 184, 89 _18_5_3_8bf0285_1564545242148_147196_11 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 2142, 756, 2850, 37 _18_4_e64033a_1484789332134_598688_15691 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 6342, 742, 5148, 54 _18_4_e64033a_1484789332134_598688_15691 5463, 795; 5463, 1308; 5253, 1308; 5253, 1386; _18_5_3_8bf0285_1564545242156_971296_104 5061, 795; 5061, 1386; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 4965, 1318; 4965, 1386; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 4960, 1376, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 5349, 1313; 5349, 1386; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5344, 1376, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 5253, 795; 5253, 1303; 5157, 1303; 5157, 1386; _18_5_3_8bf0285_1564545242156_971296_104 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 16261, 56, 1680, 333 _18_4_e64033a_1484789332134_598688_15691 17103, 389; 17103, 493; 17569, 493; 17569, 1659; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 17564, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 17415, 493; 17415, 1659; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 17410, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 17744, 493; 17744, 1659; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 17739, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 17256, 493; 17256, 1659; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 17251, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 1740, 493; 1740, 1386; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 1735, 1376, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 1903, 493; 1903, 1372; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 1898, 1362, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 11415, 493; 11415, 546; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 11410, 536, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 5181, 493; 5181, 532; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5176, 522, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 17656, 493; 17656, 560; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 17651, 550, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 5463, 493; 5463, 707; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5458, 697, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 5301, 493; 5301, 707; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5296, 697, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 5181, 648; 5181, 666; 5205, 666; 5205, 707; _18_5_3_8bf0285_1564545242156_971296_104 17103, 389; 17103, 493; 5061, 493; 5061, 707; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5056, 697, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 2107, 1386, 235, 88 _18_5_3_8bf0285_1564545242148_147196_11 1357, 1545; 1357, 1610; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 967, 1313; 967, 1610; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 962, 1600, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 1552, 1565; 1552, 1610; _18_5_3_8bf0285_1564545242156_971296_104 1162, 1550; 1162, 1610; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 772, 1318; 772, 1610; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 767, 1600, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 1747, 1555; 1747, 1610; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 12368, 1313; 12368, 1988; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 12363, 1978, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17256, 1747; 17256, 1785; 12676, 1785; 12676, 1988; _18_5_3_8bf0285_1564545242156_971296_104 17744, 1747; 17744, 1795; 12983, 1795; 12983, 1988; _18_5_3_8bf0285_1564545242156_971296_104 11754, 1790; 11754, 1988; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 405, 1318; 405, 1775; 12061, 1775; 12061, 1988; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 12056, 1978, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 14539, 1372, 123, 102 _18_5_3_8bf0285_1564545242148_147196_11 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 13216, 756, 1836, 37 _18_4_e64033a_1484789332134_598688_15691 8913, 796; 8913, 1313; 16538, 1313; 16538, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 16533, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 15715, 1565; 15715, 1694; _18_5_3_8bf0285_1564545242156_971296_104 14136, 793; 14136, 1323; 16812, 1323; 16812, 1694; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 16807, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 16263, 1318; 16263, 1694; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 16258, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 15989, 1550; 15989, 1694; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 619, 1318; 619, 1785; 8505, 1785; 8505, 2128; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 8500, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8709, 1790; 8709, 2128; _18_5_3_8bf0285_1564545242156_971296_104 14136, 793; 14136, 1323; 17166, 1323; 17166, 1765; 9117, 1765; 9117, 2128; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9112, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 2128; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 8908, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8764, 1386, 136, 88 _18_5_3_8bf0285_1564545242148_147196_11 14156, 1565; 14156, 1694; _18_5_3_8bf0285_1564545242156_971296_104 14136, 793; 14136, 1671; 13904, 1671; 13904, 1694; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 13899, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 12752, 1318; 12752, 1520; 13291, 1520; 13291, 1671; 13400, 1671; 13400, 1694; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 13395, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 13148, 1560; 13148, 1694; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 13311, 1313; 13311, 1666; 13652, 1666; 13652, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 13647, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 12964, 1565; 12964, 1694; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 12772, 1313; 12772, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 12767, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 12676, 1318; 12676, 1694; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 12671, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 14136, 793; 14136, 1323; 12868, 1323; 12868, 1694; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 12863, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 15372, 1386, 140, 88 _18_5_3_8bf0285_1564545242148_147196_11 15440, 1474; 15440, 1694; _18_5_3_8bf0285_1564545242156_971296_104 14420, 1565; 14420, 1694; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 14930, 1313; 14930, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 14925, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 14675, 1318; 14675, 1694; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 14670, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 14136, 793; 14136, 1323; 15185, 1323; 15185, 1694; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 15180, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 13641, 1313; 13641, 1421; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 13636, 1411, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 14136, 793; 14136, 1323; 14025, 1323; 14025, 1421; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 14020, 1411, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 13449, 1318; 13449, 1421; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 13444, 1411, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 13833, 1328; 13833, 1421; _18_5_3_8bf0285_1564545242156_971296_104 9726, 1790; 9726, 2128; _18_5_3_8bf0285_1564545242156_971296_104 17569, 1747; 17569, 1780; 10450, 1780; 10450, 2128; _18_5_3_8bf0285_1564545242156_971296_104 17415, 1747; 17415, 1770; 10209, 1770; 10209, 2128; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 659, 1318; 659, 1770; 9485, 1770; 9485, 2128; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9480, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 9967, 1313; 9967, 2128; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9962, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 2190, 1565; 2190, 1631; _18_5_3_8bf0285_1564545242156_971296_104 2286, 1555; 2286, 1631; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 1998, 1318; 1998, 1631; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 1993, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 1902, 1550; 1902, 1631; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 2094, 1313; 2094, 1631; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 2089, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 7512, 1555; 7512, 1631; _18_5_3_8bf0285_1564545242156_971296_104 8388, 1560; 8388, 1631; _18_5_3_8bf0285_1564545242156_971296_104 7293, 1565; 7293, 1631; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 7731, 1318; 7731, 1631; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 7726, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 7950, 1313; 7950, 1631; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 7945, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8169, 1328; 8169, 1631; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 3914, 1318; 3914, 1659; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 3909, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 4891, 1313; 4891, 1520; 4160, 1520; 4160, 1659; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 4155, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 4406, 1555; 4406, 1659; _18_5_3_8bf0285_1564545242156_971296_104 6817, 1555; 6817, 1659; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 6913, 1318; 6913, 1659; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 6908, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 7105, 1550; 7105, 1659; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 7009, 1313; 7009, 1659; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 7004, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 2625, 1318; 2625, 1659; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 2620, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3000, 1555; 3000, 1659; _18_5_3_8bf0285_1564545242156_971296_104 2438, 1545; 2438, 1659; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 3934, 1313; 3934, 1510; 2813, 1510; 2813, 1659; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 2808, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 307, 1318; 307, 2259; 12534, 2259; 12534, 2317; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 12529, 2307, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 12368, 2188; 12368, 2254; 12843, 2254; 12843, 2317; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 12388, 1313; 12388, 1790; 13152, 1790; 13152, 2317; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 13147, 2307, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 4466, 1318; 4466, 1515; 6519, 1515; 6519, 1659; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 6514, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 14136, 793; 14136, 1323; 6711, 1323; 6711, 1659; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 6706, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 6423, 1555; 6423, 1659; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 6615, 1313; 6615, 1659; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 6610, 1649, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 4599, 1318; 4599, 1386; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 4594, 1376, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 4784, 1313; 4784, 1386; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 4779, 1376, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 833, 1790; 833, 2128; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 7168, 1313; 7168, 1780; 639, 1780; 639, 2128; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 634, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 1026, 1795; 1026, 2128; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 639, 1318; 639, 1770; 446, 1770; 446, 2128; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 441, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 4426, 1318; 4426, 1655; 5814, 1655; 5814, 1694; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5809, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 6287, 1555; 6287, 1694; _18_5_3_8bf0285_1564545242156_971296_104 4691, 1475; 4691, 1550; 5972, 1550; 5972, 1694; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 6267, 1313; 6267, 1671; 6129, 1671; 6129, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 6124, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 12404, 1435, 258, 36 _18_4_e64033a_1484789332134_598688_15691 8913, 796; 8913, 1313; 9691, 1313; 9691, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9686, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 9517, 1555; 9517, 1694; _18_5_3_8bf0285_1564545242156_971296_104 12532, 1471; 12532, 1545; 9865, 1545; 9865, 1694; 12527, 1471, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9860, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 14385, 2142, 80, 37 _18_4_e64033a_1484789332134_598688_15691 14422, 2179; 14422, 2457; 14417, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 14417, 2447, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 5810, 742, 84, 53 _18_5_3_8bf0285_1564545242148_147196_11 5849, 795; 5849, 1421; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 6117, 1313; 6117, 1421; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 6112, 1411, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 5581, 1318; 5581, 1421; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 5576, 1411, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 14238, 2142, 84, 37 _18_4_e64033a_1484789332134_598688_15691 14278, 2179; 14278, 2492; 14273, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 14273, 2482, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 493; 11556, 493; 11556, 707; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 11551, 697, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 10633, 2142, 80, 37 _18_4_e64033a_1484789332134_598688_15691 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 42, 2142, 252, 37 _18_4_e64033a_1484789332134_598688_15691 166, 2179; 166, 2269; 10119, 2269; 10119, 2492; 161, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 10114, 2482, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 10672, 2179; 10672, 2274; 10215, 2274; 10215, 2492; 10667, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 10210, 2482, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17103, 389; 17103, 1694; 17098, 389, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 17098, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 17007, 1550; 17007, 1694; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 8747, 1313; 8747, 1624; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 8742, 1614, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8843, 1560; 8843, 1624; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 8651, 1318; 8651, 1624; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 8646, 1614, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8555, 1555; 8555, 1624; _18_5_3_8bf0285_1564545242156_971296_104 3567, 793; 3567, 1318; 3235, 1318; 3235, 1694; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 3230, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3643, 1555; 3643, 1694; _18_5_3_8bf0285_1564545242156_971296_104 8913, 796; 8913, 1313; 4446, 1313; 4446, 1515; 3439, 1515; 3439, 1694; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 3434, 1684, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 11072, 1795; 11072, 2128; _18_5_3_8bf0285_1564545242156_971296_104 12532, 1471; 12532, 1785; 11486, 1785; 11486, 2128; 12527, 1471, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 11481, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 11279, 1313; 11279, 2128; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 11274, 2118, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 14084, 2142, 80, 37 _18_4_e64033a_1484789332134_598688_15691 14122, 2179; 14122, 2492; 14117, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 14117, 2482, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 512, 1318; 512, 1386; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 507, 1376, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 10381, 2422, 765, 131 _18_5_3_8bf0285_1564545242148_147196_11 166, 2179; 166, 2269; 10460, 2269; 10460, 2422; 161, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 10455, 2412, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 10878, 2142, 80, 37 _18_4_e64033a_1484789332134_598688_15691 13167, 1820, 847, 383 _18_5_3_8bf0285_1564545242148_147196_11 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 9275, 2142, 80, 37 _18_4_e64033a_1484789332134_598688_15691 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON 10759, 2009, 80, 320 _18_4_e64033a_1484789332134_598688_15691 13590, 2203; 13590, 2274; 11072, 2274; 11072, 2422; _18_5_3_8bf0285_1564545242156_971296_104 10766, 2329; 10766, 2422; 10761, 2329, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 10761, 2412, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 9314, 2179; 9314, 2264; 10613, 2264; 10613, 2422; 9309, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 10608, 2412, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 10919, 2179; 10919, 2422; 10914, 2179, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 10914, 2412, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8925, 1631, 492, 117 _18_5_3_8bf0285_1564545242148_147196_11 14136, 793; 14136, 1323; 9359, 1323; 9359, 1631; 14131, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9354, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8913, 796; 8913, 1313; 9236, 1313; 9236, 1631; 8908, 796, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9231, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 3567, 793; 3567, 1318; 9113, 1318; 9113, 1631; 3562, 793, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 9108, 1621, 10, 10 _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242156_509706_105 8990, 1555; 8990, 1631; _18_5_3_8bf0285_1564545242156_971296_104 833, 1790, 10921, 0 _18_5_3_8bf0285_1564545242147_145373_7 1552, 1565, 5741, 0 _18_5_3_8bf0285_1564545242147_145373_7 1162, 1550, 740, 0 _18_5_3_8bf0285_1564545242147_145373_7 1357, 1545, 1081, 0 _18_5_3_8bf0285_1564545242147_145373_7 7105, 1550, 9902, 0 _18_5_3_8bf0285_1564545242147_145373_7 1747, 1555, 7770, 0 _18_5_3_8bf0285_1564545242147_145373_7 8169, 1328, 5664, 0 _18_5_3_8bf0285_1564545242147_145373_7 8388, 1560, 4760, 0 _18_5_3_8bf0285_1564545242147_145373_7 12964, 1565, 2751, 0 _18_5_3_8bf0285_1564545242147_145373_7 1026, 1795, 10046, 0 _18_5_3_8bf0285_1564545242147_145373_7 Default Class _18_5_3_8bf0285_1564545242153_540852_73 _18_5_3_8bf0285_1564545242147_320267_3 FILL_COLOR FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_SHAPE_IMAGE_AND_TEXT SHOW_MEMBERS_MODE SHOW_MEMBERS_MODE_DESCRIPTION ALL SHOW_INHERITED SHOW_INHERITED_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION ATTRIBUTE_COLOR ATTRIBUTES ATTRIBUTE_COLOR_DESCRIPTION ATTRIBUTE_FONT ATTRIBUTES ATTRIBUTE_FONT_DESCRIPTION Arial SHOW_MORE_SIGN_FOR_ATTRIBUTES ATTRIBUTES SHOW_MORE_SIGN_FOR_ATTRIBUTES_DESCRIPTION SORT_CLASS_ATTRIBUTES_MODE ATTRIBUTES SORT_CLASS_ATTRIBUTES_MODE_DESCRIPTION NO_SORT SHOW_ASSOCIATION_ENDS_MODE ATTRIBUTES SHOW_ASSOCIATION_ENDS_MODE_DESCRIPTION DO_NOT_DISPLAY SHOW_ATTRIBUTES_VISIBILITY ATTRIBUTES SHOW_ATTRIBUTES_VISIBILITY_DESCRIPTION SHOW_ATTRIBUTES_INHERITED_SIGN ATTRIBUTES SHOW_ATTRIBUTES_INHERITED_SIGN_DESCRIPTION SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION SHOW_ATTRIBUTES_TYPE ATTRIBUTES SHOW_ATTRIBUTES_TYPE_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_ATTRIBUTES_PROPERTIES ATTRIBUTES SHOW_ATTRIBUTES_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_TAGGED_VALUES ATTRIBUTES SHOW_ATTRIBUTES_TAGGED_VALUES_DESCRIPTION SHOW_ATTRIBUTES_CONSTRAINTS ATTRIBUTES SHOW_ATTRIBUTES_CONSTRAINTS_DESCRIPTION ATTRIBUTES_CONSTRAINT_TEXT_MODE ATTRIBUTES ATTRIBUTES_CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_INIT_VALUE ATTRIBUTES SHOW_INIT_VALUE_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION SHOW_OPERATIONS_COMPARTMENT_NAME OPERATIONS SHOW_OPERATIONS_COMPARTMENT_NAME_DESCRIPTION OPERATION_COLOR OPERATIONS OPERATION_COLOR_DESCRIPTION OPERATION_FONT OPERATIONS OPERATION_FONT_DESCRIPTION Arial SHOW_OPERATIONS_SIGNATURE OPERATIONS SHOW_OPERATIONS_SIGNATURE_DESCRIPTION SHOW_MORE_SIGN_FOR_OPERATIONS OPERATIONS SHOW_MORE_SIGN_FOR_OPERATIONS_DESCRIPTION SORT_CLASS_OPERATIONS_MODE OPERATIONS SORT_CLASS_OPERATIONS_MODE_DESCRIPTION NO_SORT SHOW_OPERATIONS_VISIBILITY OPERATIONS SHOW_OPERATIONS_VISIBILITY_DESCRIPTION SHOW_OPERATIONS_INHERITED_SIGN OPERATIONS SHOW_OPERATIONS_INHERITED_SIGN_DESCRIPTION SHOW_OPERATIONS_STEREOTYPE OPERATIONS SHOW_OPERATIONS_STEREOTYPE_DESCRIPTION SHOW_OPERATIONS_PROPERTIES OPERATIONS SHOW_OPERATIONS_PROPERTIES_DESCRIPTION SHOW_OPERATIONS_TAGGED_VALUES OPERATIONS SHOW_OPERATIONS_TAGGED_VALUES_DESCRIPTION SHOW_OPERATIONS_CONSTRAINTS OPERATIONS SHOW_OPERATIONS_CONSTRAINTS_DESCRIPTION OPERATIONS_CONSTRAINT_TEXT_MODE OPERATIONS OPERATIONS_CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_FULL_TYPE SHOW_FULL_TYPE_DESCRIPTION USE_ADVANCED_COLORING USE_ADVANCED_COLORING_DESCRIPTION SHOW_OPERATIONS_PARAMETERS_DIRECTION_KIND OPERATIONS SHOW_OPERATIONS_PARAMETERS_DIRECTION_KIND_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE SHOW_TAGGED_VALUES_STEREOTYPES SHOW_TAGGED_VALUES_STEREOTYPES_DESCRIPTION SHOW_QUALIFIED_NAME_IN_TAGGED_VALUES SHOW_QUALIFIED_NAME_IN_TAGGED_VALUES_DESCRIPTION MEMBERS_WORD_WRAP MEMBERS_WORD_WRAP_DESCRIPTION SUPPRESS_CLASS_PORTS PORTS SUPPRESS_CLASS_PORTS_DESCRIPTION SHOW_PORTS_COMPARTMENT_NAME PORTS SHOW_PORTS_COMPARTMENT_NAME_DESCRIPTION PORTS_COLOR PORTS PORTS_COLOR_DESCRIPTION PORTS_FONT PORTS PORTS_FONT_DESCRIPTION Arial SHOW_MORE_SIGN_FOR_PORTS PORTS SHOW_MORE_SIGN_FOR_PORTS_DESCRIPTION SORT_CLASS_PORT_MODE PORTS SORT_CLASS_PORT_MODE_DESCRIPTION NO_SORT SHOW_ASSOCIATION_ENDS_PORTS_MODE PORTS SHOW_ASSOCIATION_ENDS_PORTS_MODE_DESCRIPTION DO_NOT_DISPLAY SHOW_PORTS_VISIBILITY PORTS SHOW_PORTS_VISIBILITY_DESCRIPTION SHOW_PORTS_INHERITED_SIGN PORTS SHOW_PORTS_INHERITED_SIGN_DESCRIPTION SHOW_PORTS_TYPE PORTS SHOW_PORTS_TYPE_DESCRIPTION SHOW_PORTS_STEREOTYPE PORTS SHOW_PORTS_STEREOTYPE_DESCRIPTION SHOW_PORTS_PROPERTIES PORTS SHOW_PORTS_PROPERTIES_DESCRIPTION SHOW_PORTS_TAGGED_VALUES PORTS SHOW_PORTS_TAGGED_VALUES_DESCRIPTION SHOW_PORTS_CONSTRAINTS PORTS SHOW_PORTS_CONSTRAINTS_DESCRIPTION PORTS_CONSTRAINTS_TEXT_MODE PORTS PORTS_CONSTRAINTS_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_INIT_PORTS_VALUE PORTS SHOW_INIT_PORTS_VALUE_DESCRIPTION SUPPRESS_BEHAVIORS BEHAVIORS SUPPRESS_BEHAVIORS_DESCRIPTION BEHAVIORS_COLOR BEHAVIORS BEHAVIORS_COLOR_DESCRIPTION SHOW_BEHAVIORS_INHERITED_SIGN BEHAVIORS SHOW_BEHAVIORS_INHERITED_SIGN_DESCRIPTION SHOW_MORE_SIGN_FOR_BEHAVIORS BEHAVIORS SHOW_MORE_SIGN_FOR_BEHAVIORS_DESCRIPTION SHOW_BEHAVIORS_PROPERTIES BEHAVIORS SHOW_BEHAVIORS_PROPERTIES_DESCRIPTION SHOW_BEHAVIORS_TAGGED_VALUES BEHAVIORS SHOW_BEHAVIORS_TAGGED_VALUES_DESCRIPTION SHOW_BEHAVIORS_CONSTRAINTS BEHAVIORS SHOW_BEHAVIORS_CONSTRAINTS_DESCRIPTION BEHAVIORS_CONSTRAINT_TEXT_MODE BEHAVIORS BEHAVIORS_CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_BEHAVIORS_SIGNATURE BEHAVIORS SHOW_BEHAVIORS_SIGNATURE_DESCRIPTION SHOW_BEHAVIORS_PARAMETERS_DIRECTION_KIND BEHAVIORS SHOW_BEHAVIORS_PARAMETERS_DIRECTION_KIND_DESCRIPTION BEHAVIORS_FONT BEHAVIORS BEHAVIORS_FONT_DESCRIPTION Arial SHOW_BEHAVIORS_STEREOTYPE BEHAVIORS SHOW_BEHAVIORS_STEREOTYPE_DESCRIPTION SUPPRESS_SIGNAL_RECEPTIONS RECEPTIONS SUPPRESS_SIGNAL_RECEPTIONS_DESCRIPTION RECEPTION_COLOR RECEPTIONS RECEPTION_COLOR_DESCRIPTION RECEPTION_FONT RECEPTIONS RECEPTION_FONT_DESCRIPTION Arial SHOW_SIGNAL_RECEPTIONS_SIGNATURE RECEPTIONS SHOW_SIGNAL_RECEPTIONS_SIGNATURE_DESCRIPTION SHOW_MORE_SIGN_FOR_RECEPTIONS RECEPTIONS SHOW_MORE_SIGN_FOR_RECEPTIONS_DESCRIPTION SORT_CLASS_RECEPTIONS_MODE RECEPTIONS SORT_CLASS_RECEPTIONS_MODE_DESCRIPTION NO_SORT SHOW_SIGNAL_RECEPTIONS_VISIBILITY RECEPTIONS SHOW_SIGNAL_RECEPTIONS_VISIBILITY_DESCRIPTION SHOW_RECEPTIONS_INHERITED_SIGN RECEPTIONS SHOW_RECEPTIONS_INHERITED_SIGN_DESCRIPTION SHOW_RECEPTIONS_STEREOTYPES RECEPTIONS SHOW_RECEPTIONS_STEREOTYPES_DESCRIPTION SHOW_RECEPTIONS_PROPERTIES RECEPTIONS SHOW_RECEPTIONS_PROPERTIES_DESCRIPTION SHOW_RECEPTIONS_TAGGED_VALUES RECEPTIONS SHOW_RECEPTIONS_TAGGED_VALUES_DESCRIPTION SHOW_RECEPTIONS_CONSTRAINTS RECEPTIONS SHOW_RECEPTIONS_CONSTRAINTS_DESCRIPTION RECEPTIONS_CONSTRAINTS_TEXT_MODE RECEPTIONS RECEPTIONS_CONSTRAINTS_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_RECEPTIONS_PARAMETERS_DIRECTION_KIND RECEPTIONS SHOW_RECEPTIONS_PARAMETERS_DIRECTION_KIND_DESCRIPTION SUPPRESS_STRUCTURE SUPPRESS_STRUCTURE_DESCRIPTION BORDER_ELEMENT_MARGIN BORDER_ELEMENT_MARGIN_DESCRIPTION BORDER_ELEMENT_MARGIN_ALL SHOW_RECEPTIONS_COMPARTMENT_NAME RECEPTIONS SHOW_RECEPTIONS_COMPARTMENT_NAME_DESCRIPTION Diagram _18_5_3_8bf0285_1564545242157_311106_120 _18_5_3_8bf0285_1564545242147_425722_1 DIAGRAM_BACKGROUND_COLOR DIAGRAM_BACKGROUND_COLOR_DESCRIPTION USE_GRADIENT_FOR_FILL USE_GRADIENT_FOR_FILL_DESCRIPTION USE_SHADOW_FOR_SHAPES USE_SHADOW_FOR_SHAPES_DESCRIPTION SHOW_GRID SHOW_GRID_DESCRIPTION GRID_SIZE GRID_SIZE_DESCRIPTION USE_GRID_FOR_PATHS USE_GRID_FOR_PATHS_DESCRIPTION USE_GRID_FOR_SHAPES USE_GRID_FOR_SHAPES_DESCRIPTION SHOW_MESSAGE_NUMBERS SHOW_MESSAGE_NUMBERS_DESCRIPTION USE_ADVANCED_NUMBERING USE_ADVANCED_NUMBERING_DESCRIPTION SHOW_ACTIVATIONS SHOW_ACTIVATIONS_DESCRIPTION SHOW_DIAGRAM_INFO SHOW_DIAGRAM_INFO_DESCRIPTION SHOW_DIAGRAM_OWNER SHOW_DIAGRAM_OWNER_DESCRIPTION SHOW_DIAGRAM_FRAME DIAGRAM_FRAME SHOW_DIAGRAM_FRAME_DESCRIPTION SHOW_ABBREVIATED_DIAGRAM_TYPE DIAGRAM_FRAME SHOW_ABBREVIATED_DIAGRAM_TYPE_DESCRIPTION SHOW_DIAGRAM_NAME DIAGRAM_FRAME SHOW_DIAGRAM_NAME_DESCRIPTION SHOW_DIAGRAM_TYPE DIAGRAM_FRAME SHOW_DIAGRAM_TYPE_DESCRIPTION SHOW_PARAMETERS DIAGRAM_FRAME SHOW_PARAMETERS_DESCRIPTION SHOW_CONTEXT_NAME DIAGRAM_FRAME SHOW_CONTEXT_NAME_DESCRIPTION SHOW_CONTEXT_TYPE DIAGRAM_FRAME SHOW_CONTEXT_TYPE_DESCRIPTION SHOW_FRAME_OWNER DIAGRAM_FRAME SHOW_FRAME_OWNER_DESCRIPTION AUTOSIZE DIAGRAM_FRAME AUTOSIZE_DESCRIPTION ASPECT_RATIO DIAGRAM_FRAME ASPECT_RATIO_DESCRIPTION ASPECT_RATIO_UNSPECIFIED USE_ROUNDED_CORNERS DIAGRAM_FRAME USE_ROUNDED_CORNERS_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON DSL_STEREOTYPE_DISPLAY_MODE DSL_STEREOTYPE_DISPLAY_MODE_DESCRIPTION DSL_STEREOTYPE_DISPLAY_MODE_ALL USE_STEREOTYPE USE_STEREOTYPE_DESCRIPTION USE_STEREOTYPE_DIAGRAM STEREOTYPE_COLOR STEREOTYPE_COLOR_DESCRIPTION STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial DIAGRAM_ORIENTATION DIAGRAM_ORIENTATION_DESCRIPTION DIAGRAM_ORIENTATION_VERTICAL LINE_JUMP_PLACE LINE_JUMP_PLACE_DESCRIPTION LINE_JUMP_PLACE_HORIZONTAL SUSPEND_SHAPES_AUTO_RESIZE SUSPEND_SHAPES_AUTO_RESIZE_DESCRIPTION SUSPEND_LABELS_AUTO_DISPLAY SUSPEND_LABELS_AUTO_DISPLAY_DESCRIPTION SUSPEND_SHAPE_AUTO_RESIZE DIAGRAM_FRAME SUSPEND_SHAPE_AUTO_RESIZE_DESCRIPTION SUSPEND_SHAPE_AUTO_RESIZE_SAME_AS_DIAGRAM SHOW_SYSML_INTERNAL_PROPERTIES_COMPARTMENTS SHOW_SYSML_INTERNAL_PROPERTIES_COMPARTMENTS_DESCRIPTION Enumeration _18_5_3_8bf0285_1564545242152_927499_57 _18_5_3_8bf0285_1564545242147_320267_3 FILL_COLOR FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_SHAPE_IMAGE_AND_TEXT SHOW_MEMBERS_MODE SHOW_MEMBERS_MODE_DESCRIPTION ALL SHOW_INHERITED SHOW_INHERITED_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION ATTRIBUTE_COLOR ATTRIBUTES ATTRIBUTE_COLOR_DESCRIPTION ATTRIBUTE_FONT ATTRIBUTES ATTRIBUTE_FONT_DESCRIPTION Arial SHOW_MORE_SIGN_FOR_ATTRIBUTES ATTRIBUTES SHOW_MORE_SIGN_FOR_ATTRIBUTES_DESCRIPTION SORT_CLASS_ATTRIBUTES_MODE ATTRIBUTES SORT_CLASS_ATTRIBUTES_MODE_DESCRIPTION NO_SORT SHOW_ASSOCIATION_ENDS_MODE ATTRIBUTES SHOW_ASSOCIATION_ENDS_MODE_DESCRIPTION DO_NOT_DISPLAY SHOW_ATTRIBUTES_VISIBILITY ATTRIBUTES SHOW_ATTRIBUTES_VISIBILITY_DESCRIPTION SHOW_ATTRIBUTES_INHERITED_SIGN ATTRIBUTES SHOW_ATTRIBUTES_INHERITED_SIGN_DESCRIPTION SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION SHOW_ATTRIBUTES_TYPE ATTRIBUTES SHOW_ATTRIBUTES_TYPE_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_ATTRIBUTES_PROPERTIES ATTRIBUTES SHOW_ATTRIBUTES_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_TAGGED_VALUES ATTRIBUTES SHOW_ATTRIBUTES_TAGGED_VALUES_DESCRIPTION SHOW_ATTRIBUTES_CONSTRAINTS ATTRIBUTES SHOW_ATTRIBUTES_CONSTRAINTS_DESCRIPTION ATTRIBUTES_CONSTRAINT_TEXT_MODE ATTRIBUTES ATTRIBUTES_CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_INIT_VALUE ATTRIBUTES SHOW_INIT_VALUE_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION SHOW_OPERATIONS_COMPARTMENT_NAME OPERATIONS SHOW_OPERATIONS_COMPARTMENT_NAME_DESCRIPTION OPERATION_COLOR OPERATIONS OPERATION_COLOR_DESCRIPTION OPERATION_FONT OPERATIONS OPERATION_FONT_DESCRIPTION Arial SHOW_OPERATIONS_SIGNATURE OPERATIONS SHOW_OPERATIONS_SIGNATURE_DESCRIPTION SHOW_MORE_SIGN_FOR_OPERATIONS OPERATIONS SHOW_MORE_SIGN_FOR_OPERATIONS_DESCRIPTION SORT_CLASS_OPERATIONS_MODE OPERATIONS SORT_CLASS_OPERATIONS_MODE_DESCRIPTION NO_SORT SHOW_OPERATIONS_VISIBILITY OPERATIONS SHOW_OPERATIONS_VISIBILITY_DESCRIPTION SHOW_OPERATIONS_INHERITED_SIGN OPERATIONS SHOW_OPERATIONS_INHERITED_SIGN_DESCRIPTION SHOW_OPERATIONS_STEREOTYPE OPERATIONS SHOW_OPERATIONS_STEREOTYPE_DESCRIPTION SHOW_OPERATIONS_PROPERTIES OPERATIONS SHOW_OPERATIONS_PROPERTIES_DESCRIPTION SHOW_OPERATIONS_TAGGED_VALUES OPERATIONS SHOW_OPERATIONS_TAGGED_VALUES_DESCRIPTION SHOW_OPERATIONS_CONSTRAINTS OPERATIONS SHOW_OPERATIONS_CONSTRAINTS_DESCRIPTION OPERATIONS_CONSTRAINT_TEXT_MODE OPERATIONS OPERATIONS_CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_FULL_TYPE SHOW_FULL_TYPE_DESCRIPTION USE_ADVANCED_COLORING USE_ADVANCED_COLORING_DESCRIPTION SHOW_OPERATIONS_PARAMETERS_DIRECTION_KIND OPERATIONS SHOW_OPERATIONS_PARAMETERS_DIRECTION_KIND_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE SHOW_TAGGED_VALUES_STEREOTYPES SHOW_TAGGED_VALUES_STEREOTYPES_DESCRIPTION SHOW_QUALIFIED_NAME_IN_TAGGED_VALUES SHOW_QUALIFIED_NAME_IN_TAGGED_VALUES_DESCRIPTION MEMBERS_WORD_WRAP MEMBERS_WORD_WRAP_DESCRIPTION SUPPRESS_ENUMERATION_LITERALS ENUMERATION_LITERALS SUPPRESS_ENUMERATION_LITERALS_DESCRIPTION SHOW_ENUMERATION_LITERALS_COMPARTMENT_NAME ENUMERATION_LITERALS SHOW_ENUMERATION_LITERALS_COMPARTMENT_NAME_DESCRIPTION ENUMERATION_LITERAL_COLOR ENUMERATION_LITERALS ENUMERATION_LITERAL_COLOR_DESCRIPTION SHOW_ENUMERATION_LITERAL_CONSTRAINTS ENUMERATION_LITERALS SHOW_ENUMERATION_LITERAL_CONSTRAINTS_DESCRIPTION ENUMERATION_LITERAL_CONSTRAINTS_TEXT_MODE ENUMERATION_LITERALS ENUMERATION_LITERAL_CONSTRAINTS_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_ENUMERATION_LITERAL_TAGGED_VALUES ENUMERATION_LITERALS SHOW_ENUMERATION_LITERAL_TAGGED_VALUES_DESCRIPTION SHOW_ENUMERATION_LITERAL_STEREOTYPE ENUMERATION_LITERALS SHOW_ENUMERATION_LITERAL_STEREOTYPE_DESCRIPTION ENUMERATION_LITERAL_FONT ENUMERATION_LITERALS ENUMERATION_LITERAL_FONT_DESCRIPTION Arial SORT_ENUMERATION_LITERALS_MODE ENUMERATION_LITERALS SORT_ENUMERATION_LITERALS_MODE_DESCRIPTION NO_SORT SHOW_ENUMERATION_LITERALS_INHERITED_SIGN ENUMERATION_LITERALS SHOW_ENUMERATION_LITERALS_INHERITED_SIGN_DESCRIPTION SHOW_MORE_SIGN_FOR_ENUMERATION_LITERALS ENUMERATION_LITERALS SHOW_MORE_SIGN_FOR_ENUMERATION_LITERALS_DESCRIPTION ExtensionRole _18_5_3_8bf0285_1564545242151_4508_54 _18_5_3_8bf0285_1564545242147_320267_3 SHOW_ROLE_NAME SHOW_ROLE_NAME_DESCRIPTION SHOW_ROLE_VISIBILITY SHOW_ROLE_VISIBILITY_DESCRIPTION SHOW_ROLE_MULTIPLICITY SHOW_ROLE_MULTIPLICITY_DESCRIPTION SHOW_ROLE_PROPERTY_STRING SHOW_ROLE_PROPERTY_STRING_DESCRIPTION Extension _18_5_3_8bf0285_1564545242156_509706_105 _18_5_3_8bf0285_1564545242147_137113_2 STEREOTYPE_COLOR STEREOTYPE_COLOR_DESCRIPTION STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial WRAP_WORDS WRAP_WORDS_DESCRIPTION SHOW_NAME SHOW_NAME_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON DSL_STEREOTYPE_DISPLAY_MODE DSL_STEREOTYPE_DISPLAY_MODE_DESCRIPTION DSL_STEREOTYPE_DISPLAY_MODE_ALL SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION SHOW_ELEMENT_PROPERTIES SHOW_ELEMENT_PROPERTIES_DESCRIPTION SHOW_ICONS_IN_COMPARTMENTS SHOW_ICONS_IN_COMPARTMENTS_DESCRIPTION SHOW_ELEMENT_TYPE_IN_COMPARTMENTS SHOW_ELEMENT_TYPE_IN_COMPARTMENTS_DESCRIPTION SHOW_DERIVED_SIGN SHOW_DERIVED_SIGN_DESCRIPTION SHOW_CONVEYED_A SHOW_CONVEYED_A_DESCRIPTION SHOW_CONVEYED_B SHOW_CONVEYED_B_DESCRIPTION SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SHOW_ASSOCIATION_DIRECTION_ICON SHOW_ASSOCIATION_DIRECTION_ICON_DESCRIPTION SHOW_IS_REQUIRED SHOW_IS_REQUIRED_DESCRIPTION Generalization _18_5_3_8bf0285_1564545242156_971296_104 _18_5_3_8bf0285_1564545242147_137113_2 STEREOTYPE_COLOR STEREOTYPE_COLOR_DESCRIPTION STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial WRAP_WORDS WRAP_WORDS_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON DSL_STEREOTYPE_DISPLAY_MODE DSL_STEREOTYPE_DISPLAY_MODE_DESCRIPTION DSL_STEREOTYPE_DISPLAY_MODE_ALL SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION SHOW_ELEMENT_PROPERTIES SHOW_ELEMENT_PROPERTIES_DESCRIPTION SHOW_ICONS_IN_COMPARTMENTS SHOW_ICONS_IN_COMPARTMENTS_DESCRIPTION SHOW_ELEMENT_TYPE_IN_COMPARTMENTS SHOW_ELEMENT_TYPE_IN_COMPARTMENTS_DESCRIPTION SHOW_DERIVED_SIGN SHOW_DERIVED_SIGN_DESCRIPTION SHOW_CONVEYED_A SHOW_CONVEYED_A_DESCRIPTION SHOW_CONVEYED_B SHOW_CONVEYED_B_DESCRIPTION SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SHOW_GENERALIZATION_SET SHOW_GENERALIZATION_SET_DESCRIPTION Paths _18_5_3_8bf0285_1564545242147_137113_2 _18_5_3_8bf0285_1564545242147_425722_1 USE_FILL_COLOR USE_FILL_COLOR_DESCRIPTION LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION RECTILINEAR IS_ROUNDED IS_ROUNDED_DESCRIPTION CONSTRAINT_TEXT_MODE CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SUSPEND_SHAPE_AUTO_RESIZE SUSPEND_SHAPE_AUTO_RESIZE_DESCRIPTION SUSPEND_SHAPE_AUTO_RESIZE_SAME_AS_DIAGRAM SUSPEND_LABEL_AUTO_DISPLAY SUSPEND_LABEL_AUTO_DISPLAY_DESCRIPTION SUSPEND_LABEL_AUTO_DISPLAY_SAME_AS_DIAGRAM LABEL_ORIENTATION LABEL_ORIENTATION_DESCRIPTION LABEL_ORIENTATION_HORIZONTAL Shapes _18_5_3_8bf0285_1564545242147_320267_3 _18_5_3_8bf0285_1564545242147_425722_1 AUTOSIZE AUTOSIZE_DESCRIPTION USE_FIXED_CONNECTION_POINTS USE_FIXED_CONNECTION_POINTS_DESCRIPTION SUSPEND_SHAPE_AUTO_RESIZE SUSPEND_SHAPE_AUTO_RESIZE_DESCRIPTION SUSPEND_SHAPE_AUTO_RESIZE_SAME_AS_DIAGRAM SUSPEND_LABEL_AUTO_DISPLAY SUSPEND_LABEL_AUTO_DISPLAY_DESCRIPTION SUSPEND_LABEL_AUTO_DISPLAY_SAME_AS_DIAGRAM LABEL_ORIENTATION LABEL_ORIENTATION_DESCRIPTION LABEL_ORIENTATION_HORIZONTAL SHOW_HEADER_IN_BOLD SHOW_HEADER_IN_BOLD_DESCRIPTION TEXT_VERTICAL_POSITION TEXT_VERTICAL_POSITION_DESCRIPTION TOP STEREOTYPE_COLOR STEREOTYPE_COLOR_DESCRIPTION STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON DSL_STEREOTYPE_DISPLAY_MODE DSL_STEREOTYPE_DISPLAY_MODE_DESCRIPTION DSL_STEREOTYPE_DISPLAY_MODE_ALL SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION QNAME_DISPLAY_MODE QNAME_DISPLAY_MODE_DESCRIPTION QNAME_DISPLAY_MODE_DO_NOT_DISPLAY WRAP_WORDS WRAP_WORDS_DESCRIPTION SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION TAGGED_VALUE_HORIZONTAL_POSITION TAGGED_VALUE_HORIZONTAL_POSITION_DESCRIPTION RIGHT CONSTRAINT_TEXT_MODE CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_ELEMENT_PROPERTIES SHOW_ELEMENT_PROPERTIES_DESCRIPTION SHOW_ICONS_IN_COMPARTMENTS SHOW_ICONS_IN_COMPARTMENTS_DESCRIPTION SHOW_ELEMENT_TYPE_IN_COMPARTMENTS SHOW_ELEMENT_TYPE_IN_COMPARTMENTS_DESCRIPTION SHOW_DERIVED_SIGN SHOW_DERIVED_SIGN_DESCRIPTION Stereotype _18_5_3_8bf0285_1564545242148_147196_11 _18_5_3_8bf0285_1564545242147_320267_3 PEN_COLOR PEN_COLOR_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_SHAPE_IMAGE_AND_TEXT USE_ADVANCED_COLORING USE_ADVANCED_COLORING_DESCRIPTION SHOW_FULL_TYPE SHOW_FULL_TYPE_DESCRIPTION SHOW_MEMBERS_MODE SHOW_MEMBERS_MODE_DESCRIPTION ALL SHOW_INHERITED SHOW_INHERITED_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION ATTRIBUTE_COLOR ATTRIBUTES ATTRIBUTE_COLOR_DESCRIPTION ATTRIBUTE_FONT ATTRIBUTES ATTRIBUTE_FONT_DESCRIPTION Arial SHOW_MORE_SIGN_FOR_ATTRIBUTES ATTRIBUTES SHOW_MORE_SIGN_FOR_ATTRIBUTES_DESCRIPTION SORT_CLASS_ATTRIBUTES_MODE ATTRIBUTES SORT_CLASS_ATTRIBUTES_MODE_DESCRIPTION NO_SORT SHOW_ASSOCIATION_ENDS_MODE ATTRIBUTES SHOW_ASSOCIATION_ENDS_MODE_DESCRIPTION DO_NOT_DISPLAY SHOW_ATTRIBUTES_VISIBILITY ATTRIBUTES SHOW_ATTRIBUTES_VISIBILITY_DESCRIPTION SHOW_ATTRIBUTES_INHERITED_SIGN ATTRIBUTES SHOW_ATTRIBUTES_INHERITED_SIGN_DESCRIPTION SHOW_ATTRIBUTES_COMPARTMENT_NAME ATTRIBUTES SHOW_ATTRIBUTES_COMPARTMENT_NAME_DESCRIPTION SHOW_ATTRIBUTES_TYPE ATTRIBUTES SHOW_ATTRIBUTES_TYPE_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_ATTRIBUTES_PROPERTIES ATTRIBUTES SHOW_ATTRIBUTES_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_TAGGED_VALUES ATTRIBUTES SHOW_ATTRIBUTES_TAGGED_VALUES_DESCRIPTION SHOW_ATTRIBUTES_CONSTRAINTS ATTRIBUTES SHOW_ATTRIBUTES_CONSTRAINTS_DESCRIPTION ATTRIBUTES_CONSTRAINT_TEXT_MODE ATTRIBUTES ATTRIBUTES_CONSTRAINT_TEXT_MODE_DESCRIPTION EXPRESSION_MODE SHOW_INIT_VALUE ATTRIBUTES SHOW_INIT_VALUE_DESCRIPTION SHOW_BASE_CLASSES SHOW_BASE_CLASSES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE SHOW_TAGGED_VALUES_STEREOTYPES SHOW_TAGGED_VALUES_STEREOTYPES_DESCRIPTION SHOW_QUALIFIED_NAME_IN_TAGGED_VALUES SHOW_QUALIFIED_NAME_IN_TAGGED_VALUES_DESCRIPTION MEMBERS_WORD_WRAP MEMBERS_WORD_WRAP_DESCRIPTION Symbol _18_5_3_8bf0285_1564545242147_425722_1 FILL_COLOR FILL_COLOR_DESCRIPTION USE_FILL_COLOR USE_FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION TEXT_COLOR TEXT_COLOR_DESCRIPTION LINE_WIDTH LINE_WIDTH_DESCRIPTION FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE SysML Block Definition Diagram SysML Block Definition Diagram _18_4_e64033a_1484789332134_598688_15691 _18_5_3_8bf0285_1564545242153_540852_73 STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION SHOW_ASSOCIATION_ENDS_MODE ATTRIBUTES SHOW_ASSOCIATION_ENDS_MODE_DESCRIPTION WITHOUT_ASSOCIATION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION SysML Block Definition Diagram SysML Block Definition Diagram _12_0_8f90291_1164047242281_97653_2092 _18_5_3_8bf0285_1564545242157_311106_120 SHOW_GRID SHOW_GRID_DESCRIPTION SHOW_ABBREVIATED_DIAGRAM_TYPE DIAGRAM_FRAME SHOW_ABBREVIATED_DIAGRAM_TYPE_DESCRIPTION SHOW_DIAGRAM_TYPE DIAGRAM_FRAME SHOW_DIAGRAM_TYPE_DESCRIPTION SHOW_CONTEXT_TYPE DIAGRAM_FRAME SHOW_CONTEXT_TYPE_DESCRIPTION SHOW_FRAME_OWNER DIAGRAM_FRAME SHOW_FRAME_OWNER_DESCRIPTION LINE_JUMP_PLACE LINE_JUMP_PLACE_DESCRIPTION LINE_JUMP_PLACE_NONE SysML Block Definition Diagram SysML Block Definition Diagram _12_0EAPbeta_8740266_1161255252812_822158_488 _18_5_3_8bf0285_1564545242152_927499_57 FILL_COLOR FILL_COLOR_DESCRIPTION STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT SHOW_ENUMERATION_LITERALS_COMPARTMENT_NAME ENUMERATION_LITERALS SHOW_ENUMERATION_LITERALS_COMPARTMENT_NAME_DESCRIPTION Tree _18_5_3_8bf0285_1564545242147_145373_7 _18_5_3_8bf0285_1564545242147_320267_3 SHOW_GENERALIZATION_SET SHOW_GENERALIZATION_SET_DESCRIPTION - - - - - - - - - - + + + + + + + - - - + + + + + + - + - - + + + - - - + + - + - + - - - - - - - - - - - - - - - - - - + + + - - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - 70, 84, 155, 60 123, 144; 123, 266; 5, 5, 1094, 961 49, 266, 158, 190 SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION 105, 616, 178, 215 224, 84, 272, 104 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - 5, 5, 1347, 1133 91, 147, 18, 19 _17_0_2_3_e9f034d_1382573145439_925832_29541 _17_0_2_3_e9f034d_1382573145439_508700_29542 182, 140, 210, 54 _17_0_2_3_e9f034d_1382573152470_595459_29548 _17_0_2_3_e9f034d_1382573152470_273487_29549 182, 156; 109, 156; 464, 147, 18, 19 _17_0_2_3_e9f034d_1382573166732_713033_29568 _17_0_2_3_e9f034d_1382573145439_508700_29542 464, 156; 392, 156; - - - 15, 105, 161, 79 _17_0_2_8c20286_1352155212392_664638_24057 _17_0_2_8c20286_1352155212392_270688_24058 86, 46, 18, 19 _17_0_2_8c20286_1352155212392_664638_24057 _17_0_2_8c20286_1352155212392_727459_24059 86, 224, 18, 19 _17_0_2_8c20286_1352155212392_664638_24057 _17_0_2_8c20286_1352155212392_789820_24060 95, 105; 95, 65; 95, 224; 95, 184; 5, 5, 502, 258 - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + @@ -17142,14 +9432,13 @@ - - - + + @@ -17169,172 +9458,197 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + _17_0_1_2_8c20286_1339022620435_958581_14857 + + + _12_0EAPbeta_be00301_1156851270584_552173_1 + + + _17_0_1_232f03dc_1320949754383_391608_12143 + + + _17_0_2_39860537_1321995567713_363378_1522 + + + magicdraw_uml_standard_profile_v_0001 + + + _17_0_2_397b0534_1314045758879_684277_20993 + + + _16_8_2104050f_1270804267770_52342_3174 + _10_5_1_8f90291_1141933276109_541328_27 + + + _16_6beta_932808f3_1253625256628_88373_432 + + + _11_5EAPbeta_be00301_1147434586638_637562_1900 + + + _17_0_2_31d104c4_1327970523605_422681_1530 + + + _17_0_1_22da03d3_1302543968799_119774_11911 + _17_0_3_407019f_1326696912197_760676_2016 + _17_0_1_22b603cd_1319570201689_23377_22193 + + + _17_0_2_1_f4a035d_1360194906604_134081_27203 + + + _17_0_2_2_ff3038a_1358221875614_658925_2299 + + + _12_0_8f90291_1163446670265_941740_378 + + + _12_0_8f90291_1163453727562_955061_538 + + + _16_6_8f90291_1254846042821_86742_517 + + + _10_5_8f90291_1141412747796_552778_939 + + + _10_5_1_8f90291_1141933276109_541328_2 + + + _Teamwork_Stereotypes__0 + + + _17_0_1_2_8c20286_1339106640673_705487_19952 + + + _17_0_1_2_8c20286_1337805527143_328266_1675 + + + _17_0_1_39d60533_1306345360442_516099_11165 + + + _16_0_8740266_1237636384672_499078_365 + + + _Metrology-bundle__0 + + + _project-bundle__0 + + + _XMLSchema_Profile__0 + _IMCE.datatype-map__0 + _XML_Schema_1.1_builtin_datatype-map__0 + _OWL2-SysML_Integration_IMCE.owl2-mof2_PackageableElement + + + _IMCE.datatype-map__0 + + + _XML_Schema_1.1_builtin_datatype-map__0 + _XMLSchema_Profile__0 + + + _Metrology-bundle__0 + + + _project-bundle__0 + + + _project-bundle__0 + + + _QUDV4MD__0 + + + _Metrology4MD__0 + + + _Metrology-bundle__0 + + + _Metrology-bundle__0 + + + _IMCE.ISO80000-1%20General__1 + _IMCE.QUDV__2 + _IMCE.SysML.profileAnnotations__4 + _IMCE.ISO80000-2%20Mathematical%20Signs%20and%20Symbols__0 + _IMCE.SysML.DeprecatedElements__3 + _Metrology4MD__5 + + + _OntoMOF__0 + + + _project-bundle__0 + + + _Metrology-bundle__0 + + + _project-bundle__0 + + + _project-bundle__0 + + + _Metrology-bundle__0 + + + _Metrology-bundle__0 + + + _project-bundle__0 + + + _project-bundle__0 + + + _Metrology-bundle__0 + + + _16_5_1_12c903cb_1245419344406_358879_5663 + + + _16_5_2_ff3038a_1245861845474_133961_6126 + + + _16_5_3_ff3038a_1248224392780_527302_5390 + + + _12_0_8f90291_1163762295984_947862_300 + + + _16_6_2104050f_1253865185640_239522_4731 + + + _18_0beta_8f90291_1391000707955_594012_6218 + + + _18_0beta_9150291_1392280884421_448498_10673 + + + _18_0beta_8f90291_1390312307333_47808_9425 + + + + + + + + + + - - - - + @@ -17374,41 +9688,14 @@ - - - - + - - - - - - - - - - - - - - - - - - - - - - - <_extensionEndOfType href="#_10_0EAPbeta_be00301_1123081772478_585204_351"/> - @@ -17429,55 +9716,126 @@ - - 15, 105, 161, 66 _17_0_2_8c20286_1352155212396_526179_24124 _17_0_2_8c20286_1352155212396_851928_24125 86, 46, 18, 19 _17_0_2_8c20286_1352155212396_526179_24124 _17_0_2_8c20286_1352155212396_685033_24126 86, 211, 18, 19 _17_0_2_8c20286_1352155212396_526179_24124 _17_0_2_8c20286_1352155212396_933134_24127 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 564, 245 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212394_92582_24085 _17_0_2_8c20286_1352155212394_715282_24086 86, 211, 18, 19 _17_0_2_8c20286_1352155212394_92582_24085 _17_0_2_8c20286_1352155212394_485898_24087 15, 105, 161, 66 _17_0_2_8c20286_1352155212394_92582_24085 _17_0_2_8c20286_1352155212394_259153_24088 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 462, 245 - - - SHOW_RECEPTIONS_STEREOTYPES RECEPTIONS SHOW_RECEPTIONS_STEREOTYPES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION SHOW_OPERATIONS_PROPERTIES OPERATIONS SHOW_OPERATIONS_PROPERTIES_DESCRIPTION SHOW_OPERATIONS_TAGGED_VALUES OPERATIONS SHOW_OPERATIONS_TAGGED_VALUES_DESCRIPTION SHOW_PORTS_TAGGED_VALUES PORTS SHOW_PORTS_TAGGED_VALUES_DESCRIPTION SHOW_OPERATIONS_STEREOTYPE OPERATIONS SHOW_OPERATIONS_STEREOTYPE_DESCRIPTION SHOW_PORTS_PROPERTIES PORTS SHOW_PORTS_PROPERTIES_DESCRIPTION SHOW_RECEPTIONS_PROPERTIES RECEPTIONS SHOW_RECEPTIONS_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_PORTS_STEREOTYPE PORTS SHOW_PORTS_STEREOTYPE_DESCRIPTION SUPPRESS_FLOWPROPERTIES_COMPARTMENT SYSML_PROPERTIES_COMPARTMENT_GROUP SUPPRESS_FLOWPROPERTIES_COMPARTMENT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SORT_SYSML_STYLE ATTRIBUTES SORT_SYSML_STYLE_DESCRIPTION SHOW_RECEPTIONS_TAGGED_VALUES RECEPTIONS SHOW_RECEPTIONS_TAGGED_VALUES_DESCRIPTION 91, 154, 165, 303 SHOW_RECEPTIONS_STEREOTYPES RECEPTIONS SHOW_RECEPTIONS_STEREOTYPES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION SHOW_OPERATIONS_PROPERTIES OPERATIONS SHOW_OPERATIONS_PROPERTIES_DESCRIPTION SHOW_OPERATIONS_TAGGED_VALUES OPERATIONS SHOW_OPERATIONS_TAGGED_VALUES_DESCRIPTION SHOW_PORTS_TAGGED_VALUES PORTS SHOW_PORTS_TAGGED_VALUES_DESCRIPTION SHOW_OPERATIONS_STEREOTYPE OPERATIONS SHOW_OPERATIONS_STEREOTYPE_DESCRIPTION SHOW_PORTS_PROPERTIES PORTS SHOW_PORTS_PROPERTIES_DESCRIPTION SHOW_RECEPTIONS_PROPERTIES RECEPTIONS SHOW_RECEPTIONS_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_PORTS_STEREOTYPE PORTS SHOW_PORTS_STEREOTYPE_DESCRIPTION SUPPRESS_FLOWPROPERTIES_COMPARTMENT SYSML_PROPERTIES_COMPARTMENT_GROUP SUPPRESS_FLOWPROPERTIES_COMPARTMENT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SORT_SYSML_STYLE ATTRIBUTES SORT_SYSML_STYLE_DESCRIPTION SHOW_RECEPTIONS_TAGGED_VALUES RECEPTIONS SHOW_RECEPTIONS_TAGGED_VALUES_DESCRIPTION 259, 154, 162, 301 5, 5, 436, 472 - - - WRAP_WORDS WRAP_WORDS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION IN_COMPARTMENT 42, 49, 126, 63 WRAP_WORDS WRAP_WORDS_DESCRIPTION 77, 133, 101, 122 5, 5, 452, 314 - - - 56, 122, 160, 53 _17_0_2_8c20286_1352155212391_601476_24033 _17_0_2_8c20286_1352155212391_314825_24034 127, 63, 18, 19 _17_0_2_8c20286_1352155212391_601476_24033 _17_0_2_8c20286_1352155212391_390105_24035 127, 215, 18, 19 _17_0_2_8c20286_1352155212391_601476_24033 _17_0_2_8c20286_1352155212391_450075_24036 136, 122; 136, 82; 136, 215; 136, 175; 5, 5, 418, 249 - - - 86, 46, 18, 19 _17_0_2_8c20286_1352155212394_590933_24101 _17_0_2_8c20286_1352155212394_281488_24102 86, 211, 18, 19 _17_0_2_8c20286_1352155212394_590933_24101 _17_0_2_8c20286_1352155212394_35778_24103 15, 105, 161, 66 _17_0_2_8c20286_1352155212394_590933_24101 _17_0_2_8c20286_1352155212395_587899_24104 95, 105; 95, 65; 95, 211; 95, 171; 5, 5, 420, 245 - - - 70, 56, 155, 60 FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 154, 672, 75, 53 FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 685, 695, 108, 53 FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 679, 602, 121, 53 739, 655; 739, 695; FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 336, 672, 69, 53 336, 672; 229, 672; FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 239, 581, 69, 53 FONT FONT_DESCRIPTION Arial SHOW_NUMBER_TAG_NAME SHOW_NUMBER_TAG_NAME_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE ELEMENT_NUMBER_DISPLAY_MODE_DESCRIPTION ELEMENT_NUMBER_DISPLAY_MODE_BEFORE STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION SUPPRESS_CLASS_OPERATIONS OPERATIONS SUPPRESS_CLASS_OPERATIONS_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION ON_SHAPE 234, 767, 79, 53 308, 634; 370, 634; 370, 672; 370, 725; 370, 767; 313, 767; 5, 5, 820, 840 336, 329, 339, 281 225, 86; 505, 86; 505, 329; - - - 5, 5, 1954, 1119 35, 259, 18, 19 _17_0_3_407019f_1326778120413_929344_14802 _17_0_3_407019f_1326778120413_362230_14803 133, 241, 151, 54 _17_0_3_407019f_1326778129933_737280_14812 _17_0_3_407019f_1326778120413_362230_14803 406, 235, 161, 67 _17_0_3_407019f_1326778136391_70932_14827 _17_0_3_407019f_1326778120413_362230_14803 133, 268; 53, 268; 406, 268; 284, 268; 623, 259, 18, 19 _17_0_3_407019f_1326778229599_658001_14856 _17_0_3_407019f_1326778229599_494770_14857 623, 268; 567, 268; - - - SHOW_RECEPTIONS_STEREOTYPES RECEPTIONS SHOW_RECEPTIONS_STEREOTYPES_DESCRIPTION SYSML_CALLOUT_STYLE SYSML_CALLOUT_STYLE_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SHOW_OPERATIONS_PROPERTIES OPERATIONS SHOW_OPERATIONS_PROPERTIES_DESCRIPTION SHOW_OPERATIONS_TAGGED_VALUES OPERATIONS SHOW_OPERATIONS_TAGGED_VALUES_DESCRIPTION SHOW_PORTS_TAGGED_VALUES PORTS SHOW_PORTS_TAGGED_VALUES_DESCRIPTION SHOW_OPERATIONS_STEREOTYPE OPERATIONS SHOW_OPERATIONS_STEREOTYPE_DESCRIPTION SHOW_PORTS_PROPERTIES PORTS SHOW_PORTS_PROPERTIES_DESCRIPTION SHOW_RECEPTIONS_PROPERTIES RECEPTIONS SHOW_RECEPTIONS_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_PORTS_STEREOTYPE PORTS SHOW_PORTS_STEREOTYPE_DESCRIPTION SUPPRESS_FLOWPROPERTIES_COMPARTMENT SYSML_PROPERTIES_COMPARTMENT_GROUP SUPPRESS_FLOWPROPERTIES_COMPARTMENT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SHOW_DIRECTION_FOR_PROXY_PORT_COMPARTMENT ATTRIBUTES SHOW_DIRECTION_FOR_PROXY_PORT_COMPARTMENT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SORT_SYSML_STYLE ATTRIBUTES SORT_SYSML_STYLE_DESCRIPTION SHOW_FLOW_PROPERTY_UNIT SYSML_PROPERTIES_COMPARTMENT_GROUP SHOW_FLOW_PROPERTY_UNIT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SHOW_RECEPTIONS_TAGGED_VALUES RECEPTIONS SHOW_RECEPTIONS_TAGGED_VALUES_DESCRIPTION 231, 42, 105, 147 SHOW_RECEPTIONS_STEREOTYPES RECEPTIONS SHOW_RECEPTIONS_STEREOTYPES_DESCRIPTION SYSML_CALLOUT_STYLE SYSML_CALLOUT_STYLE_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SHOW_OPERATIONS_PROPERTIES OPERATIONS SHOW_OPERATIONS_PROPERTIES_DESCRIPTION SHOW_OPERATIONS_TAGGED_VALUES OPERATIONS SHOW_OPERATIONS_TAGGED_VALUES_DESCRIPTION SHOW_PORTS_TAGGED_VALUES PORTS SHOW_PORTS_TAGGED_VALUES_DESCRIPTION SHOW_OPERATIONS_STEREOTYPE OPERATIONS SHOW_OPERATIONS_STEREOTYPE_DESCRIPTION SHOW_PORTS_PROPERTIES PORTS SHOW_PORTS_PROPERTIES_DESCRIPTION SHOW_RECEPTIONS_PROPERTIES RECEPTIONS SHOW_RECEPTIONS_PROPERTIES_DESCRIPTION SHOW_ATTRIBUTES_STEREOTYPE ATTRIBUTES SHOW_ATTRIBUTES_STEREOTYPE_DESCRIPTION SHOW_PORTS_STEREOTYPE PORTS SHOW_PORTS_STEREOTYPE_DESCRIPTION SUPPRESS_FLOWPROPERTIES_COMPARTMENT SYSML_PROPERTIES_COMPARTMENT_GROUP SUPPRESS_FLOWPROPERTIES_COMPARTMENT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SHOW_DIRECTION_FOR_PROXY_PORT_COMPARTMENT ATTRIBUTES SHOW_DIRECTION_FOR_PROXY_PORT_COMPARTMENT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SORT_SYSML_STYLE ATTRIBUTES SORT_SYSML_STYLE_DESCRIPTION SHOW_FLOW_PROPERTY_UNIT SYSML_PROPERTIES_COMPARTMENT_GROUP SHOW_FLOW_PROPERTY_UNIT_DESCRIPTION SYSML_PROPERTY_RESOURCE_PROVIDER SHOW_RECEPTIONS_TAGGED_VALUES RECEPTIONS SHOW_RECEPTIONS_TAGGED_VALUES_DESCRIPTION 49, 245, 222, 186 SHOW_ID_FOR_CONVEYED_ITEM SHOW_ID_FOR_CONVEYED_ITEM_DESCRIPTION 161, 217; 161, 245; 5, 5, 531, 446 294, 231, 222, 199 408, 217; 408, 231; 161, 217, 247, 0 - - - 134, 70, 18, 19 _17_0_2_8c20286_1352155212389_724459_24005 _17_0_2_8c20286_1352155212389_981777_24006 134, 235, 18, 19 _17_0_2_8c20286_1352155212389_724459_24005 _17_0_2_8c20286_1352155212389_316846_24007 63, 129, 161, 66 _17_0_2_8c20286_1352155212389_724459_24005 _17_0_2_8c20286_1352155212389_942211_24008 143, 129; 143, 89; 143, 235; 143, 195; 5, 5, 454, 269 - - - 350, 70, 66, 35 350, 126, 105, 35 350, 189, 83, 35 420, 238, 108, 35 462, 294, 142, 35 427, 350, 107, 35 427, 413, 172, 35 427, 469, 80, 35 357, 525, 141, 35 420, 581, 197, 35 420, 644, 136, 35 469, 707, 73, 35 469, 763, 141, 35 469, 819, 189, 35 427, 875, 227, 35 427, 931, 160, 35 644, 959, 91, 35 364, 1015, 97, 35 364, 1085, 110, 35 441, 1141, 70, 35 441, 1190, 106, 35 441, 1239, 105, 35 371, 1288, 250, 35 371, 1337, 66, 35 441, 1386, 153, 35 70, 49, 189, 1358 763, 847, 96, 35 476, 98, 153, 35 630, 119, 131, 35 763, 140, 271, 35 1029, 161, 126, 35 630, 511, 66, 35 644, 560, 113, 35 651, 609, 127, 35 658, 658, 69, 35 756, 707, 196, 35 903, 847, 91, 35 637, 917, 101, 35 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 350, 81; 259, 81; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 340, 76, 10, 10 323, 84, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 76, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 350, 137; 259, 137; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 340, 132, 10, 10 323, 140, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 132, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 350, 200; 259, 200; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 340, 195, 10, 10 323, 203, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 195, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 476, 238; 476, 206; 433, 206; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 471, 228, 10, 10 479, 222, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 433, 201, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 357, 539; 259, 539; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 347, 534, 10, 10 330, 542, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 534, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 564, 294; 564, 255; 528, 255; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 559, 284, 10, 10 567, 278, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 528, 250, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 427, 350; 396, 350; 396, 224; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 417, 345, 10, 10 400, 353, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 391, 224, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 427, 413; 378, 413; 378, 224; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 417, 408, 10, 10 400, 416, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 373, 224, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 427, 469; 361, 469; 361, 224; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 417, 464, 10, 10 400, 472, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 356, 224, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 525, 581; 525, 542; 498, 542; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 520, 571, 10, 10 528, 565, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 498, 537, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 420, 644; 413, 644; 413, 560; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 410, 639, 10, 10 406, 630, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 408, 560, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 518, 707; 518, 679; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 513, 697, 10, 10 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 513, 679, 10, 10 521, 694, 24, 13 1 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 469, 763; 455, 763; 455, 679; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 459, 758, 10, 10 442, 766, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 450, 679, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 469, 819; 438, 819; 438, 679; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 459, 814, 10, 10 442, 822, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 433, 679, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 427, 875; 399, 875; 399, 560; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 417, 870, 10, 10 400, 878, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 394, 560, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 427, 931; 382, 931; 382, 560; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 417, 926, 10, 10 400, 934, 24, 13 0..1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 377, 560, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 364, 1022; 259, 1022; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 354, 1017, 10, 10 337, 1025, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 1017, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 364, 1096; 259, 1096; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 354, 1091, 10, 10 337, 1099, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 1091, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 490, 1141; 490, 1102; 474, 1102; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 485, 1131, 10, 10 493, 1125, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 474, 1097, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 441, 1190; 424, 1190; 424, 1120; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 431, 1185, 10, 10 414, 1193, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 419, 1120, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 441, 1239; 389, 1239; 389, 1120; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 431, 1234, 10, 10 414, 1242, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 384, 1120, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 371, 1295; 259, 1295; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 361, 1290, 10, 10 344, 1298, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 1290, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 371, 1344; 259, 1344; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 361, 1339, 10, 10 344, 1347, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 259, 1339, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 490, 1386; 490, 1354; 437, 1354; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 485, 1376, 10, 10 493, 1370, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 437, 1349, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 763, 861; 714, 861; 714, 739; 542, 739; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 753, 856, 10, 10 736, 864, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 542, 734, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 644, 976; 578, 976; 578, 966; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 634, 971, 10, 10 617, 979, 24, 13 0..1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 573, 966, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 476, 112; 447, 112; 447, 126; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 466, 107, 10, 10 449, 115, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 442, 116, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 630, 144; 455, 144; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 620, 139, 10, 10 603, 147, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 455, 139, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 763, 161; 455, 161; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 753, 156, 10, 10 736, 164, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 455, 156, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 1029, 182; 438, 182; 438, 161; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 1019, 177, 10, 10 1002, 185, 24, 13 0..1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 433, 161, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 630, 525; 607, 525; 607, 581; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 620, 520, 10, 10 609, 525, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 602, 571, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 644, 585; 617, 585; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 634, 580, 10, 10 617, 588, 24, 13 1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 617, 580, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 651, 613; 617, 613; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 641, 608, 10, 10 624, 616, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 617, 608, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 658, 676; 607, 676; 607, 616; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 648, 671, 10, 10 631, 679, 24, 13 0..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 602, 616, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 756, 714; 542, 714; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 746, 709, 10, 10 729, 717, 24, 13 1..* FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 542, 709, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 903, 868; 859, 868; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 893, 863, 10, 10 876, 871, 24, 13 0..1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 859, 863, 10, 10 FONT FONT_DESCRIPTION Arial LINE_WIDTH LINE_WIDTH_DESCRIPTION 637, 938; 587, 938; FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 627, 933, 10, 10 610, 941, 24, 13 0..1 FONT FONT_DESCRIPTION Arial STEREOTYPES_DISPLAY_MODE STEREOTYPES_DISPLAY_MODE_DESCRIPTION STEREOTYPE_DISPLAY_MODE_TEXT_AND_ICON SHOW_TAGGED_VALUES SHOW_TAGGED_VALUES_DESCRIPTION 587, 933, 10, 10 5, 5, 1170, 1436 763, 777, 189, 35 763, 791; 728, 791; 728, 724; 542, 724; 753, 786, 10, 10 723, 794, 36, 19 1..* 542, 719, 10, 10 784, 910, 189, 35 784, 910; 767, 910; 767, 892; 654, 892; 774, 905, 10, 10 706, 888, 36, 19 1..* 654, 887, 10, 10 - - - FILL_COLOR FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION DO_NOT_DISPLAY 343, 413, 176, 121 FILL_COLOR FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION DO_NOT_DISPLAY 742, 329, 164, 77 PEN_COLOR PEN_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION DO_NOT_DISPLAY 343, 574, 164, 77 FILL_COLOR FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION DO_NOT_DISPLAY 336, 273, 176, 121 FONT FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION DO_NOT_DISPLAY 735, 210, 146, 73 FILL_COLOR FILL_COLOR_DESCRIPTION PEN_COLOR PEN_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial STEREOTYPE_FONT STEREOTYPE_FONT_DESCRIPTION Arial SHOW_CONSTRAINTS SHOW_CONSTRAINTS_DESCRIPTION SUPPRESS_CLASS_ATTRIBUTES ATTRIBUTES SUPPRESS_CLASS_ATTRIBUTES_DESCRIPTION TAGGED_VALUES_DISPLAY_MODE TAGGED_VALUES_DISPLAY_MODE_DESCRIPTION DO_NOT_DISPLAY 329, 133, 176, 121 5, 5, 2722, 1172 USE_FILL_COLOR USE_FILL_COLOR_DESCRIPTION 35, 833, 1206, 324 DocWeb Management USE_FILL_COLOR USE_FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 7, 42, 231, 80 Module Mount Management 588, 291, 100, 40 <html> <head> <style> p {padding:0px; margin:0px;} </style> </head> <body>Project Types </body></html> 612, 331; 454, 455; 509, 324; 588, 316; 502, 238; 601, 291; 224, 406, 71, 60 - - - 96, 268, 18, 19 _17_0_2_3_e9f034d_1374690404567_662249_29348 _17_0_2_3_e9f034d_1374690404567_812120_29349 553, 231, 250, 93 _17_0_2_3_e9f034d_1374690404567_575482_29350 _17_0_2_3_e9f034d_1374690404567_812120_29349 943, 268, 18, 19 _17_0_2_3_e9f034d_1374690404567_137802_29351 _17_0_2_3_e9f034d_1374690404567_812120_29349 217, 244, 230, 67 _17_0_2_3_e9f034d_1374690404567_397246_29352 _17_0_2_3_e9f034d_1374690404567_812120_29349 LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 217, 277; 114, 277; LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 943, 277; 803, 277; LINK_LINE_STYLE LINK_LINE_STYLE_DESCRIPTION OBLIQUE 553, 277; 447, 277; 5, 5, 976, 362 - - - FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 1365, 175, 155, 82 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 640, 46, 118, 82 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 63, 294, 163, 254 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 601, 178, 177, 82 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 420, 178, 133, 82 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 14, 91, 132, 117 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 289, 575, 256, 99 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 15, 575, 256, 99 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 1201, 178, 116, 91 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 986, 178, 168, 82 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 217, 178, 155, 82 FILL_COLOR FILL_COLOR_DESCRIPTION FONT FONT_DESCRIPTION Arial 825, 178, 112, 82 -1, 153, 0, 0 5, 5, 1990, 770 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - 5, 5, 1030, 629 120, 47, 18, 19 _17_0_3_407019f_1326778438061_575930_15021 _17_0_3_407019f_1327822866379_172118_11511 FONT FONT_DESCRIPTION Arial 28, 189, 701, 168 _17_0_3_407019f_1327823717750_636237_11755 _17_0_3_407019f_1327823700774_651359_11747 FONT FONT_DESCRIPTION Arial 50, 283, 24, 24 _17_0_3_407019f_1327822992505_714833_11548 _17_0_3_407019f_1326779777830_819688_15960 FONT FONT_DESCRIPTION Arial 105, 248, 147, 95 _17_0_3_407019f_1326778479029_858476_15047 _17_0_3_407019f_1327823035265_246043_11564 FONT FONT_DESCRIPTION Arial 105, 295; 74, 295; FONT FONT_DESCRIPTION Arial 280, 247, 212, 98 _17_0_3_407019f_1327823019345_262500_11560 _17_0_3_407019f_1327823035265_660421_11562 FONT FONT_DESCRIPTION Arial 280, 279; 252, 279; FONT FONT_DESCRIPTION Arial 531, 238, 140, 115 _17_0_3_407019f_1327823700774_344401_11748 _17_0_3_407019f_1327823035265_246043_11564 FONT FONT_DESCRIPTION Arial 531, 272; 492, 272; FONT FONT_DESCRIPTION Arial 701, 271, 24, 24 _17_0_3_407019f_1326778881145_18485_15266 _17_0_3_407019f_1327823700774_602760_11750 FONT FONT_DESCRIPTION Arial 701, 283; 671, 283; FONT FONT_DESCRIPTION Arial 365, 189; 365, 164; FONT FONT_DESCRIPTION Arial 49, 420, 590, 144 _17_0_3_407019f_1327823719797_557351_11756 _17_0_3_407019f_1327823706534_674426_11752 FONT FONT_DESCRIPTION Arial 75, 498, 24, 24 _17_0_3_407019f_1327823706534_139590_11754 _17_0_3_407019f_1327823002021_384131_11554 FONT FONT_DESCRIPTION Arial 133, 481, 147, 78 _17_0_3_407019f_1326778814212_908312_15236 _17_0_2_2_8c20286_1363659968269_26402_37039 FONT FONT_DESCRIPTION Arial 133, 510; 99, 510; FONT FONT_DESCRIPTION Arial 310, 479, 244, 81 _17_0_3_407019f_1327823706534_807858_11753 _17_0_2_2_8c20286_1363659968279_647319_37040 FONT FONT_DESCRIPTION Arial 310, 523; 280, 523; FONT FONT_DESCRIPTION Arial 611, 498, 24, 24 _17_0_3_407019f_1327823013553_452272_11559 _17_0_3_407019f_1327823002021_384131_11554 FONT FONT_DESCRIPTION Arial 611, 510; 554, 510; FONT FONT_DESCRIPTION Arial 273, 420; 273, 357; FONT FONT_DESCRIPTION Arial 317, 590, 24, 24 _17_0_3_407019f_1327822994137_914882_11550 _17_0_3_407019f_1326778440422_489255_15025 FONT FONT_DESCRIPTION Arial 329, 590; 329, 564; FONT FONT_DESCRIPTION Arial 240, 40, 469, 124 _17_0_3_407019f_1326778424706_134800_15005 _17_0_3_407019f_1326779719230_204201_15882 FONT FONT_DESCRIPTION Arial 261, 99, 24, 24 _17_0_3_407019f_1326779722281_692940_15892 _17_0_3_407019f_1326779758242_446367_15932 FONT FONT_DESCRIPTION Arial 317, 82, 147, 78 _17_0_3_407019f_1326779763143_808703_15938 _17_0_2_2_8c20286_1363659968259_767682_37038 FONT FONT_DESCRIPTION Arial 525, 90, 100, 42 _17_0_3_407019f_1327822868124_181315_11513 _17_0_3_407019f_1326779758242_446367_15932 FONT FONT_DESCRIPTION Arial 681, 91, 24, 24 _17_0_3_407019f_1326779761714_487958_15935 _17_0_3_407019f_1327822990479_858102_11543 FONT FONT_DESCRIPTION Arial 317, 111; 285, 111; FONT FONT_DESCRIPTION Arial 525, 109; 464, 109; FONT FONT_DESCRIPTION Arial 681, 103; 625, 103; FONT FONT_DESCRIPTION Arial 240, 56; 138, 56; FONT FONT_DESCRIPTION Arial 14, 91, 168, 72 Remember that the starting context for this section is a package. FONT FONT_DESCRIPTION Arial 791, 49, 168, 72 This gets all directly owned diagrams in the package and prints them. FONT FONT_DESCRIPTION Arial 763, 172, 252, 191 This gets all directly owned classes and datatypes, prints their documentation, and for those that has owned diagrams, creates their own sections with their diagrams (ex. ibd, activity diagrams) Note the loop and skipIfEmpty tags. SkipIfEmpty indicates that if the classifier has no owned diagrams, then don't make the section. FONT FONT_DESCRIPTION Arial 690, 399, 315, 208 NOTICE THE RECURSION HERE! The Default Viewpoint for a Package section is this very section, instanced within itself. As long as loop is true and you know there will eventually be no more packages, this is perfectly valid. (There cannot be infinitely nested packages. Now if you're looping on a criteria that can be infinite and is in the model, say an association composition loop, then you'll be in trouble. The validation code WILL NOT catch run-time loops like this, not currently anyway...) 639, 498; 690, 500; 709, 92; 791, 89; 729, 269; 763, 268; + + - + - - + @@ -17510,265 +9868,117 @@ - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + @@ -17779,9 +9989,7 @@ - - - + @@ -17853,8 +10061,7 @@ - - + @@ -17862,28 +10069,18 @@ - - - + - - - - - - - - @@ -17891,22 +10088,12 @@ - - - - - - - - - - @@ -17944,30 +10131,20 @@ - - - - + + - - - - + + - - - - + + - - - - + + - - - - + + @@ -18016,13 +10193,80 @@ - - 231, 133, 176, 98 5, 5, 422, 246 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - 15, 105, 161, 79 _17_0_2_8c20286_1352155212393_955894_24069 _17_0_2_8c20286_1352155212393_92433_24070 86, 46, 18, 19 _17_0_2_8c20286_1352155212393_955894_24069 _17_0_2_8c20286_1352155212393_288082_24071 86, 224, 18, 19 _17_0_2_8c20286_1352155212393_955894_24069 _17_0_2_8c20286_1352155212393_946952_24072 95, 105; 95, 65; 95, 224; 95, 184; 5, 5, 692, 258 + + H4sIAAAAAAAAAAMAAAAAAAAAAAA= - - H4sIAAAAAAAAAM1aXW8bNxZ9968IUL/S4Dd5C8zDtt2HLtDdoOjLPgm85GWshS0ZsrO7+fd7xrWotI03M60UNEEQ2ToiOeS952NGX327v38oT1ve3m2fPryR3dPhw9VXP72XNz+Uwxvr3xj/tbNfu/zm7Xc/vbHa6quHw/6/H27u9rXcbTZvf/zH3/767U/Xt604IWfi9W0uzV/f+pDo+rbEaq9vg0vW22REqtkc5HH//lBlU/f31223vy/vtvW6Pf/XDuU/1+39/d3m/f2+yd11e7wtB2mnH3fl4fF2/zT9GRZx9c33f//Lj/9UqRbRmqsKOnrlY8qqJDEKuyWc8VfHNq3AHsc1sbdGJSnOuihvm1eld6e0d1Wa7+JkjLsEexy3aLakA2DOVWDFz2sQ5bhr04rOkWRagT2O26yvKQBW8Snle0uq+K6Va7VEboz1xGkFdoxbeg5RkiJLwFa84kYBWyghaTa2WDetwI59kK4jxaJiiV15Y/EpDqJy6T7rYE2OflqBPY7bewyhSVQuZsK1Fa3YilWFmTg5J/60D0uwx3GpN59dtcq2hmtzHFWpxqnAJKSb2OjstAJ7HDfolk1BsURrG7DJKAqxqSpsS4q5GBn7sAR7qjNiJ8kpn1xSnnRU7K1RpjnfrBOxJk4rsMdxdUm192xUMSFiz3TCMbisahOfWEtzxNMK7CuMFmO3FFO7vk3aOpAJWRALtwxKaZLEdlOMlXpRRvuyixiVZjUKOhqVuaAqHVq0BB9VaL7iLLpxlqYV2OO4zkrruaEqn6td0P/MoBQm41LGWRCNTl6CfeXkOJucrSktdCaUpxiHlwWU4CL1yq9tVt1iw+SpvOwKBv+X1KfPntGlprt6mUF9/90mbGhj7MZuXNzYsHn7w2bjXAi1ktlgP0yg7hK7zSZUx5vHR8jMpt4f5vc2KW9M1Buj9XT2EY8ny+RkplcVCoEfPQv4PAYFyrS1W+jcqdeXYF85WWKwAZvojUSrHYEcKEjiJqGLzmc+2AvNNngs9hBnpjNm1sDkgsroJKhLRzlJp2AH7y7BXn2z3ZXDVh5vMOWDHJ7wcvrE78aZBQup4aCM7rMG16bIJFYJZ2CC7jrr0Y1LsMdxfYMJE+8hClimz0bjfBmSUUtzwYDXy7iuJdhXasH7TLbAiERyVRefIEEdPxpNTvczl8JlJjvuWM7E2hdW8uyy4CkUuRaVdZ1t5hpr19MK7BVO+nG/K3cK67l5Wc7N0IKbuj/IzctqbvYPT9v9DgXy8pmX37/8ejrfUMerrWj7XLNT1cFIeF8ZHgIkEKN4o+EE0qnulmCHumjdTa9GVeszdqZ4lX1PKlD1QURLDsMXLMEex41FyGdPCr0Pz5OoKK61KIHjSeJzS2bU8xLs8LXVZc3wlMbL7FV7n9usq05UbQ4kEsd6l2DPrIZn8S9fZvLhvC0aMzhkFF1n15uqgoNgZXKFTek1Wi7TCuxgytqSdSWoRhHVUm1Bz6EoUwdXNagEDmFagR1MWYiMRhXCkpY5rTTFPQVle/fNJ116Gqq5BDuUpXNOWSq8k9PQCAarJrizpj3I2hhU6EiOS7CvVJZNwRiELYTrGGFIUe5z9G4xXN8ie1Q0bnOd5KIV9mUXccpMwVljkdYqmtKXOb8myGPu3cQMPTRGphXYwWFCFs6rK60RXT3D+hbwlEIwNNISjBONSluCHZzLWURaVcjy8FwNUZCTyXMOj4hB4JbTvYQl2AtVxO9U50tPO5Qgo3kNbNd8Hwlupc47U6zKTlyBnrSQ67QCO6opeIP41GYzDC4KLipKLUDihTUV56IbirgEO/jQsPEB5iBkgVfMkFCQsFfGBeibsa72sd4l2FGlKOn8PHOsuDY24LjGSSWiVrNBkA+Dt5ZgX6mms6WUixLQn2yVw1O6nk2dt1xwinANXc03aFRLxfiqLcE1TCuwV5/2f/OKnlewwZ/nJT3st7unx5uX5T2/N/2Bz36kaV4SSrMTqsfDSUCv2apCHBEViqVSpxXYcffWpWdpVgVdiWv3SKME/ZOeNNwnmFvytAL7yj5VgVW+v9/vKi5Kdu+2O5HDdvfula15DT46G5PnDBGJxaBbAzi6eOkKSUDb1MTiSKcV2LNmrLO01ZeY+rWz+lSm+fk4fhWO/uDnT75V59hNUCV2greLdraRopB/pZSAFhQzrcCOO7BUeokB520QsX2bNQhuQ0XbuaSGfyffugT7OQ64WdTtN7/oa+c6BC1W1RyhOit6ikNguCYiacLe+nHtS7DHcQUhqRltlMF1KY+LUIQ9QjeQlhpgbe3QqCXYX1x73d78XLXHSrpp8lgP24en/eGjl78skKUfGoxXK+gqFdXQCcoTNJ9bxKqKTZZzzoaHx1yCPd2f8djDlBR75AcffFcZEoU4ETlUaH5zPK3Anna8JPKi4UcNKsjWqDJiL36sPWIc1JWZVmCHknGCffZO1WRgewICMCU3F6o45hoMp8F1S7Dj+VqJDM4WlTJMiRfEKrJmTmrZBZOQh9oYdwn2Qs8RfqcnvvS049ShKg4cgbqYn4z5lhXnElWqsKXUJAcZ3nUJ9jiuLVxBSDMVoc092EeVmlj1ABUPrtFHT4+WYMd6k20Z2V9R18C6iiDmwXjgv0jsTWsUphXYV049pxTgpMla3xGiW9BNkM4cFVONoTMf9oVmG2dhdOiuOOW0r2AX8AHce1NSJAvHUBBDphXY0xlXMbZAZGY/As2ZK6MEpWNknBvhYnhagR1nLEjDtnoVRTIyB2BsKCgbsCniUWv6xP0LsIM5dRYNsoI6lLnOQgOxNAclcpohkREKPK3A/kZT5PC4fXySHezf8xG/CMbDYfvv8gSFe5Bdw7sf7oD6jbas+fDYKXaaDFhdqkeajB387uH8S9bdIqGKPnXZEuzgbLjknjmqhqSLvUBAJdejKt230gVVwMNVL8EOt9CCtIg3ubk8JxWviE2FPOVk0KBszUg1S7AjBcRK0B1c1nMVCKogw/4oiGdgyV7j0qcV2LEPgTLmjErPD83RmKgCQnZAikBxadGWT3f2F2DHPuRcQg3gT2vD/HTUgqPAeKQpcevNahmVuAR7emLwqYdI/+/NUy9TK5JA5hYy6efHRIUwnwkpwlw5DV2eVmAv9D2j30mwl57210wwsMcc8etu/w3gvDp0lgj3ReYe9+a4RpA3Yq3V0J2QwU5lvo8N+u0+Ocl1MNkS7Omen3Xd+PnbBwHdY+AyuPisegMNBPDLR0y2BHt6WhXAmMnNTx2Q4wiBBtLI+D3SHOEdbQYzLMEORreYxPmgWrfQyTjfvXVIitmS9rDBzafxtGoJdnwnxFOohaoqLj7fd5xhOUE2KzNqP7MbjLMEO9bbWCgIQXD1syfEnoVWFEusOoCcqA3mXYI97zcHztIHX2Tuz2bzNTfkPnkHDm5LCrnZckFCvBVsPKha5Zph3FHx/XQ3YQl2KIeGPM33my1SIdL3nDazbcqwMaXCCRQZd/aWYE+VZXx0Wqvw7LuaGGS2KOhyG0n3kLP/qLI+jz0lHmbW86OcYOdnx3r+DiclNGerJJIQxdO0Anv1P3QmcaKFKwAA + + H4sIAAAAAAAAAM1XW2+bMBR+51dEKq8gfMeT8rB2m9RJ3aq2L3uyjH0oTAEjoNvy7+emtN3S0iYdREsiAvY5Puf7fC746MRVje7LrFyV/XoBdd+ug6MzVy8+QbZI+AKRdwz53+L88mqBE0yCpnW/1vHKGb1S6vzi6+ePJ1dhITNqcYY4RcBxQiShVjIQmQWWQ5KqFjp30xpQxlWhrV2lr0sTWlOGtoJeV87CKrR+7e9g+tB2tW66wvXLg1obwZYKwVgKEmOaI0QtSyxolBOpkUFIToxtJmuBF48H6Xhzta3+Gd9UK7VRiTfX5U5SIzxZTUASxD0GbWlYUCZkWGhucFgwIjDFAgEYNDFhc5sNjk+/vL/4FmWMUUsZjnCas4jmkkZaWhLpFHAuUZpxQ5Z7yI6wePpBMSUVwgorwhVm6vxMKUIYM0YihYhATOZEZEQpZkimus5oj6lqb+eUSBXiiUJJMob3YVtDe7uvNwPurtAt2MfHl0n/z7wc4ZLSVGJNspxLYhJNBWQ4948okSTJZyXoEKZHUHOeY8mFDQvhC7Z3RWKfHJlNfVpYED4CkUYYzKz4D+vEa9VN+c9GtXFl3XfxsMxONe8l3eC4rHVbQhd7Fhpoe3+7fGYs8P+dq/Uqek7hpckRZMa1EA+lKnZNX7q684NV5ephdBgcQbez/qSZ9cYKP4+xmbrYJNlzWCceo3OPYLnX2Qq36ZZ69Y1lnyTeytq7Lq1TzJOMZr5dozyiGHSk/ctWJKzBlvgvNXy5h+xM9fiNWTO32b/2x5SbXSy7HmoDd77Ed341bflD92Chgdr62fXKSy3/RXnaM8gkCXsQ208Y37hyPxtb6ExbNr1r/7jtnjC9i9IIw1gwhDgIX4Q492FEhbwtUZazsCAGm9SkluQSZqX6sE5sc/6QEfdVbJvfJwJjHRyGfmu8MNTXZQ3QlvX1WMMeEZ/2zDrJBh3E9kwR+sZaO7fZYLAUTXbuWk6+YvAbHq+Z/U0SAAA= \ No newline at end of file diff --git a/src/main/dist/samples/MDK/DocGen.mdzip b/src/main/dist/samples/MDK/DocGen.mdzip index 0320db552..4fa54e7dd 100644 Binary files a/src/main/dist/samples/MDK/DocGen.mdzip and b/src/main/dist/samples/MDK/DocGen.mdzip differ diff --git a/src/main/dist/template/data/resourcemanager/MDR_Plugin_Model_Development_Kit_91110_descriptor.xml b/src/main/dist/template/data/resourcemanager/MDR_Plugin_Model_Development_Kit_91110_descriptor.xml index 9835baca1..10c5e4170 100644 --- a/src/main/dist/template/data/resourcemanager/MDR_Plugin_Model_Development_Kit_91110_descriptor.xml +++ b/src/main/dist/template/data/resourcemanager/MDR_Plugin_Model_Development_Kit_91110_descriptor.xml @@ -7,7 +7,7 @@ mdVersionMax="higher" mdVersionMin="18.4" name="Model Development Kit" - product="JPL Model Development Kit" + product="Model Development Kit" type="Plugin"> diff --git a/src/main/dist/template/plugins/${group}/plugin.xml b/src/main/dist/template/plugins/${group}/plugin.xml index 053e5ad1a..b8d770db3 100644 --- a/src/main/dist/template/plugins/${group}/plugin.xml +++ b/src/main/dist/template/plugins/${group}/plugin.xml @@ -1,11 +1,11 @@ + class="org.openmbee.mdk.MDKPlugin"> diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/MagicDrawHelper.java b/src/main/java/gov/nasa/jpl/mbee/mdk/api/MagicDrawHelper.java deleted file mode 100644 index 2d1703c19..000000000 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/MagicDrawHelper.java +++ /dev/null @@ -1,583 +0,0 @@ -/******************************************************************************* - * Copyright (c) <2016>, California Institute of Technology ("Caltech"). - * U.S. Government sponsorship acknowledged. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - Neither the name of Caltech nor its operating division, the Jet Propulsion Laboratory, - * nor the names of its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - ******************************************************************************/ - -package gov.nasa.jpl.mbee.mdk.api; - -import com.nomagic.magicdraw.copypaste.CopyPasting; -import com.nomagic.magicdraw.core.Application; -import com.nomagic.magicdraw.core.Project; -import com.nomagic.magicdraw.core.project.ProjectDescriptor; -import com.nomagic.magicdraw.core.project.ProjectDescriptorsFactory; -import com.nomagic.magicdraw.core.project.ProjectsManager; -import com.nomagic.magicdraw.openapi.uml.ModelElementsManager; -import com.nomagic.magicdraw.openapi.uml.ReadOnlyElementException; -import com.nomagic.magicdraw.openapi.uml.SessionManager; -import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; -import com.nomagic.uml2.ext.magicdraw.components.mdbasiccomponents.Component; -import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import com.nomagic.uml2.impl.ElementsFactory; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.json.ReferenceException; -import gov.nasa.jpl.mbee.mdk.util.Utils; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * This class has functions that uses the MDK api to test the MDK actions. - */ -public class MagicDrawHelper { - - private static Project project; - private static ElementsFactory ef; - - /** - * Convenience method to ensure that we always have an ElementsFactory available. - */ - private static void initializeFactory() { - if (ef != null) { - return; - } - project = Application.getInstance().getProject(); - ef = project.getElementsFactory(); - } - - /***************************************************************************************** - * - * Project load / close functions - * - *****************************************************************************************/ - - public static ProjectDescriptor openProject(File file) throws IOException { - return openProject(file.toURI()); - } - - public static ProjectDescriptor openProject(URI uri) throws IOException { - final ProjectDescriptor projectDescriptor = ProjectDescriptorsFactory.createProjectDescriptor(uri); - if (projectDescriptor == null) { - throw new IOException(uri.toString() + " could not generate a project descriptor."); - } - final ProjectsManager projectsManager = Application.getInstance().getProjectsManager(); - projectsManager.loadProject(projectDescriptor, true); - final Project project = projectsManager.getActiveProject(); - if (project == null) { - throw new IOException(uri.toString() + " could not be loaded into MagicDraw."); - } - return projectDescriptor; - } - - public static void saveProject(String filename) { - System.out.println(System.currentTimeMillis()); - File file = new File(filename); - ProjectDescriptor projectDescriptor = - ProjectDescriptorsFactory.createLocalProjectDescriptor(Application.getInstance().getProject(), file); - Application.getInstance().getProjectsManager().saveProject(projectDescriptor, false); - System.out.println(System.currentTimeMillis()); - } - - public static void closeProject() { - Application.getInstance().getProjectsManager().closeProject(); - } - - - /***************************************************************************************** - * - * Session management functions - * - *****************************************************************************************/ - - /** - * Creates a MagicDraw Session. All changes to be recorded in model programmatically - * must occur after a session is opened, and will be recorded when the session is closed. - * A cancelled session will cause the changes to be lost. - * - * @throws IllegalStateException - */ - public static void createSession() throws IllegalStateException { - if (SessionManager.getInstance().isSessionCreated()) { - throw new IllegalStateException("Unable to create session: a session is already open."); - } - SessionManager.getInstance().createSession("Programmatic changes"); - initializeFactory(); - } - - /** - * Closes an open session, causing all programmatically completed changes in the current - * session to be reflected in the model. - * - * @throws IllegalStateException - */ - public static void closeSession() throws IllegalStateException { - if (!SessionManager.getInstance().isSessionCreated()) { - throw new IllegalStateException("Unable to close session: no session has been created to close."); - } - SessionManager.getInstance().closeSession(); - } - - /** - * Cancels an open session, causing all programmatically completed changes in the current - * session to be lost and not recorded in the model. - * - * @throws IllegalStateException - */ - public static void cancelSession() throws IllegalStateException { - if (!SessionManager.getInstance().isSessionCreated()) { - throw new IllegalStateException("Unable to cancel session: no session has been created to cancel."); - } - SessionManager.getInstance().cancelSession(); - } - - /***************************************************************************************** - * - * Logging functions - * - *****************************************************************************************/ - - /** - * Prints a message to console and MD log - */ - public static void generalMessage(String s) { - Application instance = Application.getInstance(); - instance.getGUILog().log(s); - System.out.println(s); - } - - /***************************************************************************************** - * - * Element positioning functions - * - *****************************************************************************************/ - - /** - * Copies specific elements to a location - * - * @param elementToCopy - * @param copyTarget - */ - public static Element copyElementToTarget(Element elementToCopy, Element copyTarget) { - Element newCopy = null; - if (elementToCopy != null && copyTarget != null) { - newCopy = CopyPasting.copyPasteElement(elementToCopy, copyTarget, true); - } - return newCopy; - } - - /** - * Deletes all elements in a project under the indicated parent. - * - * @param parent Parent element under which you want to delete elements. - */ - public static void deleteEditableContainerChildren(Element parent) throws ReadOnlyElementException { - Collection elements = parent.getOwnedElement(); - ArrayList eList = new ArrayList<>(); - - for (Element e : elements) { - if (e.canBeDeleted() && e.isEditable() && (e.getHumanName().startsWith("Diagram") - || (e.getHumanName().startsWith("Package") - && !(e.getHumanName().contains("__MMSSync__") || e.getHumanName().contains("Holding Bin"))))) { - eList.add(e); - } - } - for (Element elem : eList) { - deleteMDElement(elem); - } - } - - /** - * Deletes all editable container elements in a project. - */ - public static void clearModel() throws ReadOnlyElementException { - if (ElementFinder.getModelRoot() == null) { - System.out.println("Null root"); - return; - } - deleteEditableContainerChildren(ElementFinder.getModelRoot()); - } - - /** - * Deletes selected element from Magic Draw, including children - * Convenience method for the MD API. - * - * @param ele selected element to be deleted. - */ - public static void deleteMDElement(Element ele) throws ReadOnlyElementException { - ModelElementsManager.getInstance().removeElement(ele); - } - - /** - * Returns the element's documentation, stripped of HTML wrapper - * - * @param target The level element whose comment you want to return - */ - public static String getElementDocumentation(Element target) { - return Utils.stripHtmlWrapper(ModelHelper.getComment(target)); - } - - /** - * Returns the value of the passed property - * - * @param target The property whose value you wish to inspect - * @return - */ - public static String getPropertyValue(Element target) { - String value = null; - if (target instanceof Property) { - ValueSpecification vs = ((Property) target).getDefaultValue(); - value = getSpecificationValue(vs); - } - return value; - } - - /** - * Returns the value stored in a ValueSpecification - * - * @param vs The ValueSpecification to extract a value from - * @return the value in the ValueSpecification, expressed as a string. - */ - public static String getSpecificationValue(ValueSpecification vs) { - String value = null; - if (vs instanceof LiteralBoolean) { - value = Boolean.toString(((LiteralBoolean) vs).isValue()); - } - else if (vs instanceof LiteralInteger) { - value = Long.toString(((LiteralInteger) vs).getValue()); - } - else if (vs instanceof LiteralNull) { - value = null; - } - else if (vs instanceof LiteralReal) { - value = Double.toString(((LiteralReal) vs).getValue()); - } - else if (vs instanceof LiteralString) { - value = Utils.stripHtmlWrapper(((LiteralString) vs).getValue()); - } - else if (vs instanceof LiteralUnlimitedNatural) { - value = Long.toString(((LiteralUnlimitedNatural) vs).getValue()); - } - return value; - } - - /** - * Sets the comments of the target element, adding the necessary html - * wrapper - * - * @param target The level element whose comment you want to change - * @param documentation The new comments for the target element - */ - public static void setElementDocumentation(Element target, String documentation) { - ModelHelper.setComment(target, documentation); - } - - /** - * Sets the name of the passed NamedElement. - * - * @param target The NamedElement to rename - * @param newName The new name for the element - */ - public static void setElementName(NamedElement target, String newName) { - target.setName(newName); - } - - /***************************************************************************************** - * - * MMS Stereotype Functions - * - *****************************************************************************************/ - - //???? - @Deprecated - public static void prepareMMS(String url, String site) { - String s; - s = "Model Management System"; - if (StereotypesHelper.hasStereotype(ElementFinder.getModelRoot(), s)) { - System.out.println("Found " + s); - } - Stereotype mms = StereotypesHelper.getStereotype(project, s); - if (mms != null) { - System.out.println("Stereotype found " + s); - } - s = "ModelManagementSystem"; - if (StereotypesHelper.hasStereotype(ElementFinder.getModelRoot(), s)) { - System.out.println("Found " + s); - } - mms = StereotypesHelper.getStereotype(project, s); - if (mms != null) { - System.out.println("Stereotype found " + s); - } - - - System.out.println(StereotypesHelper.canApplyStereotype(ElementFinder.getModelRoot(), mms)); - if (!StereotypesHelper.hasStereotype(ElementFinder.getModelRoot(), "ModelManagementSystem")) { - StereotypesHelper.addStereotype(ElementFinder.getModelRoot(), mms); - } - StereotypesHelper.setStereotypePropertyValue(ElementFinder.getModelRoot(), mms, "MMS Site", site); - StereotypesHelper.setStereotypePropertyValue(ElementFinder.getModelRoot(), mms, "MMS URL", url); - } - - //???? - @Deprecated - private static Property getTagProperty(String name, Stereotype ster) { - List ste = StereotypesHelper.getExtendedElements(ster); - for (Element elem : ste) { - if (ster.hasOwnedAttribute()) { - List attribs = ster.getOwnedAttribute(); - for (Property tag : attribs) { - System.out.println(tag.getName()); - if (tag.getName().equals(name)) { - List value = StereotypesHelper.getStereotypePropertyValue(elem, ster, tag.getName()); - for (Object val : value) { - if (val instanceof LiteralString) { - System.out.println(((LiteralString) val).getValue() + " " + ((LiteralString) val).isEditable()); - } - } - return tag; - } - } - } - } - System.out.println(name + " not found"); - return null; - } - - /***************************************************************************************** - * - * Element Creation Functions - * - *****************************************************************************************/ - - public static Association createAssociation(Element owner, Element source, Element target) { - Association newAssoc = ef.createAssociationInstance(); - finishElement(newAssoc, null, owner); - Property sourceProp = createProperty(((NamedElement) target).getName(), source, null, target, "none", "", ""); - Property targetProp = createProperty(((NamedElement) source).getName(), target, null, source, "none", "", ""); - newAssoc.getMemberEnd().clear(); - newAssoc.getMemberEnd().add(0, sourceProp); - newAssoc.getMemberEnd().add(targetProp); - return newAssoc; - } - - public static Class createBlock(String name, Element owner) { - Class newBlock = createClass(name, owner); - Element stereo = Converters.getIdToElementConverter() - .apply("_11_5EAPbeta_be00301_1147424179914_458922_958", Project.getProject(owner)); - if (!(stereo instanceof Stereotype)) { - return null; - } - Stereotype block = (Stereotype) stereo; - StereotypesHelper.addStereotype(newBlock, block); - return newBlock; - } - - public static Class createClass(String name, Element owner) { - Class newClass = ef.createClassInstance(); - finishElement(newClass, name, owner); - return newClass; - } - - public static Component createComponent(String name, Element owner) { - Component comp = ef.createComponentInstance(); - finishElement(comp, name, owner); - return comp; - } - - public static Constraint createConstraint(String name, Element owner, ValueSpecification spec) { - Constraint newConstraint = ef.createConstraintInstance(); - finishElement(newConstraint, name, owner); - if (spec != null) { - newConstraint.setSpecification(spec); - } - return newConstraint; - } - - public static Association createDirectedComposition(Element document, Element view) { - Association assoc = ef.createAssociationInstance(); - finishElement(assoc, null, document.getOwner()); - Property source = createProperty(((NamedElement) view).getName(), document, null, view, "composite", "1", "1"); - Property target = createProperty("", assoc, null, document, "none", "1", "1"); - assoc.getMemberEnd().clear(); - assoc.getMemberEnd().add(0, source); - assoc.getMemberEnd().add(target); - assoc.getOwnedEnd().add(0, target); - return assoc; - } - - public static Dependency createDependency(String name, Element owner, Element source, Element target) { - Dependency depd = ef.createDependencyInstance(); - setRelationshipEnds(depd, source, target); - finishElement(depd, null, owner); - return depd; - } - - public static Class createDocument(String name, Element owner) { - Class newDocument = createClass(name, owner); - Stereotype sysmlDocument = Utils.getDocumentStereotype(Project.getProject(owner)); - StereotypesHelper.addStereotype(newDocument, sysmlDocument); - return newDocument; - } - - public static Generalization createGeneralization(String name, Element owner, Element source, Element target) { - Generalization genr = ef.createGeneralizationInstance(); - setRelationshipEnds(genr, source, target); - finishElement(genr, null, owner); - return genr; - } - - public static Package createPackage(String name, Element owner) { - Package newPackage = ef.createPackageInstance(); - finishElement(newPackage, name, owner); - return newPackage; - } - - public static Property createPartProperty(String name, Element owner) { - Property newProp = createProperty(name, owner, null, null, null, null, null); - Element stereo = Converters.getIdToElementConverter() - .apply("_15_0_be00301_1199377756297_348405_2678", Project.getProject(owner)); - if (!(stereo instanceof Stereotype)) { - return null; - } - Stereotype partProp = (Stereotype) stereo; - StereotypesHelper.addStereotype(newProp, partProp); - return newProp; - } - - public static Property createProperty(String name, Element owner, ValueSpecification defaultValue, - Element typeElement, String aggregation, String multMin, String multMax) { - Property prop = ef.createPropertyInstance(); - finishElement(prop, name, owner); - prop.setVisibility(VisibilityKindEnum.PUBLIC); - - if (defaultValue != null) { - prop.setDefaultValue(defaultValue); - } - - if (typeElement != null) { - prop.setType((Type) typeElement); - } - - if (aggregation != null) { - prop.setAggregation(AggregationKindEnum.getByName(aggregation)); - } - - if (multMin != null) { - try { - Long spmin = new Long(multMin); - ValueSpecification pmin = prop.getLowerValue(); - if (pmin == null) { - pmin = ef.createLiteralIntegerInstance(); - } - else if (pmin instanceof LiteralInteger) { - ((LiteralInteger) pmin).setValue(spmin.intValue()); - } - else if (pmin instanceof LiteralUnlimitedNatural) { - ((LiteralUnlimitedNatural) pmin).setValue(spmin.intValue()); - } - prop.setLowerValue(pmin); - } catch (NumberFormatException ignored) { - } - } - - if (multMax != null) { - try { - Long spmax = new Long(multMax); - ValueSpecification pmax = prop.getLowerValue(); - if (pmax == null) { - pmax = ef.createLiteralIntegerInstance(); - } - else if (pmax instanceof LiteralInteger) { - ((LiteralInteger) pmax).setValue(spmax.intValue()); - } - else if (pmax instanceof LiteralUnlimitedNatural) { - ((LiteralUnlimitedNatural) pmax).setValue(spmax.intValue()); - } - prop.setLowerValue(pmax); - } catch (NumberFormatException en) { - } - } - - return prop; - } - - @SuppressWarnings("unchecked") - @Deprecated - public static ValueSpecification createValueSpec(String type, String value) throws ReferenceException { - return null; - } - - public static Class createView(String name, Element owner) { - Class newView = createClass(name, owner); - Stereotype sysmlView = Utils.getViewStereotype(Project.getProject(owner)); - StereotypesHelper.addStereotype(newView, sysmlView); - return newView; - } - - /****************************************************************************************************** - * - * Helper methods for element creation functions - * - ******************************************************************************************************/ - - /** - * Convenience method to fill element properties name and owner. - * - * @param newElement The element to be finished. - * @param name The name of the NamedElement. This will be applied to a NamedElement - * unless name is null. This parameter will be ignored if the element is not - * a NamedElement. - * @param owner The owner of the element to be finished. - * @return The finished newElement. - */ - private static Element finishElement(Element newElement, String name, Element owner) { - if (newElement instanceof NamedElement && !(name == null || name.isEmpty())) { - ((NamedElement) newElement).setName(name); - } - newElement.setOwner(owner); - return newElement; - } - - /** - * Convenience method to set or update relationship ends - * - * @param dr - * @param source - * @param target - */ - private static void setRelationshipEnds(DirectedRelationship dr, Element source, Element target) { - ModelHelper.setClientElement(dr, source); - ModelHelper.setSupplierElement(dr, target); - } -} \ No newline at end of file diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenProfile.java b/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenProfile.java deleted file mode 100644 index 1f45b5117..000000000 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenProfile.java +++ /dev/null @@ -1,102 +0,0 @@ -package gov.nasa.jpl.mbee.mdk.docgen; - -@Deprecated -public class DocGenProfile { - public static final String PROFILE_NAME = "DocGen Language"; - - public static final String sectionStereotype = "Dynamic View"; - public static final String paragraphStereotype = "Paragraph"; - public static final String documentStereotype = "zzDocument"; - public static final String imageStereotype = "Image"; - public static final String queriesStereotype = "Expose"; - public static final String viewpointStereotype = "Viewpoint"; - public static final String viewStereotype = "View"; - public static final String dgviewStereotype = "view"; - public static final String appendixViewStereotype = "AppendixView"; - public static final String structuredQueryStereotype = "StructuredQuery"; - public static final String tableStereotype = "Table"; - public static final String bulletedListStereotype = "BulletedList"; - public static final String temporalDiffStereotype = "TemporalDiff"; - public static final String methodStereotype = "Method"; - public static final String tomSawyerDiagramStereotype = "TomSawyerDiagram"; - - public static final String tableStructureStereotype = "TableStructure"; - public static final String tablePropertyColumnStereotype = "TablePropertyColumn"; - public static final String tableExpressionColumnStereotype = "TableExpressionColumn"; - public static final String tableAttributeColumnStereotype = "TableAttributeColumn"; - public static final String tableColumnStereotype = "TableColumn"; - - public static final String genericTableStereotype = "GenericTable"; - public static final String hierarchicalPropertiesTableStereotype = "HierarchicalPropertiesTable"; - public static final String propertiesTableByAttributesStereotype = "PropertiesTableByAttributes"; - - public static final String viewpointConstraintStereotype = "ViewpointConstraint"; - public static final String userScriptStereotype = "UserScript"; - public static final String userScriptCFStereotype = "Collect/Filter UserScript"; - public static final String validationScriptStereotype = "ValidationScript"; - public static final String javaExtensionStereotype = "JavaExtension"; - public static final String simulateStereotype = "Simulate"; - - public static final String collectionStereotype = "CollectionAndFilterGroup"; - public static final String documentMetaStereotype = "DocumentMeta"; - public static final String documentViewStereotype = "Product"; - - public static final String filterDiagramTypeStereotype = "FilterByDiagramType"; - public static final String filterNameStereotype = "FilterByNames"; - public static final String filterMetaclassStereotype = "FilterByMetaclasses"; - public static final String filterStereotypeStereotype = "FilterByStereotypes"; - public static final String filterExpressionStereotype = "FilterByExpression"; - public static final String collectRelMetaclassStereotype = "CollectByDirectedRelationshipMetaclasses"; - public static final String collectRelStereotypeStereotype = "CollectByDirectedRelationshipStereotypes"; - public static final String collectStereotypePropStereotype = "CollectByStereotypeProperties"; - public static final String collectOwnedElementStereotype = "CollectOwnedElements"; - public static final String collectOwnerStereotype = "CollectOwners"; - public static final String collectAssociationStereotype = "CollectByAssociation"; - public static final String collectTypeStereotype = "CollectTypes"; - public static final String collectDiagram = "CollectThingsOnDiagram"; - public static final String collectClassifierAttributes = "CollectClassifierAttributes"; - public static final String collectExpressionStereotype = "CollectByExpression"; - - public static final String associationChoosable = "AssociationTypeChoosable"; - public static final String depthChoosable = "DepthChoosable"; - public static final String derivedChoosable = "ConsiderDerivedChoosable"; - public static final String directionChoosable = "DirectionChoosable"; - public static final String stereotypeChoosable = "StereotypeChoosable"; - public static final String metaclassChoosable = "MetaclassChoosable"; - public static final String includeChoosable = "IncludeChoosable"; - public static final String nameChoosable = "NameChoosable"; - public static final String diagramTypeChoosable = "DiagramTypeChoosable"; - public static final String expressionChoosable = "ExpressionChoosable"; - public static final String expression = "Expression"; - public static final String propertyChoosable = "PropertyChoosable"; - public static final String attributeChoosable = "AttributeChoosable"; - public static final String editableChoosable = "EditableChoosable"; - - public static final String stereotypePropertyChoosable = "StereotypePropertiesChoosable"; - public static final String documentationChoosable = "DocumentationChoosable"; - public static final String headersChoosable = "HeadersChoosable"; - public static final String stereotypedRelChoosable = "StereotypedRelationshipsChoosable"; - public static final String precisionChoosable = "PrecisionChoosable"; - public static final String inheritedChoosable = "IncludeInheritedChoosable"; - public static final String hasCaptions = "HasCaptions"; - public static final String docSkippable = "DocumentationSkippable"; - - public static final String parallel = "Parallel"; - public static final String removeDuplicates = "RemoveDuplicates"; - - public static final String sortByName = "SortByName"; - public static final String sortByAttribute = "SortByAttribute"; - public static final String sortByProperty = "SortByProperty"; - public static final String sortByExpression = "SortByExpression"; - - public static final String templateStereotype = "FormattingAndDisplayTemplate"; - - public static final String collectFilterStereotype = "CollectOrFilter"; - public static final String ignorableStereotype = "Ignorable"; - - public static final String editableTableStereotype = "EditableTable"; - - public static final String constraintStereotype = "Constraint"; - - public static final String plotStereotype = "Plot"; -} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/ConfigureEnvironmentOptions.java b/src/main/java/gov/nasa/jpl/mbee/mdk/options/ConfigureEnvironmentOptions.java deleted file mode 100644 index bef89f81a..000000000 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/ConfigureEnvironmentOptions.java +++ /dev/null @@ -1,12 +0,0 @@ -package gov.nasa.jpl.mbee.mdk.options; - -import com.nomagic.magicdraw.core.Application; - -public class ConfigureEnvironmentOptions { - - public ConfigureEnvironmentOptions() {} - - public void configure() { - Application.getInstance().getEnvironmentOptions().addGroup(MDKEnvironmentOptionsGroup.getInstance()); - } -} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/GeneratorUtils.java b/src/main/java/gov/nasa/jpl/mbee/mdk/util/GeneratorUtils.java deleted file mode 100644 index 22776273f..000000000 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/GeneratorUtils.java +++ /dev/null @@ -1,342 +0,0 @@ -package gov.nasa.jpl.mbee.mdk.util; - -import com.nomagic.magicdraw.core.Application; -import com.nomagic.magicdraw.core.Project; -import com.nomagic.magicdraw.uml2.util.UML2ModelUtil; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction; -import com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities.InitialNode; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; -import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.Behavior; -import com.nomagic.uml2.ext.magicdraw.mdprofiles.Profile; -import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.model.docmeta.DocumentMeta; -import gov.nasa.jpl.mbee.mdk.model.docmeta.Person; -import gov.nasa.jpl.mbee.mdk.model.docmeta.Revision; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -public class GeneratorUtils { - public static Element findStereotypedRelationship(Element e, Stereotype s) { - List ss = new ArrayList(); - ss.add(s); - List es = Utils.collectDirectedRelatedElementsByRelationshipStereotypes(e, ss, 1, true, 1); - if (es.size() > 0) { - return es.get(0); - } - return null; - } - - public static InitialNode findInitialNode(Element a) { - if (a == null) { - return null; - } - for (Element e : a.getOwnedElement()) { - if (e instanceof InitialNode) { - return (InitialNode) e; - } - } - return null; - } - - public static Object getStereotypePropertyFirst(Element element, String stereotypeName, String propertyName, String profileName, Object defaultValue) { - Collection values = getStereotypePropertyValue(element, stereotypeName, propertyName, profileName, Collections.emptyList()); - return !values.isEmpty() ? values.iterator().next() : defaultValue; - } - - public static List getStereotypePropertyValue(Element element, String stereotypeName, String propertyName, String profileName, List defaultValue) { - Project project = Project.getProject(element); - Profile profile = StereotypesHelper.getProfile(project, profileName); - Stereotype stereotype = StereotypesHelper.getStereotype(project, stereotypeName, profile); - List value = StereotypesHelper.getStereotypePropertyValue(element, stereotype, propertyName); - Behavior behavior; - if (value.isEmpty() && element instanceof CallBehaviorAction && (behavior = ((CallBehaviorAction) element).getBehavior()) != null) { - value = StereotypesHelper.getStereotypePropertyValue(behavior, stereotype, propertyName); - } - if (value.isEmpty()) { - value = defaultValue; - } - return value; - } - - public static boolean hasStereotypeByString(Element e, String stereotype) { - return hasStereotypeByString(e, stereotype, false); - } - - public static boolean hasStereotypeByString(Element e, String stereotype, boolean derived) { - Behavior a = null; - if (e instanceof CallBehaviorAction) { - a = ((CallBehaviorAction) e).getBehavior(); - } - if (!derived) { - if (StereotypesHelper.hasStereotype(e, stereotype) - || (a != null && StereotypesHelper.hasStereotype(a, stereotype))) { - return true; - } - } - else { - if (StereotypesHelper.hasStereotypeOrDerived(e, stereotype) - || (a != null && StereotypesHelper.hasStereotypeOrDerived(a, stereotype))) { - return true; - } - } - return false; - } - - public static void docMetadata(Document doc, Element start) { - DocumentMeta meta = new DocumentMeta(); - doc.setMetadata(meta); - - Stereotype documentView = StereotypesHelper.getStereotype(Application.getInstance().getProject(), - DocGenProfile.documentViewStereotype); - // documentMeta Backwards Compatibility - String title = (String) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "title"); - String subtitle = (String) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "subtitle"); - String header = (String) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "header"); - String footer = (String) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "footer"); - String legalNotice = (String) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "legalNotice"); - String acknowledgements = (String) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "acknowledgement"); - Object chunkFirstSectionsO = StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "chunkFirstSections"); - Diagram coverImage = (Diagram) StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "coverImage"); - boolean chunkFirstSections = !(chunkFirstSectionsO instanceof Boolean && !(Boolean) chunkFirstSectionsO || chunkFirstSectionsO instanceof String - && chunkFirstSectionsO.equals("false")); - Object indexO = StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "index"); - boolean index = (indexO instanceof Boolean && (Boolean) indexO || indexO instanceof String - && indexO.equals("true")); - Object tocSectionDepthO = StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "tocSectionDepth"); - Integer tocSectionDepth = 20; - if (tocSectionDepthO != null && tocSectionDepthO instanceof Integer && (Integer) tocSectionDepthO > 0) { - tocSectionDepth = (Integer) tocSectionDepthO; - } - if (tocSectionDepthO != null && tocSectionDepthO instanceof String) { - tocSectionDepth = Integer.parseInt((String) tocSectionDepthO); - } - Object chunkSectionDepthO = StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "chunkSectionDepth"); - Integer chunkSectionDepth = 20; - if (chunkSectionDepthO != null && chunkSectionDepthO instanceof Integer - && (Integer) chunkSectionDepthO > 0) { - chunkSectionDepth = (Integer) chunkSectionDepthO; - } - if (chunkSectionDepthO != null && chunkSectionDepthO instanceof String) { - chunkSectionDepth = Integer.parseInt((String) chunkSectionDepthO); - } - - // Document View Settings - String DocumentID = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Document ID"); - String DocumentVersion = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Version"); - String LogoAlignment = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Logo Alignment"); - String LogoLocation = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Logo Location"); - String AbbreviatedProjectName = (String) StereotypesHelper.getStereotypePropertyFirst(start, - documentView, "Project Acronym"); - String DocushareLink = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Docushare Link"); - String AbbreiviatedTitle = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Document Acronym"); - String TitlePageLegalNotice = (String) StereotypesHelper.getStereotypePropertyFirst(start, - documentView, "Title Page Legal Notice"); - String FooterLegalNotice = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Footer Legal Notice"); - String RemoveBlankPages = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Remove Blank Pages"); - - List CollaboratorEmail = StereotypesHelper.getStereotypePropertyValueAsString(start, - documentView, "Collaborator Email"); - List RevisionHistory = StereotypesHelper.getStereotypePropertyValueAsString(start, - documentView, "Revision History"); - String JPLProjectTitle = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Formal Project Title"); - - String LogoSize = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Logo Size"); - Object UseDefaultStylesheetO = StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "SupressMetadata"); - boolean UseDefaultStylesheet = !(UseDefaultStylesheetO instanceof Boolean - && !(Boolean) UseDefaultStylesheetO || UseDefaultStylesheetO instanceof String - && UseDefaultStylesheetO.equals("false")); - - Object genO = StereotypesHelper.getStereotypePropertyFirst(start, - DocGenProfile.documentMetaStereotype, "genNewImages"); - boolean gen = (genO instanceof Boolean && (Boolean) genO || genO instanceof String - && genO.equals("true")); - - if (title == null || title.isEmpty()) { - title = ((NamedElement) start).getName(); - } - - if (FooterLegalNotice == null || FooterLegalNotice.isEmpty()) { - Property propertyByName = StereotypesHelper - .getPropertyByName(documentView, "Footer Legal Notice"); - if (propertyByName != null) { - FooterLegalNotice = UML2ModelUtil.getDefault(propertyByName); - } - } - if (TitlePageLegalNotice == null || TitlePageLegalNotice.isEmpty()) { - Property propertyByName = StereotypesHelper.getPropertyByName(documentView, - "Title Page Legal Notice"); - if (propertyByName != null) { - TitlePageLegalNotice = UML2ModelUtil.getDefault(propertyByName); - } - - } - - // Institutional Logo setup - String instLogo = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "InstLogo"); - String instLogoSize = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "InstLogoSize"); - String instTxt1 = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Insttxt1"); - String instTxt2 = (String) StereotypesHelper.getStereotypePropertyFirst(start, documentView, - "Insttxt2"); - - // Collect author information - List Author = StereotypesHelper.getStereotypePropertyValueAsString(start, documentView, - "Author"); - // Collect approver information - List Approver = StereotypesHelper.getStereotypePropertyValueAsString(start, documentView, - "Approver"); - // Collect concurrence information - List Concurrence = StereotypesHelper.getStereotypePropertyValueAsString(start, documentView, - "Concurrence"); - - doc.setChunkFirstSections(chunkFirstSections); - doc.setChunkSectionDepth(chunkSectionDepth); - doc.setFooter(footer); - doc.setHeader(header); - doc.setTitle(title); - doc.setTocSectionDepth(tocSectionDepth); - - doc.setRemoveBlankPages(RemoveBlankPages); - - doc.setUseDefaultStylesheet(UseDefaultStylesheet); - - meta.setAuthors(getPersons(Author)); - meta.setApprovers(getPersons(Approver)); - meta.setConcurrances(getPersons(Concurrence)); - meta.setHistory(getRevisions(RevisionHistory)); - - meta.setCollaboratorEmails(CollaboratorEmail); - meta.setGenNewImages(gen); - meta.setAcknowledgement(acknowledgements); - meta.setChunkSectionDepth(chunkSectionDepth); - meta.setChunkFirstSections(chunkFirstSections); - meta.setCoverImage(coverImage); - meta.setFooter(footer); - meta.setHeader(header); - meta.setTitlePageLegalNotice(legalNotice); - meta.setIndex(index); - meta.setSubtitle(subtitle); - meta.setTitle(title); - meta.setTocSectionDepth(tocSectionDepth); - meta.setDocumentId(DocumentID); - meta.setVersion(DocumentVersion); - meta.setLogoAlignment(LogoAlignment); - meta.setLogoLink(LogoLocation); - meta.setProjectAcronym(AbbreviatedProjectName); - meta.setDocumentAcronym(AbbreiviatedTitle); - meta.setTitlePageLegalNotice(TitlePageLegalNotice); - meta.setLink(DocushareLink); - meta.setFooterLegalNotice(FooterLegalNotice); - meta.setProjectTitle(JPLProjectTitle); - meta.setUseDefaultStyleSheet(UseDefaultStylesheet); - meta.setLogoSize(LogoSize); - meta.setInstituteLogoLink(instLogo); - meta.setInstituteLogoSize(instLogoSize); - meta.setInstituteName(instTxt1); - meta.setInstituteName2(instTxt2); - - } - - public static List getPersons(List s) { - List ps = new ArrayList(); - for (String author : s) { - if (author == null || author.isEmpty()) { - continue; - } - String[] tokens = author.split("[,]"); - if (tokens.length < 5) { - continue; - } - Person p = new Person(); - p.setFirstname(tokens[0]); - p.setLastname(tokens[1]); - p.setTitle(tokens[2]); - p.setOrgname(tokens[3]); - p.setOrgdiv(tokens[4]); - ps.add(p); - } - return ps; - } - - public static List getRevisions(List s) { - List rs = new ArrayList(); - for (String rev : s) { - if (rev == null || rev.isEmpty()) { - continue; - } - String[] tokens = rev.split("[|]"); - if (tokens.length < 5) { - continue; - } - Revision p = new Revision(); - p.setRevNumber(tokens[0]); - p.setDate(tokens[1]); - p.setFirstName(tokens[2]); - p.setLastName(tokens[3]); - p.setRemark(tokens[4]); - rs.add(p); - } - return rs; - } - - public static Stereotype getViewpointStereotype(Project project) { - Profile profile = StereotypesHelper.getAllProfiles(project).stream().filter - ( x -> MDKConstants.SYSML_PROFILE_ID.equals(Converters.getElementToIdConverter().apply(x))) - .findAny() - .orElse(null); - if (profile == null) { - return null; - } - return StereotypesHelper.getStereotype(project, "Viewpoint", profile); - } - - public static Behavior getViewpointMethod(Classifier viewpoint, Project project) { - - Stereotype viewpointStereotype = GeneratorUtils.getViewpointStereotype(project); - if (viewpointStereotype == null) { - return null; - } - List methods = StereotypesHelper.getStereotypePropertyValue(viewpoint, GeneratorUtils.getViewpointStereotype(project), "method"); - if (methods.isEmpty()) { - return null; - } - if (!(methods.get(0) instanceof Behavior)) { - return null; - } - return (Behavior) methods.get(0); - } - - -} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKApplication.java b/src/main/java/org/openmbee/mdk/MDKApplication.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MDKApplication.java rename to src/main/java/org/openmbee/mdk/MDKApplication.java index 894d95fd5..a1aeccccf 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKApplication.java +++ b/src/main/java/org/openmbee/mdk/MDKApplication.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import javafx.application.Application; import javafx.application.Platform; @@ -32,4 +32,4 @@ protected static MDKApplication getInstance() { public static void main(String... args) { Application.launch(MDKApplication.class); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKConfigurator.java b/src/main/java/org/openmbee/mdk/MDKConfigurator.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MDKConfigurator.java rename to src/main/java/org/openmbee/mdk/MDKConfigurator.java index 3346f5b37..ac5fd0f12 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKConfigurator.java +++ b/src/main/java/org/openmbee/mdk/MDKConfigurator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.actions.AMConfigurator; import com.nomagic.actions.ActionsCategory; @@ -6,6 +6,7 @@ import com.nomagic.actions.NMAction; import com.nomagic.magicdraw.actions.*; import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.magicdraw.ui.browser.Node; import com.nomagic.magicdraw.ui.browser.Tree; import com.nomagic.magicdraw.uml.symbols.DiagramPresentationElement; @@ -16,25 +17,25 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.actions.*; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.actions.ValidateAllViewsAction; -import gov.nasa.jpl.mbee.mdk.docgen.actions.ValidateViewAction; -import gov.nasa.jpl.mbee.mdk.docgen.actions.PreviewDocumentAction; -import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator; -import gov.nasa.jpl.mbee.mdk.migrate.actions.GroupsMigrationAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.*; -import gov.nasa.jpl.mbee.mdk.model.CollectActionsVisitor; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.model.UserScript; -import gov.nasa.jpl.mbee.mdk.model.actions.RunUserScriptAction; -import gov.nasa.jpl.mbee.mdk.model.actions.RunUserValidationScriptAction; -import gov.nasa.jpl.mbee.mdk.ocl.actions.OclQueryAction; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import org.openmbee.mdk.docgen.actions.ValidateAllViewsAction; +import org.openmbee.mdk.docgen.actions.ValidateViewAction; +import org.openmbee.mdk.docgen.actions.PreviewDocumentAction; +import org.openmbee.mdk.generator.DocumentGenerator; +import org.openmbee.mdk.migrate.actions.GroupsMigrationAction; +import org.openmbee.mdk.model.CollectActionsVisitor; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.model.UserScript; +import org.openmbee.mdk.model.actions.RunUserScriptAction; +import org.openmbee.mdk.model.actions.RunUserValidationScriptAction; +import org.openmbee.mdk.ocl.actions.OclQueryAction; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.TicketUtils; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils2; +import org.openmbee.mdk.actions.InstanceViewpointAction; +import org.openmbee.mdk.actions.MMSViewLinkAction; +import org.openmbee.mdk.mms.actions.*; import java.util.*; @@ -113,11 +114,11 @@ private void addElementActions(ActionsManager manager, Element e, List if (project == null) { return; } - Stereotype viewStereotype = Utils.getViewStereotype(project); - Stereotype sysmlviewpoint = Utils.getViewpointStereotype(project); - Stereotype documentView = Utils.getProductStereotype(project); - Stereotype classview = Utils.getViewClassStereotype(project); - Stereotype elementGroupStereotype = Utils.getElementGroupStereotype(project); + SysMLProfile sysml = SysMLProfile.getInstance(e); + SysMLExtensions profile = SysMLExtensions.getInstance(e); + Stereotype viewStereotype = sysml.view().getStereotype(); + Stereotype sysmlviewpoint = sysml.viewpoint().getStereotype(); + Stereotype elementGroupStereotype = sysml.elementGroup().getStereotype(); ActionsCategory modelLoad = myCategory(manager, "MMSContext", "MMS"); if (!TicketUtils.isTicketSet(project)) { @@ -149,23 +150,23 @@ private void addElementActions(ActionsManager manager, Element e, List // add menus in reverse order since they are inserted at top // View Interaction menu - if (StereotypesHelper.hasStereotypeOrDerived(e, DocGenProfile.validationScriptStereotype)) { + if (StereotypesHelper.hasStereotypeOrDerived(e, profile.validationScript().getStereotype())) { ActionsCategory c = myCategory(manager, "ViewInteraction", "View Interaction"); UserScript us = new UserScript(); us.setDgElement(e); - List targets = Utils.collectDirectedRelatedElementsByRelationshipStereotypeString(e, - DocGenProfile.queriesStereotype, 1, false, 1); + List targets = Utils.collectDirectedRelatedElementsByRelationshipStereotype(e, + SysMLProfile.getInstance(e).expose().getStereotype(), 1, true, 1); us.setTargets(Utils2.asList(targets, Object.class)); if (manager.getActionFor(RunUserValidationScriptAction.DEFAULT_ID) == null) { c.addAction(new RunUserValidationScriptAction(us, true)); } } - else if (StereotypesHelper.hasStereotypeOrDerived(e, DocGenProfile.userScriptStereotype)) { + else if (StereotypesHelper.hasStereotypeOrDerived(e, profile.userScript().getStereotype())) { ActionsCategory c = myCategory(manager, "ViewInteraction", "View Interaction"); UserScript us = new UserScript(); us.setDgElement(e); - List targets = Utils.collectDirectedRelatedElementsByRelationshipStereotypeString(e, - DocGenProfile.queriesStereotype, 1, false, 1); + List targets = Utils.collectDirectedRelatedElementsByRelationshipStereotype(e, + SysMLProfile.getInstance(e).expose().getStereotype(), 1, true, 1); us.setTargets(Utils2.asList(targets, Object.class)); if (manager.getActionFor(RunUserScriptAction.DEFAULT_ID) == null) { c.addAction(new RunUserScriptAction(us, true)); @@ -183,8 +184,8 @@ else if (StereotypesHelper.hasStereotypeOrDerived(e, DocGenProfile.userScriptSte // to avoid adding an empty menu category, so the category is // removed in this case. // Not worth implementing multi-selection for this legacy feature. Would require refactoring and testing. - if (classview != null && es.size() == 1 && StereotypesHelper.hasStereotypeOrDerived(e, viewStereotype)) { - Boolean collectActions = (Boolean) StereotypesHelper.getStereotypePropertyFirst(e, classview, "collectViewActions"); + if (es.size() == 1 && StereotypesHelper.hasStereotypeOrDerived(e, profile.view().getStereotype())) { + Boolean collectActions = (Boolean) StereotypesHelper.getStereotypePropertyFirst(e, profile.view().getCollectViewActionsProperty()); if (collectActions != null && collectActions) { ActionsCategory category = (ActionsCategory) manager.getActionFor("ViewInteraction"); if (category == null) { @@ -208,7 +209,7 @@ else if (StereotypesHelper.hasStereotypeOrDerived(e, DocGenProfile.userScriptSte if (action == null) { viewInstances.addAction(new GenerateViewPresentationAction(new LinkedHashSet<>(es), true)); } - + if (MDKProjectOptions.getMbeeEnabled(project)) { ActionsCategory tracingCategory = manager.getCategory("TRACING_CATEGORY"); if (tracingCategory != null) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKPlugin.java b/src/main/java/org/openmbee/mdk/MDKPlugin.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MDKPlugin.java rename to src/main/java/org/openmbee/mdk/MDKPlugin.java index 61220b882..0c12ba25e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKPlugin.java +++ b/src/main/java/org/openmbee/mdk/MDKPlugin.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.actions.ActionsCategory; import com.nomagic.actions.ActionsManager; @@ -48,7 +48,7 @@ public String getPluginVersion() { } public boolean isPluginRequired(Project var1) { - return ProjectUtilities.findAttachedProjectByName(var1, "SysML Extensions.mdzip") != null; + return ProjectUtilities.findAttachedProjectByName(var1, "SysML Extensions.mdxml") != null; } public static void updateMainToolbarCategory() { @@ -118,12 +118,12 @@ private void initJavaFX() { try { Class.forName("javafx.application.Platform"); } catch (ClassNotFoundException e) { - System.err.println("[WARNING] JavaFX libraries are unavailable. Please add \"-Dorg.osgi.framework.bundle.parent=ext\" to the \"JAVA_ARGS\" line in the properties file(s) in your MagicDraw bin directory and restart."); + System.err.println("[WARNING] JavaFX libraries are unavailable."); return; } new Thread(() -> { try { - Class clazz = Class.forName("gov.nasa.jpl.mbee.mdk.MDKApplication"); + Class clazz = Class.forName("org.openmbee.mdk.MDKApplication"); Method method = clazz.getMethod("main", String[].class); // has to be before invocation since it hangs MDKPlugin.JAVAFX_SUPPORTED = true; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKPluginHelper.java b/src/main/java/org/openmbee/mdk/MDKPluginHelper.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MDKPluginHelper.java rename to src/main/java/org/openmbee/mdk/MDKPluginHelper.java index c30b2c203..5ed50c2b7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKPluginHelper.java +++ b/src/main/java/org/openmbee/mdk/MDKPluginHelper.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.magicdraw.actions.ActionsConfiguratorsManager; import com.nomagic.magicdraw.commandline.CommandLineActionManager; @@ -7,12 +7,12 @@ import com.nomagic.magicdraw.evaluation.EvaluationConfigurator; import com.nomagic.magicdraw.uml.DiagramDescriptor; import com.nomagic.magicdraw.uml.DiagramTypeConstants; -import gov.nasa.jpl.mbee.mdk.cli.AutomatedCommitter; -import gov.nasa.jpl.mbee.mdk.cli.AutomatedViewGenerator; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.SyncStatusConfigurator; -import gov.nasa.jpl.mbee.mdk.options.ConfigureProjectOptions; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; +import org.openmbee.mdk.cli.AutomatedCommitter; +import org.openmbee.mdk.cli.AutomatedViewGenerator; +import org.openmbee.mdk.mms.sync.status.SyncStatusConfigurator; +import org.openmbee.mdk.options.ConfigureProjectOptions; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.util.MDUtils; public class MDKPluginHelper { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKProjectOptionsConfigurator.java b/src/main/java/org/openmbee/mdk/MDKProjectOptionsConfigurator.java similarity index 69% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MDKProjectOptionsConfigurator.java rename to src/main/java/org/openmbee/mdk/MDKProjectOptionsConfigurator.java index b304ae4ab..a703ab8e2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MDKProjectOptionsConfigurator.java +++ b/src/main/java/org/openmbee/mdk/MDKProjectOptionsConfigurator.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.magicdraw.core.options.ProjectOptions; import com.nomagic.magicdraw.core.options.ProjectOptionsConfigurator; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.options.listener.MDKProjectOptionsChangeListener; -import gov.nasa.jpl.mbee.mdk.options.listener.MDKProjectPartLoadedListener; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.options.listener.MDKProjectOptionsChangeListener; +import org.openmbee.mdk.options.listener.MDKProjectPartLoadedListener; public class MDKProjectOptionsConfigurator implements ProjectOptionsConfigurator { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MMSConfigurator.java b/src/main/java/org/openmbee/mdk/MMSConfigurator.java similarity index 83% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MMSConfigurator.java rename to src/main/java/org/openmbee/mdk/MMSConfigurator.java index 19d555bb5..296d04bfb 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MMSConfigurator.java +++ b/src/main/java/org/openmbee/mdk/MMSConfigurator.java @@ -1,14 +1,14 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.actions.AMConfigurator; import com.nomagic.actions.ActionsCategory; import com.nomagic.actions.ActionsManager; import com.nomagic.actions.NMAction; import com.nomagic.magicdraw.actions.MDActionsCategory; -import gov.nasa.jpl.mbee.mdk.mms.actions.GenerateAllViewsAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLoginAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLogoutAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.ValidateBranchesAction; +import org.openmbee.mdk.mms.actions.GenerateAllViewsAction; +import org.openmbee.mdk.mms.actions.MMSLoginAction; +import org.openmbee.mdk.mms.actions.MMSLogoutAction; +import org.openmbee.mdk.mms.actions.ValidateBranchesAction; public class MMSConfigurator implements AMConfigurator { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/MMSSyncPlugin.java b/src/main/java/org/openmbee/mdk/MMSSyncPlugin.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/MMSSyncPlugin.java rename to src/main/java/org/openmbee/mdk/MMSSyncPlugin.java index 14efb055c..f261406ff 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/MMSSyncPlugin.java +++ b/src/main/java/org/openmbee/mdk/MMSSyncPlugin.java @@ -1,15 +1,15 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.magicdraw.cookies.CloseCookie; import com.nomagic.magicdraw.cookies.CookieSet; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.plugins.Plugin; -import gov.nasa.jpl.mbee.mdk.mms.sync.coordinated.CoordinatedSyncProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.DeltaSyncProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.SyncStatusProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; +import org.openmbee.mdk.mms.sync.coordinated.CoordinatedSyncProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.delta.DeltaSyncProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.status.SyncStatusProjectEventListenerAdapter; +import org.openmbee.mdk.util.TaskRunner; /* * This class is responsible for performing automatic syncs with diff --git a/src/main/java/org/openmbee/mdk/SysMLExtensions.java b/src/main/java/org/openmbee/mdk/SysMLExtensions.java new file mode 100644 index 000000000..3d4d93562 --- /dev/null +++ b/src/main/java/org/openmbee/mdk/SysMLExtensions.java @@ -0,0 +1,19859 @@ +package org.openmbee.mdk; + +// Generated by Developer Tools Plugin: Generate Profile Class Implementation (wrappers) + +import com.nomagic.magicdraw.uml.BaseElement; +import com.nomagic.magicdraw.uml2.Profiles; +import com.nomagic.profiles.ProfileCache; +import com.nomagic.profiles.ProfileImplementation; +import com.nomagic.profiles.ProfilesBridge; +import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; +import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; +import com.nomagic.uml2.project.ElementProject; +import javax.annotation.CheckForNull; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; + +@SuppressWarnings("WeakerAccess, unused") +public class SysMLExtensions extends ProfileImplementation +{ + public static final String PROFILE_URI = "http://openmbee.org/mdk/sysml-extensions"; + + public static final String PROFILE_NAME = "SysML Extensions"; + + private final AppendixViewStereotype appendixViewStereotype; + private final AssociationTypeChoosableStereotype associationTypeChoosableStereotype; + private final AttributeChoosableStereotype attributeChoosableStereotype; + private final BulletedListStereotype bulletedListStereotype; + private final CollectFilterUserScriptStereotype collectFilterUserScriptStereotype; + private final CollectByAssociationStereotype collectByAssociationStereotype; + private final CollectByDirectedRelationshipMetaclassesStereotype collectByDirectedRelationshipMetaclassesStereotype; + private final CollectByDirectedRelationshipStereotypesStereotype collectByDirectedRelationshipStereotypesStereotype; + private final CollectByExpressionStereotype collectByExpressionStereotype; + private final CollectByStereotypePropertiesStereotype collectByStereotypePropertiesStereotype; + private final CollectClassifierAttributesStereotype collectClassifierAttributesStereotype; + private final CollectOrFilterStereotype collectOrFilterStereotype; + private final CollectOwnedElementsStereotype collectOwnedElementsStereotype; + private final CollectOwnersStereotype collectOwnersStereotype; + private final CollectThingsOnDiagramStereotype collectThingsOnDiagramStereotype; + private final CollectTypesStereotype collectTypesStereotype; + private final CollectionAndFilterGroupStereotype collectionAndFilterGroupStereotype; + private final ConformsStereotype conformsStereotype; + private final ConsiderDerivedChoosableStereotype considerDerivedChoosableStereotype; + private final ConstraintStereotype constraintStereotype; + private final ContainerStereotype containerStereotype; + private final DepthChoosableStereotype depthChoosableStereotype; + private final DiagramTypeChoosableStereotype diagramTypeChoosableStereotype; + private final DirectionChoosableStereotype directionChoosableStereotype; + private final DocGenScriptStereotype docGenScriptStereotype; + private final DocumentStereotype documentStereotype; + private final DocumentMetaStereotype documentMetaStereotype; + private final DocumentationChoosableStereotype documentationChoosableStereotype; + private final DocumentationSkippableStereotype documentationSkippableStereotype; + private final DynamicViewStereotype dynamicViewStereotype; + private final EditableChoosableStereotype editableChoosableStereotype; + private final EditableTableStereotype editableTableStereotype; + private final ExposeStereotype exposeStereotype; + private final ExpressionStereotype expressionStereotype; + private final ExpressionChoosableStereotype expressionChoosableStereotype; + private final ExpressionLibraryStereotype expressionLibraryStereotype; + private final FilterByDiagramTypeStereotype filterByDiagramTypeStereotype; + private final FilterByExpressionStereotype filterByExpressionStereotype; + private final FilterByMetaclassesStereotype filterByMetaclassesStereotype; + private final FilterByNamesStereotype filterByNamesStereotype; + private final FilterByStereotypesStereotype filterByStereotypesStereotype; + private final FormattingAndDisplayTemplateStereotype formattingAndDisplayTemplateStereotype; + private final GenericTableStereotype genericTableStereotype; + private final GroupStereotype groupStereotype; + private final HasCaptionsStereotype hasCaptionsStereotype; + private final HasTimeoutStereotype hasTimeoutStereotype; + private final HasTitleStereotype hasTitleStereotype; + private final HasTitleStuffStereotype hasTitleStuffStereotype; + private final HasTitlesStereotype hasTitlesStereotype; + private final HasTypesStereotype hasTypesStereotype; + private final HeadersChoosableStereotype headersChoosableStereotype; + private final HierarchicalPropertiesTableStereotype hierarchicalPropertiesTableStereotype; + private final IgnorableStereotype ignorableStereotype; + private final ImageStereotype imageStereotype; + private final IncludeChoosableStereotype includeChoosableStereotype; + private final IncludeInheritedChoosableStereotype includeInheritedChoosableStereotype; + private final IntersectionStereotype intersectionStereotype; + private final JavaExtensionStereotype javaExtensionStereotype; + private final LoopableStereotype loopableStereotype; + private final MetaclassChoosableStereotype metaclassChoosableStereotype; + private final MethodStereotype methodStereotype; + private final ModelManagementSystemStereotype modelManagementSystemStereotype; + private final NameChoosableStereotype nameChoosableStereotype; + private final ParagraphStereotype paragraphStereotype; + private final ParallelStereotype parallelStereotype; + private final PlotStereotype plotStereotype; + private final PrecisionChoosableStereotype precisionChoosableStereotype; + private final ProductStereotype productStereotype; + private final PropertiesTableByAttributesStereotype propertiesTableByAttributesStereotype; + private final PropertyChoosableStereotype propertyChoosableStereotype; + private final RemoveDuplicatesStereotype removeDuplicatesStereotype; + private final SimulateStereotype simulateStereotype; + private final SkippableStereotype skippableStereotype; + private final SortByAttributeStereotype sortByAttributeStereotype; + private final SortByExpressionStereotype sortByExpressionStereotype; + private final SortByNameStereotype sortByNameStereotype; + private final SortByPropertyStereotype sortByPropertyStereotype; + private final SortableStereotype sortableStereotype; + private final StereotypeChoosableStereotype stereotypeChoosableStereotype; + private final StereotypePropertiesChoosableStereotype stereotypePropertiesChoosableStereotype; + private final StereotypedRelationshipsChoosableStereotype stereotypedRelationshipsChoosableStereotype; + private final StructuredQueryStereotype structuredQueryStereotype; + private final TableStereotype tableStereotype; + private final TableAttributeColumnStereotype tableAttributeColumnStereotype; + private final TableColumnStereotype tableColumnStereotype; + private final TableColumnGroupStereotype tableColumnGroupStereotype; + private final TableExpressionColumnStereotype tableExpressionColumnStereotype; + private final TablePropertyColumnStereotype tablePropertyColumnStereotype; + private final TableStructureStereotype tableStructureStereotype; + private final TemporalDiffStereotype temporalDiffStereotype; + private final TomSawyerDiagramStereotype tomSawyerDiagramStereotype; + private final UnionStereotype unionStereotype; + private final UserScriptStereotype userScriptStereotype; + private final ValidationScriptStereotype validationScriptStereotype; + private final ViewpointConstraintStereotype viewpointConstraintStereotype; + private final XorStereotype xorStereotype; + private final AspectStereotype aspectStereotype; + private final CharacterizesStereotype characterizesStereotype; + private final ViewStereotype viewStereotype; + + private final AttributeEnumeration attributeEnumeration; + private final DiagramTypeEnumeration diagramTypeEnumeration; + private final LanguageEnumeration languageEnumeration; + private final PlotTypeEnumeration plotTypeEnumeration; + private final TomSawyerDiagramTypeEnumeration tomSawyerDiagramTypeEnumeration; + public static SysMLExtensions getInstance(BaseElement baseElement) + { + SysMLExtensions profile = ProfilesBridge.getProfile(SysMLExtensions.class, baseElement); + if (profile == null) + { + return ProfilesBridge.createProfile(SysMLExtensions.class, baseElement, SysMLExtensions::new, PROFILE_NAME, PROFILE_URI); + } + return profile; + } + public static SysMLExtensions getInstanceByProject(ElementProject project) + { + SysMLExtensions profile = ProfilesBridge.getProfile(SysMLExtensions.class, project); + if (profile == null) + { + return ProfilesBridge.createProfile(SysMLExtensions.class, project, SysMLExtensions::new, PROFILE_NAME, PROFILE_URI); + } + return profile; + } + public SysMLExtensions(ProfileCache cache) + { + super(cache); + appendixViewStereotype = new AppendixViewStereotype(this); + associationTypeChoosableStereotype = new AssociationTypeChoosableStereotype(this); + attributeChoosableStereotype = new AttributeChoosableStereotype(this); + bulletedListStereotype = new BulletedListStereotype(this); + collectFilterUserScriptStereotype = new CollectFilterUserScriptStereotype(this); + collectByAssociationStereotype = new CollectByAssociationStereotype(this); + collectByDirectedRelationshipMetaclassesStereotype = new CollectByDirectedRelationshipMetaclassesStereotype(this); + collectByDirectedRelationshipStereotypesStereotype = new CollectByDirectedRelationshipStereotypesStereotype(this); + collectByExpressionStereotype = new CollectByExpressionStereotype(this); + collectByStereotypePropertiesStereotype = new CollectByStereotypePropertiesStereotype(this); + collectClassifierAttributesStereotype = new CollectClassifierAttributesStereotype(this); + collectOrFilterStereotype = new CollectOrFilterStereotype(this); + collectOwnedElementsStereotype = new CollectOwnedElementsStereotype(this); + collectOwnersStereotype = new CollectOwnersStereotype(this); + collectThingsOnDiagramStereotype = new CollectThingsOnDiagramStereotype(this); + collectTypesStereotype = new CollectTypesStereotype(this); + collectionAndFilterGroupStereotype = new CollectionAndFilterGroupStereotype(this); + conformsStereotype = new ConformsStereotype(this); + considerDerivedChoosableStereotype = new ConsiderDerivedChoosableStereotype(this); + constraintStereotype = new ConstraintStereotype(this); + containerStereotype = new ContainerStereotype(this); + depthChoosableStereotype = new DepthChoosableStereotype(this); + diagramTypeChoosableStereotype = new DiagramTypeChoosableStereotype(this); + directionChoosableStereotype = new DirectionChoosableStereotype(this); + docGenScriptStereotype = new DocGenScriptStereotype(this); + documentStereotype = new DocumentStereotype(this); + documentMetaStereotype = new DocumentMetaStereotype(this); + documentationChoosableStereotype = new DocumentationChoosableStereotype(this); + documentationSkippableStereotype = new DocumentationSkippableStereotype(this); + dynamicViewStereotype = new DynamicViewStereotype(this); + editableChoosableStereotype = new EditableChoosableStereotype(this); + editableTableStereotype = new EditableTableStereotype(this); + exposeStereotype = new ExposeStereotype(this); + expressionStereotype = new ExpressionStereotype(this); + expressionChoosableStereotype = new ExpressionChoosableStereotype(this); + expressionLibraryStereotype = new ExpressionLibraryStereotype(this); + filterByDiagramTypeStereotype = new FilterByDiagramTypeStereotype(this); + filterByExpressionStereotype = new FilterByExpressionStereotype(this); + filterByMetaclassesStereotype = new FilterByMetaclassesStereotype(this); + filterByNamesStereotype = new FilterByNamesStereotype(this); + filterByStereotypesStereotype = new FilterByStereotypesStereotype(this); + formattingAndDisplayTemplateStereotype = new FormattingAndDisplayTemplateStereotype(this); + genericTableStereotype = new GenericTableStereotype(this); + groupStereotype = new GroupStereotype(this); + hasCaptionsStereotype = new HasCaptionsStereotype(this); + hasTimeoutStereotype = new HasTimeoutStereotype(this); + hasTitleStereotype = new HasTitleStereotype(this); + hasTitleStuffStereotype = new HasTitleStuffStereotype(this); + hasTitlesStereotype = new HasTitlesStereotype(this); + hasTypesStereotype = new HasTypesStereotype(this); + headersChoosableStereotype = new HeadersChoosableStereotype(this); + hierarchicalPropertiesTableStereotype = new HierarchicalPropertiesTableStereotype(this); + ignorableStereotype = new IgnorableStereotype(this); + imageStereotype = new ImageStereotype(this); + includeChoosableStereotype = new IncludeChoosableStereotype(this); + includeInheritedChoosableStereotype = new IncludeInheritedChoosableStereotype(this); + intersectionStereotype = new IntersectionStereotype(this); + javaExtensionStereotype = new JavaExtensionStereotype(this); + loopableStereotype = new LoopableStereotype(this); + metaclassChoosableStereotype = new MetaclassChoosableStereotype(this); + methodStereotype = new MethodStereotype(this); + modelManagementSystemStereotype = new ModelManagementSystemStereotype(this); + nameChoosableStereotype = new NameChoosableStereotype(this); + paragraphStereotype = new ParagraphStereotype(this); + parallelStereotype = new ParallelStereotype(this); + plotStereotype = new PlotStereotype(this); + precisionChoosableStereotype = new PrecisionChoosableStereotype(this); + productStereotype = new ProductStereotype(this); + propertiesTableByAttributesStereotype = new PropertiesTableByAttributesStereotype(this); + propertyChoosableStereotype = new PropertyChoosableStereotype(this); + removeDuplicatesStereotype = new RemoveDuplicatesStereotype(this); + simulateStereotype = new SimulateStereotype(this); + skippableStereotype = new SkippableStereotype(this); + sortByAttributeStereotype = new SortByAttributeStereotype(this); + sortByExpressionStereotype = new SortByExpressionStereotype(this); + sortByNameStereotype = new SortByNameStereotype(this); + sortByPropertyStereotype = new SortByPropertyStereotype(this); + sortableStereotype = new SortableStereotype(this); + stereotypeChoosableStereotype = new StereotypeChoosableStereotype(this); + stereotypePropertiesChoosableStereotype = new StereotypePropertiesChoosableStereotype(this); + stereotypedRelationshipsChoosableStereotype = new StereotypedRelationshipsChoosableStereotype(this); + structuredQueryStereotype = new StructuredQueryStereotype(this); + tableStereotype = new TableStereotype(this); + tableAttributeColumnStereotype = new TableAttributeColumnStereotype(this); + tableColumnStereotype = new TableColumnStereotype(this); + tableColumnGroupStereotype = new TableColumnGroupStereotype(this); + tableExpressionColumnStereotype = new TableExpressionColumnStereotype(this); + tablePropertyColumnStereotype = new TablePropertyColumnStereotype(this); + tableStructureStereotype = new TableStructureStereotype(this); + temporalDiffStereotype = new TemporalDiffStereotype(this); + tomSawyerDiagramStereotype = new TomSawyerDiagramStereotype(this); + unionStereotype = new UnionStereotype(this); + userScriptStereotype = new UserScriptStereotype(this); + validationScriptStereotype = new ValidationScriptStereotype(this); + viewpointConstraintStereotype = new ViewpointConstraintStereotype(this); + xorStereotype = new XorStereotype(this); + aspectStereotype = new AspectStereotype(this); + characterizesStereotype = new CharacterizesStereotype(this); + viewStereotype = new ViewStereotype(this); + attributeEnumeration = new AttributeEnumeration(this); + diagramTypeEnumeration = new DiagramTypeEnumeration(this); + languageEnumeration = new LanguageEnumeration(this); + plotTypeEnumeration = new PlotTypeEnumeration(this); + tomSawyerDiagramTypeEnumeration = new TomSawyerDiagramTypeEnumeration(this); + + } + public AppendixViewStereotype appendixView() + { + return appendixViewStereotype; + } + public AssociationTypeChoosableStereotype associationTypeChoosable() + { + return associationTypeChoosableStereotype; + } + public AttributeChoosableStereotype attributeChoosable() + { + return attributeChoosableStereotype; + } + public BulletedListStereotype bulletedList() + { + return bulletedListStereotype; + } + public CollectFilterUserScriptStereotype collectFilterUserScript() + { + return collectFilterUserScriptStereotype; + } + public CollectByAssociationStereotype collectByAssociation() + { + return collectByAssociationStereotype; + } + public CollectByDirectedRelationshipMetaclassesStereotype collectByDirectedRelationshipMetaclasses() + { + return collectByDirectedRelationshipMetaclassesStereotype; + } + public CollectByDirectedRelationshipStereotypesStereotype collectByDirectedRelationshipStereotypes() + { + return collectByDirectedRelationshipStereotypesStereotype; + } + public CollectByExpressionStereotype collectByExpression() + { + return collectByExpressionStereotype; + } + public CollectByStereotypePropertiesStereotype collectByStereotypeProperties() + { + return collectByStereotypePropertiesStereotype; + } + public CollectClassifierAttributesStereotype collectClassifierAttributes() + { + return collectClassifierAttributesStereotype; + } + public CollectOrFilterStereotype collectOrFilter() + { + return collectOrFilterStereotype; + } + public CollectOwnedElementsStereotype collectOwnedElements() + { + return collectOwnedElementsStereotype; + } + public CollectOwnersStereotype collectOwners() + { + return collectOwnersStereotype; + } + public CollectThingsOnDiagramStereotype collectThingsOnDiagram() + { + return collectThingsOnDiagramStereotype; + } + public CollectTypesStereotype collectTypes() + { + return collectTypesStereotype; + } + public CollectionAndFilterGroupStereotype collectionAndFilterGroup() + { + return collectionAndFilterGroupStereotype; + } + public ConformsStereotype conforms() + { + return conformsStereotype; + } + public ConsiderDerivedChoosableStereotype considerDerivedChoosable() + { + return considerDerivedChoosableStereotype; + } + public ConstraintStereotype constraint() + { + return constraintStereotype; + } + public ContainerStereotype container() + { + return containerStereotype; + } + public DepthChoosableStereotype depthChoosable() + { + return depthChoosableStereotype; + } + public DiagramTypeChoosableStereotype diagramTypeChoosable() + { + return diagramTypeChoosableStereotype; + } + public DirectionChoosableStereotype directionChoosable() + { + return directionChoosableStereotype; + } + public DocGenScriptStereotype docGenScript() + { + return docGenScriptStereotype; + } + public DocumentStereotype document() + { + return documentStereotype; + } + public DocumentMetaStereotype documentMeta() + { + return documentMetaStereotype; + } + public DocumentationChoosableStereotype documentationChoosable() + { + return documentationChoosableStereotype; + } + public DocumentationSkippableStereotype documentationSkippable() + { + return documentationSkippableStereotype; + } + public DynamicViewStereotype dynamicView() + { + return dynamicViewStereotype; + } + public EditableChoosableStereotype editableChoosable() + { + return editableChoosableStereotype; + } + public EditableTableStereotype editableTable() + { + return editableTableStereotype; + } + public ExposeStereotype expose() + { + return exposeStereotype; + } + public ExpressionStereotype expression() + { + return expressionStereotype; + } + public ExpressionChoosableStereotype expressionChoosable() + { + return expressionChoosableStereotype; + } + public ExpressionLibraryStereotype expressionLibrary() + { + return expressionLibraryStereotype; + } + public FilterByDiagramTypeStereotype filterByDiagramType() + { + return filterByDiagramTypeStereotype; + } + public FilterByExpressionStereotype filterByExpression() + { + return filterByExpressionStereotype; + } + public FilterByMetaclassesStereotype filterByMetaclasses() + { + return filterByMetaclassesStereotype; + } + public FilterByNamesStereotype filterByNames() + { + return filterByNamesStereotype; + } + public FilterByStereotypesStereotype filterByStereotypes() + { + return filterByStereotypesStereotype; + } + public FormattingAndDisplayTemplateStereotype formattingAndDisplayTemplate() + { + return formattingAndDisplayTemplateStereotype; + } + public GenericTableStereotype genericTable() + { + return genericTableStereotype; + } + public GroupStereotype group() + { + return groupStereotype; + } + public HasCaptionsStereotype hasCaptions() + { + return hasCaptionsStereotype; + } + public HasTimeoutStereotype hasTimeout() + { + return hasTimeoutStereotype; + } + public HasTitleStereotype hasTitle() + { + return hasTitleStereotype; + } + public HasTitleStuffStereotype hasTitleStuff() + { + return hasTitleStuffStereotype; + } + public HasTitlesStereotype hasTitles() + { + return hasTitlesStereotype; + } + public HasTypesStereotype hasTypes() + { + return hasTypesStereotype; + } + public HeadersChoosableStereotype headersChoosable() + { + return headersChoosableStereotype; + } + public HierarchicalPropertiesTableStereotype hierarchicalPropertiesTable() + { + return hierarchicalPropertiesTableStereotype; + } + public IgnorableStereotype ignorable() + { + return ignorableStereotype; + } + public ImageStereotype image() + { + return imageStereotype; + } + public IncludeChoosableStereotype includeChoosable() + { + return includeChoosableStereotype; + } + public IncludeInheritedChoosableStereotype includeInheritedChoosable() + { + return includeInheritedChoosableStereotype; + } + public IntersectionStereotype intersection() + { + return intersectionStereotype; + } + public JavaExtensionStereotype javaExtension() + { + return javaExtensionStereotype; + } + public LoopableStereotype loopable() + { + return loopableStereotype; + } + public MetaclassChoosableStereotype metaclassChoosable() + { + return metaclassChoosableStereotype; + } + public MethodStereotype method() + { + return methodStereotype; + } + public ModelManagementSystemStereotype modelManagementSystem() + { + return modelManagementSystemStereotype; + } + public NameChoosableStereotype nameChoosable() + { + return nameChoosableStereotype; + } + public ParagraphStereotype paragraph() + { + return paragraphStereotype; + } + public ParallelStereotype parallel() + { + return parallelStereotype; + } + public PlotStereotype plot() + { + return plotStereotype; + } + public PrecisionChoosableStereotype precisionChoosable() + { + return precisionChoosableStereotype; + } + public ProductStereotype product() + { + return productStereotype; + } + public PropertiesTableByAttributesStereotype propertiesTableByAttributes() + { + return propertiesTableByAttributesStereotype; + } + public PropertyChoosableStereotype propertyChoosable() + { + return propertyChoosableStereotype; + } + public RemoveDuplicatesStereotype removeDuplicates() + { + return removeDuplicatesStereotype; + } + public SimulateStereotype simulate() + { + return simulateStereotype; + } + public SkippableStereotype skippable() + { + return skippableStereotype; + } + public SortByAttributeStereotype sortByAttribute() + { + return sortByAttributeStereotype; + } + public SortByExpressionStereotype sortByExpression() + { + return sortByExpressionStereotype; + } + public SortByNameStereotype sortByName() + { + return sortByNameStereotype; + } + public SortByPropertyStereotype sortByProperty() + { + return sortByPropertyStereotype; + } + public SortableStereotype sortable() + { + return sortableStereotype; + } + public StereotypeChoosableStereotype stereotypeChoosable() + { + return stereotypeChoosableStereotype; + } + public StereotypePropertiesChoosableStereotype stereotypePropertiesChoosable() + { + return stereotypePropertiesChoosableStereotype; + } + public StereotypedRelationshipsChoosableStereotype stereotypedRelationshipsChoosable() + { + return stereotypedRelationshipsChoosableStereotype; + } + public StructuredQueryStereotype structuredQuery() + { + return structuredQueryStereotype; + } + public TableStereotype table() + { + return tableStereotype; + } + public TableAttributeColumnStereotype tableAttributeColumn() + { + return tableAttributeColumnStereotype; + } + public TableColumnStereotype tableColumn() + { + return tableColumnStereotype; + } + public TableColumnGroupStereotype tableColumnGroup() + { + return tableColumnGroupStereotype; + } + public TableExpressionColumnStereotype tableExpressionColumn() + { + return tableExpressionColumnStereotype; + } + public TablePropertyColumnStereotype tablePropertyColumn() + { + return tablePropertyColumnStereotype; + } + public TableStructureStereotype tableStructure() + { + return tableStructureStereotype; + } + public TemporalDiffStereotype temporalDiff() + { + return temporalDiffStereotype; + } + public TomSawyerDiagramStereotype tomSawyerDiagram() + { + return tomSawyerDiagramStereotype; + } + public UnionStereotype union() + { + return unionStereotype; + } + public UserScriptStereotype userScript() + { + return userScriptStereotype; + } + public ValidationScriptStereotype validationScript() + { + return validationScriptStereotype; + } + public ViewpointConstraintStereotype viewpointConstraint() + { + return viewpointConstraintStereotype; + } + public XorStereotype xor() + { + return xorStereotype; + } + public AspectStereotype aspect() + { + return aspectStereotype; + } + public CharacterizesStereotype characterizes() + { + return characterizesStereotype; + } + public ViewStereotype view() + { + return viewStereotype; + } + + + + public static final String ATTRIBUTE_DATATYPE = "Attribute"; + + public static final String DIAGRAMTYPE_DATATYPE = "DiagramType"; + + public static final String LANGUAGE_DATATYPE = "Language"; + + public static final String PLOTTYPE_DATATYPE = "PlotType"; + + public static final String TOMSAWYERDIAGRAMTYPE_DATATYPE = "TomSawyerDiagramType"; + + @SuppressWarnings("ConstantConditions") + public Enumeration getAttribute() + { + return attributeEnumeration.getEnumeration(); + } + + @SuppressWarnings("ConstantConditions") + public Enumeration getDiagramType() + { + return diagramTypeEnumeration.getEnumeration(); + } + + @SuppressWarnings("ConstantConditions") + public Enumeration getLanguage() + { + return languageEnumeration.getEnumeration(); + } + + @SuppressWarnings("ConstantConditions") + public Enumeration getPlotType() + { + return plotTypeEnumeration.getEnumeration(); + } + + @SuppressWarnings("ConstantConditions") + public Enumeration getTomSawyerDiagramType() + { + return tomSawyerDiagramTypeEnumeration.getEnumeration(); + } + + + + //enumeration Attribute literals + public enum AttributeEnum implements TextProvider + { + NAME(AttributeEnumeration.NAME), + DOCUMENTATION(AttributeEnumeration.DOCUMENTATION), + VALUE(AttributeEnumeration.VALUE); + private final String text; + + AttributeEnum(String text) + { + this.text = text; + } + + @Override + public String getText() + { + return this.text; + } + @CheckForNull + public static AttributeEnum from(@CheckForNull Object o) + { + return valueFromString(AttributeEnum.class, o); + } + @CheckForNull + public static AttributeEnum toEnum(EnumerationLiteral literal) + { + return from(literal); + } + @CheckForNull + public static EnumerationLiteral toEnumerationLiteral(SysMLExtensions profile, AttributeEnum anEnum) + { + if (anEnum == NAME) + { + return profile.attributeEnumeration.getNameEnumerationLiteral(); + } + if (anEnum == DOCUMENTATION) + { + return profile.attributeEnumeration.getDocumentationEnumerationLiteral(); + } + if (anEnum == VALUE) + { + return profile.attributeEnumeration.getValueEnumerationLiteral(); + } + return null; + } + } + private static class AttributeEnumeration extends EnumerationWrapper + { + public static final String NAME = "Name"; + public static final String DOCUMENTATION = "Documentation"; + public static final String VALUE = "Value"; + @CheckForNull + private EnumerationLiteral name; + @CheckForNull + private EnumerationLiteral documentation; + @CheckForNull + private EnumerationLiteral value; + private AttributeEnumeration(SysMLExtensions profile) + { + super(profile); + } + @CheckForNull + public Enumeration getEnumeration() + { + return getElementByName(ATTRIBUTE_DATATYPE); + } + @CheckForNull + public EnumerationLiteral getNameEnumerationLiteral() + { + if (name == null) + { + name = getEnumerationLiteralByName(getEnumeration(), NAME); + } + return name; + } + @CheckForNull + public EnumerationLiteral getDocumentationEnumerationLiteral() + { + if (documentation == null) + { + documentation = getEnumerationLiteralByName(getEnumeration(), DOCUMENTATION); + } + return documentation; + } + @CheckForNull + public EnumerationLiteral getValueEnumerationLiteral() + { + if (value == null) + { + value = getEnumerationLiteralByName(getEnumeration(), VALUE); + } + return value; + } + @Override + protected void clear() + { + super.clear(); + name = null; + documentation = null; + value = null; + } + } + + + //enumeration DiagramType literals + public enum DiagramTypeEnum implements TextProvider + { + ACTIVITY_DIAGRAM(DiagramTypeEnumeration.ACTIVITY_DIAGRAM), + BEHAVIOR_DIAGRAM(DiagramTypeEnumeration.BEHAVIOR_DIAGRAM), + SEQUENCE_DIAGRAM(DiagramTypeEnumeration.SEQUENCE_DIAGRAM), + INTERACTION_DIAGRAM(DiagramTypeEnumeration.INTERACTION_DIAGRAM), + USE_CASE_DIAGRAM(DiagramTypeEnumeration.USE_CASE_DIAGRAM), + STATE_MACHINE_DIAGRAM(DiagramTypeEnumeration.STATE_MACHINE_DIAGRAM), + PROTOCOL_STATE_MACHINE_DIAGRAM(DiagramTypeEnumeration.PROTOCOL_STATE_MACHINE_DIAGRAM), + COMPOSITE_STRUCTURE_DIAGRAM(DiagramTypeEnumeration.COMPOSITE_STRUCTURE_DIAGRAM), + STATIC_DIAGRAM(DiagramTypeEnumeration.STATIC_DIAGRAM), + INTERACTION_OVERVIEW_DIAGRAM(DiagramTypeEnumeration.INTERACTION_OVERVIEW_DIAGRAM), + IMPLEMENTATION_DIAGRAM(DiagramTypeEnumeration.IMPLEMENTATION_DIAGRAM), + COMMUNICATION_DIAGRAM(DiagramTypeEnumeration.COMMUNICATION_DIAGRAM), + CLASS_DIAGRAM(DiagramTypeEnumeration.CLASS_DIAGRAM), + SYSML_ACTIVITY_DIAGRAM(DiagramTypeEnumeration.SYSML_ACTIVITY_DIAGRAM), + SYSML_BLOCK_DEFINITION_DIAGRAM(DiagramTypeEnumeration.SYSML_BLOCK_DEFINITION_DIAGRAM), + SYSML_INTERNAL_BLOCK_DIAGRAM(DiagramTypeEnumeration.SYSML_INTERNAL_BLOCK_DIAGRAM), + SYSML_PACKAGE_DIAGRAM(DiagramTypeEnumeration.SYSML_PACKAGE_DIAGRAM), + SYSML_PARAMETRIC_DIAGRAM(DiagramTypeEnumeration.SYSML_PARAMETRIC_DIAGRAM), + REQUIREMENT_DIAGRAM(DiagramTypeEnumeration.REQUIREMENT_DIAGRAM), + SYSML_SEQUENCE_DIAGRAM(DiagramTypeEnumeration.SYSML_SEQUENCE_DIAGRAM), + SYSML_USE_CASE_DIAGRAM(DiagramTypeEnumeration.SYSML_USE_CASE_DIAGRAM), + SYSML_STATE_MACHINE_DIAGRAM(DiagramTypeEnumeration.SYSML_STATE_MACHINE_DIAGRAM), + REQUIREMENT_TABLE(DiagramTypeEnumeration.REQUIREMENT_TABLE), + SYSML_ALLOCATION_MATRIX(DiagramTypeEnumeration.SYSML_ALLOCATION_MATRIX), + SATISFY_REQUIREMENT_MATRIX(DiagramTypeEnumeration.SATISFY_REQUIREMENT_MATRIX), + VERIFY_REQUIREMENT_MATRIX(DiagramTypeEnumeration.VERIFY_REQUIREMENT_MATRIX), + BUSINESS_PROCESS_DIAGRAM(DiagramTypeEnumeration.BUSINESS_PROCESS_DIAGRAM), + FREE_FORM_DIAGRAM(DiagramTypeEnumeration.FREE_FORM_DIAGRAM), + NETWORKING_DIAGRAM(DiagramTypeEnumeration.NETWORKING_DIAGRAM), + RELATION_MAP_DIAGRAM(DiagramTypeEnumeration.RELATION_MAP_DIAGRAM), + DEPENDENCY_MATRIX(DiagramTypeEnumeration.DEPENDENCY_MATRIX), + GENERIC_TABLE(DiagramTypeEnumeration.GENERIC_TABLE), + CONTENT_DIAGRAM(DiagramTypeEnumeration.CONTENT_DIAGRAM), + BPMN_CHOREOGRAPHY_DIAGRAM(DiagramTypeEnumeration.BPMN_CHOREOGRAPHY_DIAGRAM), + BPMN_PROCESS_DIAGRAM(DiagramTypeEnumeration.BPMN_PROCESS_DIAGRAM), + BPMN_COLLABORATION_DIAGRAM(DiagramTypeEnumeration.BPMN_COLLABORATION_DIAGRAM), + VIEW_DIAGRAM(DiagramTypeEnumeration.VIEW_DIAGRAM), + VIEWPOINT_METHOD_DIAGRAM(DiagramTypeEnumeration.VIEWPOINT_METHOD_DIAGRAM), + DOCGEN_3_VIEW_DIAGRAM(DiagramTypeEnumeration.DOCGEN_3_VIEW_DIAGRAM), + DERIVE_REQUIREMENT_MATRIX(DiagramTypeEnumeration.DERIVE_REQUIREMENT_MATRIX), + REFINE_REQUIREMENT_MATRIX(DiagramTypeEnumeration.REFINE_REQUIREMENT_MATRIX), + REQUIREMENT_CONTAINMENT_MAP(DiagramTypeEnumeration.REQUIREMENT_CONTAINMENT_MAP), + REQUIREMENT_DERIVATION_MAP(DiagramTypeEnumeration.REQUIREMENT_DERIVATION_MAP), + COMPONENT_DIAGRAM(DiagramTypeEnumeration.COMPONENT_DIAGRAM); + private final String text; + + DiagramTypeEnum(String text) + { + this.text = text; + } + + @Override + public String getText() + { + return this.text; + } + @CheckForNull + public static DiagramTypeEnum from(@CheckForNull Object o) + { + return valueFromString(DiagramTypeEnum.class, o); + } + @CheckForNull + public static DiagramTypeEnum toEnum(EnumerationLiteral literal) + { + return from(literal); + } + @CheckForNull + public static EnumerationLiteral toEnumerationLiteral(SysMLExtensions profile, DiagramTypeEnum anEnum) + { + if (anEnum == ACTIVITY_DIAGRAM) + { + return profile.diagramTypeEnumeration.getActivityDiagramEnumerationLiteral(); + } + if (anEnum == BEHAVIOR_DIAGRAM) + { + return profile.diagramTypeEnumeration.getBehaviorDiagramEnumerationLiteral(); + } + if (anEnum == SEQUENCE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSequenceDiagramEnumerationLiteral(); + } + if (anEnum == INTERACTION_DIAGRAM) + { + return profile.diagramTypeEnumeration.getInteractionDiagramEnumerationLiteral(); + } + if (anEnum == USE_CASE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getUseCaseDiagramEnumerationLiteral(); + } + if (anEnum == STATE_MACHINE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getStateMachineDiagramEnumerationLiteral(); + } + if (anEnum == PROTOCOL_STATE_MACHINE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getProtocolStateMachineDiagramEnumerationLiteral(); + } + if (anEnum == COMPOSITE_STRUCTURE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getCompositeStructureDiagramEnumerationLiteral(); + } + if (anEnum == STATIC_DIAGRAM) + { + return profile.diagramTypeEnumeration.getStaticDiagramEnumerationLiteral(); + } + if (anEnum == INTERACTION_OVERVIEW_DIAGRAM) + { + return profile.diagramTypeEnumeration.getInteractionOverviewDiagramEnumerationLiteral(); + } + if (anEnum == IMPLEMENTATION_DIAGRAM) + { + return profile.diagramTypeEnumeration.getImplementationDiagramEnumerationLiteral(); + } + if (anEnum == COMMUNICATION_DIAGRAM) + { + return profile.diagramTypeEnumeration.getCommunicationDiagramEnumerationLiteral(); + } + if (anEnum == CLASS_DIAGRAM) + { + return profile.diagramTypeEnumeration.getClassDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_ACTIVITY_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLActivityDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_BLOCK_DEFINITION_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLBlockDefinitionDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_INTERNAL_BLOCK_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLInternalBlockDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_PACKAGE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLPackageDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_PARAMETRIC_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLParametricDiagramEnumerationLiteral(); + } + if (anEnum == REQUIREMENT_DIAGRAM) + { + return profile.diagramTypeEnumeration.getRequirementDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_SEQUENCE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLSequenceDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_USE_CASE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLUseCaseDiagramEnumerationLiteral(); + } + if (anEnum == SYSML_STATE_MACHINE_DIAGRAM) + { + return profile.diagramTypeEnumeration.getSysMLStateMachineDiagramEnumerationLiteral(); + } + if (anEnum == REQUIREMENT_TABLE) + { + return profile.diagramTypeEnumeration.getRequirementTableEnumerationLiteral(); + } + if (anEnum == SYSML_ALLOCATION_MATRIX) + { + return profile.diagramTypeEnumeration.getSysMLAllocationMatrixEnumerationLiteral(); + } + if (anEnum == SATISFY_REQUIREMENT_MATRIX) + { + return profile.diagramTypeEnumeration.getSatisfyRequirementMatrixEnumerationLiteral(); + } + if (anEnum == VERIFY_REQUIREMENT_MATRIX) + { + return profile.diagramTypeEnumeration.getVerifyRequirementMatrixEnumerationLiteral(); + } + if (anEnum == BUSINESS_PROCESS_DIAGRAM) + { + return profile.diagramTypeEnumeration.getBusinessProcessDiagramEnumerationLiteral(); + } + if (anEnum == FREE_FORM_DIAGRAM) + { + return profile.diagramTypeEnumeration.getFreeFormDiagramEnumerationLiteral(); + } + if (anEnum == NETWORKING_DIAGRAM) + { + return profile.diagramTypeEnumeration.getNetworkingDiagramEnumerationLiteral(); + } + if (anEnum == RELATION_MAP_DIAGRAM) + { + return profile.diagramTypeEnumeration.getRelationMapDiagramEnumerationLiteral(); + } + if (anEnum == DEPENDENCY_MATRIX) + { + return profile.diagramTypeEnumeration.getDependencyMatrixEnumerationLiteral(); + } + if (anEnum == GENERIC_TABLE) + { + return profile.diagramTypeEnumeration.getGenericTableEnumerationLiteral(); + } + if (anEnum == CONTENT_DIAGRAM) + { + return profile.diagramTypeEnumeration.getContentDiagramEnumerationLiteral(); + } + if (anEnum == BPMN_CHOREOGRAPHY_DIAGRAM) + { + return profile.diagramTypeEnumeration.getBpmnChoreographyDiagramEnumerationLiteral(); + } + if (anEnum == BPMN_PROCESS_DIAGRAM) + { + return profile.diagramTypeEnumeration.getBpmnProcessDiagramEnumerationLiteral(); + } + if (anEnum == BPMN_COLLABORATION_DIAGRAM) + { + return profile.diagramTypeEnumeration.getBpmnCollaborationDiagramEnumerationLiteral(); + } + if (anEnum == VIEW_DIAGRAM) + { + return profile.diagramTypeEnumeration.getViewDiagramEnumerationLiteral(); + } + if (anEnum == VIEWPOINT_METHOD_DIAGRAM) + { + return profile.diagramTypeEnumeration.getViewpointMethodDiagramEnumerationLiteral(); + } + if (anEnum == DOCGEN_3_VIEW_DIAGRAM) + { + return profile.diagramTypeEnumeration.getDocGen3ViewDiagramEnumerationLiteral(); + } + if (anEnum == DERIVE_REQUIREMENT_MATRIX) + { + return profile.diagramTypeEnumeration.getDeriveRequirementMatrixEnumerationLiteral(); + } + if (anEnum == REFINE_REQUIREMENT_MATRIX) + { + return profile.diagramTypeEnumeration.getRefineRequirementMatrixEnumerationLiteral(); + } + if (anEnum == REQUIREMENT_CONTAINMENT_MAP) + { + return profile.diagramTypeEnumeration.getRequirementContainmentMapEnumerationLiteral(); + } + if (anEnum == REQUIREMENT_DERIVATION_MAP) + { + return profile.diagramTypeEnumeration.getRequirementDerivationMapEnumerationLiteral(); + } + if (anEnum == COMPONENT_DIAGRAM) + { + return profile.diagramTypeEnumeration.getComponentDiagramEnumerationLiteral(); + } + return null; + } + } + private static class DiagramTypeEnumeration extends EnumerationWrapper + { + public static final String ACTIVITY_DIAGRAM = "Activity Diagram"; + public static final String BEHAVIOR_DIAGRAM = "Behavior Diagram"; + public static final String SEQUENCE_DIAGRAM = "Sequence Diagram"; + public static final String INTERACTION_DIAGRAM = "Interaction Diagram"; + public static final String USE_CASE_DIAGRAM = "Use Case Diagram"; + public static final String STATE_MACHINE_DIAGRAM = "State Machine Diagram"; + public static final String PROTOCOL_STATE_MACHINE_DIAGRAM = "Protocol State Machine Diagram"; + public static final String COMPOSITE_STRUCTURE_DIAGRAM = "Composite Structure Diagram"; + public static final String STATIC_DIAGRAM = "Static Diagram"; + public static final String INTERACTION_OVERVIEW_DIAGRAM = "Interaction Overview Diagram"; + public static final String IMPLEMENTATION_DIAGRAM = "Implementation Diagram"; + public static final String COMMUNICATION_DIAGRAM = "Communication Diagram"; + public static final String CLASS_DIAGRAM = "Class Diagram"; + public static final String SYSML_ACTIVITY_DIAGRAM = "SysML Activity Diagram"; + public static final String SYSML_BLOCK_DEFINITION_DIAGRAM = "SysML Block Definition Diagram"; + public static final String SYSML_INTERNAL_BLOCK_DIAGRAM = "SysML Internal Block Diagram"; + public static final String SYSML_PACKAGE_DIAGRAM = "SysML Package Diagram"; + public static final String SYSML_PARAMETRIC_DIAGRAM = "SysML Parametric Diagram"; + public static final String REQUIREMENT_DIAGRAM = "Requirement Diagram"; + public static final String SYSML_SEQUENCE_DIAGRAM = "SysML Sequence Diagram"; + public static final String SYSML_USE_CASE_DIAGRAM = "SysML Use Case Diagram"; + public static final String SYSML_STATE_MACHINE_DIAGRAM = "SysML State Machine Diagram"; + public static final String REQUIREMENT_TABLE = "Requirement Table"; + public static final String SYSML_ALLOCATION_MATRIX = "SysML Allocation Matrix"; + public static final String SATISFY_REQUIREMENT_MATRIX = "Satisfy Requirement Matrix"; + public static final String VERIFY_REQUIREMENT_MATRIX = "Verify Requirement Matrix"; + public static final String BUSINESS_PROCESS_DIAGRAM = "Business Process Diagram"; + public static final String FREE_FORM_DIAGRAM = "Free Form Diagram"; + public static final String NETWORKING_DIAGRAM = "Networking Diagram"; + public static final String RELATION_MAP_DIAGRAM = "Relation Map Diagram"; + public static final String DEPENDENCY_MATRIX = "Dependency Matrix"; + public static final String GENERIC_TABLE = "Generic Table"; + public static final String CONTENT_DIAGRAM = "Content Diagram"; + public static final String BPMN_CHOREOGRAPHY_DIAGRAM = "BPMN Choreography Diagram"; + public static final String BPMN_PROCESS_DIAGRAM = "BPMN Process Diagram"; + public static final String BPMN_COLLABORATION_DIAGRAM = "BPMN Collaboration Diagram"; + public static final String VIEW_DIAGRAM = "View Diagram"; + public static final String VIEWPOINT_METHOD_DIAGRAM = "Viewpoint Method Diagram"; + public static final String DOCGEN_3_VIEW_DIAGRAM = "DocGen 3 View Diagram"; + public static final String DERIVE_REQUIREMENT_MATRIX = "Derive Requirement Matrix"; + public static final String REFINE_REQUIREMENT_MATRIX = "Refine Requirement Matrix"; + public static final String REQUIREMENT_CONTAINMENT_MAP = "Requirement Containment Map"; + public static final String REQUIREMENT_DERIVATION_MAP = "Requirement Derivation Map"; + public static final String COMPONENT_DIAGRAM = "Component Diagram"; + @CheckForNull + private EnumerationLiteral activityDiagram; + @CheckForNull + private EnumerationLiteral behaviorDiagram; + @CheckForNull + private EnumerationLiteral sequenceDiagram; + @CheckForNull + private EnumerationLiteral interactionDiagram; + @CheckForNull + private EnumerationLiteral useCaseDiagram; + @CheckForNull + private EnumerationLiteral stateMachineDiagram; + @CheckForNull + private EnumerationLiteral protocolStateMachineDiagram; + @CheckForNull + private EnumerationLiteral compositeStructureDiagram; + @CheckForNull + private EnumerationLiteral staticDiagram; + @CheckForNull + private EnumerationLiteral interactionOverviewDiagram; + @CheckForNull + private EnumerationLiteral implementationDiagram; + @CheckForNull + private EnumerationLiteral communicationDiagram; + @CheckForNull + private EnumerationLiteral classDiagram; + @CheckForNull + private EnumerationLiteral sysMLActivityDiagram; + @CheckForNull + private EnumerationLiteral sysMLBlockDefinitionDiagram; + @CheckForNull + private EnumerationLiteral sysMLInternalBlockDiagram; + @CheckForNull + private EnumerationLiteral sysMLPackageDiagram; + @CheckForNull + private EnumerationLiteral sysMLParametricDiagram; + @CheckForNull + private EnumerationLiteral requirementDiagram; + @CheckForNull + private EnumerationLiteral sysMLSequenceDiagram; + @CheckForNull + private EnumerationLiteral sysMLUseCaseDiagram; + @CheckForNull + private EnumerationLiteral sysMLStateMachineDiagram; + @CheckForNull + private EnumerationLiteral requirementTable; + @CheckForNull + private EnumerationLiteral sysMLAllocationMatrix; + @CheckForNull + private EnumerationLiteral satisfyRequirementMatrix; + @CheckForNull + private EnumerationLiteral verifyRequirementMatrix; + @CheckForNull + private EnumerationLiteral businessProcessDiagram; + @CheckForNull + private EnumerationLiteral freeFormDiagram; + @CheckForNull + private EnumerationLiteral networkingDiagram; + @CheckForNull + private EnumerationLiteral relationMapDiagram; + @CheckForNull + private EnumerationLiteral dependencyMatrix; + @CheckForNull + private EnumerationLiteral genericTable; + @CheckForNull + private EnumerationLiteral contentDiagram; + @CheckForNull + private EnumerationLiteral bpmnChoreographyDiagram; + @CheckForNull + private EnumerationLiteral bpmnProcessDiagram; + @CheckForNull + private EnumerationLiteral bpmnCollaborationDiagram; + @CheckForNull + private EnumerationLiteral viewDiagram; + @CheckForNull + private EnumerationLiteral viewpointMethodDiagram; + @CheckForNull + private EnumerationLiteral docGen3ViewDiagram; + @CheckForNull + private EnumerationLiteral deriveRequirementMatrix; + @CheckForNull + private EnumerationLiteral refineRequirementMatrix; + @CheckForNull + private EnumerationLiteral requirementContainmentMap; + @CheckForNull + private EnumerationLiteral requirementDerivationMap; + @CheckForNull + private EnumerationLiteral componentDiagram; + private DiagramTypeEnumeration(SysMLExtensions profile) + { + super(profile); + } + @CheckForNull + public Enumeration getEnumeration() + { + return getElementByName(DIAGRAMTYPE_DATATYPE); + } + @CheckForNull + public EnumerationLiteral getActivityDiagramEnumerationLiteral() + { + if (activityDiagram == null) + { + activityDiagram = getEnumerationLiteralByName(getEnumeration(), ACTIVITY_DIAGRAM); + } + return activityDiagram; + } + @CheckForNull + public EnumerationLiteral getBehaviorDiagramEnumerationLiteral() + { + if (behaviorDiagram == null) + { + behaviorDiagram = getEnumerationLiteralByName(getEnumeration(), BEHAVIOR_DIAGRAM); + } + return behaviorDiagram; + } + @CheckForNull + public EnumerationLiteral getSequenceDiagramEnumerationLiteral() + { + if (sequenceDiagram == null) + { + sequenceDiagram = getEnumerationLiteralByName(getEnumeration(), SEQUENCE_DIAGRAM); + } + return sequenceDiagram; + } + @CheckForNull + public EnumerationLiteral getInteractionDiagramEnumerationLiteral() + { + if (interactionDiagram == null) + { + interactionDiagram = getEnumerationLiteralByName(getEnumeration(), INTERACTION_DIAGRAM); + } + return interactionDiagram; + } + @CheckForNull + public EnumerationLiteral getUseCaseDiagramEnumerationLiteral() + { + if (useCaseDiagram == null) + { + useCaseDiagram = getEnumerationLiteralByName(getEnumeration(), USE_CASE_DIAGRAM); + } + return useCaseDiagram; + } + @CheckForNull + public EnumerationLiteral getStateMachineDiagramEnumerationLiteral() + { + if (stateMachineDiagram == null) + { + stateMachineDiagram = getEnumerationLiteralByName(getEnumeration(), STATE_MACHINE_DIAGRAM); + } + return stateMachineDiagram; + } + @CheckForNull + public EnumerationLiteral getProtocolStateMachineDiagramEnumerationLiteral() + { + if (protocolStateMachineDiagram == null) + { + protocolStateMachineDiagram = getEnumerationLiteralByName(getEnumeration(), PROTOCOL_STATE_MACHINE_DIAGRAM); + } + return protocolStateMachineDiagram; + } + @CheckForNull + public EnumerationLiteral getCompositeStructureDiagramEnumerationLiteral() + { + if (compositeStructureDiagram == null) + { + compositeStructureDiagram = getEnumerationLiteralByName(getEnumeration(), COMPOSITE_STRUCTURE_DIAGRAM); + } + return compositeStructureDiagram; + } + @CheckForNull + public EnumerationLiteral getStaticDiagramEnumerationLiteral() + { + if (staticDiagram == null) + { + staticDiagram = getEnumerationLiteralByName(getEnumeration(), STATIC_DIAGRAM); + } + return staticDiagram; + } + @CheckForNull + public EnumerationLiteral getInteractionOverviewDiagramEnumerationLiteral() + { + if (interactionOverviewDiagram == null) + { + interactionOverviewDiagram = getEnumerationLiteralByName(getEnumeration(), INTERACTION_OVERVIEW_DIAGRAM); + } + return interactionOverviewDiagram; + } + @CheckForNull + public EnumerationLiteral getImplementationDiagramEnumerationLiteral() + { + if (implementationDiagram == null) + { + implementationDiagram = getEnumerationLiteralByName(getEnumeration(), IMPLEMENTATION_DIAGRAM); + } + return implementationDiagram; + } + @CheckForNull + public EnumerationLiteral getCommunicationDiagramEnumerationLiteral() + { + if (communicationDiagram == null) + { + communicationDiagram = getEnumerationLiteralByName(getEnumeration(), COMMUNICATION_DIAGRAM); + } + return communicationDiagram; + } + @CheckForNull + public EnumerationLiteral getClassDiagramEnumerationLiteral() + { + if (classDiagram == null) + { + classDiagram = getEnumerationLiteralByName(getEnumeration(), CLASS_DIAGRAM); + } + return classDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLActivityDiagramEnumerationLiteral() + { + if (sysMLActivityDiagram == null) + { + sysMLActivityDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_ACTIVITY_DIAGRAM); + } + return sysMLActivityDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLBlockDefinitionDiagramEnumerationLiteral() + { + if (sysMLBlockDefinitionDiagram == null) + { + sysMLBlockDefinitionDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_BLOCK_DEFINITION_DIAGRAM); + } + return sysMLBlockDefinitionDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLInternalBlockDiagramEnumerationLiteral() + { + if (sysMLInternalBlockDiagram == null) + { + sysMLInternalBlockDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_INTERNAL_BLOCK_DIAGRAM); + } + return sysMLInternalBlockDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLPackageDiagramEnumerationLiteral() + { + if (sysMLPackageDiagram == null) + { + sysMLPackageDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_PACKAGE_DIAGRAM); + } + return sysMLPackageDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLParametricDiagramEnumerationLiteral() + { + if (sysMLParametricDiagram == null) + { + sysMLParametricDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_PARAMETRIC_DIAGRAM); + } + return sysMLParametricDiagram; + } + @CheckForNull + public EnumerationLiteral getRequirementDiagramEnumerationLiteral() + { + if (requirementDiagram == null) + { + requirementDiagram = getEnumerationLiteralByName(getEnumeration(), REQUIREMENT_DIAGRAM); + } + return requirementDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLSequenceDiagramEnumerationLiteral() + { + if (sysMLSequenceDiagram == null) + { + sysMLSequenceDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_SEQUENCE_DIAGRAM); + } + return sysMLSequenceDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLUseCaseDiagramEnumerationLiteral() + { + if (sysMLUseCaseDiagram == null) + { + sysMLUseCaseDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_USE_CASE_DIAGRAM); + } + return sysMLUseCaseDiagram; + } + @CheckForNull + public EnumerationLiteral getSysMLStateMachineDiagramEnumerationLiteral() + { + if (sysMLStateMachineDiagram == null) + { + sysMLStateMachineDiagram = getEnumerationLiteralByName(getEnumeration(), SYSML_STATE_MACHINE_DIAGRAM); + } + return sysMLStateMachineDiagram; + } + @CheckForNull + public EnumerationLiteral getRequirementTableEnumerationLiteral() + { + if (requirementTable == null) + { + requirementTable = getEnumerationLiteralByName(getEnumeration(), REQUIREMENT_TABLE); + } + return requirementTable; + } + @CheckForNull + public EnumerationLiteral getSysMLAllocationMatrixEnumerationLiteral() + { + if (sysMLAllocationMatrix == null) + { + sysMLAllocationMatrix = getEnumerationLiteralByName(getEnumeration(), SYSML_ALLOCATION_MATRIX); + } + return sysMLAllocationMatrix; + } + @CheckForNull + public EnumerationLiteral getSatisfyRequirementMatrixEnumerationLiteral() + { + if (satisfyRequirementMatrix == null) + { + satisfyRequirementMatrix = getEnumerationLiteralByName(getEnumeration(), SATISFY_REQUIREMENT_MATRIX); + } + return satisfyRequirementMatrix; + } + @CheckForNull + public EnumerationLiteral getVerifyRequirementMatrixEnumerationLiteral() + { + if (verifyRequirementMatrix == null) + { + verifyRequirementMatrix = getEnumerationLiteralByName(getEnumeration(), VERIFY_REQUIREMENT_MATRIX); + } + return verifyRequirementMatrix; + } + @CheckForNull + public EnumerationLiteral getBusinessProcessDiagramEnumerationLiteral() + { + if (businessProcessDiagram == null) + { + businessProcessDiagram = getEnumerationLiteralByName(getEnumeration(), BUSINESS_PROCESS_DIAGRAM); + } + return businessProcessDiagram; + } + @CheckForNull + public EnumerationLiteral getFreeFormDiagramEnumerationLiteral() + { + if (freeFormDiagram == null) + { + freeFormDiagram = getEnumerationLiteralByName(getEnumeration(), FREE_FORM_DIAGRAM); + } + return freeFormDiagram; + } + @CheckForNull + public EnumerationLiteral getNetworkingDiagramEnumerationLiteral() + { + if (networkingDiagram == null) + { + networkingDiagram = getEnumerationLiteralByName(getEnumeration(), NETWORKING_DIAGRAM); + } + return networkingDiagram; + } + @CheckForNull + public EnumerationLiteral getRelationMapDiagramEnumerationLiteral() + { + if (relationMapDiagram == null) + { + relationMapDiagram = getEnumerationLiteralByName(getEnumeration(), RELATION_MAP_DIAGRAM); + } + return relationMapDiagram; + } + @CheckForNull + public EnumerationLiteral getDependencyMatrixEnumerationLiteral() + { + if (dependencyMatrix == null) + { + dependencyMatrix = getEnumerationLiteralByName(getEnumeration(), DEPENDENCY_MATRIX); + } + return dependencyMatrix; + } + @CheckForNull + public EnumerationLiteral getGenericTableEnumerationLiteral() + { + if (genericTable == null) + { + genericTable = getEnumerationLiteralByName(getEnumeration(), GENERIC_TABLE); + } + return genericTable; + } + @CheckForNull + public EnumerationLiteral getContentDiagramEnumerationLiteral() + { + if (contentDiagram == null) + { + contentDiagram = getEnumerationLiteralByName(getEnumeration(), CONTENT_DIAGRAM); + } + return contentDiagram; + } + @CheckForNull + public EnumerationLiteral getBpmnChoreographyDiagramEnumerationLiteral() + { + if (bpmnChoreographyDiagram == null) + { + bpmnChoreographyDiagram = getEnumerationLiteralByName(getEnumeration(), BPMN_CHOREOGRAPHY_DIAGRAM); + } + return bpmnChoreographyDiagram; + } + @CheckForNull + public EnumerationLiteral getBpmnProcessDiagramEnumerationLiteral() + { + if (bpmnProcessDiagram == null) + { + bpmnProcessDiagram = getEnumerationLiteralByName(getEnumeration(), BPMN_PROCESS_DIAGRAM); + } + return bpmnProcessDiagram; + } + @CheckForNull + public EnumerationLiteral getBpmnCollaborationDiagramEnumerationLiteral() + { + if (bpmnCollaborationDiagram == null) + { + bpmnCollaborationDiagram = getEnumerationLiteralByName(getEnumeration(), BPMN_COLLABORATION_DIAGRAM); + } + return bpmnCollaborationDiagram; + } + @CheckForNull + public EnumerationLiteral getViewDiagramEnumerationLiteral() + { + if (viewDiagram == null) + { + viewDiagram = getEnumerationLiteralByName(getEnumeration(), VIEW_DIAGRAM); + } + return viewDiagram; + } + @CheckForNull + public EnumerationLiteral getViewpointMethodDiagramEnumerationLiteral() + { + if (viewpointMethodDiagram == null) + { + viewpointMethodDiagram = getEnumerationLiteralByName(getEnumeration(), VIEWPOINT_METHOD_DIAGRAM); + } + return viewpointMethodDiagram; + } + @CheckForNull + public EnumerationLiteral getDocGen3ViewDiagramEnumerationLiteral() + { + if (docGen3ViewDiagram == null) + { + docGen3ViewDiagram = getEnumerationLiteralByName(getEnumeration(), DOCGEN_3_VIEW_DIAGRAM); + } + return docGen3ViewDiagram; + } + @CheckForNull + public EnumerationLiteral getDeriveRequirementMatrixEnumerationLiteral() + { + if (deriveRequirementMatrix == null) + { + deriveRequirementMatrix = getEnumerationLiteralByName(getEnumeration(), DERIVE_REQUIREMENT_MATRIX); + } + return deriveRequirementMatrix; + } + @CheckForNull + public EnumerationLiteral getRefineRequirementMatrixEnumerationLiteral() + { + if (refineRequirementMatrix == null) + { + refineRequirementMatrix = getEnumerationLiteralByName(getEnumeration(), REFINE_REQUIREMENT_MATRIX); + } + return refineRequirementMatrix; + } + @CheckForNull + public EnumerationLiteral getRequirementContainmentMapEnumerationLiteral() + { + if (requirementContainmentMap == null) + { + requirementContainmentMap = getEnumerationLiteralByName(getEnumeration(), REQUIREMENT_CONTAINMENT_MAP); + } + return requirementContainmentMap; + } + @CheckForNull + public EnumerationLiteral getRequirementDerivationMapEnumerationLiteral() + { + if (requirementDerivationMap == null) + { + requirementDerivationMap = getEnumerationLiteralByName(getEnumeration(), REQUIREMENT_DERIVATION_MAP); + } + return requirementDerivationMap; + } + @CheckForNull + public EnumerationLiteral getComponentDiagramEnumerationLiteral() + { + if (componentDiagram == null) + { + componentDiagram = getEnumerationLiteralByName(getEnumeration(), COMPONENT_DIAGRAM); + } + return componentDiagram; + } + @Override + protected void clear() + { + super.clear(); + activityDiagram = null; + behaviorDiagram = null; + sequenceDiagram = null; + interactionDiagram = null; + useCaseDiagram = null; + stateMachineDiagram = null; + protocolStateMachineDiagram = null; + compositeStructureDiagram = null; + staticDiagram = null; + interactionOverviewDiagram = null; + implementationDiagram = null; + communicationDiagram = null; + classDiagram = null; + sysMLActivityDiagram = null; + sysMLBlockDefinitionDiagram = null; + sysMLInternalBlockDiagram = null; + sysMLPackageDiagram = null; + sysMLParametricDiagram = null; + requirementDiagram = null; + sysMLSequenceDiagram = null; + sysMLUseCaseDiagram = null; + sysMLStateMachineDiagram = null; + requirementTable = null; + sysMLAllocationMatrix = null; + satisfyRequirementMatrix = null; + verifyRequirementMatrix = null; + businessProcessDiagram = null; + freeFormDiagram = null; + networkingDiagram = null; + relationMapDiagram = null; + dependencyMatrix = null; + genericTable = null; + contentDiagram = null; + bpmnChoreographyDiagram = null; + bpmnProcessDiagram = null; + bpmnCollaborationDiagram = null; + viewDiagram = null; + viewpointMethodDiagram = null; + docGen3ViewDiagram = null; + deriveRequirementMatrix = null; + refineRequirementMatrix = null; + requirementContainmentMap = null; + requirementDerivationMap = null; + componentDiagram = null; + } + } + + + //enumeration Language literals + public enum LanguageEnum implements TextProvider + { + JYTHON(LanguageEnumeration.JYTHON), + GROOVY(LanguageEnumeration.GROOVY); + private final String text; + + LanguageEnum(String text) + { + this.text = text; + } + + @Override + public String getText() + { + return this.text; + } + @CheckForNull + public static LanguageEnum from(@CheckForNull Object o) + { + return valueFromString(LanguageEnum.class, o); + } + @CheckForNull + public static LanguageEnum toEnum(EnumerationLiteral literal) + { + return from(literal); + } + @CheckForNull + public static EnumerationLiteral toEnumerationLiteral(SysMLExtensions profile, LanguageEnum anEnum) + { + if (anEnum == JYTHON) + { + return profile.languageEnumeration.getJythonEnumerationLiteral(); + } + if (anEnum == GROOVY) + { + return profile.languageEnumeration.getGroovyEnumerationLiteral(); + } + return null; + } + } + private static class LanguageEnumeration extends EnumerationWrapper + { + public static final String JYTHON = "jython"; + public static final String GROOVY = "groovy"; + @CheckForNull + private EnumerationLiteral jython; + @CheckForNull + private EnumerationLiteral groovy; + private LanguageEnumeration(SysMLExtensions profile) + { + super(profile); + } + @CheckForNull + public Enumeration getEnumeration() + { + return getElementByName(LANGUAGE_DATATYPE); + } + @CheckForNull + public EnumerationLiteral getJythonEnumerationLiteral() + { + if (jython == null) + { + jython = getEnumerationLiteralByName(getEnumeration(), JYTHON); + } + return jython; + } + @CheckForNull + public EnumerationLiteral getGroovyEnumerationLiteral() + { + if (groovy == null) + { + groovy = getEnumerationLiteralByName(getEnumeration(), GROOVY); + } + return groovy; + } + @Override + protected void clear() + { + super.clear(); + jython = null; + groovy = null; + } + } + + + //enumeration PlotType literals + public enum PlotTypeEnum implements TextProvider + { + C3(PlotTypeEnumeration.C3), + D3_RADAR(PlotTypeEnumeration.D3_RADAR), + D3_GROUPED_HORIZONTAL_BAR(PlotTypeEnumeration.D3_GROUPED_HORIZONTAL_BAR), + D3_PARALLEL_AXIS(PlotTypeEnumeration.D3_PARALLEL_AXIS); + private final String text; + + PlotTypeEnum(String text) + { + this.text = text; + } + + @Override + public String getText() + { + return this.text; + } + @CheckForNull + public static PlotTypeEnum from(@CheckForNull Object o) + { + return valueFromString(PlotTypeEnum.class, o); + } + @CheckForNull + public static PlotTypeEnum toEnum(EnumerationLiteral literal) + { + return from(literal); + } + @CheckForNull + public static EnumerationLiteral toEnumerationLiteral(SysMLExtensions profile, PlotTypeEnum anEnum) + { + if (anEnum == C3) + { + return profile.plotTypeEnumeration.getC3EnumerationLiteral(); + } + if (anEnum == D3_RADAR) + { + return profile.plotTypeEnumeration.getD3radarEnumerationLiteral(); + } + if (anEnum == D3_GROUPED_HORIZONTAL_BAR) + { + return profile.plotTypeEnumeration.getD3groupedhorizontalbarEnumerationLiteral(); + } + if (anEnum == D3_PARALLEL_AXIS) + { + return profile.plotTypeEnumeration.getD3parallelaxisEnumerationLiteral(); + } + return null; + } + } + private static class PlotTypeEnumeration extends EnumerationWrapper + { + public static final String C3 = "c3"; + public static final String D3_RADAR = "d3-radar"; + public static final String D3_GROUPED_HORIZONTAL_BAR = "d3-grouped-horizontal-bar"; + public static final String D3_PARALLEL_AXIS = "d3-parallel-axis"; + @CheckForNull + private EnumerationLiteral c3; + @CheckForNull + private EnumerationLiteral d3radar; + @CheckForNull + private EnumerationLiteral d3groupedhorizontalbar; + @CheckForNull + private EnumerationLiteral d3parallelaxis; + private PlotTypeEnumeration(SysMLExtensions profile) + { + super(profile); + } + @CheckForNull + public Enumeration getEnumeration() + { + return getElementByName(PLOTTYPE_DATATYPE); + } + @CheckForNull + public EnumerationLiteral getC3EnumerationLiteral() + { + if (c3 == null) + { + c3 = getEnumerationLiteralByName(getEnumeration(), C3); + } + return c3; + } + @CheckForNull + public EnumerationLiteral getD3radarEnumerationLiteral() + { + if (d3radar == null) + { + d3radar = getEnumerationLiteralByName(getEnumeration(), D3_RADAR); + } + return d3radar; + } + @CheckForNull + public EnumerationLiteral getD3groupedhorizontalbarEnumerationLiteral() + { + if (d3groupedhorizontalbar == null) + { + d3groupedhorizontalbar = getEnumerationLiteralByName(getEnumeration(), D3_GROUPED_HORIZONTAL_BAR); + } + return d3groupedhorizontalbar; + } + @CheckForNull + public EnumerationLiteral getD3parallelaxisEnumerationLiteral() + { + if (d3parallelaxis == null) + { + d3parallelaxis = getEnumerationLiteralByName(getEnumeration(), D3_PARALLEL_AXIS); + } + return d3parallelaxis; + } + @Override + protected void clear() + { + super.clear(); + c3 = null; + d3radar = null; + d3groupedhorizontalbar = null; + d3parallelaxis = null; + } + } + + + //enumeration TomSawyerDiagramType literals + public enum TomSawyerDiagramTypeEnum implements TextProvider + { + ACTIVITY_DIAGRAM(TomSawyerDiagramTypeEnumeration.ACTIVITY_DIAGRAM), + BLOCK_DEFINITION_DIAGRAM(TomSawyerDiagramTypeEnumeration.BLOCK_DEFINITION_DIAGRAM), + INTERNAL_BLOCK_DIAGRAM(TomSawyerDiagramTypeEnumeration.INTERNAL_BLOCK_DIAGRAM), + PACKAGE_DIAGRAM(TomSawyerDiagramTypeEnumeration.PACKAGE_DIAGRAM), + PARAMETRIC_DIAGRAM(TomSawyerDiagramTypeEnumeration.PARAMETRIC_DIAGRAM), + REQUIREMENT_DIAGRAM(TomSawyerDiagramTypeEnumeration.REQUIREMENT_DIAGRAM), + SEQUENCE_DIAGRAM(TomSawyerDiagramTypeEnumeration.SEQUENCE_DIAGRAM), + STATE_MACHINE_DIAGRAM(TomSawyerDiagramTypeEnumeration.STATE_MACHINE_DIAGRAM), + USE_CASE_DIAGRAM(TomSawyerDiagramTypeEnumeration.USE_CASE_DIAGRAM); + private final String text; + + TomSawyerDiagramTypeEnum(String text) + { + this.text = text; + } + + @Override + public String getText() + { + return this.text; + } + @CheckForNull + public static TomSawyerDiagramTypeEnum from(@CheckForNull Object o) + { + return valueFromString(TomSawyerDiagramTypeEnum.class, o); + } + @CheckForNull + public static TomSawyerDiagramTypeEnum toEnum(EnumerationLiteral literal) + { + return from(literal); + } + @CheckForNull + public static EnumerationLiteral toEnumerationLiteral(SysMLExtensions profile, TomSawyerDiagramTypeEnum anEnum) + { + if (anEnum == ACTIVITY_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getActivityDiagramEnumerationLiteral(); + } + if (anEnum == BLOCK_DEFINITION_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getBlockDefinitionDiagramEnumerationLiteral(); + } + if (anEnum == INTERNAL_BLOCK_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getInternalBlockDiagramEnumerationLiteral(); + } + if (anEnum == PACKAGE_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getPackageDiagramEnumerationLiteral(); + } + if (anEnum == PARAMETRIC_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getParametricDiagramEnumerationLiteral(); + } + if (anEnum == REQUIREMENT_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getRequirementDiagramEnumerationLiteral(); + } + if (anEnum == SEQUENCE_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getSequenceDiagramEnumerationLiteral(); + } + if (anEnum == STATE_MACHINE_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getStateMachineDiagramEnumerationLiteral(); + } + if (anEnum == USE_CASE_DIAGRAM) + { + return profile.tomSawyerDiagramTypeEnumeration.getUseCaseDiagramEnumerationLiteral(); + } + return null; + } + } + private static class TomSawyerDiagramTypeEnumeration extends EnumerationWrapper + { + public static final String ACTIVITY_DIAGRAM = "Activity Diagram"; + public static final String BLOCK_DEFINITION_DIAGRAM = "Block Definition Diagram"; + public static final String INTERNAL_BLOCK_DIAGRAM = "Internal Block Diagram"; + public static final String PACKAGE_DIAGRAM = "Package Diagram"; + public static final String PARAMETRIC_DIAGRAM = "Parametric Diagram"; + public static final String REQUIREMENT_DIAGRAM = "Requirement Diagram"; + public static final String SEQUENCE_DIAGRAM = "Sequence Diagram"; + public static final String STATE_MACHINE_DIAGRAM = "State Machine Diagram"; + public static final String USE_CASE_DIAGRAM = "Use Case Diagram"; + @CheckForNull + private EnumerationLiteral activityDiagram; + @CheckForNull + private EnumerationLiteral blockDefinitionDiagram; + @CheckForNull + private EnumerationLiteral internalBlockDiagram; + @CheckForNull + private EnumerationLiteral packageDiagram; + @CheckForNull + private EnumerationLiteral parametricDiagram; + @CheckForNull + private EnumerationLiteral requirementDiagram; + @CheckForNull + private EnumerationLiteral sequenceDiagram; + @CheckForNull + private EnumerationLiteral stateMachineDiagram; + @CheckForNull + private EnumerationLiteral useCaseDiagram; + private TomSawyerDiagramTypeEnumeration(SysMLExtensions profile) + { + super(profile); + } + @CheckForNull + public Enumeration getEnumeration() + { + return getElementByName(TOMSAWYERDIAGRAMTYPE_DATATYPE); + } + @CheckForNull + public EnumerationLiteral getActivityDiagramEnumerationLiteral() + { + if (activityDiagram == null) + { + activityDiagram = getEnumerationLiteralByName(getEnumeration(), ACTIVITY_DIAGRAM); + } + return activityDiagram; + } + @CheckForNull + public EnumerationLiteral getBlockDefinitionDiagramEnumerationLiteral() + { + if (blockDefinitionDiagram == null) + { + blockDefinitionDiagram = getEnumerationLiteralByName(getEnumeration(), BLOCK_DEFINITION_DIAGRAM); + } + return blockDefinitionDiagram; + } + @CheckForNull + public EnumerationLiteral getInternalBlockDiagramEnumerationLiteral() + { + if (internalBlockDiagram == null) + { + internalBlockDiagram = getEnumerationLiteralByName(getEnumeration(), INTERNAL_BLOCK_DIAGRAM); + } + return internalBlockDiagram; + } + @CheckForNull + public EnumerationLiteral getPackageDiagramEnumerationLiteral() + { + if (packageDiagram == null) + { + packageDiagram = getEnumerationLiteralByName(getEnumeration(), PACKAGE_DIAGRAM); + } + return packageDiagram; + } + @CheckForNull + public EnumerationLiteral getParametricDiagramEnumerationLiteral() + { + if (parametricDiagram == null) + { + parametricDiagram = getEnumerationLiteralByName(getEnumeration(), PARAMETRIC_DIAGRAM); + } + return parametricDiagram; + } + @CheckForNull + public EnumerationLiteral getRequirementDiagramEnumerationLiteral() + { + if (requirementDiagram == null) + { + requirementDiagram = getEnumerationLiteralByName(getEnumeration(), REQUIREMENT_DIAGRAM); + } + return requirementDiagram; + } + @CheckForNull + public EnumerationLiteral getSequenceDiagramEnumerationLiteral() + { + if (sequenceDiagram == null) + { + sequenceDiagram = getEnumerationLiteralByName(getEnumeration(), SEQUENCE_DIAGRAM); + } + return sequenceDiagram; + } + @CheckForNull + public EnumerationLiteral getStateMachineDiagramEnumerationLiteral() + { + if (stateMachineDiagram == null) + { + stateMachineDiagram = getEnumerationLiteralByName(getEnumeration(), STATE_MACHINE_DIAGRAM); + } + return stateMachineDiagram; + } + @CheckForNull + public EnumerationLiteral getUseCaseDiagramEnumerationLiteral() + { + if (useCaseDiagram == null) + { + useCaseDiagram = getEnumerationLiteralByName(getEnumeration(), USE_CASE_DIAGRAM); + } + return useCaseDiagram; + } + @Override + protected void clear() + { + super.clear(); + activityDiagram = null; + blockDefinitionDiagram = null; + internalBlockDiagram = null; + packageDiagram = null; + parametricDiagram = null; + requirementDiagram = null; + sequenceDiagram = null; + stateMachineDiagram = null; + useCaseDiagram = null; + } + } + + public static class AppendixViewStereotype extends StereotypeWrapper + { + + + //stereotype AppendixView and its tags + public static final String STEREOTYPE_NAME = "AppendixView"; + + /** + * For Images + */public static final String CAPTION = "caption"; + public static final String COLLECTVIEWACTIONS = "collectViewActions"; + public static final String ELEMENTS = "elements"; + public static final String STYLE = "style"; + public static final String STAKEHOLDER = "stakeholder"; + + /** + * The viewpoint for this View, derived from the supplier of the conform dependency whose client is this View. + */public static final String VIEWPOINT = "viewPoint"; + + /** + * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends. + */public static final String ISENCAPSULATED = "isEncapsulated"; + + private final SysMLExtensions _p; + @CheckForNull + private Property stakeholder; + @CheckForNull + private Property viewPoint; + @CheckForNull + private Property isEncapsulated; + protected AppendixViewStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getCaptionProperty() + { + return _p.view().getCaptionProperty(); + } + + @CheckForNull + public Property getCollectViewActionsProperty() + { + return _p.view().getCollectViewActionsProperty(); + } + + @CheckForNull + public Property getElementsProperty() + { + return _p.view().getElementsProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.view().getStyleProperty(); + } + + @CheckForNull + public Property getStakeholderProperty() + { + if (stakeholder == null) + { + stakeholder = getTagByName(getStereotype(), STAKEHOLDER); + } + return stakeholder; + } + + @CheckForNull + public Property getViewPointProperty() + { + if (viewPoint == null) + { + viewPoint = getTagByName(getStereotype(), VIEWPOINT); + } + return viewPoint; + } + + @CheckForNull + public Property getIsEncapsulatedProperty() + { + if (isEncapsulated == null) + { + isEncapsulated = getTagByName(getStereotype(), ISENCAPSULATED); + } + return isEncapsulated; + } + + public void setCaption(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getCaptionProperty(), value); + } + public void clearCaption(Element element) + { + _p.view().clearCaption(element); + } + @CheckForNull + public String getCaption(Element element) + { + return _p.view().getCaption(element); + } + public void setCollectViewActions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getCollectViewActionsProperty(), value); + } + public void clearCollectViewActions(Element element) + { + _p.view().clearCollectViewActions(element); + } + @CheckForNull + public Boolean isCollectViewActions(Element element) + { + return _p.view().isCollectViewActions(element); + } + public void setElements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getElementsProperty(), value); + } + public void clearElements(Element element) + { + _p.view().clearElements(element); + } + @CheckForNull + public String getElements(Element element) + { + return _p.view().getElements(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.view().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.view().getStyle(element); + } + public void setStakeholder(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void clearStakeholder(Element element) + { + Profiles.clearValue(element, getStakeholderProperty()); + } + public void addStakeholder(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void removeStakeholder(Element element, Element value) + { + java.util.List values = getStakeholder(element); + if (values.remove(value)) { + setStakeholder(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getStakeholder(Element element) + { + return (java.util.List)Profiles.getValue(element, getStakeholderProperty()); + } + + public void setViewPoint(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getViewPointProperty(), value); + } + public void clearViewPoint(Element element) + { + Profiles.clearValue(element, getViewPointProperty()); + } + + @CheckForNull + public Element getViewPoint(Element element) + { + return (Element)Profiles.getFirstValue(element, getViewPointProperty()); + } + + public void setIsEncapsulated(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIsEncapsulatedProperty(), value); + } + public void clearIsEncapsulated(Element element) + { + Profiles.clearValue(element, getIsEncapsulatedProperty()); + } + + @CheckForNull + public Boolean isIsEncapsulated(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIsEncapsulatedProperty())); + } + + @Override + protected void clear() + { + super.clear(); + stakeholder = null; + viewPoint = null; + isEncapsulated = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.appendixView().getStereotype()); + } + return false; + } + + } + public static class AssociationTypeChoosableStereotype extends StereotypeWrapper + { + + + //stereotype AssociationTypeChoosable and its tags + public static final String STEREOTYPE_NAME = "AssociationTypeChoosable"; + + /** + * Same choices as magicdraw's choices for associations. + */public static final String ASSOCIATIONTYPE = "associationType"; + + private final SysMLExtensions _p; + @CheckForNull + private Property associationType; + protected AssociationTypeChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getAssociationTypeProperty() + { + if (associationType == null) + { + associationType = getTagByName(getStereotype(), ASSOCIATIONTYPE); + } + return associationType; + } + + public void setAssociationType(Element element, @CheckForNull AggregationKindEnum value) + { + // TODO the generated code had value.getText(), this is wrong, not sure what's the right value here + Profiles.setValue(element, getStereotype(), getAssociationTypeProperty(), value != null ? value.getValue() : null); + } + public void clearAssociationType(Element element) + { + Profiles.clearValue(element, getAssociationTypeProperty()); + } + + @CheckForNull + public AggregationKindEnum getAssociationType(Element element) + { + // TODO the generated code had AggregationKindEnum.from, this is wrong, not sure what's the right value here + return AggregationKindEnum.get((String)Profiles.getFirstValue(element, getAssociationTypeProperty())); + } + + @Override + protected void clear() + { + super.clear(); + associationType = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.associationTypeChoosable().getStereotype()); + } + return false; + } + + } + public static class AttributeChoosableStereotype extends StereotypeWrapper + { + + + //stereotype AttributeChoosable and its tags + public static final String STEREOTYPE_NAME = "AttributeChoosable"; + + /** + * The attribute can be name, documentation, or value (in the case of property or slots) + */public static final String DESIREDATTRIBUTE = "desiredAttribute"; + + private final SysMLExtensions _p; + @CheckForNull + private Property desiredAttribute; + protected AttributeChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDesiredAttributeProperty() + { + if (desiredAttribute == null) + { + desiredAttribute = getTagByName(getStereotype(), DESIREDATTRIBUTE); + } + return desiredAttribute; + } + + public void setDesiredAttribute(Element element, @CheckForNull AttributeEnum value) + { + Profiles.setValue(element, getStereotype(), getDesiredAttributeProperty(), value != null ? value.getText() : null); + } + public void clearDesiredAttribute(Element element) + { + Profiles.clearValue(element, getDesiredAttributeProperty()); + } + + @CheckForNull + public AttributeEnum getDesiredAttribute(Element element) + { + return AttributeEnum.from(Profiles.getFirstValue(element, getDesiredAttributeProperty())); + } + + @Override + protected void clear() + { + super.clear(); + desiredAttribute = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.attributeChoosable().getStereotype()); + } + return false; + } + + } + public static class BulletedListStereotype extends StereotypeWrapper + { + + + //stereotype BulletedList and its tags + public static final String STEREOTYPE_NAME = "BulletedList"; + + /** + * Optional. Check this to make the list numbered. Default is just bullets. + */public static final String ORDEREDLIST = "orderedList"; + + /** + * Optional. Prints out the stereotype property name before listing its values. default is false. + */public static final String SHOWSTEREOTYPEPROPERTYNAMES = "showStereotypePropertyNames"; + + /** + * Optional. If showDoc or stereotypeProperties is filled in, this controls whether the owning element name will be shown as the high level bullet. default is false. + */public static final String SHOWTARGETS = "showTargets"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + private final SysMLExtensions _p; + @CheckForNull + private Property orderedList; + @CheckForNull + private Property showStereotypePropertyNames; + @CheckForNull + private Property showTargets; + protected BulletedListStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getOrderedListProperty() + { + if (orderedList == null) + { + orderedList = getTagByName(getStereotype(), ORDEREDLIST); + } + return orderedList; + } + + @CheckForNull + public Property getShowStereotypePropertyNamesProperty() + { + if (showStereotypePropertyNames == null) + { + showStereotypePropertyNames = getTagByName(getStereotype(), SHOWSTEREOTYPEPROPERTYNAMES); + } + return showStereotypePropertyNames; + } + + @CheckForNull + public Property getShowTargetsProperty() + { + if (showTargets == null) + { + showTargets = getTagByName(getStereotype(), SHOWTARGETS); + } + return showTargets; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + public void setOrderedList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getOrderedListProperty(), value); + } + public void clearOrderedList(Element element) + { + Profiles.clearValue(element, getOrderedListProperty()); + } + + @CheckForNull + public Boolean isOrderedList(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getOrderedListProperty())); + } + + public void setShowStereotypePropertyNames(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowStereotypePropertyNamesProperty(), value); + } + public void clearShowStereotypePropertyNames(Element element) + { + Profiles.clearValue(element, getShowStereotypePropertyNamesProperty()); + } + + @CheckForNull + public Boolean isShowStereotypePropertyNames(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getShowStereotypePropertyNamesProperty())); + } + + public void setShowTargets(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowTargetsProperty(), value); + } + public void clearShowTargets(Element element) + { + Profiles.clearValue(element, getShowTargetsProperty()); + } + + @CheckForNull + public Boolean isShowTargets(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getShowTargetsProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + @Override + protected void clear() + { + super.clear(); + orderedList = null; + showStereotypePropertyNames = null; + showTargets = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.bulletedList().getStereotype()); + } + return false; + } + + } + public static class CollectFilterUserScriptStereotype extends StereotypeWrapper + { + + + //stereotype Collect/Filter UserScript and its tags + public static final String STEREOTYPE_NAME = "Collect/Filter UserScript"; + + private final SysMLExtensions _p; + protected CollectFilterUserScriptStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectFilterUserScript().getStereotype()); + } + return false; + } + + } + public static class CollectByAssociationStereotype extends StereotypeWrapper + { + + + //stereotype CollectByAssociation and its tags + public static final String STEREOTYPE_NAME = "CollectByAssociation"; + + /** + * When collecting by relationships, associations, owned elements, or owner, indicate the depth to crawl. 0 means infinite. 1 means 1 step out, etc. + */public static final String DEPTH = "depth"; + + /** + * Same choices as magicdraw's choices for associations. + */public static final String ASSOCIATIONTYPE = "associationType"; + + private final SysMLExtensions _p; + protected CollectByAssociationStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDepthProperty() + { + return _p.depthChoosable().getDepthProperty(); + } + + @CheckForNull + public Property getAssociationTypeProperty() + { + return _p.associationTypeChoosable().getAssociationTypeProperty(); + } + + public void setDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getDepthProperty(), value); + } + public void clearDepth(Element element) + { + _p.depthChoosable().clearDepth(element); + } + @CheckForNull + public Integer getDepth(Element element) + { + return _p.depthChoosable().getDepth(element); + } + public void setAssociationType(Element element, @CheckForNull AggregationKindEnum value) + { + // TODO the generated code had value.getText(), this is wrong, not sure what's the right value here + Profiles.setValue(element, getStereotype(), getAssociationTypeProperty(), value != null ? value.getValue() : null); + } + public void clearAssociationType(Element element) + { + _p.associationTypeChoosable().clearAssociationType(element); + } + @CheckForNull + public AggregationKindEnum getAssociationType(Element element) + { + return _p.associationTypeChoosable().getAssociationType(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectByAssociation().getStereotype()); + } + return false; + } + + } + public static class CollectByDirectedRelationshipMetaclassesStereotype extends StereotypeWrapper + { + + + //stereotype CollectByDirectedRelationshipMetaclasses and its tags + public static final String STEREOTYPE_NAME = "CollectByDirectedRelationshipMetaclasses"; + + /** + * When collecting by relationships, associations, owned elements, or owner, indicate the depth to crawl. 0 means infinite. 1 means 1 step out, etc. + */public static final String DEPTH = "depth"; + + /** + * List of metaclasses for filtering. These are "classes" that come from the UML Standard Profile that comes with Magicdraw, inside the UML 2 Metamodel. In the selection dialog that pops up, if you can't find these classes, make sure a little button with the metamodel icon is "checked". + */public static final String METACLASSES = "metaclasses"; + + /** + * When collecting by relationships, indicate whether the starting point target is the client or supplier of the relationships. (true means to collect "outward") + */public static final String DIRECTIONOUT = "directionOut"; + + private final SysMLExtensions _p; + protected CollectByDirectedRelationshipMetaclassesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDepthProperty() + { + return _p.depthChoosable().getDepthProperty(); + } + + @CheckForNull + public Property getMetaclassesProperty() + { + return _p.metaclassChoosable().getMetaclassesProperty(); + } + + @CheckForNull + public Property getDirectionOutProperty() + { + return _p.directionChoosable().getDirectionOutProperty(); + } + + public void setDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getDepthProperty(), value); + } + public void clearDepth(Element element) + { + _p.depthChoosable().clearDepth(element); + } + @CheckForNull + public Integer getDepth(Element element) + { + return _p.depthChoosable().getDepth(element); + } + public void setMetaclasses(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getMetaclassesProperty(), value); + } + public void clearMetaclasses(Element element) + { + _p.metaclassChoosable().clearMetaclasses(element); + } + public void addMetaclasses(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getMetaclassesProperty(), value); + } + public void removeMetaclasses(Element element, Element value) + { + java.util.List values = getMetaclasses(element); + if (values.remove(value)) { + setMetaclasses(element, values); + } + } + public java.util.List getMetaclasses(Element element) + { + return _p.metaclassChoosable().getMetaclasses(element); + } + public void setDirectionOut(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getDirectionOutProperty(), value); + } + public void clearDirectionOut(Element element) + { + _p.directionChoosable().clearDirectionOut(element); + } + @CheckForNull + public Boolean isDirectionOut(Element element) + { + return _p.directionChoosable().isDirectionOut(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectByDirectedRelationshipMetaclasses().getStereotype()); + } + return false; + } + + } + public static class CollectByDirectedRelationshipStereotypesStereotype extends StereotypeWrapper + { + + + //stereotype CollectByDirectedRelationshipStereotypes and its tags + public static final String STEREOTYPE_NAME = "CollectByDirectedRelationshipStereotypes"; + + /** + * List of stereotype for filtering. + */public static final String STEREOTYPES = "stereotypes"; + + /** + * When collecting by relationships, associations, owned elements, or owner, indicate the depth to crawl. 0 means infinite. 1 means 1 step out, etc. + */public static final String DEPTH = "depth"; + + /** + * When collecting by relationships, indicate whether the starting point target is the client or supplier of the relationships. (true means to collect "outward") + */public static final String DIRECTIONOUT = "directionOut"; + + /** + * When collecting or filtering based on stereotypes, choose whether more specific stereotypes should be included. + */public static final String CONSIDERDERIVED = "considerDerived"; + + private final SysMLExtensions _p; + protected CollectByDirectedRelationshipStereotypesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getStereotypesProperty() + { + return _p.stereotypeChoosable().getStereotypesProperty(); + } + + @CheckForNull + public Property getDepthProperty() + { + return _p.depthChoosable().getDepthProperty(); + } + + @CheckForNull + public Property getDirectionOutProperty() + { + return _p.directionChoosable().getDirectionOutProperty(); + } + + @CheckForNull + public Property getConsiderDerivedProperty() + { + return _p.considerDerivedChoosable().getConsiderDerivedProperty(); + } + + public void setStereotypes(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypesProperty(), value); + } + public void clearStereotypes(Element element) + { + _p.stereotypeChoosable().clearStereotypes(element); + } + public void addStereotypes(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypesProperty(), value); + } + public void removeStereotypes(Element element, Element value) + { + java.util.List values = getStereotypes(element); + if (values.remove(value)) { + setStereotypes(element, values); + } + } + public java.util.List getStereotypes(Element element) + { + return _p.stereotypeChoosable().getStereotypes(element); + } + public void setDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getDepthProperty(), value); + } + public void clearDepth(Element element) + { + _p.depthChoosable().clearDepth(element); + } + @CheckForNull + public Integer getDepth(Element element) + { + return _p.depthChoosable().getDepth(element); + } + public void setDirectionOut(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getDirectionOutProperty(), value); + } + public void clearDirectionOut(Element element) + { + _p.directionChoosable().clearDirectionOut(element); + } + @CheckForNull + public Boolean isDirectionOut(Element element) + { + return _p.directionChoosable().isDirectionOut(element); + } + public void setConsiderDerived(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getConsiderDerivedProperty(), value); + } + public void clearConsiderDerived(Element element) + { + _p.considerDerivedChoosable().clearConsiderDerived(element); + } + @CheckForNull + public Boolean isConsiderDerived(Element element) + { + return _p.considerDerivedChoosable().isConsiderDerived(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectByDirectedRelationshipStereotypes().getStereotype()); + } + return false; + } + + } + public static class CollectByExpressionStereotype extends StereotypeWrapper + { + + + //stereotype CollectByExpression and its tags + public static final String STEREOTYPE_NAME = "CollectByExpression"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + protected CollectByExpressionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectByExpression().getStereotype()); + } + return false; + } + + } + public static class CollectByStereotypePropertiesStereotype extends StereotypeWrapper + { + + + //stereotype CollectByStereotypeProperties and its tags + public static final String STEREOTYPE_NAME = "CollectByStereotypeProperties"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + private final SysMLExtensions _p; + protected CollectByStereotypePropertiesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectByStereotypeProperties().getStereotype()); + } + return false; + } + + } + public static class CollectClassifierAttributesStereotype extends StereotypeWrapper + { + + + //stereotype CollectClassifierAttributes and its tags + public static final String STEREOTYPE_NAME = "CollectClassifierAttributes"; + + /** + * Consider inherited properties (except those that are redefined) Default is false. + */public static final String INCLUDEINHERITED = "includeInherited"; + + private final SysMLExtensions _p; + protected CollectClassifierAttributesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeInheritedProperty() + { + return _p.includeInheritedChoosable().getIncludeInheritedProperty(); + } + + public void setIncludeInherited(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeInheritedProperty(), value); + } + public void clearIncludeInherited(Element element) + { + _p.includeInheritedChoosable().clearIncludeInherited(element); + } + @CheckForNull + public Boolean isIncludeInherited(Element element) + { + return _p.includeInheritedChoosable().isIncludeInherited(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectClassifierAttributes().getStereotype()); + } + return false; + } + + } + public static class CollectOrFilterStereotype extends StereotypeWrapper + { + + + //stereotype CollectOrFilter and its tags + public static final String STEREOTYPE_NAME = "CollectOrFilter"; + + private final SysMLExtensions _p; + protected CollectOrFilterStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectOrFilter().getStereotype()); + } + return false; + } + + } + public static class CollectOwnedElementsStereotype extends StereotypeWrapper + { + + + //stereotype CollectOwnedElements and its tags + public static final String STEREOTYPE_NAME = "CollectOwnedElements"; + + /** + * When collecting by relationships, associations, owned elements, or owner, indicate the depth to crawl. 0 means infinite. 1 means 1 step out, etc. + */public static final String DEPTH = "depth"; + + private final SysMLExtensions _p; + protected CollectOwnedElementsStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDepthProperty() + { + return _p.depthChoosable().getDepthProperty(); + } + + public void setDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getDepthProperty(), value); + } + public void clearDepth(Element element) + { + _p.depthChoosable().clearDepth(element); + } + @CheckForNull + public Integer getDepth(Element element) + { + return _p.depthChoosable().getDepth(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectOwnedElements().getStereotype()); + } + return false; + } + + } + public static class CollectOwnersStereotype extends StereotypeWrapper + { + + + //stereotype CollectOwners and its tags + public static final String STEREOTYPE_NAME = "CollectOwners"; + + /** + * When collecting by relationships, associations, owned elements, or owner, indicate the depth to crawl. 0 means infinite. 1 means 1 step out, etc. + */public static final String DEPTH = "depth"; + + private final SysMLExtensions _p; + protected CollectOwnersStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDepthProperty() + { + return _p.depthChoosable().getDepthProperty(); + } + + public void setDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getDepthProperty(), value); + } + public void clearDepth(Element element) + { + _p.depthChoosable().clearDepth(element); + } + @CheckForNull + public Integer getDepth(Element element) + { + return _p.depthChoosable().getDepth(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectOwners().getStereotype()); + } + return false; + } + + } + public static class CollectThingsOnDiagramStereotype extends StereotypeWrapper + { + + + //stereotype CollectThingsOnDiagram and its tags + public static final String STEREOTYPE_NAME = "CollectThingsOnDiagram"; + + private final SysMLExtensions _p; + protected CollectThingsOnDiagramStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectThingsOnDiagram().getStereotype()); + } + return false; + } + + } + public static class CollectTypesStereotype extends StereotypeWrapper + { + + + //stereotype CollectTypes and its tags + public static final String STEREOTYPE_NAME = "CollectTypes"; + + private final SysMLExtensions _p; + protected CollectTypesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectTypes().getStereotype()); + } + return false; + } + + } + public static class CollectionAndFilterGroupStereotype extends StereotypeWrapper + { + + + //stereotype CollectionAndFilterGroup and its tags + public static final String STEREOTYPE_NAME = "CollectionAndFilterGroup"; + + private final SysMLExtensions _p; + protected CollectionAndFilterGroupStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.collectionAndFilterGroup().getStereotype()); + } + return false; + } + + } + public static class ConformsStereotype extends StereotypeWrapper + { + + + //stereotype Conforms and its tags + public static final String STEREOTYPE_NAME = "Conforms"; + + private final SysMLExtensions _p; + protected ConformsStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Generalization) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Generalization) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.conforms().getStereotype()); + } + return false; + } + + } + public static class ConsiderDerivedChoosableStereotype extends StereotypeWrapper + { + + + //stereotype ConsiderDerivedChoosable and its tags + public static final String STEREOTYPE_NAME = "ConsiderDerivedChoosable"; + + /** + * When collecting or filtering based on stereotypes, choose whether more specific stereotypes should be included. + */public static final String CONSIDERDERIVED = "considerDerived"; + + private final SysMLExtensions _p; + @CheckForNull + private Property considerDerived; + protected ConsiderDerivedChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getConsiderDerivedProperty() + { + if (considerDerived == null) + { + considerDerived = getTagByName(getStereotype(), CONSIDERDERIVED); + } + return considerDerived; + } + + public void setConsiderDerived(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getConsiderDerivedProperty(), value); + } + public void clearConsiderDerived(Element element) + { + Profiles.clearValue(element, getConsiderDerivedProperty()); + } + + @CheckForNull + public Boolean isConsiderDerived(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getConsiderDerivedProperty())); + } + + @Override + protected void clear() + { + super.clear(); + considerDerived = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.considerDerivedChoosable().getStereotype()); + } + return false; + } + + } + public static class ConstraintStereotype extends StereotypeWrapper + { + + + //stereotype Constraint and its tags + public static final String STEREOTYPE_NAME = "Constraint"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + protected ConstraintStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.constraint().getStereotype()); + } + return false; + } + + } + public static class ContainerStereotype extends StereotypeWrapper + { + + + //stereotype Container and its tags + public static final String STEREOTYPE_NAME = "Container"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * Title of a section/appendix + */public static final String TITLE = "title"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * Applies to sections. If the resulting section is empty, skip the section altogether. + */public static final String SKIPIFEMPTY = "skipIfEmpty"; + + /** + * Applies to sections, if the resulting section is empty, use the indicated string. + */public static final String STRINGIFEMPTY = "stringIfEmpty"; + + private final SysMLExtensions _p; + protected ContainerStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitleProperty() + { + return _p.hasTitle().getTitleProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getSkipIfEmptyProperty() + { + return _p.skippable().getSkipIfEmptyProperty(); + } + + @CheckForNull + public Property getStringIfEmptyProperty() + { + return _p.skippable().getStringIfEmptyProperty(); + } + + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleProperty(), value); + } + public void clearTitle(Element element) + { + _p.hasTitle().clearTitle(element); + } + @CheckForNull + public String getTitle(Element element) + { + return _p.hasTitle().getTitle(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setSkipIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSkipIfEmptyProperty(), value); + } + public void clearSkipIfEmpty(Element element) + { + _p.skippable().clearSkipIfEmpty(element); + } + @CheckForNull + public Boolean isSkipIfEmpty(Element element) + { + return _p.skippable().isSkipIfEmpty(element); + } + public void setStringIfEmpty(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStringIfEmptyProperty(), value); + } + public void clearStringIfEmpty(Element element) + { + _p.skippable().clearStringIfEmpty(element); + } + @CheckForNull + public String getStringIfEmpty(Element element) + { + return _p.skippable().getStringIfEmpty(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.container().getStereotype()); + } + return false; + } + + } + public static class DepthChoosableStereotype extends StereotypeWrapper + { + + + //stereotype DepthChoosable and its tags + public static final String STEREOTYPE_NAME = "DepthChoosable"; + + /** + * When collecting by relationships, associations, owned elements, or owner, indicate the depth to crawl. 0 means infinite. 1 means 1 step out, etc. + */public static final String DEPTH = "depth"; + + private final SysMLExtensions _p; + @CheckForNull + private Property depth; + protected DepthChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDepthProperty() + { + if (depth == null) + { + depth = getTagByName(getStereotype(), DEPTH); + } + return depth; + } + + public void setDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getDepthProperty(), value); + } + public void clearDepth(Element element) + { + Profiles.clearValue(element, getDepthProperty()); + } + + @CheckForNull + public Integer getDepth(Element element) + { + return toInteger(Profiles.getFirstValue(element, getDepthProperty())); + } + + @Override + protected void clear() + { + super.clear(); + depth = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.depthChoosable().getStereotype()); + } + return false; + } + + } + public static class DiagramTypeChoosableStereotype extends StereotypeWrapper + { + + + //stereotype DiagramTypeChoosable and its tags + public static final String STEREOTYPE_NAME = "DiagramTypeChoosable"; + + /** + * Choose a diagram type. + */public static final String DIAGRAMTYPES = "diagramTypes"; + + private final SysMLExtensions _p; + @CheckForNull + private Property diagramTypes; + protected DiagramTypeChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDiagramTypesProperty() + { + if (diagramTypes == null) + { + diagramTypes = getTagByName(getStereotype(), DIAGRAMTYPES); + } + return diagramTypes; + } + + public void setDiagramTypes(Element element, @CheckForNull java.util.Collection value) + { + java.util.List result = null; + + if (value != null) + { + result = new ArrayList<>(); + + for (DiagramTypeEnum o : value) + { + result.add(o.getText()); + } + } + Profiles.setValue(element, getStereotype(), getDiagramTypesProperty(), value != null ? result : null); + } + public void clearDiagramTypes(Element element) + { + Profiles.clearValue(element, getDiagramTypesProperty()); + } + public void addDiagramTypes(Element element, DiagramTypeEnum value) + { + Profiles.addValue(element, getStereotype(), getDiagramTypesProperty(), value != null ? value.getText() : null); + } + public void removeDiagramTypes(Element element, DiagramTypeEnum value) + { + java.util.List values = getDiagramTypes(element); + if (values.remove(value != null ? value.getText() : null)) { + setDiagramTypes(element, values); + } + } + + public java.util.List getDiagramTypes(Element element) + { + java.util.List result = new ArrayList<>(); + java.util.List values = Profiles.getValue(element, getDiagramTypesProperty()); + + for (Object value : values) + { + result.add(DiagramTypeEnum.from(value)); + } + + return result; + } + + @Override + protected void clear() + { + super.clear(); + diagramTypes = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.diagramTypeChoosable().getStereotype()); + } + return false; + } + + } + public static class DirectionChoosableStereotype extends StereotypeWrapper + { + + + //stereotype DirectionChoosable and its tags + public static final String STEREOTYPE_NAME = "DirectionChoosable"; + + /** + * When collecting by relationships, indicate whether the starting point target is the client or supplier of the relationships. (true means to collect "outward") + */public static final String DIRECTIONOUT = "directionOut"; + + private final SysMLExtensions _p; + @CheckForNull + private Property directionOut; + protected DirectionChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDirectionOutProperty() + { + if (directionOut == null) + { + directionOut = getTagByName(getStereotype(), DIRECTIONOUT); + } + return directionOut; + } + + public void setDirectionOut(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getDirectionOutProperty(), value); + } + public void clearDirectionOut(Element element) + { + Profiles.clearValue(element, getDirectionOutProperty()); + } + + @CheckForNull + public Boolean isDirectionOut(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getDirectionOutProperty())); + } + + @Override + protected void clear() + { + super.clear(); + directionOut = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.directionChoosable().getStereotype()); + } + return false; + } + + } + public static class DocGenScriptStereotype extends StereotypeWrapper + { + + + //stereotype DocGenScript and its tags + public static final String STEREOTYPE_NAME = "DocGenScript"; + public static final String LANGUAGE = "language"; + + private final SysMLExtensions _p; + @CheckForNull + private Property language; + protected DocGenScriptStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getLanguageProperty() + { + if (language == null) + { + language = getTagByName(getStereotype(), LANGUAGE); + } + return language; + } + + public void setLanguage(Element element, @CheckForNull LanguageEnum value) + { + Profiles.setValue(element, getStereotype(), getLanguageProperty(), value != null ? value.getText() : null); + } + public void clearLanguage(Element element) + { + Profiles.clearValue(element, getLanguageProperty()); + } + + @CheckForNull + public LanguageEnum getLanguage(Element element) + { + return LanguageEnum.from(Profiles.getFirstValue(element, getLanguageProperty())); + } + + @Override + protected void clear() + { + super.clear(); + language = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.docGenScript().getStereotype()); + } + return false; + } + + } + public static class DocumentStereotype extends StereotypeWrapper + { + + + //stereotype Document and its tags + public static final String STEREOTYPE_NAME = "Document"; + public static final String PROJECT_ACRONYM = "Project Acronym"; + public static final String WORK_STATE = "Work State"; + + /** + * The Approver(s) of the document. You may have as many as you want. The format is: + Firstname,Lastname,jobtitle,organization,section. Example: + Peter J.,Di Pasquale,Ground Data Systems Engineer,JPL,393b + */public static final String APPROVER = "Approver"; + + /** + * The Author(s) of the document. You may have as many as you want. The format is: + Firstname,Lastname,jobtitle,organization,section. Example: + Peter J.,Di Pasquale,Ground Data Systems Engineer,JPL,393b + */public static final String AUTHOR = "Author"; + + /** + * You may add as many collaborator emails as you like by pressing the + button and adding one email per plus. + */public static final String COLLABORATOR_EMAIL = "Collaborator Email"; + + /** + * The concurrence section of the document. You may have as many as you want. The format is: + Firstname,Lastname,jobtitle,organization,section. Example: + + Peter J.,Di Pasquale,Ground Data Systems Engineer,JPL,393b + */public static final String CONCURRENCE = "Concurrence"; + + /** + * The abbreviated title of the document. + */public static final String DOCUMENT_ACRONYM = "Document Acronym"; + + /** + * Legal notice for the document footer. Default value is to display that paper documents may not be current. + */public static final String FOOTER_LEGAL_NOTICE = "Footer Legal Notice"; + + /** + * The title of the project. + + */public static final String FORMAL_PROJECT_TITLE = "Formal Project Title"; + + /** + * Link to a logo image + */public static final String INSTLOGO = "InstLogo"; + public static final String INSTLOGOSIZE = "InstLogoSize"; + + /** + * Jet Propulsion Laboratory + */public static final String INSTTXT1 = "Insttxt1"; + + /** + * California Institute of Technology + */public static final String INSTTXT2 = "Insttxt2"; + + /** + * Supported Alignments are: "left", "right", "center". + */public static final String LOGO_ALIGNMENT = "Logo Alignment"; + + /** + * This is the file location of your logo. It can be a local file, or a file accessible via the Internet. + */public static final String LOGO_LOCATION = "Logo Location"; + public static final String LOGO_SIZE = "Logo Size"; + + /** + * Set to one for blank pages, set to zero for none. Note: Currently not functional. + */public static final String REMOVE_BLANK_PAGES = "Remove Blank Pages"; + + /** + * The history of the revision. You may have as many as you want. + Must follow this format: + Version|DateEdited|EditorFirstName|EditorLastName|Changes. Example: + + Draft|4/12/13|John Q|Smith|Document Created + + */public static final String REVISION_HISTORY = "Revision History"; + + /** + * Supressing the metadata removes all JPL stylesheet information. The default is false such that all stylesheet information like the authors, approves, logo, ..etc. are included in the render of the document. + */public static final String SUPRESSMETADATA = "SupressMetadata"; + + /** + * JPL Standard Legal Notice. Default value is to display not cleared for export control. + */public static final String TITLE_PAGE_LEGAL_NOTICE = "Title Page Legal Notice"; + + /** + * For Images + */public static final String CAPTION = "caption"; + public static final String COLLECTVIEWACTIONS = "collectViewActions"; + public static final String ELEMENTS = "elements"; + public static final String STYLE = "style"; + public static final String STAKEHOLDER = "stakeholder"; + + /** + * The viewpoint for this View, derived from the supplier of the conform dependency whose client is this View. + */public static final String VIEWPOINT = "viewPoint"; + + /** + * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends. + */public static final String ISENCAPSULATED = "isEncapsulated"; + public static final String ACKNOWLEDGEMENTS = "acknowledgements"; + + /** + * Optional stylesheet parameter. Whether to chunk first sections. If not, this means in html, each section or chapter page will include the first section. Default is true. (Only matters to docweb) + */public static final String CHUNKFIRSTSECTIONS = "chunkFirstSections"; + + /** + * Optional stylesheet parameter. This is for html chunking - what's the max depth of a section that'll be put on a different page. Default is 20. (Only matters to docweb) + */public static final String CHUNKSECTIONDEPTH = "chunkSectionDepth"; + + /** + * Optional. The Diagram to display on the cover page, right after title and authors (if there's any) + */public static final String COVERIMAGE = "coverImage"; + public static final String FIGURECONTEXTDEPTH = "figureContextDepth"; + public static final String FIGURESEPARATOR = "figureSeparator"; + + /** + * Optional footer string on each page of the document. (for docweb) Do not put docbook tags in here! This should be a simple string with no markup. + */public static final String FOOTER = "footer"; + + /** + * This property allows you to specify whether you will generate new versions of images associated with the document. If you are generating frequently and not changing the images, this is useful because generating images slows the generation process significantly when there are a lot of images. If an image does not exist yet, it will be generated regardless of whether this property is checked. + */public static final String GENNEWIMAGES = "genNewImages"; + + /** + * Optional header string on each page of the document. (for docweb) Do not put docbook tags in here! This should be a simple string with no markup. + */public static final String HEADER = "header"; + + /** + * Check this box to generate an index. To register things that should go in the index you must place a tag at the point in the text where the reader should be referred if they were to look it up. Use the following syntax: + some term + ]]> + + + */public static final String INDEX = "index"; + + /** + * Optional. A string to display after a coverImage if there's any. + */public static final String LEGALNOTICE = "legalNotice"; + + /** + * This is the subtitle of the document. It usually appears under the title in italics, or after a colon. The formatting is up to you. + */public static final String SUBTITLE = "subtitle"; + + /** + * Optional stylesheet parameter. How many nested sections to display in table of contents for html. Default is 20. (Only matters to docweb) + */public static final String TOCSECTIONDEPTH = "tocSectionDepth"; + + /** + * Title of a section/appendix + */public static final String TITLE = "title"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + private final SysMLExtensions _p; + @CheckForNull + private Property projectAcronym; + @CheckForNull + private Property workState; + @CheckForNull + private Property stakeholder; + @CheckForNull + private Property viewPoint; + @CheckForNull + private Property isEncapsulated; + protected DocumentStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getProjectAcronymProperty() + { + if (projectAcronym == null) + { + projectAcronym = getTagByName(getStereotype(), PROJECT_ACRONYM); + } + return projectAcronym; + } + + @CheckForNull + public Property getWorkStateProperty() + { + if (workState == null) + { + workState = getTagByName(getStereotype(), WORK_STATE); + } + return workState; + } + + @CheckForNull + public Property getApproverProperty() + { + return _p.product().getApproverProperty(); + } + + @CheckForNull + public Property getAuthorProperty() + { + return _p.product().getAuthorProperty(); + } + + @CheckForNull + public Property getCollaboratorEmailProperty() + { + return _p.product().getCollaboratorEmailProperty(); + } + + @CheckForNull + public Property getConcurrenceProperty() + { + return _p.product().getConcurrenceProperty(); + } + + @CheckForNull + public Property getDocumentAcronymProperty() + { + return _p.product().getDocumentAcronymProperty(); + } + + @CheckForNull + public Property getFooterLegalNoticeProperty() + { + return _p.product().getFooterLegalNoticeProperty(); + } + + @CheckForNull + public Property getFormalProjectTitleProperty() + { + return _p.product().getFormalProjectTitleProperty(); + } + + @CheckForNull + public Property getInstLogoProperty() + { + return _p.product().getInstLogoProperty(); + } + + @CheckForNull + public Property getInstLogoSizeProperty() + { + return _p.product().getInstLogoSizeProperty(); + } + + @CheckForNull + public Property getInsttxt1Property() + { + return _p.product().getInsttxt1Property(); + } + + @CheckForNull + public Property getInsttxt2Property() + { + return _p.product().getInsttxt2Property(); + } + + @CheckForNull + public Property getLogoAlignmentProperty() + { + return _p.product().getLogoAlignmentProperty(); + } + + @CheckForNull + public Property getLogoLocationProperty() + { + return _p.product().getLogoLocationProperty(); + } + + @CheckForNull + public Property getLogoSizeProperty() + { + return _p.product().getLogoSizeProperty(); + } + + @CheckForNull + public Property getRemoveBlankPagesProperty() + { + return _p.product().getRemoveBlankPagesProperty(); + } + + @CheckForNull + public Property getRevisionHistoryProperty() + { + return _p.product().getRevisionHistoryProperty(); + } + + @CheckForNull + public Property getSupressMetadataProperty() + { + return _p.product().getSupressMetadataProperty(); + } + + @CheckForNull + public Property getTitlePageLegalNoticeProperty() + { + return _p.product().getTitlePageLegalNoticeProperty(); + } + + @CheckForNull + public Property getCaptionProperty() + { + return _p.view().getCaptionProperty(); + } + + @CheckForNull + public Property getCollectViewActionsProperty() + { + return _p.view().getCollectViewActionsProperty(); + } + + @CheckForNull + public Property getElementsProperty() + { + return _p.view().getElementsProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.view().getStyleProperty(); + } + + @CheckForNull + public Property getStakeholderProperty() + { + if (stakeholder == null) + { + stakeholder = getTagByName(getStereotype(), STAKEHOLDER); + } + return stakeholder; + } + + @CheckForNull + public Property getViewPointProperty() + { + if (viewPoint == null) + { + viewPoint = getTagByName(getStereotype(), VIEWPOINT); + } + return viewPoint; + } + + @CheckForNull + public Property getIsEncapsulatedProperty() + { + if (isEncapsulated == null) + { + isEncapsulated = getTagByName(getStereotype(), ISENCAPSULATED); + } + return isEncapsulated; + } + + @CheckForNull + public Property getAcknowledgementsProperty() + { + return _p.documentMeta().getAcknowledgementsProperty(); + } + + @CheckForNull + public Property getChunkFirstSectionsProperty() + { + return _p.documentMeta().getChunkFirstSectionsProperty(); + } + + @CheckForNull + public Property getChunkSectionDepthProperty() + { + return _p.documentMeta().getChunkSectionDepthProperty(); + } + + @CheckForNull + public Property getCoverImageProperty() + { + return _p.documentMeta().getCoverImageProperty(); + } + + @CheckForNull + public Property getFigureContextDepthProperty() + { + return _p.documentMeta().getFigureContextDepthProperty(); + } + + @CheckForNull + public Property getFigureSeparatorProperty() + { + return _p.documentMeta().getFigureSeparatorProperty(); + } + + @CheckForNull + public Property getFooterProperty() + { + return _p.documentMeta().getFooterProperty(); + } + + @CheckForNull + public Property getGenNewImagesProperty() + { + return _p.documentMeta().getGenNewImagesProperty(); + } + + @CheckForNull + public Property getHeaderProperty() + { + return _p.documentMeta().getHeaderProperty(); + } + + @CheckForNull + public Property getIndexProperty() + { + return _p.documentMeta().getIndexProperty(); + } + + @CheckForNull + public Property getLegalNoticeProperty() + { + return _p.documentMeta().getLegalNoticeProperty(); + } + + @CheckForNull + public Property getSubtitleProperty() + { + return _p.documentMeta().getSubtitleProperty(); + } + + @CheckForNull + public Property getTocSectionDepthProperty() + { + return _p.documentMeta().getTocSectionDepthProperty(); + } + + @CheckForNull + public Property getTitleProperty() + { + return _p.hasTitle().getTitleProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + public void setProjectAcronym(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getProjectAcronymProperty(), value); + } + public void clearProjectAcronym(Element element) + { + Profiles.clearValue(element, getProjectAcronymProperty()); + } + + @CheckForNull + public String getProjectAcronym(Element element) + { + return toString(Profiles.getFirstValue(element, getProjectAcronymProperty())); + } + + public void setWorkState(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getWorkStateProperty(), value); + } + public void clearWorkState(Element element) + { + Profiles.clearValue(element, getWorkStateProperty()); + } + + @CheckForNull + public String getWorkState(Element element) + { + return toString(Profiles.getFirstValue(element, getWorkStateProperty())); + } + + public void setApprover(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getApproverProperty(), value); + } + public void clearApprover(Element element) + { + _p.product().clearApprover(element); + } + public void addApprover(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getApproverProperty(), value); + } + public void removeApprover(Element element, String value) + { + java.util.List values = getApprover(element); + if (values.remove(value)) { + setApprover(element, values); + } + } + public java.util.List getApprover(Element element) + { + return _p.product().getApprover(element); + } + public void setAuthor(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getAuthorProperty(), value); + } + public void clearAuthor(Element element) + { + _p.product().clearAuthor(element); + } + public void addAuthor(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getAuthorProperty(), value); + } + public void removeAuthor(Element element, String value) + { + java.util.List values = getAuthor(element); + if (values.remove(value)) { + setAuthor(element, values); + } + } + public java.util.List getAuthor(Element element) + { + return _p.product().getAuthor(element); + } + public void setCollaboratorEmail(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCollaboratorEmailProperty(), value); + } + public void clearCollaboratorEmail(Element element) + { + _p.product().clearCollaboratorEmail(element); + } + public void addCollaboratorEmail(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCollaboratorEmailProperty(), value); + } + public void removeCollaboratorEmail(Element element, String value) + { + java.util.List values = getCollaboratorEmail(element); + if (values.remove(value)) { + setCollaboratorEmail(element, values); + } + } + public java.util.List getCollaboratorEmail(Element element) + { + return _p.product().getCollaboratorEmail(element); + } + public void setConcurrence(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getConcurrenceProperty(), value); + } + public void clearConcurrence(Element element) + { + _p.product().clearConcurrence(element); + } + public void addConcurrence(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getConcurrenceProperty(), value); + } + public void removeConcurrence(Element element, String value) + { + java.util.List values = getConcurrence(element); + if (values.remove(value)) { + setConcurrence(element, values); + } + } + public java.util.List getConcurrence(Element element) + { + return _p.product().getConcurrence(element); + } + public void setDocumentAcronym(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getDocumentAcronymProperty(), value); + } + public void clearDocumentAcronym(Element element) + { + _p.product().clearDocumentAcronym(element); + } + @CheckForNull + public String getDocumentAcronym(Element element) + { + return _p.product().getDocumentAcronym(element); + } + public void setFooterLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFooterLegalNoticeProperty(), value); + } + public void clearFooterLegalNotice(Element element) + { + _p.product().clearFooterLegalNotice(element); + } + @CheckForNull + public String getFooterLegalNotice(Element element) + { + return _p.product().getFooterLegalNotice(element); + } + public void setFormalProjectTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFormalProjectTitleProperty(), value); + } + public void clearFormalProjectTitle(Element element) + { + _p.product().clearFormalProjectTitle(element); + } + @CheckForNull + public String getFormalProjectTitle(Element element) + { + return _p.product().getFormalProjectTitle(element); + } + public void setInstLogo(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInstLogoProperty(), value); + } + public void clearInstLogo(Element element) + { + _p.product().clearInstLogo(element); + } + @CheckForNull + public String getInstLogo(Element element) + { + return _p.product().getInstLogo(element); + } + public void setInstLogoSize(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInstLogoSizeProperty(), value); + } + public void clearInstLogoSize(Element element) + { + _p.product().clearInstLogoSize(element); + } + @CheckForNull + public String getInstLogoSize(Element element) + { + return _p.product().getInstLogoSize(element); + } + public void setInsttxt1(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInsttxt1Property(), value); + } + public void clearInsttxt1(Element element) + { + _p.product().clearInsttxt1(element); + } + @CheckForNull + public String getInsttxt1(Element element) + { + return _p.product().getInsttxt1(element); + } + public void setInsttxt2(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInsttxt2Property(), value); + } + public void clearInsttxt2(Element element) + { + _p.product().clearInsttxt2(element); + } + @CheckForNull + public String getInsttxt2(Element element) + { + return _p.product().getInsttxt2(element); + } + public void setLogoAlignment(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLogoAlignmentProperty(), value); + } + public void clearLogoAlignment(Element element) + { + _p.product().clearLogoAlignment(element); + } + @CheckForNull + public String getLogoAlignment(Element element) + { + return _p.product().getLogoAlignment(element); + } + public void setLogoLocation(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLogoLocationProperty(), value); + } + public void clearLogoLocation(Element element) + { + _p.product().clearLogoLocation(element); + } + @CheckForNull + public String getLogoLocation(Element element) + { + return _p.product().getLogoLocation(element); + } + public void setLogoSize(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLogoSizeProperty(), value); + } + public void clearLogoSize(Element element) + { + _p.product().clearLogoSize(element); + } + @CheckForNull + public String getLogoSize(Element element) + { + return _p.product().getLogoSize(element); + } + public void setRemoveBlankPages(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getRemoveBlankPagesProperty(), value); + } + public void clearRemoveBlankPages(Element element) + { + _p.product().clearRemoveBlankPages(element); + } + @CheckForNull + public Boolean isRemoveBlankPages(Element element) + { + return _p.product().isRemoveBlankPages(element); + } + public void setRevisionHistory(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getRevisionHistoryProperty(), value); + } + public void clearRevisionHistory(Element element) + { + _p.product().clearRevisionHistory(element); + } + public void addRevisionHistory(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getRevisionHistoryProperty(), value); + } + public void removeRevisionHistory(Element element, String value) + { + java.util.List values = getRevisionHistory(element); + if (values.remove(value)) { + setRevisionHistory(element, values); + } + } + public java.util.List getRevisionHistory(Element element) + { + return _p.product().getRevisionHistory(element); + } + public void setSupressMetadata(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSupressMetadataProperty(), value); + } + public void clearSupressMetadata(Element element) + { + _p.product().clearSupressMetadata(element); + } + @CheckForNull + public Boolean isSupressMetadata(Element element) + { + return _p.product().isSupressMetadata(element); + } + public void setTitlePageLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePageLegalNoticeProperty(), value); + } + public void clearTitlePageLegalNotice(Element element) + { + _p.product().clearTitlePageLegalNotice(element); + } + @CheckForNull + public String getTitlePageLegalNotice(Element element) + { + return _p.product().getTitlePageLegalNotice(element); + } + public void setCaption(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getCaptionProperty(), value); + } + public void clearCaption(Element element) + { + _p.view().clearCaption(element); + } + @CheckForNull + public String getCaption(Element element) + { + return _p.view().getCaption(element); + } + public void setCollectViewActions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getCollectViewActionsProperty(), value); + } + public void clearCollectViewActions(Element element) + { + _p.view().clearCollectViewActions(element); + } + @CheckForNull + public Boolean isCollectViewActions(Element element) + { + return _p.view().isCollectViewActions(element); + } + public void setElements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getElementsProperty(), value); + } + public void clearElements(Element element) + { + _p.view().clearElements(element); + } + @CheckForNull + public String getElements(Element element) + { + return _p.view().getElements(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.view().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.view().getStyle(element); + } + public void setStakeholder(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void clearStakeholder(Element element) + { + Profiles.clearValue(element, getStakeholderProperty()); + } + public void addStakeholder(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void removeStakeholder(Element element, Element value) + { + java.util.List values = getStakeholder(element); + if (values.remove(value)) { + setStakeholder(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getStakeholder(Element element) + { + return (java.util.List)Profiles.getValue(element, getStakeholderProperty()); + } + + public void setViewPoint(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getViewPointProperty(), value); + } + public void clearViewPoint(Element element) + { + Profiles.clearValue(element, getViewPointProperty()); + } + + @CheckForNull + public Element getViewPoint(Element element) + { + return (Element)Profiles.getFirstValue(element, getViewPointProperty()); + } + + public void setIsEncapsulated(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIsEncapsulatedProperty(), value); + } + public void clearIsEncapsulated(Element element) + { + Profiles.clearValue(element, getIsEncapsulatedProperty()); + } + + @CheckForNull + public Boolean isIsEncapsulated(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIsEncapsulatedProperty())); + } + + public void setAcknowledgements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getAcknowledgementsProperty(), value); + } + public void clearAcknowledgements(Element element) + { + _p.documentMeta().clearAcknowledgements(element); + } + @CheckForNull + public String getAcknowledgements(Element element) + { + return _p.documentMeta().getAcknowledgements(element); + } + public void setChunkFirstSections(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getChunkFirstSectionsProperty(), value); + } + public void clearChunkFirstSections(Element element) + { + _p.documentMeta().clearChunkFirstSections(element); + } + @CheckForNull + public Boolean isChunkFirstSections(Element element) + { + return _p.documentMeta().isChunkFirstSections(element); + } + public void setChunkSectionDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getChunkSectionDepthProperty(), value); + } + public void clearChunkSectionDepth(Element element) + { + _p.documentMeta().clearChunkSectionDepth(element); + } + @CheckForNull + public Integer getChunkSectionDepth(Element element) + { + return _p.documentMeta().getChunkSectionDepth(element); + } + public void setCoverImage(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getCoverImageProperty(), value); + } + public void clearCoverImage(Element element) + { + _p.documentMeta().clearCoverImage(element); + } + @CheckForNull + public Element getCoverImage(Element element) + { + return _p.documentMeta().getCoverImage(element); + } + public void setFigureContextDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getFigureContextDepthProperty(), value); + } + public void clearFigureContextDepth(Element element) + { + _p.documentMeta().clearFigureContextDepth(element); + } + @CheckForNull + public Integer getFigureContextDepth(Element element) + { + return _p.documentMeta().getFigureContextDepth(element); + } + public void setFigureSeparator(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFigureSeparatorProperty(), value); + } + public void clearFigureSeparator(Element element) + { + _p.documentMeta().clearFigureSeparator(element); + } + @CheckForNull + public String getFigureSeparator(Element element) + { + return _p.documentMeta().getFigureSeparator(element); + } + public void setFooter(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getFooterProperty(), value); + } + public void clearFooter(Element element) + { + _p.documentMeta().clearFooter(element); + } + public void addFooter(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getFooterProperty(), value); + } + public void removeFooter(Element element, String value) + { + java.util.List values = getFooter(element); + if (values.remove(value)) { + setFooter(element, values); + } + } + public java.util.List getFooter(Element element) + { + return _p.documentMeta().getFooter(element); + } + public void setGenNewImages(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getGenNewImagesProperty(), value); + } + public void clearGenNewImages(Element element) + { + _p.documentMeta().clearGenNewImages(element); + } + @CheckForNull + public Boolean isGenNewImages(Element element) + { + return _p.documentMeta().isGenNewImages(element); + } + public void setHeader(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getHeaderProperty(), value); + } + public void clearHeader(Element element) + { + _p.documentMeta().clearHeader(element); + } + public void addHeader(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getHeaderProperty(), value); + } + public void removeHeader(Element element, String value) + { + java.util.List values = getHeader(element); + if (values.remove(value)) { + setHeader(element, values); + } + } + public java.util.List getHeader(Element element) + { + return _p.documentMeta().getHeader(element); + } + public void setIndex(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIndexProperty(), value); + } + public void clearIndex(Element element) + { + _p.documentMeta().clearIndex(element); + } + @CheckForNull + public Boolean isIndex(Element element) + { + return _p.documentMeta().isIndex(element); + } + public void setLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLegalNoticeProperty(), value); + } + public void clearLegalNotice(Element element) + { + _p.documentMeta().clearLegalNotice(element); + } + @CheckForNull + public String getLegalNotice(Element element) + { + return _p.documentMeta().getLegalNotice(element); + } + public void setSubtitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getSubtitleProperty(), value); + } + public void clearSubtitle(Element element) + { + _p.documentMeta().clearSubtitle(element); + } + @CheckForNull + public String getSubtitle(Element element) + { + return _p.documentMeta().getSubtitle(element); + } + public void setTocSectionDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTocSectionDepthProperty(), value); + } + public void clearTocSectionDepth(Element element) + { + _p.documentMeta().clearTocSectionDepth(element); + } + @CheckForNull + public Integer getTocSectionDepth(Element element) + { + return _p.documentMeta().getTocSectionDepth(element); + } + public void setTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleProperty(), value); + } + public void clearTitle(Element element) + { + _p.hasTitle().clearTitle(element); + } + @CheckForNull + public String getTitle(Element element) + { + return _p.hasTitle().getTitle(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + @Override + protected void clear() + { + super.clear(); + projectAcronym = null; + workState = null; + stakeholder = null; + viewPoint = null; + isEncapsulated = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package + || element instanceof com.nomagic.uml2.ext.magicdraw.deployments.mdartifacts.Artifact) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package + || element instanceof com.nomagic.uml2.ext.magicdraw.deployments.mdartifacts.Artifact) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.document().getStereotype()); + } + return false; + } + + } + public static class DocumentMetaStereotype extends StereotypeWrapper + { + + + //stereotype DocumentMeta and its tags + public static final String STEREOTYPE_NAME = "DocumentMeta"; + public static final String ACKNOWLEDGEMENTS = "acknowledgements"; + + /** + * Optional stylesheet parameter. Whether to chunk first sections. If not, this means in html, each section or chapter page will include the first section. Default is true. (Only matters to docweb) + */public static final String CHUNKFIRSTSECTIONS = "chunkFirstSections"; + + /** + * Optional stylesheet parameter. This is for html chunking - what's the max depth of a section that'll be put on a different page. Default is 20. (Only matters to docweb) + */public static final String CHUNKSECTIONDEPTH = "chunkSectionDepth"; + + /** + * Optional. The Diagram to display on the cover page, right after title and authors (if there's any) + */public static final String COVERIMAGE = "coverImage"; + public static final String FIGURECONTEXTDEPTH = "figureContextDepth"; + public static final String FIGURESEPARATOR = "figureSeparator"; + + /** + * Optional footer string on each page of the document. (for docweb) Do not put docbook tags in here! This should be a simple string with no markup. + */public static final String FOOTER = "footer"; + + /** + * This property allows you to specify whether you will generate new versions of images associated with the document. If you are generating frequently and not changing the images, this is useful because generating images slows the generation process significantly when there are a lot of images. If an image does not exist yet, it will be generated regardless of whether this property is checked. + */public static final String GENNEWIMAGES = "genNewImages"; + + /** + * Optional header string on each page of the document. (for docweb) Do not put docbook tags in here! This should be a simple string with no markup. + */public static final String HEADER = "header"; + + /** + * Check this box to generate an index. To register things that should go in the index you must place a tag at the point in the text where the reader should be referred if they were to look it up. Use the following syntax: + some term + ]]> + + + */public static final String INDEX = "index"; + + /** + * Optional. A string to display after a coverImage if there's any. + */public static final String LEGALNOTICE = "legalNotice"; + + /** + * This is the subtitle of the document. It usually appears under the title in italics, or after a colon. The formatting is up to you. + */public static final String SUBTITLE = "subtitle"; + + /** + * Optional stylesheet parameter. How many nested sections to display in table of contents for html. Default is 20. (Only matters to docweb) + */public static final String TOCSECTIONDEPTH = "tocSectionDepth"; + + /** + * Title of a section/appendix + */public static final String TITLE = "title"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + private final SysMLExtensions _p; + @CheckForNull + private Property acknowledgements; + @CheckForNull + private Property chunkFirstSections; + @CheckForNull + private Property chunkSectionDepth; + @CheckForNull + private Property coverImage; + @CheckForNull + private Property figureContextDepth; + @CheckForNull + private Property figureSeparator; + @CheckForNull + private Property footer; + @CheckForNull + private Property genNewImages; + @CheckForNull + private Property header; + @CheckForNull + private Property index; + @CheckForNull + private Property legalNotice; + @CheckForNull + private Property subtitle; + @CheckForNull + private Property tocSectionDepth; + protected DocumentMetaStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getAcknowledgementsProperty() + { + if (acknowledgements == null) + { + acknowledgements = getTagByName(getStereotype(), ACKNOWLEDGEMENTS); + } + return acknowledgements; + } + + @CheckForNull + public Property getChunkFirstSectionsProperty() + { + if (chunkFirstSections == null) + { + chunkFirstSections = getTagByName(getStereotype(), CHUNKFIRSTSECTIONS); + } + return chunkFirstSections; + } + + @CheckForNull + public Property getChunkSectionDepthProperty() + { + if (chunkSectionDepth == null) + { + chunkSectionDepth = getTagByName(getStereotype(), CHUNKSECTIONDEPTH); + } + return chunkSectionDepth; + } + + @CheckForNull + public Property getCoverImageProperty() + { + if (coverImage == null) + { + coverImage = getTagByName(getStereotype(), COVERIMAGE); + } + return coverImage; + } + + @CheckForNull + public Property getFigureContextDepthProperty() + { + if (figureContextDepth == null) + { + figureContextDepth = getTagByName(getStereotype(), FIGURECONTEXTDEPTH); + } + return figureContextDepth; + } + + @CheckForNull + public Property getFigureSeparatorProperty() + { + if (figureSeparator == null) + { + figureSeparator = getTagByName(getStereotype(), FIGURESEPARATOR); + } + return figureSeparator; + } + + @CheckForNull + public Property getFooterProperty() + { + if (footer == null) + { + footer = getTagByName(getStereotype(), FOOTER); + } + return footer; + } + + @CheckForNull + public Property getGenNewImagesProperty() + { + if (genNewImages == null) + { + genNewImages = getTagByName(getStereotype(), GENNEWIMAGES); + } + return genNewImages; + } + + @CheckForNull + public Property getHeaderProperty() + { + if (header == null) + { + header = getTagByName(getStereotype(), HEADER); + } + return header; + } + + @CheckForNull + public Property getIndexProperty() + { + if (index == null) + { + index = getTagByName(getStereotype(), INDEX); + } + return index; + } + + @CheckForNull + public Property getLegalNoticeProperty() + { + if (legalNotice == null) + { + legalNotice = getTagByName(getStereotype(), LEGALNOTICE); + } + return legalNotice; + } + + @CheckForNull + public Property getSubtitleProperty() + { + if (subtitle == null) + { + subtitle = getTagByName(getStereotype(), SUBTITLE); + } + return subtitle; + } + + @CheckForNull + public Property getTocSectionDepthProperty() + { + if (tocSectionDepth == null) + { + tocSectionDepth = getTagByName(getStereotype(), TOCSECTIONDEPTH); + } + return tocSectionDepth; + } + + @CheckForNull + public Property getTitleProperty() + { + return _p.hasTitle().getTitleProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + public void setAcknowledgements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getAcknowledgementsProperty(), value); + } + public void clearAcknowledgements(Element element) + { + Profiles.clearValue(element, getAcknowledgementsProperty()); + } + + @CheckForNull + public String getAcknowledgements(Element element) + { + return toString(Profiles.getFirstValue(element, getAcknowledgementsProperty())); + } + + public void setChunkFirstSections(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getChunkFirstSectionsProperty(), value); + } + public void clearChunkFirstSections(Element element) + { + Profiles.clearValue(element, getChunkFirstSectionsProperty()); + } + + @CheckForNull + public Boolean isChunkFirstSections(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getChunkFirstSectionsProperty())); + } + + public void setChunkSectionDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getChunkSectionDepthProperty(), value); + } + public void clearChunkSectionDepth(Element element) + { + Profiles.clearValue(element, getChunkSectionDepthProperty()); + } + + @CheckForNull + public Integer getChunkSectionDepth(Element element) + { + return toInteger(Profiles.getFirstValue(element, getChunkSectionDepthProperty())); + } + + public void setCoverImage(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getCoverImageProperty(), value); + } + public void clearCoverImage(Element element) + { + Profiles.clearValue(element, getCoverImageProperty()); + } + + @CheckForNull + public Element getCoverImage(Element element) + { + return (Element)Profiles.getFirstValue(element, getCoverImageProperty()); + } + + public void setFigureContextDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getFigureContextDepthProperty(), value); + } + public void clearFigureContextDepth(Element element) + { + Profiles.clearValue(element, getFigureContextDepthProperty()); + } + + @CheckForNull + public Integer getFigureContextDepth(Element element) + { + return toInteger(Profiles.getFirstValue(element, getFigureContextDepthProperty())); + } + + public void setFigureSeparator(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFigureSeparatorProperty(), value); + } + public void clearFigureSeparator(Element element) + { + Profiles.clearValue(element, getFigureSeparatorProperty()); + } + + @CheckForNull + public String getFigureSeparator(Element element) + { + return toString(Profiles.getFirstValue(element, getFigureSeparatorProperty())); + } + + public void setFooter(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getFooterProperty(), value); + } + public void clearFooter(Element element) + { + Profiles.clearValue(element, getFooterProperty()); + } + public void addFooter(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getFooterProperty(), value); + } + public void removeFooter(Element element, String value) + { + java.util.List values = getFooter(element); + if (values.remove(value)) { + setFooter(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getFooter(Element element) + { + return (java.util.List)Profiles.getValue(element, getFooterProperty()); + } + + public void setGenNewImages(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getGenNewImagesProperty(), value); + } + public void clearGenNewImages(Element element) + { + Profiles.clearValue(element, getGenNewImagesProperty()); + } + + @CheckForNull + public Boolean isGenNewImages(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getGenNewImagesProperty())); + } + + public void setHeader(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getHeaderProperty(), value); + } + public void clearHeader(Element element) + { + Profiles.clearValue(element, getHeaderProperty()); + } + public void addHeader(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getHeaderProperty(), value); + } + public void removeHeader(Element element, String value) + { + java.util.List values = getHeader(element); + if (values.remove(value)) { + setHeader(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getHeader(Element element) + { + return (java.util.List)Profiles.getValue(element, getHeaderProperty()); + } + + public void setIndex(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIndexProperty(), value); + } + public void clearIndex(Element element) + { + Profiles.clearValue(element, getIndexProperty()); + } + + @CheckForNull + public Boolean isIndex(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIndexProperty())); + } + + public void setLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLegalNoticeProperty(), value); + } + public void clearLegalNotice(Element element) + { + Profiles.clearValue(element, getLegalNoticeProperty()); + } + + @CheckForNull + public String getLegalNotice(Element element) + { + return toString(Profiles.getFirstValue(element, getLegalNoticeProperty())); + } + + public void setSubtitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getSubtitleProperty(), value); + } + public void clearSubtitle(Element element) + { + Profiles.clearValue(element, getSubtitleProperty()); + } + + @CheckForNull + public String getSubtitle(Element element) + { + return toString(Profiles.getFirstValue(element, getSubtitleProperty())); + } + + public void setTocSectionDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTocSectionDepthProperty(), value); + } + public void clearTocSectionDepth(Element element) + { + Profiles.clearValue(element, getTocSectionDepthProperty()); + } + + @CheckForNull + public Integer getTocSectionDepth(Element element) + { + return toInteger(Profiles.getFirstValue(element, getTocSectionDepthProperty())); + } + + public void setTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleProperty(), value); + } + public void clearTitle(Element element) + { + _p.hasTitle().clearTitle(element); + } + @CheckForNull + public String getTitle(Element element) + { + return _p.hasTitle().getTitle(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + @Override + protected void clear() + { + super.clear(); + acknowledgements = null; + chunkFirstSections = null; + chunkSectionDepth = null; + coverImage = null; + figureContextDepth = null; + figureSeparator = null; + footer = null; + genNewImages = null; + header = null; + index = null; + legalNotice = null; + subtitle = null; + tocSectionDepth = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.documentMeta().getStereotype()); + } + return false; + } + + } + public static class DocumentationChoosableStereotype extends StereotypeWrapper + { + + + //stereotype DocumentationChoosable and its tags + public static final String STEREOTYPE_NAME = "DocumentationChoosable"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + private final SysMLExtensions _p; + @CheckForNull + private Property includeDoc; + protected DocumentationChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeDocProperty() + { + if (includeDoc == null) + { + includeDoc = getTagByName(getStereotype(), INCLUDEDOC); + } + return includeDoc; + } + + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + Profiles.clearValue(element, getIncludeDocProperty()); + } + + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIncludeDocProperty())); + } + + @Override + protected void clear() + { + super.clear(); + includeDoc = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.documentationChoosable().getStereotype()); + } + return false; + } + + } + public static class DocumentationSkippableStereotype extends StereotypeWrapper + { + + + //stereotype DocumentationSkippable and its tags + public static final String STEREOTYPE_NAME = "DocumentationSkippable"; + + /** + * Skips a row element if the element has no documentation. Applies to GenericTable and CombinedMatrix + */public static final String SKIPIFNODOC = "skipIfNoDoc"; + + private final SysMLExtensions _p; + @CheckForNull + private Property skipIfNoDoc; + protected DocumentationSkippableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getSkipIfNoDocProperty() + { + if (skipIfNoDoc == null) + { + skipIfNoDoc = getTagByName(getStereotype(), SKIPIFNODOC); + } + return skipIfNoDoc; + } + + public void setSkipIfNoDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSkipIfNoDocProperty(), value); + } + public void clearSkipIfNoDoc(Element element) + { + Profiles.clearValue(element, getSkipIfNoDocProperty()); + } + + @CheckForNull + public Boolean isSkipIfNoDoc(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getSkipIfNoDocProperty())); + } + + @Override + protected void clear() + { + super.clear(); + skipIfNoDoc = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.documentationSkippable().getStereotype()); + } + return false; + } + + } + public static class DynamicViewStereotype extends StereotypeWrapper + { + + + //stereotype Dynamic View and its tags + public static final String STEREOTYPE_NAME = "Dynamic View"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * Title of a section/appendix + */public static final String TITLE = "title"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * Applies to sections. If the resulting section is empty, skip the section altogether. + */public static final String SKIPIFEMPTY = "skipIfEmpty"; + + /** + * Applies to sections, if the resulting section is empty, use the indicated string. + */public static final String STRINGIFEMPTY = "stringIfEmpty"; + + private final SysMLExtensions _p; + protected DynamicViewStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitleProperty() + { + return _p.hasTitle().getTitleProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getSkipIfEmptyProperty() + { + return _p.skippable().getSkipIfEmptyProperty(); + } + + @CheckForNull + public Property getStringIfEmptyProperty() + { + return _p.skippable().getStringIfEmptyProperty(); + } + + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleProperty(), value); + } + public void clearTitle(Element element) + { + _p.hasTitle().clearTitle(element); + } + @CheckForNull + public String getTitle(Element element) + { + return _p.hasTitle().getTitle(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setSkipIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSkipIfEmptyProperty(), value); + } + public void clearSkipIfEmpty(Element element) + { + _p.skippable().clearSkipIfEmpty(element); + } + @CheckForNull + public Boolean isSkipIfEmpty(Element element) + { + return _p.skippable().isSkipIfEmpty(element); + } + public void setStringIfEmpty(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStringIfEmptyProperty(), value); + } + public void clearStringIfEmpty(Element element) + { + _p.skippable().clearStringIfEmpty(element); + } + @CheckForNull + public String getStringIfEmpty(Element element) + { + return _p.skippable().getStringIfEmpty(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.dynamicView().getStereotype()); + } + return false; + } + + } + public static class EditableChoosableStereotype extends StereotypeWrapper + { + + + //stereotype EditableChoosable and its tags + public static final String STEREOTYPE_NAME = "EditableChoosable"; + public static final String EDITABLE = "editable"; + + private final SysMLExtensions _p; + @CheckForNull + private Property editable; + protected EditableChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getEditableProperty() + { + if (editable == null) + { + editable = getTagByName(getStereotype(), EDITABLE); + } + return editable; + } + + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + Profiles.clearValue(element, getEditableProperty()); + } + + @CheckForNull + public Boolean isEditable(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getEditableProperty())); + } + + @Override + protected void clear() + { + super.clear(); + editable = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.editableChoosable().getStereotype()); + } + return false; + } + + } + public static class EditableTableStereotype extends StereotypeWrapper + { + + + //stereotype EditableTable and its tags + public static final String STEREOTYPE_NAME = "EditableTable"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * Column widths from left to right, create a new value for each column. For View Editor, use % of table or see the 'width' attribute for tag Col https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col. For Docbook, it can be either a fixed measure using one of the CALS units (36pt, 10pc, etc.) or a proportional measure. Proportional measures have the form number* , meaning this column should be number times wider than a column with the measure 1* (or just * ). These two forms can be mixed, as in 3*+1pc . (Description taken from Docbook spec's ColSpec element) + */public static final String COLWIDTHS = "colwidths"; + + /** + * Applies to EMS, if true will not show headers on EMS. + */public static final String HIDEHEADERS = "hideHeaders"; + + /** + * Applies to how it's rendered on EMS, if table has no rows will not show table by default. + */public static final String SHOWIFEMPTY = "showIfEmpty"; + + /** + * This will be set as the class of the resulting html table. + */public static final String STYLE = "style"; + + /** + * If true will rotate table 90 degrees anticlockwise (not really transpose). + */public static final String TRANSPOSE = "transpose"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + private final SysMLExtensions _p; + protected EditableTableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getColwidthsProperty() + { + return _p.table().getColwidthsProperty(); + } + + @CheckForNull + public Property getHideHeadersProperty() + { + return _p.table().getHideHeadersProperty(); + } + + @CheckForNull + public Property getShowIfEmptyProperty() + { + return _p.table().getShowIfEmptyProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.table().getStyleProperty(); + } + + @CheckForNull + public Property getTransposeProperty() + { + return _p.table().getTransposeProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setColwidths(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void clearColwidths(Element element) + { + _p.table().clearColwidths(element); + } + public void addColwidths(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void removeColwidths(Element element, String value) + { + java.util.List values = getColwidths(element); + if (values.remove(value)) { + setColwidths(element, values); + } + } + public java.util.List getColwidths(Element element) + { + return _p.table().getColwidths(element); + } + public void setHideHeaders(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getHideHeadersProperty(), value); + } + public void clearHideHeaders(Element element) + { + _p.table().clearHideHeaders(element); + } + @CheckForNull + public Boolean isHideHeaders(Element element) + { + return _p.table().isHideHeaders(element); + } + public void setShowIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowIfEmptyProperty(), value); + } + public void clearShowIfEmpty(Element element) + { + _p.table().clearShowIfEmpty(element); + } + @CheckForNull + public Boolean isShowIfEmpty(Element element) + { + return _p.table().isShowIfEmpty(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.table().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.table().getStyle(element); + } + public void setTranspose(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getTransposeProperty(), value); + } + public void clearTranspose(Element element) + { + _p.table().clearTranspose(element); + } + @CheckForNull + public Boolean isTranspose(Element element) + { + return _p.table().isTranspose(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.editableTable().getStereotype()); + } + return false; + } + + } + public static class ExposeStereotype extends StereotypeWrapper + { + + + //stereotype Expose and its tags + public static final String STEREOTYPE_NAME = "Expose"; + + private final SysMLExtensions _p; + protected ExposeStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.expose().getStereotype()); + } + return false; + } + + } + public static class ExpressionStereotype extends StereotypeWrapper + { + + + //stereotype Expression and its tags + public static final String STEREOTYPE_NAME = "Expression"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + protected ExpressionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.expression().getStereotype()); + } + return false; + } + + } + public static class ExpressionChoosableStereotype extends StereotypeWrapper + { + + + //stereotype ExpressionChoosable and its tags + public static final String STEREOTYPE_NAME = "ExpressionChoosable"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + @CheckForNull + private Property expression; + @CheckForNull + private Property iterate; + protected ExpressionChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getExpressionProperty() + { + if (expression == null) + { + expression = getTagByName(getStereotype(), EXPRESSION); + } + return expression; + } + + @CheckForNull + public Property getIterateProperty() + { + if (iterate == null) + { + iterate = getTagByName(getStereotype(), ITERATE); + } + return iterate; + } + + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + Profiles.clearValue(element, getExpressionProperty()); + } + + @CheckForNull + public String getExpression(Element element) + { + return toString(Profiles.getFirstValue(element, getExpressionProperty())); + } + + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + Profiles.clearValue(element, getIterateProperty()); + } + + @CheckForNull + public Boolean isIterate(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIterateProperty())); + } + + @Override + protected void clear() + { + super.clear(); + expression = null; + iterate = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.expressionChoosable().getStereotype()); + } + return false; + } + + } + public static class ExpressionLibraryStereotype extends StereotypeWrapper + { + + + //stereotype ExpressionLibrary and its tags + public static final String STEREOTYPE_NAME = "ExpressionLibrary"; + + private final SysMLExtensions _p; + protected ExpressionLibraryStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Expression + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Expression + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.expressionLibrary().getStereotype()); + } + return false; + } + + } + public static class FilterByDiagramTypeStereotype extends StereotypeWrapper + { + + + //stereotype FilterByDiagramType and its tags + public static final String STEREOTYPE_NAME = "FilterByDiagramType"; + + /** + * Applicable for filtering, choose whether the indicated filter criteria is for inclusion or exclusion. + */public static final String INCLUDE = "include"; + + /** + * Choose a diagram type. + */public static final String DIAGRAMTYPES = "diagramTypes"; + + private final SysMLExtensions _p; + protected FilterByDiagramTypeStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeProperty() + { + return _p.includeChoosable().getIncludeProperty(); + } + + @CheckForNull + public Property getDiagramTypesProperty() + { + return _p.diagramTypeChoosable().getDiagramTypesProperty(); + } + + public void setInclude(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeProperty(), value); + } + public void clearInclude(Element element) + { + _p.includeChoosable().clearInclude(element); + } + @CheckForNull + public Boolean isInclude(Element element) + { + return _p.includeChoosable().isInclude(element); + } + public void setDiagramTypes(Element element, @CheckForNull java.util.Collection value) + { + java.util.List result = null; + + if (value != null) + { + result = new ArrayList<>(); + + for (DiagramTypeEnum o : value) + { + result.add(o.getText()); + } + } + Profiles.setValue(element, getStereotype(), getDiagramTypesProperty(), value != null ? result : null); + } + public void clearDiagramTypes(Element element) + { + _p.diagramTypeChoosable().clearDiagramTypes(element); + } + public void addDiagramTypes(Element element, DiagramTypeEnum value) + { + Profiles.addValue(element, getStereotype(), getDiagramTypesProperty(), value != null ? value.getText() : null); + } + public void removeDiagramTypes(Element element, DiagramTypeEnum value) + { + java.util.List values = getDiagramTypes(element); + if (values.remove(value != null ? value.getText() : null)) { + setDiagramTypes(element, values); + } + } + public java.util.List getDiagramTypes(Element element) + { + return _p.diagramTypeChoosable().getDiagramTypes(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.filterByDiagramType().getStereotype()); + } + return false; + } + + } + public static class FilterByExpressionStereotype extends StereotypeWrapper + { + + + //stereotype FilterByExpression and its tags + public static final String STEREOTYPE_NAME = "FilterByExpression"; + + /** + * Applicable for filtering, choose whether the indicated filter criteria is for inclusion or exclusion. + */public static final String INCLUDE = "include"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + protected FilterByExpressionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeProperty() + { + return _p.includeChoosable().getIncludeProperty(); + } + + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + public void setInclude(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeProperty(), value); + } + public void clearInclude(Element element) + { + _p.includeChoosable().clearInclude(element); + } + @CheckForNull + public Boolean isInclude(Element element) + { + return _p.includeChoosable().isInclude(element); + } + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.filterByExpression().getStereotype()); + } + return false; + } + + } + public static class FilterByMetaclassesStereotype extends StereotypeWrapper + { + + + //stereotype FilterByMetaclasses and its tags + public static final String STEREOTYPE_NAME = "FilterByMetaclasses"; + + /** + * Applicable for filtering, choose whether the indicated filter criteria is for inclusion or exclusion. + */public static final String INCLUDE = "include"; + + /** + * List of metaclasses for filtering. These are "classes" that come from the UML Standard Profile that comes with Magicdraw, inside the UML 2 Metamodel. In the selection dialog that pops up, if you can't find these classes, make sure a little button with the metamodel icon is "checked". + */public static final String METACLASSES = "metaclasses"; + + private final SysMLExtensions _p; + protected FilterByMetaclassesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeProperty() + { + return _p.includeChoosable().getIncludeProperty(); + } + + @CheckForNull + public Property getMetaclassesProperty() + { + return _p.metaclassChoosable().getMetaclassesProperty(); + } + + public void setInclude(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeProperty(), value); + } + public void clearInclude(Element element) + { + _p.includeChoosable().clearInclude(element); + } + @CheckForNull + public Boolean isInclude(Element element) + { + return _p.includeChoosable().isInclude(element); + } + public void setMetaclasses(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getMetaclassesProperty(), value); + } + public void clearMetaclasses(Element element) + { + _p.metaclassChoosable().clearMetaclasses(element); + } + public void addMetaclasses(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getMetaclassesProperty(), value); + } + public void removeMetaclasses(Element element, Element value) + { + java.util.List values = getMetaclasses(element); + if (values.remove(value)) { + setMetaclasses(element, values); + } + } + public java.util.List getMetaclasses(Element element) + { + return _p.metaclassChoosable().getMetaclasses(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.filterByMetaclasses().getStereotype()); + } + return false; + } + + } + public static class FilterByNamesStereotype extends StereotypeWrapper + { + + + //stereotype FilterByNames and its tags + public static final String STEREOTYPE_NAME = "FilterByNames"; + + /** + * Applicable for filtering, choose whether the indicated filter criteria is for inclusion or exclusion. + */public static final String INCLUDE = "include"; + + /** + * List of regular expression strings. See java.util.regex.Pattern for how regex patterns work. + */public static final String NAMES = "names"; + + private final SysMLExtensions _p; + protected FilterByNamesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeProperty() + { + return _p.includeChoosable().getIncludeProperty(); + } + + @CheckForNull + public Property getNamesProperty() + { + return _p.nameChoosable().getNamesProperty(); + } + + public void setInclude(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeProperty(), value); + } + public void clearInclude(Element element) + { + _p.includeChoosable().clearInclude(element); + } + @CheckForNull + public Boolean isInclude(Element element) + { + return _p.includeChoosable().isInclude(element); + } + public void setNames(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getNamesProperty(), value); + } + public void clearNames(Element element) + { + _p.nameChoosable().clearNames(element); + } + public void addNames(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getNamesProperty(), value); + } + public void removeNames(Element element, String value) + { + java.util.List values = getNames(element); + if (values.remove(value)) { + setNames(element, values); + } + } + public java.util.List getNames(Element element) + { + return _p.nameChoosable().getNames(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.filterByNames().getStereotype()); + } + return false; + } + + } + public static class FilterByStereotypesStereotype extends StereotypeWrapper + { + + + //stereotype FilterByStereotypes and its tags + public static final String STEREOTYPE_NAME = "FilterByStereotypes"; + + /** + * Applicable for filtering, choose whether the indicated filter criteria is for inclusion or exclusion. + */public static final String INCLUDE = "include"; + + /** + * List of stereotype for filtering. + */public static final String STEREOTYPES = "stereotypes"; + + /** + * When collecting or filtering based on stereotypes, choose whether more specific stereotypes should be included. + */public static final String CONSIDERDERIVED = "considerDerived"; + + private final SysMLExtensions _p; + protected FilterByStereotypesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeProperty() + { + return _p.includeChoosable().getIncludeProperty(); + } + + @CheckForNull + public Property getStereotypesProperty() + { + return _p.stereotypeChoosable().getStereotypesProperty(); + } + + @CheckForNull + public Property getConsiderDerivedProperty() + { + return _p.considerDerivedChoosable().getConsiderDerivedProperty(); + } + + public void setInclude(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeProperty(), value); + } + public void clearInclude(Element element) + { + _p.includeChoosable().clearInclude(element); + } + @CheckForNull + public Boolean isInclude(Element element) + { + return _p.includeChoosable().isInclude(element); + } + public void setStereotypes(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypesProperty(), value); + } + public void clearStereotypes(Element element) + { + _p.stereotypeChoosable().clearStereotypes(element); + } + public void addStereotypes(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypesProperty(), value); + } + public void removeStereotypes(Element element, Element value) + { + java.util.List values = getStereotypes(element); + if (values.remove(value)) { + setStereotypes(element, values); + } + } + public java.util.List getStereotypes(Element element) + { + return _p.stereotypeChoosable().getStereotypes(element); + } + public void setConsiderDerived(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getConsiderDerivedProperty(), value); + } + public void clearConsiderDerived(Element element) + { + _p.considerDerivedChoosable().clearConsiderDerived(element); + } + @CheckForNull + public Boolean isConsiderDerived(Element element) + { + return _p.considerDerivedChoosable().isConsiderDerived(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.filterByStereotypes().getStereotype()); + } + return false; + } + + } + public static class FormattingAndDisplayTemplateStereotype extends StereotypeWrapper + { + + + //stereotype FormattingAndDisplayTemplate and its tags + public static final String STEREOTYPE_NAME = "FormattingAndDisplayTemplate"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + @CheckForNull + private Property targets; + protected FormattingAndDisplayTemplateStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTargetsProperty() + { + if (targets == null) + { + targets = getTagByName(getStereotype(), TARGETS); + } + return targets; + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + Profiles.clearValue(element, getTargetsProperty()); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTargets(Element element) + { + return (java.util.List)Profiles.getValue(element, getTargetsProperty()); + } + + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + protected void clear() + { + super.clear(); + targets = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.formattingAndDisplayTemplate().getStereotype()); + } + return false; + } + + } + public static class GenericTableStereotype extends StereotypeWrapper + { + + + //stereotype GenericTable and its tags + public static final String STEREOTYPE_NAME = "GenericTable"; + + /** + * Column widths from left to right, create a new value for each column. For View Editor, use % of table or see the 'width' attribute for tag Col https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col. For Docbook, it can be either a fixed measure using one of the CALS units (36pt, 10pc, etc.) or a proportional measure. Proportional measures have the form number* , meaning this column should be number times wider than a column with the measure 1* (or just * ). These two forms can be mixed, as in 3*+1pc . (Description taken from Docbook spec's ColSpec element) + */public static final String COLWIDTHS = "colwidths"; + + /** + * Applies to EMS, if true will not show headers on EMS. + */public static final String HIDEHEADERS = "hideHeaders"; + + /** + * Applies to how it's rendered on EMS, if table has no rows will not show table by default. + */public static final String SHOWIFEMPTY = "showIfEmpty"; + + /** + * This will be set as the class of the resulting html table. + */public static final String STYLE = "style"; + + /** + * If true will rotate table 90 degrees anticlockwise (not really transpose). + */public static final String TRANSPOSE = "transpose"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + /** + * Applies to certain tables where headers can be customized. As of now - CombinedMatrix and GenericTable + */public static final String HEADERS = "headers"; + + /** + * Skips a row element if the element has no documentation. Applies to GenericTable and CombinedMatrix + */public static final String SKIPIFNODOC = "skipIfNoDoc"; + + private final SysMLExtensions _p; + protected GenericTableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getColwidthsProperty() + { + return _p.table().getColwidthsProperty(); + } + + @CheckForNull + public Property getHideHeadersProperty() + { + return _p.table().getHideHeadersProperty(); + } + + @CheckForNull + public Property getShowIfEmptyProperty() + { + return _p.table().getShowIfEmptyProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.table().getStyleProperty(); + } + + @CheckForNull + public Property getTransposeProperty() + { + return _p.table().getTransposeProperty(); + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + @CheckForNull + public Property getHeadersProperty() + { + return _p.headersChoosable().getHeadersProperty(); + } + + @CheckForNull + public Property getSkipIfNoDocProperty() + { + return _p.documentationSkippable().getSkipIfNoDocProperty(); + } + + public void setColwidths(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void clearColwidths(Element element) + { + _p.table().clearColwidths(element); + } + public void addColwidths(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void removeColwidths(Element element, String value) + { + java.util.List values = getColwidths(element); + if (values.remove(value)) { + setColwidths(element, values); + } + } + public java.util.List getColwidths(Element element) + { + return _p.table().getColwidths(element); + } + public void setHideHeaders(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getHideHeadersProperty(), value); + } + public void clearHideHeaders(Element element) + { + _p.table().clearHideHeaders(element); + } + @CheckForNull + public Boolean isHideHeaders(Element element) + { + return _p.table().isHideHeaders(element); + } + public void setShowIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowIfEmptyProperty(), value); + } + public void clearShowIfEmpty(Element element) + { + _p.table().clearShowIfEmpty(element); + } + @CheckForNull + public Boolean isShowIfEmpty(Element element) + { + return _p.table().isShowIfEmpty(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.table().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.table().getStyle(element); + } + public void setTranspose(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getTransposeProperty(), value); + } + public void clearTranspose(Element element) + { + _p.table().clearTranspose(element); + } + @CheckForNull + public Boolean isTranspose(Element element) + { + return _p.table().isTranspose(element); + } + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + public void setHeaders(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getHeadersProperty(), value); + } + public void clearHeaders(Element element) + { + _p.headersChoosable().clearHeaders(element); + } + public void addHeaders(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getHeadersProperty(), value); + } + public void removeHeaders(Element element, String value) + { + java.util.List values = getHeaders(element); + if (values.remove(value)) { + setHeaders(element, values); + } + } + public java.util.List getHeaders(Element element) + { + return _p.headersChoosable().getHeaders(element); + } + public void setSkipIfNoDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSkipIfNoDocProperty(), value); + } + public void clearSkipIfNoDoc(Element element) + { + _p.documentationSkippable().clearSkipIfNoDoc(element); + } + @CheckForNull + public Boolean isSkipIfNoDoc(Element element) + { + return _p.documentationSkippable().isSkipIfNoDoc(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.genericTable().getStereotype()); + } + return false; + } + + } + public static class GroupStereotype extends StereotypeWrapper + { + + + //stereotype Group and its tags + public static final String STEREOTYPE_NAME = "Group"; + + private final SysMLExtensions _p; + protected GroupStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.group().getStereotype()); + } + return false; + } + + } + public static class HasCaptionsStereotype extends StereotypeWrapper + { + + + //stereotype HasCaptions and its tags + public static final String STEREOTYPE_NAME = "HasCaptions"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + private final SysMLExtensions _p; + @CheckForNull + private Property captions; + @CheckForNull + private Property excludeFromList; + @CheckForNull + private Property showCaptions; + protected HasCaptionsStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getCaptionsProperty() + { + if (captions == null) + { + captions = getTagByName(getStereotype(), CAPTIONS); + } + return captions; + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + if (excludeFromList == null) + { + excludeFromList = getTagByName(getStereotype(), EXCLUDEFROMLIST); + } + return excludeFromList; + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + if (showCaptions == null) + { + showCaptions = getTagByName(getStereotype(), SHOWCAPTIONS); + } + return showCaptions; + } + + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + Profiles.clearValue(element, getCaptionsProperty()); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getCaptions(Element element) + { + return (java.util.List)Profiles.getValue(element, getCaptionsProperty()); + } + + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + Profiles.clearValue(element, getExcludeFromListProperty()); + } + + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getExcludeFromListProperty())); + } + + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + Profiles.clearValue(element, getShowCaptionsProperty()); + } + + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getShowCaptionsProperty())); + } + + @Override + protected void clear() + { + super.clear(); + captions = null; + excludeFromList = null; + showCaptions = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hasCaptions().getStereotype()); + } + return false; + } + + } + public static class HasTimeoutStereotype extends StereotypeWrapper + { + + + //stereotype HasTimeout and its tags + public static final String STEREOTYPE_NAME = "HasTimeout"; + public static final String TIMEOUT = "timeout"; + + private final SysMLExtensions _p; + @CheckForNull + private Property timeout; + protected HasTimeoutStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTimeoutProperty() + { + if (timeout == null) + { + timeout = getTagByName(getStereotype(), TIMEOUT); + } + return timeout; + } + + public void setTimeout(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTimeoutProperty(), value); + } + public void clearTimeout(Element element) + { + Profiles.clearValue(element, getTimeoutProperty()); + } + + @CheckForNull + public Integer getTimeout(Element element) + { + return toInteger(Profiles.getFirstValue(element, getTimeoutProperty())); + } + + @Override + protected void clear() + { + super.clear(); + timeout = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hasTimeout().getStereotype()); + } + return false; + } + + } + public static class HasTitleStereotype extends StereotypeWrapper + { + + + //stereotype HasTitle and its tags + public static final String STEREOTYPE_NAME = "HasTitle"; + + /** + * Title of a section/appendix + */public static final String TITLE = "title"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + private final SysMLExtensions _p; + @CheckForNull + private Property title; + protected HasTitleStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTitleProperty() + { + if (title == null) + { + title = getTagByName(getStereotype(), TITLE); + } + return title; + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + public void setTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleProperty(), value); + } + public void clearTitle(Element element) + { + Profiles.clearValue(element, getTitleProperty()); + } + + @CheckForNull + public String getTitle(Element element) + { + return toString(Profiles.getFirstValue(element, getTitleProperty())); + } + + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + @Override + protected void clear() + { + super.clear(); + title = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hasTitle().getStereotype()); + } + return false; + } + + } + public static class HasTitleStuffStereotype extends StereotypeWrapper + { + + + //stereotype HasTitleStuff and its tags + public static final String STEREOTYPE_NAME = "HasTitleStuff"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + private final SysMLExtensions _p; + @CheckForNull + private Property titlePrefix; + @CheckForNull + private Property titleSuffix; + @CheckForNull + private Property useSectionNameAsTitle; + protected HasTitleStuffStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTitlePrefixProperty() + { + if (titlePrefix == null) + { + titlePrefix = getTagByName(getStereotype(), TITLEPREFIX); + } + return titlePrefix; + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + if (titleSuffix == null) + { + titleSuffix = getTagByName(getStereotype(), TITLESUFFIX); + } + return titleSuffix; + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + if (useSectionNameAsTitle == null) + { + useSectionNameAsTitle = getTagByName(getStereotype(), USESECTIONNAMEASTITLE); + } + return useSectionNameAsTitle; + } + + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + Profiles.clearValue(element, getTitlePrefixProperty()); + } + + @CheckForNull + public String getTitlePrefix(Element element) + { + return toString(Profiles.getFirstValue(element, getTitlePrefixProperty())); + } + + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + Profiles.clearValue(element, getTitleSuffixProperty()); + } + + @CheckForNull + public String getTitleSuffix(Element element) + { + return toString(Profiles.getFirstValue(element, getTitleSuffixProperty())); + } + + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + Profiles.clearValue(element, getUseSectionNameAsTitleProperty()); + } + + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getUseSectionNameAsTitleProperty())); + } + + @Override + protected void clear() + { + super.clear(); + titlePrefix = null; + titleSuffix = null; + useSectionNameAsTitle = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hasTitleStuff().getStereotype()); + } + return false; + } + + } + public static class HasTitlesStereotype extends StereotypeWrapper + { + + + //stereotype HasTitles and its tags + public static final String STEREOTYPE_NAME = "HasTitles"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + private final SysMLExtensions _p; + @CheckForNull + private Property titles; + protected HasTitlesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTitlesProperty() + { + if (titles == null) + { + titles = getTagByName(getStereotype(), TITLES); + } + return titles; + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + Profiles.clearValue(element, getTitlesProperty()); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTitles(Element element) + { + return (java.util.List)Profiles.getValue(element, getTitlesProperty()); + } + + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + @Override + protected void clear() + { + super.clear(); + titles = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hasTitles().getStereotype()); + } + return false; + } + + } + public static class HasTypesStereotype extends StereotypeWrapper + { + + + //stereotype HasTypes and its tags + public static final String STEREOTYPE_NAME = "HasTypes"; + + /** + * Where application, shows the type of an element (ex. attributes in properties table) + */public static final String SHOWTYPE = "showType"; + + private final SysMLExtensions _p; + @CheckForNull + private Property showType; + protected HasTypesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getShowTypeProperty() + { + if (showType == null) + { + showType = getTagByName(getStereotype(), SHOWTYPE); + } + return showType; + } + + public void setShowType(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowTypeProperty(), value); + } + public void clearShowType(Element element) + { + Profiles.clearValue(element, getShowTypeProperty()); + } + + @CheckForNull + public Boolean isShowType(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getShowTypeProperty())); + } + + @Override + protected void clear() + { + super.clear(); + showType = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hasTypes().getStereotype()); + } + return false; + } + + } + public static class HeadersChoosableStereotype extends StereotypeWrapper + { + + + //stereotype HeadersChoosable and its tags + public static final String STEREOTYPE_NAME = "HeadersChoosable"; + + /** + * Applies to certain tables where headers can be customized. As of now - CombinedMatrix and GenericTable + */public static final String HEADERS = "headers"; + + private final SysMLExtensions _p; + @CheckForNull + private Property headers; + protected HeadersChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getHeadersProperty() + { + if (headers == null) + { + headers = getTagByName(getStereotype(), HEADERS); + } + return headers; + } + + public void setHeaders(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getHeadersProperty(), value); + } + public void clearHeaders(Element element) + { + Profiles.clearValue(element, getHeadersProperty()); + } + public void addHeaders(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getHeadersProperty(), value); + } + public void removeHeaders(Element element, String value) + { + java.util.List values = getHeaders(element); + if (values.remove(value)) { + setHeaders(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getHeaders(Element element) + { + return (java.util.List)Profiles.getValue(element, getHeadersProperty()); + } + + @Override + protected void clear() + { + super.clear(); + headers = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.headersChoosable().getStereotype()); + } + return false; + } + + } + public static class HierarchicalPropertiesTableStereotype extends StereotypeWrapper + { + + + //stereotype HierarchicalPropertiesTable and its tags + public static final String STEREOTYPE_NAME = "HierarchicalPropertiesTable"; + + /** + * Optional. Maximum depth of row hierarchy. 0 means infinite and is the default. + */public static final String MAXDEPTH = "maxDepth"; + + /** + * Optional. Specifies what kind of association to follow for hierarchical properties. 1 for composite, 2 for shared, 0 for both (default is 0). + */public static final String TOPASSOCIATIONTYPE = "topAssociationType"; + + /** + * Optional. Exclude properties with these names. + */public static final String TOPEXCLUDENAME = "topExcludeName"; + + /** + * Optional. Exclude properties with these stereotypes or whose type has these stereotypes. + */public static final String TOPEXCLUDESTEREOTYPE = "topExcludeStereotype"; + + /** + * Optional. Exclude properties whose type are these type names. + */public static final String TOPEXCLUDETYPENAME = "topExcludeTypeName"; + + /** + * Optional. Include properties with these names. + */public static final String TOPINCLUDENAME = "topIncludeName"; + + /** + * Optional. Include properties with these stereotypes or whose type has these stereotypes. + */public static final String TOPINCLUDESTEREOTYPE = "topIncludeStereotype"; + + /** + * Optional. Include properties whose type are these type names. + */public static final String TOPINCLUDETYPENAME = "topIncludeTypeName"; + + /** + * Optional. Give a list of property names your want to appear in order. The following rule would be applied: for each property hierarchy level: leaf properties will always appear first, user order will then be applied, the rest is alphabetical. If this is empty and topIncludeName is not empty, the order from topIncludeName will be used for ordering instead. + */public static final String TOPORDER = "topOrder"; + + /** + * Column widths from left to right, create a new value for each column. For View Editor, use % of table or see the 'width' attribute for tag Col https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col. For Docbook, it can be either a fixed measure using one of the CALS units (36pt, 10pc, etc.) or a proportional measure. Proportional measures have the form number* , meaning this column should be number times wider than a column with the measure 1* (or just * ). These two forms can be mixed, as in 3*+1pc . (Description taken from Docbook spec's ColSpec element) + */public static final String COLWIDTHS = "colwidths"; + + /** + * Applies to EMS, if true will not show headers on EMS. + */public static final String HIDEHEADERS = "hideHeaders"; + + /** + * Applies to how it's rendered on EMS, if table has no rows will not show table by default. + */public static final String SHOWIFEMPTY = "showIfEmpty"; + + /** + * This will be set as the class of the resulting html table. + */public static final String STYLE = "style"; + + /** + * If true will rotate table 90 degrees anticlockwise (not really transpose). + */public static final String TRANSPOSE = "transpose"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + /** + * Optional. If a property is a number, this specifies to how many decimal places it will be rendered. + */public static final String FLOATINGPRECISION = "floatingPrecision"; + + /** + * Consider inherited properties (except those that are redefined) Default is false. + */public static final String INCLUDEINHERITED = "includeInherited"; + + private final SysMLExtensions _p; + @CheckForNull + private Property maxDepth; + @CheckForNull + private Property topAssociationType; + @CheckForNull + private Property topExcludeName; + @CheckForNull + private Property topExcludeStereotype; + @CheckForNull + private Property topExcludeTypeName; + @CheckForNull + private Property topIncludeName; + @CheckForNull + private Property topIncludeStereotype; + @CheckForNull + private Property topIncludeTypeName; + @CheckForNull + private Property topOrder; + protected HierarchicalPropertiesTableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getMaxDepthProperty() + { + if (maxDepth == null) + { + maxDepth = getTagByName(getStereotype(), MAXDEPTH); + } + return maxDepth; + } + + @CheckForNull + public Property getTopAssociationTypeProperty() + { + if (topAssociationType == null) + { + topAssociationType = getTagByName(getStereotype(), TOPASSOCIATIONTYPE); + } + return topAssociationType; + } + + @CheckForNull + public Property getTopExcludeNameProperty() + { + if (topExcludeName == null) + { + topExcludeName = getTagByName(getStereotype(), TOPEXCLUDENAME); + } + return topExcludeName; + } + + @CheckForNull + public Property getTopExcludeStereotypeProperty() + { + if (topExcludeStereotype == null) + { + topExcludeStereotype = getTagByName(getStereotype(), TOPEXCLUDESTEREOTYPE); + } + return topExcludeStereotype; + } + + @CheckForNull + public Property getTopExcludeTypeNameProperty() + { + if (topExcludeTypeName == null) + { + topExcludeTypeName = getTagByName(getStereotype(), TOPEXCLUDETYPENAME); + } + return topExcludeTypeName; + } + + @CheckForNull + public Property getTopIncludeNameProperty() + { + if (topIncludeName == null) + { + topIncludeName = getTagByName(getStereotype(), TOPINCLUDENAME); + } + return topIncludeName; + } + + @CheckForNull + public Property getTopIncludeStereotypeProperty() + { + if (topIncludeStereotype == null) + { + topIncludeStereotype = getTagByName(getStereotype(), TOPINCLUDESTEREOTYPE); + } + return topIncludeStereotype; + } + + @CheckForNull + public Property getTopIncludeTypeNameProperty() + { + if (topIncludeTypeName == null) + { + topIncludeTypeName = getTagByName(getStereotype(), TOPINCLUDETYPENAME); + } + return topIncludeTypeName; + } + + @CheckForNull + public Property getTopOrderProperty() + { + if (topOrder == null) + { + topOrder = getTagByName(getStereotype(), TOPORDER); + } + return topOrder; + } + + @CheckForNull + public Property getColwidthsProperty() + { + return _p.table().getColwidthsProperty(); + } + + @CheckForNull + public Property getHideHeadersProperty() + { + return _p.table().getHideHeadersProperty(); + } + + @CheckForNull + public Property getShowIfEmptyProperty() + { + return _p.table().getShowIfEmptyProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.table().getStyleProperty(); + } + + @CheckForNull + public Property getTransposeProperty() + { + return _p.table().getTransposeProperty(); + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + @CheckForNull + public Property getFloatingPrecisionProperty() + { + return _p.precisionChoosable().getFloatingPrecisionProperty(); + } + + @CheckForNull + public Property getIncludeInheritedProperty() + { + return _p.includeInheritedChoosable().getIncludeInheritedProperty(); + } + + public void setMaxDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getMaxDepthProperty(), value); + } + public void clearMaxDepth(Element element) + { + Profiles.clearValue(element, getMaxDepthProperty()); + } + + @CheckForNull + public Integer getMaxDepth(Element element) + { + return toInteger(Profiles.getFirstValue(element, getMaxDepthProperty())); + } + + public void setTopAssociationType(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTopAssociationTypeProperty(), value); + } + public void clearTopAssociationType(Element element) + { + Profiles.clearValue(element, getTopAssociationTypeProperty()); + } + + @CheckForNull + public Integer getTopAssociationType(Element element) + { + return toInteger(Profiles.getFirstValue(element, getTopAssociationTypeProperty())); + } + + public void setTopExcludeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopExcludeNameProperty(), value); + } + public void clearTopExcludeName(Element element) + { + Profiles.clearValue(element, getTopExcludeNameProperty()); + } + public void addTopExcludeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopExcludeNameProperty(), value); + } + public void removeTopExcludeName(Element element, Element value) + { + java.util.List values = getTopExcludeName(element); + if (values.remove(value)) { + setTopExcludeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopExcludeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopExcludeNameProperty()); + } + + public void setTopExcludeStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopExcludeStereotypeProperty(), value); + } + public void clearTopExcludeStereotype(Element element) + { + Profiles.clearValue(element, getTopExcludeStereotypeProperty()); + } + public void addTopExcludeStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopExcludeStereotypeProperty(), value); + } + public void removeTopExcludeStereotype(Element element, Element value) + { + java.util.List values = getTopExcludeStereotype(element); + if (values.remove(value)) { + setTopExcludeStereotype(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopExcludeStereotype(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopExcludeStereotypeProperty()); + } + + public void setTopExcludeTypeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopExcludeTypeNameProperty(), value); + } + public void clearTopExcludeTypeName(Element element) + { + Profiles.clearValue(element, getTopExcludeTypeNameProperty()); + } + public void addTopExcludeTypeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopExcludeTypeNameProperty(), value); + } + public void removeTopExcludeTypeName(Element element, Element value) + { + java.util.List values = getTopExcludeTypeName(element); + if (values.remove(value)) { + setTopExcludeTypeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopExcludeTypeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopExcludeTypeNameProperty()); + } + + public void setTopIncludeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopIncludeNameProperty(), value); + } + public void clearTopIncludeName(Element element) + { + Profiles.clearValue(element, getTopIncludeNameProperty()); + } + public void addTopIncludeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopIncludeNameProperty(), value); + } + public void removeTopIncludeName(Element element, Element value) + { + java.util.List values = getTopIncludeName(element); + if (values.remove(value)) { + setTopIncludeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopIncludeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopIncludeNameProperty()); + } + + public void setTopIncludeStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopIncludeStereotypeProperty(), value); + } + public void clearTopIncludeStereotype(Element element) + { + Profiles.clearValue(element, getTopIncludeStereotypeProperty()); + } + public void addTopIncludeStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopIncludeStereotypeProperty(), value); + } + public void removeTopIncludeStereotype(Element element, Element value) + { + java.util.List values = getTopIncludeStereotype(element); + if (values.remove(value)) { + setTopIncludeStereotype(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopIncludeStereotype(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopIncludeStereotypeProperty()); + } + + public void setTopIncludeTypeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopIncludeTypeNameProperty(), value); + } + public void clearTopIncludeTypeName(Element element) + { + Profiles.clearValue(element, getTopIncludeTypeNameProperty()); + } + public void addTopIncludeTypeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopIncludeTypeNameProperty(), value); + } + public void removeTopIncludeTypeName(Element element, Element value) + { + java.util.List values = getTopIncludeTypeName(element); + if (values.remove(value)) { + setTopIncludeTypeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopIncludeTypeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopIncludeTypeNameProperty()); + } + + public void setTopOrder(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopOrderProperty(), value); + } + public void clearTopOrder(Element element) + { + Profiles.clearValue(element, getTopOrderProperty()); + } + public void addTopOrder(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopOrderProperty(), value); + } + public void removeTopOrder(Element element, Element value) + { + java.util.List values = getTopOrder(element); + if (values.remove(value)) { + setTopOrder(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getTopOrder(Element element) + { + return (java.util.List)Profiles.getValue(element, getTopOrderProperty()); + } + + public void setColwidths(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void clearColwidths(Element element) + { + _p.table().clearColwidths(element); + } + public void addColwidths(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void removeColwidths(Element element, String value) + { + java.util.List values = getColwidths(element); + if (values.remove(value)) { + setColwidths(element, values); + } + } + public java.util.List getColwidths(Element element) + { + return _p.table().getColwidths(element); + } + public void setHideHeaders(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getHideHeadersProperty(), value); + } + public void clearHideHeaders(Element element) + { + _p.table().clearHideHeaders(element); + } + @CheckForNull + public Boolean isHideHeaders(Element element) + { + return _p.table().isHideHeaders(element); + } + public void setShowIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowIfEmptyProperty(), value); + } + public void clearShowIfEmpty(Element element) + { + _p.table().clearShowIfEmpty(element); + } + @CheckForNull + public Boolean isShowIfEmpty(Element element) + { + return _p.table().isShowIfEmpty(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.table().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.table().getStyle(element); + } + public void setTranspose(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getTransposeProperty(), value); + } + public void clearTranspose(Element element) + { + _p.table().clearTranspose(element); + } + @CheckForNull + public Boolean isTranspose(Element element) + { + return _p.table().isTranspose(element); + } + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + public void setFloatingPrecision(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getFloatingPrecisionProperty(), value); + } + public void clearFloatingPrecision(Element element) + { + _p.precisionChoosable().clearFloatingPrecision(element); + } + @CheckForNull + public Integer getFloatingPrecision(Element element) + { + return _p.precisionChoosable().getFloatingPrecision(element); + } + public void setIncludeInherited(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeInheritedProperty(), value); + } + public void clearIncludeInherited(Element element) + { + _p.includeInheritedChoosable().clearIncludeInherited(element); + } + @CheckForNull + public Boolean isIncludeInherited(Element element) + { + return _p.includeInheritedChoosable().isIncludeInherited(element); + } + @Override + protected void clear() + { + super.clear(); + maxDepth = null; + topAssociationType = null; + topExcludeName = null; + topExcludeStereotype = null; + topExcludeTypeName = null; + topIncludeName = null; + topIncludeStereotype = null; + topIncludeTypeName = null; + topOrder = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.hierarchicalPropertiesTable().getStereotype()); + } + return false; + } + + } + public static class IgnorableStereotype extends StereotypeWrapper + { + + + //stereotype Ignorable and its tags + public static final String STEREOTYPE_NAME = "Ignorable"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + private final SysMLExtensions _p; + @CheckForNull + private Property ignore; + protected IgnorableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIgnoreProperty() + { + if (ignore == null) + { + ignore = getTagByName(getStereotype(), IGNORE); + } + return ignore; + } + + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + Profiles.clearValue(element, getIgnoreProperty()); + } + + @CheckForNull + public Boolean isIgnore(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIgnoreProperty())); + } + + @Override + protected void clear() + { + super.clear(); + ignore = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.ignorable().getStereotype()); + } + return false; + } + + } + public static class ImageStereotype extends StereotypeWrapper + { + + + //stereotype Image and its tags + public static final String STEREOTYPE_NAME = "Image"; + + /** + * If this is true, the diagram will be generated, but will not be put into the document at this place. This is for the side effect only. Default is false. + */public static final String DONOTSHOW = "doNotShow"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + private final SysMLExtensions _p; + @CheckForNull + private Property doNotShow; + protected ImageStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDoNotShowProperty() + { + if (doNotShow == null) + { + doNotShow = getTagByName(getStereotype(), DONOTSHOW); + } + return doNotShow; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + public void setDoNotShow(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getDoNotShowProperty(), value); + } + public void clearDoNotShow(Element element) + { + Profiles.clearValue(element, getDoNotShowProperty()); + } + + @CheckForNull + public Boolean isDoNotShow(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getDoNotShowProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + @Override + protected void clear() + { + super.clear(); + doNotShow = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.image().getStereotype()); + } + return false; + } + + } + public static class IncludeChoosableStereotype extends StereotypeWrapper + { + + + //stereotype IncludeChoosable and its tags + public static final String STEREOTYPE_NAME = "IncludeChoosable"; + + /** + * Applicable for filtering, choose whether the indicated filter criteria is for inclusion or exclusion. + */public static final String INCLUDE = "include"; + + private final SysMLExtensions _p; + @CheckForNull + private Property include; + protected IncludeChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeProperty() + { + if (include == null) + { + include = getTagByName(getStereotype(), INCLUDE); + } + return include; + } + + public void setInclude(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeProperty(), value); + } + public void clearInclude(Element element) + { + Profiles.clearValue(element, getIncludeProperty()); + } + + @CheckForNull + public Boolean isInclude(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIncludeProperty())); + } + + @Override + protected void clear() + { + super.clear(); + include = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.includeChoosable().getStereotype()); + } + return false; + } + + } + public static class IncludeInheritedChoosableStereotype extends StereotypeWrapper + { + + + //stereotype IncludeInheritedChoosable and its tags + public static final String STEREOTYPE_NAME = "IncludeInheritedChoosable"; + + /** + * Consider inherited properties (except those that are redefined) Default is false. + */public static final String INCLUDEINHERITED = "includeInherited"; + + private final SysMLExtensions _p; + @CheckForNull + private Property includeInherited; + protected IncludeInheritedChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeInheritedProperty() + { + if (includeInherited == null) + { + includeInherited = getTagByName(getStereotype(), INCLUDEINHERITED); + } + return includeInherited; + } + + public void setIncludeInherited(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeInheritedProperty(), value); + } + public void clearIncludeInherited(Element element) + { + Profiles.clearValue(element, getIncludeInheritedProperty()); + } + + @CheckForNull + public Boolean isIncludeInherited(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIncludeInheritedProperty())); + } + + @Override + protected void clear() + { + super.clear(); + includeInherited = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.includeInheritedChoosable().getStereotype()); + } + return false; + } + + } + public static class IntersectionStereotype extends StereotypeWrapper + { + + + //stereotype Intersection and its tags + public static final String STEREOTYPE_NAME = "Intersection"; + + private final SysMLExtensions _p; + protected IntersectionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.JoinNode && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.JoinNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.intersection().getStereotype()); + } + return false; + } + + } + public static class JavaExtensionStereotype extends StereotypeWrapper + { + + + //stereotype JavaExtension and its tags + public static final String STEREOTYPE_NAME = "JavaExtension"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + protected JavaExtensionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.javaExtension().getStereotype()); + } + return false; + } + + } + public static class LoopableStereotype extends StereotypeWrapper + { + + + //stereotype Loopable and its tags + public static final String STEREOTYPE_NAME = "Loopable"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + @CheckForNull + private Property loop; + protected LoopableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getLoopProperty() + { + if (loop == null) + { + loop = getTagByName(getStereotype(), LOOP); + } + return loop; + } + + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + Profiles.clearValue(element, getLoopProperty()); + } + + @CheckForNull + public Boolean isLoop(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getLoopProperty())); + } + + @Override + protected void clear() + { + super.clear(); + loop = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.loopable().getStereotype()); + } + return false; + } + + } + public static class MetaclassChoosableStereotype extends StereotypeWrapper + { + + + //stereotype MetaclassChoosable and its tags + public static final String STEREOTYPE_NAME = "MetaclassChoosable"; + + /** + * List of metaclasses for filtering. These are "classes" that come from the UML Standard Profile that comes with Magicdraw, inside the UML 2 Metamodel. In the selection dialog that pops up, if you can't find these classes, make sure a little button with the metamodel icon is "checked". + */public static final String METACLASSES = "metaclasses"; + + private final SysMLExtensions _p; + @CheckForNull + private Property metaclasses; + protected MetaclassChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getMetaclassesProperty() + { + if (metaclasses == null) + { + metaclasses = getTagByName(getStereotype(), METACLASSES); + } + return metaclasses; + } + + public void setMetaclasses(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getMetaclassesProperty(), value); + } + public void clearMetaclasses(Element element) + { + Profiles.clearValue(element, getMetaclassesProperty()); + } + public void addMetaclasses(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getMetaclassesProperty(), value); + } + public void removeMetaclasses(Element element, Element value) + { + java.util.List values = getMetaclasses(element); + if (values.remove(value)) { + setMetaclasses(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getMetaclasses(Element element) + { + return (java.util.List)Profiles.getValue(element, getMetaclassesProperty()); + } + + @Override + protected void clear() + { + super.clear(); + metaclasses = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.metaclassChoosable().getStereotype()); + } + return false; + } + + } + public static class MethodStereotype extends StereotypeWrapper + { + + + //stereotype Method and its tags + public static final String STEREOTYPE_NAME = "Method"; + + /** + * If true, adds view, viewpoint, method (activity), "AddressedTo" elements and "Covers" elements to list of elements passed into viewpoint. + */public static final String INCLUDEVIEWPOINTELEMENTS = "includeViewpointElements"; + + private final SysMLExtensions _p; + @CheckForNull + private Property includeViewpointElements; + protected MethodStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncludeViewpointElementsProperty() + { + if (includeViewpointElements == null) + { + includeViewpointElements = getTagByName(getStereotype(), INCLUDEVIEWPOINTELEMENTS); + } + return includeViewpointElements; + } + + public void setIncludeViewpointElements(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeViewpointElementsProperty(), value); + } + public void clearIncludeViewpointElements(Element element) + { + Profiles.clearValue(element, getIncludeViewpointElementsProperty()); + } + + @CheckForNull + public Boolean isIncludeViewpointElements(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIncludeViewpointElementsProperty())); + } + + @Override + protected void clear() + { + super.clear(); + includeViewpointElements = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.method().getStereotype()); + } + return false; + } + + } + public static class ModelManagementSystemStereotype extends StereotypeWrapper + { + + + //stereotype ModelManagementSystem and its tags + public static final String STEREOTYPE_NAME = "ModelManagementSystem"; + public static final String MMS_URL = "MMS URL"; + + private final SysMLExtensions _p; + @CheckForNull + private Property mmsurl; + protected ModelManagementSystemStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getMmsURLProperty() + { + if (mmsurl == null) + { + mmsurl = getTagByName(getStereotype(), MMS_URL); + } + return mmsurl; + } + + public void setMmsURL(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getMmsURLProperty(), value); + } + public void clearMmsURL(Element element) + { + Profiles.clearValue(element, getMmsURLProperty()); + } + public void addMmsURL(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getMmsURLProperty(), value); + } + public void removeMmsURL(Element element, String value) + { + java.util.List values = getMmsURL(element); + if (values.remove(value)) { + setMmsURL(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getMmsURL(Element element) + { + return (java.util.List)Profiles.getValue(element, getMmsURLProperty()); + } + + @Override + protected void clear() + { + super.clear(); + mmsurl = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdmodels.Model && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdmodels.Model) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.modelManagementSystem().getStereotype()); + } + return false; + } + + } + public static class NameChoosableStereotype extends StereotypeWrapper + { + + + //stereotype NameChoosable and its tags + public static final String STEREOTYPE_NAME = "NameChoosable"; + + /** + * List of regular expression strings. See java.util.regex.Pattern for how regex patterns work. + */public static final String NAMES = "names"; + + private final SysMLExtensions _p; + @CheckForNull + private Property names; + protected NameChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getNamesProperty() + { + if (names == null) + { + names = getTagByName(getStereotype(), NAMES); + } + return names; + } + + public void setNames(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getNamesProperty(), value); + } + public void clearNames(Element element) + { + Profiles.clearValue(element, getNamesProperty()); + } + public void addNames(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getNamesProperty(), value); + } + public void removeNames(Element element, String value) + { + java.util.List values = getNames(element); + if (values.remove(value)) { + setNames(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getNames(Element element) + { + return (java.util.List)Profiles.getValue(element, getNamesProperty()); + } + + @Override + protected void clear() + { + super.clear(); + names = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.nameChoosable().getStereotype()); + } + return false; + } + + } + public static class ParagraphStereotype extends StereotypeWrapper + { + + + //stereotype Paragraph and its tags + public static final String STEREOTYPE_NAME = "Paragraph"; + + /** + * Required if a literal paragraph (not as a query). The text of your paragraph. You can include any docbook tags within your text, but if you do, make sure they are valid and complete, and include starting and ending "para" tags around your whole body. + */public static final String BODY = "body"; + + /** + * If true, will take ocl in body and apply to input elements. + */public static final String EVALUATEOCL = "evaluateOcl"; + + /** + * If ocl is true, whether to apply ocl to each input elements or as a collection. + */public static final String ITERATE = "iterate"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + /** + * The attribute can be name, documentation, or value (in the case of property or slots) + */public static final String DESIREDATTRIBUTE = "desiredAttribute"; + public static final String EDITABLE = "editable"; + + private final SysMLExtensions _p; + @CheckForNull + private Property body; + @CheckForNull + private Property evaluateOcl; + @CheckForNull + private Property iterate; + protected ParagraphStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getBodyProperty() + { + if (body == null) + { + body = getTagByName(getStereotype(), BODY); + } + return body; + } + + @CheckForNull + public Property getEvaluateOclProperty() + { + if (evaluateOcl == null) + { + evaluateOcl = getTagByName(getStereotype(), EVALUATEOCL); + } + return evaluateOcl; + } + + @CheckForNull + public Property getIterateProperty() + { + if (iterate == null) + { + iterate = getTagByName(getStereotype(), ITERATE); + } + return iterate; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + @CheckForNull + public Property getDesiredAttributeProperty() + { + return _p.attributeChoosable().getDesiredAttributeProperty(); + } + + @CheckForNull + public Property getEditableProperty() + { + return _p.editableChoosable().getEditableProperty(); + } + + public void setBody(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getBodyProperty(), value); + } + public void clearBody(Element element) + { + Profiles.clearValue(element, getBodyProperty()); + } + + @CheckForNull + public String getBody(Element element) + { + return toString(Profiles.getFirstValue(element, getBodyProperty())); + } + + public void setEvaluateOcl(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEvaluateOclProperty(), value); + } + public void clearEvaluateOcl(Element element) + { + Profiles.clearValue(element, getEvaluateOclProperty()); + } + + @CheckForNull + public Boolean isEvaluateOcl(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getEvaluateOclProperty())); + } + + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + Profiles.clearValue(element, getIterateProperty()); + } + + @CheckForNull + public Boolean isIterate(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIterateProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + public void setDesiredAttribute(Element element, @CheckForNull AttributeEnum value) + { + Profiles.setValue(element, getStereotype(), getDesiredAttributeProperty(), value != null ? value.getText() : null); + } + public void clearDesiredAttribute(Element element) + { + _p.attributeChoosable().clearDesiredAttribute(element); + } + @CheckForNull + public AttributeEnum getDesiredAttribute(Element element) + { + return _p.attributeChoosable().getDesiredAttribute(element); + } + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + _p.editableChoosable().clearEditable(element); + } + @CheckForNull + public Boolean isEditable(Element element) + { + return _p.editableChoosable().isEditable(element); + } + @Override + protected void clear() + { + super.clear(); + body = null; + evaluateOcl = null; + iterate = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.paragraph().getStereotype()); + } + return false; + } + + } + public static class ParallelStereotype extends StereotypeWrapper + { + + + //stereotype Parallel and its tags + public static final String STEREOTYPE_NAME = "Parallel"; + + private final SysMLExtensions _p; + protected ParallelStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.ForkNode && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.ForkNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.parallel().getStereotype()); + } + return false; + } + + } + public static class PlotStereotype extends StereotypeWrapper + { + + + //stereotype Plot and its tags + public static final String STEREOTYPE_NAME = "Plot"; + public static final String PLOTCONFIGURATION = "plotConfiguration"; + public static final String PLOTTITLE = "plotTitle"; + public static final String PLOTTYPE = "plotType"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + @CheckForNull + private Property plotConfiguration; + @CheckForNull + private Property plotTitle; + @CheckForNull + private Property plotType; + protected PlotStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getPlotConfigurationProperty() + { + if (plotConfiguration == null) + { + plotConfiguration = getTagByName(getStereotype(), PLOTCONFIGURATION); + } + return plotConfiguration; + } + + @CheckForNull + public Property getPlotTitleProperty() + { + if (plotTitle == null) + { + plotTitle = getTagByName(getStereotype(), PLOTTITLE); + } + return plotTitle; + } + + @CheckForNull + public Property getPlotTypeProperty() + { + if (plotType == null) + { + plotType = getTagByName(getStereotype(), PLOTTYPE); + } + return plotType; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setPlotConfiguration(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getPlotConfigurationProperty(), value); + } + public void clearPlotConfiguration(Element element) + { + Profiles.clearValue(element, getPlotConfigurationProperty()); + } + + @CheckForNull + public String getPlotConfiguration(Element element) + { + return toString(Profiles.getFirstValue(element, getPlotConfigurationProperty())); + } + + public void setPlotTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getPlotTitleProperty(), value); + } + public void clearPlotTitle(Element element) + { + Profiles.clearValue(element, getPlotTitleProperty()); + } + + @CheckForNull + public String getPlotTitle(Element element) + { + return toString(Profiles.getFirstValue(element, getPlotTitleProperty())); + } + + public void setPlotType(Element element, @CheckForNull PlotTypeEnum value) + { + Profiles.setValue(element, getStereotype(), getPlotTypeProperty(), value != null ? value.getText() : null); + } + public void clearPlotType(Element element) + { + Profiles.clearValue(element, getPlotTypeProperty()); + } + + @CheckForNull + public PlotTypeEnum getPlotType(Element element) + { + return PlotTypeEnum.from(Profiles.getFirstValue(element, getPlotTypeProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + protected void clear() + { + super.clear(); + plotConfiguration = null; + plotTitle = null; + plotType = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.plot().getStereotype()); + } + return false; + } + + } + public static class PrecisionChoosableStereotype extends StereotypeWrapper + { + + + //stereotype PrecisionChoosable and its tags + public static final String STEREOTYPE_NAME = "PrecisionChoosable"; + + /** + * Optional. If a property is a number, this specifies to how many decimal places it will be rendered. + */public static final String FLOATINGPRECISION = "floatingPrecision"; + + private final SysMLExtensions _p; + @CheckForNull + private Property floatingPrecision; + protected PrecisionChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getFloatingPrecisionProperty() + { + if (floatingPrecision == null) + { + floatingPrecision = getTagByName(getStereotype(), FLOATINGPRECISION); + } + return floatingPrecision; + } + + public void setFloatingPrecision(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getFloatingPrecisionProperty(), value); + } + public void clearFloatingPrecision(Element element) + { + Profiles.clearValue(element, getFloatingPrecisionProperty()); + } + + @CheckForNull + public Integer getFloatingPrecision(Element element) + { + return toInteger(Profiles.getFirstValue(element, getFloatingPrecisionProperty())); + } + + @Override + protected void clear() + { + super.clear(); + floatingPrecision = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.precisionChoosable().getStereotype()); + } + return false; + } + + } + public static class ProductStereotype extends StereotypeWrapper + { + + + //stereotype Product and its tags + public static final String STEREOTYPE_NAME = "Product"; + + /** + * The Approver(s) of the document. You may have as many as you want. The format is: + Firstname,Lastname,jobtitle,organization,section. Example: + Peter J.,Di Pasquale,Ground Data Systems Engineer,JPL,393b + */public static final String APPROVER = "Approver"; + + /** + * The Author(s) of the document. You may have as many as you want. The format is: + Firstname,Lastname,jobtitle,organization,section. Example: + Peter J.,Di Pasquale,Ground Data Systems Engineer,JPL,393b + */public static final String AUTHOR = "Author"; + + /** + * You may add as many collaborator emails as you like by pressing the + button and adding one email per plus. + */public static final String COLLABORATOR_EMAIL = "Collaborator Email"; + + /** + * The concurrence section of the document. You may have as many as you want. The format is: + Firstname,Lastname,jobtitle,organization,section. Example: + + Peter J.,Di Pasquale,Ground Data Systems Engineer,JPL,393b + */public static final String CONCURRENCE = "Concurrence"; + + /** + * The abbreviated title of the document. + */public static final String DOCUMENT_ACRONYM = "Document Acronym"; + + /** + * Legal notice for the document footer. Default value is to display that paper documents may not be current. + */public static final String FOOTER_LEGAL_NOTICE = "Footer Legal Notice"; + + /** + * The title of the project. + + */public static final String FORMAL_PROJECT_TITLE = "Formal Project Title"; + + /** + * Link to a logo image + */public static final String INSTLOGO = "InstLogo"; + public static final String INSTLOGOSIZE = "InstLogoSize"; + + /** + * Jet Propulsion Laboratory + */public static final String INSTTXT1 = "Insttxt1"; + + /** + * California Institute of Technology + */public static final String INSTTXT2 = "Insttxt2"; + + /** + * Supported Alignments are: "left", "right", "center". + */public static final String LOGO_ALIGNMENT = "Logo Alignment"; + + /** + * This is the file location of your logo. It can be a local file, or a file accessible via the Internet. + */public static final String LOGO_LOCATION = "Logo Location"; + public static final String LOGO_SIZE = "Logo Size"; + + /** + * Project Acronym + */public static final String PROJECT_ACRONYM = "Project Acronym"; + + /** + * Set to one for blank pages, set to zero for none. Note: Currently not functional. + */public static final String REMOVE_BLANK_PAGES = "Remove Blank Pages"; + + /** + * The history of the revision. You may have as many as you want. + Must follow this format: + Version|DateEdited|EditorFirstName|EditorLastName|Changes. Example: + + Draft|4/12/13|John Q|Smith|Document Created + + */public static final String REVISION_HISTORY = "Revision History"; + + /** + * Supressing the metadata removes all JPL stylesheet information. The default is false such that all stylesheet information like the authors, approves, logo, ..etc. are included in the render of the document. + */public static final String SUPRESSMETADATA = "SupressMetadata"; + + /** + * JPL Standard Legal Notice. Default value is to display not cleared for export control. + */public static final String TITLE_PAGE_LEGAL_NOTICE = "Title Page Legal Notice"; + + /** + * For Images + */public static final String CAPTION = "caption"; + public static final String COLLECTVIEWACTIONS = "collectViewActions"; + public static final String ELEMENTS = "elements"; + public static final String STYLE = "style"; + public static final String STAKEHOLDER = "stakeholder"; + + /** + * The viewpoint for this View, derived from the supplier of the conform dependency whose client is this View. + */public static final String VIEWPOINT = "viewPoint"; + + /** + * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends. + */public static final String ISENCAPSULATED = "isEncapsulated"; + public static final String ACKNOWLEDGEMENTS = "acknowledgements"; + + /** + * Optional stylesheet parameter. Whether to chunk first sections. If not, this means in html, each section or chapter page will include the first section. Default is true. (Only matters to docweb) + */public static final String CHUNKFIRSTSECTIONS = "chunkFirstSections"; + + /** + * Optional stylesheet parameter. This is for html chunking - what's the max depth of a section that'll be put on a different page. Default is 20. (Only matters to docweb) + */public static final String CHUNKSECTIONDEPTH = "chunkSectionDepth"; + + /** + * Optional. The Diagram to display on the cover page, right after title and authors (if there's any) + */public static final String COVERIMAGE = "coverImage"; + public static final String FIGURECONTEXTDEPTH = "figureContextDepth"; + public static final String FIGURESEPARATOR = "figureSeparator"; + + /** + * Optional footer string on each page of the document. (for docweb) Do not put docbook tags in here! This should be a simple string with no markup. + */public static final String FOOTER = "footer"; + + /** + * This property allows you to specify whether you will generate new versions of images associated with the document. If you are generating frequently and not changing the images, this is useful because generating images slows the generation process significantly when there are a lot of images. If an image does not exist yet, it will be generated regardless of whether this property is checked. + */public static final String GENNEWIMAGES = "genNewImages"; + + /** + * Optional header string on each page of the document. (for docweb) Do not put docbook tags in here! This should be a simple string with no markup. + */public static final String HEADER = "header"; + + /** + * Check this box to generate an index. To register things that should go in the index you must place a tag at the point in the text where the reader should be referred if they were to look it up. Use the following syntax: + some term + ]]> + + + */public static final String INDEX = "index"; + + /** + * Optional. A string to display after a coverImage if there's any. + */public static final String LEGALNOTICE = "legalNotice"; + + /** + * This is the subtitle of the document. It usually appears under the title in italics, or after a colon. The formatting is up to you. + */public static final String SUBTITLE = "subtitle"; + + /** + * Optional stylesheet parameter. How many nested sections to display in table of contents for html. Default is 20. (Only matters to docweb) + */public static final String TOCSECTIONDEPTH = "tocSectionDepth"; + + /** + * Title of a section/appendix + */public static final String TITLE = "title"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + private final SysMLExtensions _p; + @CheckForNull + private Property approver; + @CheckForNull + private Property author; + @CheckForNull + private Property collaboratorEmail; + @CheckForNull + private Property concurrence; + @CheckForNull + private Property documentAcronym; + @CheckForNull + private Property footerLegalNotice; + @CheckForNull + private Property formalProjectTitle; + @CheckForNull + private Property instLogo; + @CheckForNull + private Property instLogoSize; + @CheckForNull + private Property insttxt1; + @CheckForNull + private Property insttxt2; + @CheckForNull + private Property logoAlignment; + @CheckForNull + private Property logoLocation; + @CheckForNull + private Property logoSize; + @CheckForNull + private Property projectAcronym; + @CheckForNull + private Property removeBlankPages; + @CheckForNull + private Property revisionHistory; + @CheckForNull + private Property supressMetadata; + @CheckForNull + private Property titlePageLegalNotice; + @CheckForNull + private Property stakeholder; + @CheckForNull + private Property viewPoint; + @CheckForNull + private Property isEncapsulated; + protected ProductStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getApproverProperty() + { + if (approver == null) + { + approver = getTagByName(getStereotype(), APPROVER); + } + return approver; + } + + @CheckForNull + public Property getAuthorProperty() + { + if (author == null) + { + author = getTagByName(getStereotype(), AUTHOR); + } + return author; + } + + @CheckForNull + public Property getCollaboratorEmailProperty() + { + if (collaboratorEmail == null) + { + collaboratorEmail = getTagByName(getStereotype(), COLLABORATOR_EMAIL); + } + return collaboratorEmail; + } + + @CheckForNull + public Property getConcurrenceProperty() + { + if (concurrence == null) + { + concurrence = getTagByName(getStereotype(), CONCURRENCE); + } + return concurrence; + } + + @CheckForNull + public Property getDocumentAcronymProperty() + { + if (documentAcronym == null) + { + documentAcronym = getTagByName(getStereotype(), DOCUMENT_ACRONYM); + } + return documentAcronym; + } + + @CheckForNull + public Property getFooterLegalNoticeProperty() + { + if (footerLegalNotice == null) + { + footerLegalNotice = getTagByName(getStereotype(), FOOTER_LEGAL_NOTICE); + } + return footerLegalNotice; + } + + @CheckForNull + public Property getFormalProjectTitleProperty() + { + if (formalProjectTitle == null) + { + formalProjectTitle = getTagByName(getStereotype(), FORMAL_PROJECT_TITLE); + } + return formalProjectTitle; + } + + @CheckForNull + public Property getInstLogoProperty() + { + if (instLogo == null) + { + instLogo = getTagByName(getStereotype(), INSTLOGO); + } + return instLogo; + } + + @CheckForNull + public Property getInstLogoSizeProperty() + { + if (instLogoSize == null) + { + instLogoSize = getTagByName(getStereotype(), INSTLOGOSIZE); + } + return instLogoSize; + } + + @CheckForNull + public Property getInsttxt1Property() + { + if (insttxt1 == null) + { + insttxt1 = getTagByName(getStereotype(), INSTTXT1); + } + return insttxt1; + } + + @CheckForNull + public Property getInsttxt2Property() + { + if (insttxt2 == null) + { + insttxt2 = getTagByName(getStereotype(), INSTTXT2); + } + return insttxt2; + } + + @CheckForNull + public Property getLogoAlignmentProperty() + { + if (logoAlignment == null) + { + logoAlignment = getTagByName(getStereotype(), LOGO_ALIGNMENT); + } + return logoAlignment; + } + + @CheckForNull + public Property getLogoLocationProperty() + { + if (logoLocation == null) + { + logoLocation = getTagByName(getStereotype(), LOGO_LOCATION); + } + return logoLocation; + } + + @CheckForNull + public Property getLogoSizeProperty() + { + if (logoSize == null) + { + logoSize = getTagByName(getStereotype(), LOGO_SIZE); + } + return logoSize; + } + + @CheckForNull + public Property getProjectAcronymProperty() + { + if (projectAcronym == null) + { + projectAcronym = getTagByName(getStereotype(), PROJECT_ACRONYM); + } + return projectAcronym; + } + + @CheckForNull + public Property getRemoveBlankPagesProperty() + { + if (removeBlankPages == null) + { + removeBlankPages = getTagByName(getStereotype(), REMOVE_BLANK_PAGES); + } + return removeBlankPages; + } + + @CheckForNull + public Property getRevisionHistoryProperty() + { + if (revisionHistory == null) + { + revisionHistory = getTagByName(getStereotype(), REVISION_HISTORY); + } + return revisionHistory; + } + + @CheckForNull + public Property getSupressMetadataProperty() + { + if (supressMetadata == null) + { + supressMetadata = getTagByName(getStereotype(), SUPRESSMETADATA); + } + return supressMetadata; + } + + @CheckForNull + public Property getTitlePageLegalNoticeProperty() + { + if (titlePageLegalNotice == null) + { + titlePageLegalNotice = getTagByName(getStereotype(), TITLE_PAGE_LEGAL_NOTICE); + } + return titlePageLegalNotice; + } + + @CheckForNull + public Property getCaptionProperty() + { + return _p.view().getCaptionProperty(); + } + + @CheckForNull + public Property getCollectViewActionsProperty() + { + return _p.view().getCollectViewActionsProperty(); + } + + @CheckForNull + public Property getElementsProperty() + { + return _p.view().getElementsProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.view().getStyleProperty(); + } + + @CheckForNull + public Property getStakeholderProperty() + { + if (stakeholder == null) + { + stakeholder = getTagByName(getStereotype(), STAKEHOLDER); + } + return stakeholder; + } + + @CheckForNull + public Property getViewPointProperty() + { + if (viewPoint == null) + { + viewPoint = getTagByName(getStereotype(), VIEWPOINT); + } + return viewPoint; + } + + @CheckForNull + public Property getIsEncapsulatedProperty() + { + if (isEncapsulated == null) + { + isEncapsulated = getTagByName(getStereotype(), ISENCAPSULATED); + } + return isEncapsulated; + } + + @CheckForNull + public Property getAcknowledgementsProperty() + { + return _p.documentMeta().getAcknowledgementsProperty(); + } + + @CheckForNull + public Property getChunkFirstSectionsProperty() + { + return _p.documentMeta().getChunkFirstSectionsProperty(); + } + + @CheckForNull + public Property getChunkSectionDepthProperty() + { + return _p.documentMeta().getChunkSectionDepthProperty(); + } + + @CheckForNull + public Property getCoverImageProperty() + { + return _p.documentMeta().getCoverImageProperty(); + } + + @CheckForNull + public Property getFigureContextDepthProperty() + { + return _p.documentMeta().getFigureContextDepthProperty(); + } + + @CheckForNull + public Property getFigureSeparatorProperty() + { + return _p.documentMeta().getFigureSeparatorProperty(); + } + + @CheckForNull + public Property getFooterProperty() + { + return _p.documentMeta().getFooterProperty(); + } + + @CheckForNull + public Property getGenNewImagesProperty() + { + return _p.documentMeta().getGenNewImagesProperty(); + } + + @CheckForNull + public Property getHeaderProperty() + { + return _p.documentMeta().getHeaderProperty(); + } + + @CheckForNull + public Property getIndexProperty() + { + return _p.documentMeta().getIndexProperty(); + } + + @CheckForNull + public Property getLegalNoticeProperty() + { + return _p.documentMeta().getLegalNoticeProperty(); + } + + @CheckForNull + public Property getSubtitleProperty() + { + return _p.documentMeta().getSubtitleProperty(); + } + + @CheckForNull + public Property getTocSectionDepthProperty() + { + return _p.documentMeta().getTocSectionDepthProperty(); + } + + @CheckForNull + public Property getTitleProperty() + { + return _p.hasTitle().getTitleProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + public void setApprover(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getApproverProperty(), value); + } + public void clearApprover(Element element) + { + Profiles.clearValue(element, getApproverProperty()); + } + public void addApprover(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getApproverProperty(), value); + } + public void removeApprover(Element element, String value) + { + java.util.List values = getApprover(element); + if (values.remove(value)) { + setApprover(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getApprover(Element element) + { + return (java.util.List)Profiles.getValue(element, getApproverProperty()); + } + + public void setAuthor(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getAuthorProperty(), value); + } + public void clearAuthor(Element element) + { + Profiles.clearValue(element, getAuthorProperty()); + } + public void addAuthor(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getAuthorProperty(), value); + } + public void removeAuthor(Element element, String value) + { + java.util.List values = getAuthor(element); + if (values.remove(value)) { + setAuthor(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getAuthor(Element element) + { + return (java.util.List)Profiles.getValue(element, getAuthorProperty()); + } + + public void setCollaboratorEmail(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCollaboratorEmailProperty(), value); + } + public void clearCollaboratorEmail(Element element) + { + Profiles.clearValue(element, getCollaboratorEmailProperty()); + } + public void addCollaboratorEmail(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCollaboratorEmailProperty(), value); + } + public void removeCollaboratorEmail(Element element, String value) + { + java.util.List values = getCollaboratorEmail(element); + if (values.remove(value)) { + setCollaboratorEmail(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getCollaboratorEmail(Element element) + { + return (java.util.List)Profiles.getValue(element, getCollaboratorEmailProperty()); + } + + public void setConcurrence(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getConcurrenceProperty(), value); + } + public void clearConcurrence(Element element) + { + Profiles.clearValue(element, getConcurrenceProperty()); + } + public void addConcurrence(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getConcurrenceProperty(), value); + } + public void removeConcurrence(Element element, String value) + { + java.util.List values = getConcurrence(element); + if (values.remove(value)) { + setConcurrence(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getConcurrence(Element element) + { + return (java.util.List)Profiles.getValue(element, getConcurrenceProperty()); + } + + public void setDocumentAcronym(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getDocumentAcronymProperty(), value); + } + public void clearDocumentAcronym(Element element) + { + Profiles.clearValue(element, getDocumentAcronymProperty()); + } + + @CheckForNull + public String getDocumentAcronym(Element element) + { + return toString(Profiles.getFirstValue(element, getDocumentAcronymProperty())); + } + + public void setFooterLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFooterLegalNoticeProperty(), value); + } + public void clearFooterLegalNotice(Element element) + { + Profiles.clearValue(element, getFooterLegalNoticeProperty()); + } + + @CheckForNull + public String getFooterLegalNotice(Element element) + { + return toString(Profiles.getFirstValue(element, getFooterLegalNoticeProperty())); + } + + public void setFormalProjectTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFormalProjectTitleProperty(), value); + } + public void clearFormalProjectTitle(Element element) + { + Profiles.clearValue(element, getFormalProjectTitleProperty()); + } + + @CheckForNull + public String getFormalProjectTitle(Element element) + { + return toString(Profiles.getFirstValue(element, getFormalProjectTitleProperty())); + } + + public void setInstLogo(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInstLogoProperty(), value); + } + public void clearInstLogo(Element element) + { + Profiles.clearValue(element, getInstLogoProperty()); + } + + @CheckForNull + public String getInstLogo(Element element) + { + return toString(Profiles.getFirstValue(element, getInstLogoProperty())); + } + + public void setInstLogoSize(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInstLogoSizeProperty(), value); + } + public void clearInstLogoSize(Element element) + { + Profiles.clearValue(element, getInstLogoSizeProperty()); + } + + @CheckForNull + public String getInstLogoSize(Element element) + { + return toString(Profiles.getFirstValue(element, getInstLogoSizeProperty())); + } + + public void setInsttxt1(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInsttxt1Property(), value); + } + public void clearInsttxt1(Element element) + { + Profiles.clearValue(element, getInsttxt1Property()); + } + + @CheckForNull + public String getInsttxt1(Element element) + { + return toString(Profiles.getFirstValue(element, getInsttxt1Property())); + } + + public void setInsttxt2(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getInsttxt2Property(), value); + } + public void clearInsttxt2(Element element) + { + Profiles.clearValue(element, getInsttxt2Property()); + } + + @CheckForNull + public String getInsttxt2(Element element) + { + return toString(Profiles.getFirstValue(element, getInsttxt2Property())); + } + + public void setLogoAlignment(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLogoAlignmentProperty(), value); + } + public void clearLogoAlignment(Element element) + { + Profiles.clearValue(element, getLogoAlignmentProperty()); + } + + @CheckForNull + public String getLogoAlignment(Element element) + { + return toString(Profiles.getFirstValue(element, getLogoAlignmentProperty())); + } + + public void setLogoLocation(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLogoLocationProperty(), value); + } + public void clearLogoLocation(Element element) + { + Profiles.clearValue(element, getLogoLocationProperty()); + } + + @CheckForNull + public String getLogoLocation(Element element) + { + return toString(Profiles.getFirstValue(element, getLogoLocationProperty())); + } + + public void setLogoSize(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLogoSizeProperty(), value); + } + public void clearLogoSize(Element element) + { + Profiles.clearValue(element, getLogoSizeProperty()); + } + + @CheckForNull + public String getLogoSize(Element element) + { + return toString(Profiles.getFirstValue(element, getLogoSizeProperty())); + } + + public void setProjectAcronym(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getProjectAcronymProperty(), value); + } + public void clearProjectAcronym(Element element) + { + Profiles.clearValue(element, getProjectAcronymProperty()); + } + + @CheckForNull + public String getProjectAcronym(Element element) + { + return toString(Profiles.getFirstValue(element, getProjectAcronymProperty())); + } + + public void setRemoveBlankPages(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getRemoveBlankPagesProperty(), value); + } + public void clearRemoveBlankPages(Element element) + { + Profiles.clearValue(element, getRemoveBlankPagesProperty()); + } + + @CheckForNull + public Boolean isRemoveBlankPages(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getRemoveBlankPagesProperty())); + } + + public void setRevisionHistory(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getRevisionHistoryProperty(), value); + } + public void clearRevisionHistory(Element element) + { + Profiles.clearValue(element, getRevisionHistoryProperty()); + } + public void addRevisionHistory(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getRevisionHistoryProperty(), value); + } + public void removeRevisionHistory(Element element, String value) + { + java.util.List values = getRevisionHistory(element); + if (values.remove(value)) { + setRevisionHistory(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getRevisionHistory(Element element) + { + return (java.util.List)Profiles.getValue(element, getRevisionHistoryProperty()); + } + + public void setSupressMetadata(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSupressMetadataProperty(), value); + } + public void clearSupressMetadata(Element element) + { + Profiles.clearValue(element, getSupressMetadataProperty()); + } + + @CheckForNull + public Boolean isSupressMetadata(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getSupressMetadataProperty())); + } + + public void setTitlePageLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePageLegalNoticeProperty(), value); + } + public void clearTitlePageLegalNotice(Element element) + { + Profiles.clearValue(element, getTitlePageLegalNoticeProperty()); + } + + @CheckForNull + public String getTitlePageLegalNotice(Element element) + { + return toString(Profiles.getFirstValue(element, getTitlePageLegalNoticeProperty())); + } + + public void setCaption(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getCaptionProperty(), value); + } + public void clearCaption(Element element) + { + _p.view().clearCaption(element); + } + @CheckForNull + public String getCaption(Element element) + { + return _p.view().getCaption(element); + } + public void setCollectViewActions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getCollectViewActionsProperty(), value); + } + public void clearCollectViewActions(Element element) + { + _p.view().clearCollectViewActions(element); + } + @CheckForNull + public Boolean isCollectViewActions(Element element) + { + return _p.view().isCollectViewActions(element); + } + public void setElements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getElementsProperty(), value); + } + public void clearElements(Element element) + { + _p.view().clearElements(element); + } + @CheckForNull + public String getElements(Element element) + { + return _p.view().getElements(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.view().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.view().getStyle(element); + } + public void setStakeholder(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void clearStakeholder(Element element) + { + Profiles.clearValue(element, getStakeholderProperty()); + } + public void addStakeholder(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void removeStakeholder(Element element, Element value) + { + java.util.List values = getStakeholder(element); + if (values.remove(value)) { + setStakeholder(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getStakeholder(Element element) + { + return (java.util.List)Profiles.getValue(element, getStakeholderProperty()); + } + + public void setViewPoint(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getViewPointProperty(), value); + } + public void clearViewPoint(Element element) + { + Profiles.clearValue(element, getViewPointProperty()); + } + + @CheckForNull + public Element getViewPoint(Element element) + { + return (Element)Profiles.getFirstValue(element, getViewPointProperty()); + } + + public void setIsEncapsulated(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIsEncapsulatedProperty(), value); + } + public void clearIsEncapsulated(Element element) + { + Profiles.clearValue(element, getIsEncapsulatedProperty()); + } + + @CheckForNull + public Boolean isIsEncapsulated(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIsEncapsulatedProperty())); + } + + public void setAcknowledgements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getAcknowledgementsProperty(), value); + } + public void clearAcknowledgements(Element element) + { + _p.documentMeta().clearAcknowledgements(element); + } + @CheckForNull + public String getAcknowledgements(Element element) + { + return _p.documentMeta().getAcknowledgements(element); + } + public void setChunkFirstSections(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getChunkFirstSectionsProperty(), value); + } + public void clearChunkFirstSections(Element element) + { + _p.documentMeta().clearChunkFirstSections(element); + } + @CheckForNull + public Boolean isChunkFirstSections(Element element) + { + return _p.documentMeta().isChunkFirstSections(element); + } + public void setChunkSectionDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getChunkSectionDepthProperty(), value); + } + public void clearChunkSectionDepth(Element element) + { + _p.documentMeta().clearChunkSectionDepth(element); + } + @CheckForNull + public Integer getChunkSectionDepth(Element element) + { + return _p.documentMeta().getChunkSectionDepth(element); + } + public void setCoverImage(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getCoverImageProperty(), value); + } + public void clearCoverImage(Element element) + { + _p.documentMeta().clearCoverImage(element); + } + @CheckForNull + public Element getCoverImage(Element element) + { + return _p.documentMeta().getCoverImage(element); + } + public void setFigureContextDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getFigureContextDepthProperty(), value); + } + public void clearFigureContextDepth(Element element) + { + _p.documentMeta().clearFigureContextDepth(element); + } + @CheckForNull + public Integer getFigureContextDepth(Element element) + { + return _p.documentMeta().getFigureContextDepth(element); + } + public void setFigureSeparator(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getFigureSeparatorProperty(), value); + } + public void clearFigureSeparator(Element element) + { + _p.documentMeta().clearFigureSeparator(element); + } + @CheckForNull + public String getFigureSeparator(Element element) + { + return _p.documentMeta().getFigureSeparator(element); + } + public void setFooter(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getFooterProperty(), value); + } + public void clearFooter(Element element) + { + _p.documentMeta().clearFooter(element); + } + public void addFooter(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getFooterProperty(), value); + } + public void removeFooter(Element element, String value) + { + java.util.List values = getFooter(element); + if (values.remove(value)) { + setFooter(element, values); + } + } + public java.util.List getFooter(Element element) + { + return _p.documentMeta().getFooter(element); + } + public void setGenNewImages(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getGenNewImagesProperty(), value); + } + public void clearGenNewImages(Element element) + { + _p.documentMeta().clearGenNewImages(element); + } + @CheckForNull + public Boolean isGenNewImages(Element element) + { + return _p.documentMeta().isGenNewImages(element); + } + public void setHeader(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getHeaderProperty(), value); + } + public void clearHeader(Element element) + { + _p.documentMeta().clearHeader(element); + } + public void addHeader(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getHeaderProperty(), value); + } + public void removeHeader(Element element, String value) + { + java.util.List values = getHeader(element); + if (values.remove(value)) { + setHeader(element, values); + } + } + public java.util.List getHeader(Element element) + { + return _p.documentMeta().getHeader(element); + } + public void setIndex(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIndexProperty(), value); + } + public void clearIndex(Element element) + { + _p.documentMeta().clearIndex(element); + } + @CheckForNull + public Boolean isIndex(Element element) + { + return _p.documentMeta().isIndex(element); + } + public void setLegalNotice(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getLegalNoticeProperty(), value); + } + public void clearLegalNotice(Element element) + { + _p.documentMeta().clearLegalNotice(element); + } + @CheckForNull + public String getLegalNotice(Element element) + { + return _p.documentMeta().getLegalNotice(element); + } + public void setSubtitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getSubtitleProperty(), value); + } + public void clearSubtitle(Element element) + { + _p.documentMeta().clearSubtitle(element); + } + @CheckForNull + public String getSubtitle(Element element) + { + return _p.documentMeta().getSubtitle(element); + } + public void setTocSectionDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTocSectionDepthProperty(), value); + } + public void clearTocSectionDepth(Element element) + { + _p.documentMeta().clearTocSectionDepth(element); + } + @CheckForNull + public Integer getTocSectionDepth(Element element) + { + return _p.documentMeta().getTocSectionDepth(element); + } + public void setTitle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleProperty(), value); + } + public void clearTitle(Element element) + { + _p.hasTitle().clearTitle(element); + } + @CheckForNull + public String getTitle(Element element) + { + return _p.hasTitle().getTitle(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + @Override + protected void clear() + { + super.clear(); + approver = null; + author = null; + collaboratorEmail = null; + concurrence = null; + documentAcronym = null; + footerLegalNotice = null; + formalProjectTitle = null; + instLogo = null; + instLogoSize = null; + insttxt1 = null; + insttxt2 = null; + logoAlignment = null; + logoLocation = null; + logoSize = null; + projectAcronym = null; + removeBlankPages = null; + revisionHistory = null; + supressMetadata = null; + titlePageLegalNotice = null; + stakeholder = null; + viewPoint = null; + isEncapsulated = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.product().getStereotype()); + } + return false; + } + + } + public static class PropertiesTableByAttributesStereotype extends StereotypeWrapper + { + + + //stereotype PropertiesTableByAttributes and its tags + public static final String STEREOTYPE_NAME = "PropertiesTableByAttributes"; + + /** + * Instead of showing properties down the left, properties with the same type are consolidated and the type block is shown instead. + */public static final String CONSOLIDATETYPES = "consolidateTypes"; + + /** + * Whether to do the rollup before printing the table in docgen. Note the rollup properties needs to be locked, so on docweb this won't do anything. + */public static final String DOROLLUP = "doRollup"; + + /** + * The property to roll up (sum). The value should be a list of properties that defines a path from the system block to the property to roll up. The names of the property list will be used to find the roll up property for each block. + */public static final String ROLLUPPROPERTY = "rollupProperty"; + + /** + * Shows a column right after documentation that shows the multiplicity of the property, or if consolidateTypes is checked, the overall number of units of that block (under its parent block). Note this number is the count of what would have been shown if it wasn't checked, the count occurs after all the filtering are done. + */public static final String SHOWMULTIPLICITY = "showMultiplicity"; + + /** + * Optional. This specifies the stereotypes on blocks that indicates they should be treated as properties in the hierarchy. From the system hierarchy, everything underneath a block with this stereotype will be moved up top (with its own property hierarchy). If empty, this means all properties across the columns will be leaf properties. + */public static final String SPLITSTEREOTYPE = "splitStereotype"; + + /** + * Optional. Specifies what kind of association to follow for hierarchical systems. 1 for composite, 2 for shared, 0 for both (default is 0). + */public static final String SYSTEMASSOCIATIONTYPE = "systemAssociationType"; + + /** + * Optional. Exclude system whose role has these names + */public static final String SYSTEMEXCLUDENAME = "systemExcludeName"; + + /** + * Optional. Exclude system properties with these stereotypes or whose system type block has these stereotypes + */public static final String SYSTEMEXCLUDESTEREOTYPE = "systemExcludeStereotype"; + + /** + * Optional. Exclude systems whose type block has these names. + */public static final String SYSTEMEXCLUDETYPENAME = "systemExcludeTypeName"; + + /** + * Optional. Include system whose role has these names. + */public static final String SYSTEMINCLUDENAME = "systemIncludeName"; + + /** + * Optional. Include system properties with these stereotypes or whose type has these stereotypes. + */public static final String SYSTEMINCLUDESTEREOTYPE = "systemIncludeStereotype"; + + /** + * Optional. Include systems whose type block has these names. + */public static final String SYSTEMINCLUDETYPENAME = "systemIncludeTypeName"; + + /** + * Optional. Maximum depth of row hierarchy. 0 means infinite and is the default. + */public static final String MAXDEPTH = "maxDepth"; + + /** + * Optional. Specifies what kind of association to follow for hierarchical properties. 1 for composite, 2 for shared, 0 for both (default is 0). + */public static final String TOPASSOCIATIONTYPE = "topAssociationType"; + + /** + * Optional. Exclude properties with these names. + */public static final String TOPEXCLUDENAME = "topExcludeName"; + + /** + * Optional. Exclude properties with these stereotypes or whose type has these stereotypes. + */public static final String TOPEXCLUDESTEREOTYPE = "topExcludeStereotype"; + + /** + * Optional. Exclude properties whose type are these type names. + */public static final String TOPEXCLUDETYPENAME = "topExcludeTypeName"; + + /** + * Optional. Include properties with these names. + */public static final String TOPINCLUDENAME = "topIncludeName"; + + /** + * Optional. Include properties with these stereotypes or whose type has these stereotypes. + */public static final String TOPINCLUDESTEREOTYPE = "topIncludeStereotype"; + + /** + * Optional. Include properties whose type are these type names. + */public static final String TOPINCLUDETYPENAME = "topIncludeTypeName"; + + /** + * Optional. Give a list of property names your want to appear in order. The following rule would be applied: for each property hierarchy level: leaf properties will always appear first, user order will then be applied, the rest is alphabetical. If this is empty and topIncludeName is not empty, the order from topIncludeName will be used for ordering instead. + */public static final String TOPORDER = "topOrder"; + + /** + * Column widths from left to right, create a new value for each column. For View Editor, use % of table or see the 'width' attribute for tag Col https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col. For Docbook, it can be either a fixed measure using one of the CALS units (36pt, 10pc, etc.) or a proportional measure. Proportional measures have the form number* , meaning this column should be number times wider than a column with the measure 1* (or just * ). These two forms can be mixed, as in 3*+1pc . (Description taken from Docbook spec's ColSpec element) + */public static final String COLWIDTHS = "colwidths"; + + /** + * Applies to EMS, if true will not show headers on EMS. + */public static final String HIDEHEADERS = "hideHeaders"; + + /** + * Applies to how it's rendered on EMS, if table has no rows will not show table by default. + */public static final String SHOWIFEMPTY = "showIfEmpty"; + + /** + * This will be set as the class of the resulting html table. + */public static final String STYLE = "style"; + + /** + * If true will rotate table 90 degrees anticlockwise (not really transpose). + */public static final String TRANSPOSE = "transpose"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + /** + * Optional. If a property is a number, this specifies to how many decimal places it will be rendered. + */public static final String FLOATINGPRECISION = "floatingPrecision"; + + /** + * Consider inherited properties (except those that are redefined) Default is false. + */public static final String INCLUDEINHERITED = "includeInherited"; + + private final SysMLExtensions _p; + @CheckForNull + private Property consolidateTypes; + @CheckForNull + private Property doRollup; + @CheckForNull + private Property rollupProperty; + @CheckForNull + private Property showMultiplicity; + @CheckForNull + private Property splitStereotype; + @CheckForNull + private Property systemAssociationType; + @CheckForNull + private Property systemExcludeName; + @CheckForNull + private Property systemExcludeStereotype; + @CheckForNull + private Property systemExcludeTypeName; + @CheckForNull + private Property systemIncludeName; + @CheckForNull + private Property systemIncludeStereotype; + @CheckForNull + private Property systemIncludeTypeName; + protected PropertiesTableByAttributesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getConsolidateTypesProperty() + { + if (consolidateTypes == null) + { + consolidateTypes = getTagByName(getStereotype(), CONSOLIDATETYPES); + } + return consolidateTypes; + } + + @CheckForNull + public Property getDoRollupProperty() + { + if (doRollup == null) + { + doRollup = getTagByName(getStereotype(), DOROLLUP); + } + return doRollup; + } + + @CheckForNull + public Property getRollupPropertyProperty() + { + if (rollupProperty == null) + { + rollupProperty = getTagByName(getStereotype(), ROLLUPPROPERTY); + } + return rollupProperty; + } + + @CheckForNull + public Property getShowMultiplicityProperty() + { + if (showMultiplicity == null) + { + showMultiplicity = getTagByName(getStereotype(), SHOWMULTIPLICITY); + } + return showMultiplicity; + } + + @CheckForNull + public Property getSplitStereotypeProperty() + { + if (splitStereotype == null) + { + splitStereotype = getTagByName(getStereotype(), SPLITSTEREOTYPE); + } + return splitStereotype; + } + + @CheckForNull + public Property getSystemAssociationTypeProperty() + { + if (systemAssociationType == null) + { + systemAssociationType = getTagByName(getStereotype(), SYSTEMASSOCIATIONTYPE); + } + return systemAssociationType; + } + + @CheckForNull + public Property getSystemExcludeNameProperty() + { + if (systemExcludeName == null) + { + systemExcludeName = getTagByName(getStereotype(), SYSTEMEXCLUDENAME); + } + return systemExcludeName; + } + + @CheckForNull + public Property getSystemExcludeStereotypeProperty() + { + if (systemExcludeStereotype == null) + { + systemExcludeStereotype = getTagByName(getStereotype(), SYSTEMEXCLUDESTEREOTYPE); + } + return systemExcludeStereotype; + } + + @CheckForNull + public Property getSystemExcludeTypeNameProperty() + { + if (systemExcludeTypeName == null) + { + systemExcludeTypeName = getTagByName(getStereotype(), SYSTEMEXCLUDETYPENAME); + } + return systemExcludeTypeName; + } + + @CheckForNull + public Property getSystemIncludeNameProperty() + { + if (systemIncludeName == null) + { + systemIncludeName = getTagByName(getStereotype(), SYSTEMINCLUDENAME); + } + return systemIncludeName; + } + + @CheckForNull + public Property getSystemIncludeStereotypeProperty() + { + if (systemIncludeStereotype == null) + { + systemIncludeStereotype = getTagByName(getStereotype(), SYSTEMINCLUDESTEREOTYPE); + } + return systemIncludeStereotype; + } + + @CheckForNull + public Property getSystemIncludeTypeNameProperty() + { + if (systemIncludeTypeName == null) + { + systemIncludeTypeName = getTagByName(getStereotype(), SYSTEMINCLUDETYPENAME); + } + return systemIncludeTypeName; + } + + @CheckForNull + public Property getMaxDepthProperty() + { + return _p.hierarchicalPropertiesTable().getMaxDepthProperty(); + } + + @CheckForNull + public Property getTopAssociationTypeProperty() + { + return _p.hierarchicalPropertiesTable().getTopAssociationTypeProperty(); + } + + @CheckForNull + public Property getTopExcludeNameProperty() + { + return _p.hierarchicalPropertiesTable().getTopExcludeNameProperty(); + } + + @CheckForNull + public Property getTopExcludeStereotypeProperty() + { + return _p.hierarchicalPropertiesTable().getTopExcludeStereotypeProperty(); + } + + @CheckForNull + public Property getTopExcludeTypeNameProperty() + { + return _p.hierarchicalPropertiesTable().getTopExcludeTypeNameProperty(); + } + + @CheckForNull + public Property getTopIncludeNameProperty() + { + return _p.hierarchicalPropertiesTable().getTopIncludeNameProperty(); + } + + @CheckForNull + public Property getTopIncludeStereotypeProperty() + { + return _p.hierarchicalPropertiesTable().getTopIncludeStereotypeProperty(); + } + + @CheckForNull + public Property getTopIncludeTypeNameProperty() + { + return _p.hierarchicalPropertiesTable().getTopIncludeTypeNameProperty(); + } + + @CheckForNull + public Property getTopOrderProperty() + { + return _p.hierarchicalPropertiesTable().getTopOrderProperty(); + } + + @CheckForNull + public Property getColwidthsProperty() + { + return _p.table().getColwidthsProperty(); + } + + @CheckForNull + public Property getHideHeadersProperty() + { + return _p.table().getHideHeadersProperty(); + } + + @CheckForNull + public Property getShowIfEmptyProperty() + { + return _p.table().getShowIfEmptyProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.table().getStyleProperty(); + } + + @CheckForNull + public Property getTransposeProperty() + { + return _p.table().getTransposeProperty(); + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + @CheckForNull + public Property getFloatingPrecisionProperty() + { + return _p.precisionChoosable().getFloatingPrecisionProperty(); + } + + @CheckForNull + public Property getIncludeInheritedProperty() + { + return _p.includeInheritedChoosable().getIncludeInheritedProperty(); + } + + public void setConsolidateTypes(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getConsolidateTypesProperty(), value); + } + public void clearConsolidateTypes(Element element) + { + Profiles.clearValue(element, getConsolidateTypesProperty()); + } + + @CheckForNull + public Boolean isConsolidateTypes(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getConsolidateTypesProperty())); + } + + public void setDoRollup(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getDoRollupProperty(), value); + } + public void clearDoRollup(Element element) + { + Profiles.clearValue(element, getDoRollupProperty()); + } + + @CheckForNull + public Boolean isDoRollup(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getDoRollupProperty())); + } + + public void setRollupProperty(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getRollupPropertyProperty(), value); + } + public void clearRollupProperty(Element element) + { + Profiles.clearValue(element, getRollupPropertyProperty()); + } + public void addRollupProperty(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getRollupPropertyProperty(), value); + } + public void removeRollupProperty(Element element, Element value) + { + java.util.List values = getRollupProperty(element); + if (values.remove(value)) { + setRollupProperty(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getRollupProperty(Element element) + { + return (java.util.List)Profiles.getValue(element, getRollupPropertyProperty()); + } + + public void setShowMultiplicity(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowMultiplicityProperty(), value); + } + public void clearShowMultiplicity(Element element) + { + Profiles.clearValue(element, getShowMultiplicityProperty()); + } + + @CheckForNull + public Boolean isShowMultiplicity(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getShowMultiplicityProperty())); + } + + public void setSplitStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSplitStereotypeProperty(), value); + } + public void clearSplitStereotype(Element element) + { + Profiles.clearValue(element, getSplitStereotypeProperty()); + } + public void addSplitStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSplitStereotypeProperty(), value); + } + public void removeSplitStereotype(Element element, Element value) + { + java.util.List values = getSplitStereotype(element); + if (values.remove(value)) { + setSplitStereotype(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSplitStereotype(Element element) + { + return (java.util.List)Profiles.getValue(element, getSplitStereotypeProperty()); + } + + public void setSystemAssociationType(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getSystemAssociationTypeProperty(), value); + } + public void clearSystemAssociationType(Element element) + { + Profiles.clearValue(element, getSystemAssociationTypeProperty()); + } + + @CheckForNull + public Integer getSystemAssociationType(Element element) + { + return toInteger(Profiles.getFirstValue(element, getSystemAssociationTypeProperty())); + } + + public void setSystemExcludeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSystemExcludeNameProperty(), value); + } + public void clearSystemExcludeName(Element element) + { + Profiles.clearValue(element, getSystemExcludeNameProperty()); + } + public void addSystemExcludeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSystemExcludeNameProperty(), value); + } + public void removeSystemExcludeName(Element element, Element value) + { + java.util.List values = getSystemExcludeName(element); + if (values.remove(value)) { + setSystemExcludeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSystemExcludeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getSystemExcludeNameProperty()); + } + + public void setSystemExcludeStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSystemExcludeStereotypeProperty(), value); + } + public void clearSystemExcludeStereotype(Element element) + { + Profiles.clearValue(element, getSystemExcludeStereotypeProperty()); + } + public void addSystemExcludeStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSystemExcludeStereotypeProperty(), value); + } + public void removeSystemExcludeStereotype(Element element, Element value) + { + java.util.List values = getSystemExcludeStereotype(element); + if (values.remove(value)) { + setSystemExcludeStereotype(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSystemExcludeStereotype(Element element) + { + return (java.util.List)Profiles.getValue(element, getSystemExcludeStereotypeProperty()); + } + + public void setSystemExcludeTypeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSystemExcludeTypeNameProperty(), value); + } + public void clearSystemExcludeTypeName(Element element) + { + Profiles.clearValue(element, getSystemExcludeTypeNameProperty()); + } + public void addSystemExcludeTypeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSystemExcludeTypeNameProperty(), value); + } + public void removeSystemExcludeTypeName(Element element, Element value) + { + java.util.List values = getSystemExcludeTypeName(element); + if (values.remove(value)) { + setSystemExcludeTypeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSystemExcludeTypeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getSystemExcludeTypeNameProperty()); + } + + public void setSystemIncludeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSystemIncludeNameProperty(), value); + } + public void clearSystemIncludeName(Element element) + { + Profiles.clearValue(element, getSystemIncludeNameProperty()); + } + public void addSystemIncludeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSystemIncludeNameProperty(), value); + } + public void removeSystemIncludeName(Element element, Element value) + { + java.util.List values = getSystemIncludeName(element); + if (values.remove(value)) { + setSystemIncludeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSystemIncludeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getSystemIncludeNameProperty()); + } + + public void setSystemIncludeStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSystemIncludeStereotypeProperty(), value); + } + public void clearSystemIncludeStereotype(Element element) + { + Profiles.clearValue(element, getSystemIncludeStereotypeProperty()); + } + public void addSystemIncludeStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSystemIncludeStereotypeProperty(), value); + } + public void removeSystemIncludeStereotype(Element element, Element value) + { + java.util.List values = getSystemIncludeStereotype(element); + if (values.remove(value)) { + setSystemIncludeStereotype(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSystemIncludeStereotype(Element element) + { + return (java.util.List)Profiles.getValue(element, getSystemIncludeStereotypeProperty()); + } + + public void setSystemIncludeTypeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getSystemIncludeTypeNameProperty(), value); + } + public void clearSystemIncludeTypeName(Element element) + { + Profiles.clearValue(element, getSystemIncludeTypeNameProperty()); + } + public void addSystemIncludeTypeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getSystemIncludeTypeNameProperty(), value); + } + public void removeSystemIncludeTypeName(Element element, Element value) + { + java.util.List values = getSystemIncludeTypeName(element); + if (values.remove(value)) { + setSystemIncludeTypeName(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getSystemIncludeTypeName(Element element) + { + return (java.util.List)Profiles.getValue(element, getSystemIncludeTypeNameProperty()); + } + + public void setMaxDepth(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getMaxDepthProperty(), value); + } + public void clearMaxDepth(Element element) + { + _p.hierarchicalPropertiesTable().clearMaxDepth(element); + } + @CheckForNull + public Integer getMaxDepth(Element element) + { + return _p.hierarchicalPropertiesTable().getMaxDepth(element); + } + public void setTopAssociationType(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTopAssociationTypeProperty(), value); + } + public void clearTopAssociationType(Element element) + { + _p.hierarchicalPropertiesTable().clearTopAssociationType(element); + } + @CheckForNull + public Integer getTopAssociationType(Element element) + { + return _p.hierarchicalPropertiesTable().getTopAssociationType(element); + } + public void setTopExcludeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopExcludeNameProperty(), value); + } + public void clearTopExcludeName(Element element) + { + _p.hierarchicalPropertiesTable().clearTopExcludeName(element); + } + public void addTopExcludeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopExcludeNameProperty(), value); + } + public void removeTopExcludeName(Element element, Element value) + { + java.util.List values = getTopExcludeName(element); + if (values.remove(value)) { + setTopExcludeName(element, values); + } + } + public java.util.List getTopExcludeName(Element element) + { + return _p.hierarchicalPropertiesTable().getTopExcludeName(element); + } + public void setTopExcludeStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopExcludeStereotypeProperty(), value); + } + public void clearTopExcludeStereotype(Element element) + { + _p.hierarchicalPropertiesTable().clearTopExcludeStereotype(element); + } + public void addTopExcludeStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopExcludeStereotypeProperty(), value); + } + public void removeTopExcludeStereotype(Element element, Element value) + { + java.util.List values = getTopExcludeStereotype(element); + if (values.remove(value)) { + setTopExcludeStereotype(element, values); + } + } + public java.util.List getTopExcludeStereotype(Element element) + { + return _p.hierarchicalPropertiesTable().getTopExcludeStereotype(element); + } + public void setTopExcludeTypeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopExcludeTypeNameProperty(), value); + } + public void clearTopExcludeTypeName(Element element) + { + _p.hierarchicalPropertiesTable().clearTopExcludeTypeName(element); + } + public void addTopExcludeTypeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopExcludeTypeNameProperty(), value); + } + public void removeTopExcludeTypeName(Element element, Element value) + { + java.util.List values = getTopExcludeTypeName(element); + if (values.remove(value)) { + setTopExcludeTypeName(element, values); + } + } + public java.util.List getTopExcludeTypeName(Element element) + { + return _p.hierarchicalPropertiesTable().getTopExcludeTypeName(element); + } + public void setTopIncludeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopIncludeNameProperty(), value); + } + public void clearTopIncludeName(Element element) + { + _p.hierarchicalPropertiesTable().clearTopIncludeName(element); + } + public void addTopIncludeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopIncludeNameProperty(), value); + } + public void removeTopIncludeName(Element element, Element value) + { + java.util.List values = getTopIncludeName(element); + if (values.remove(value)) { + setTopIncludeName(element, values); + } + } + public java.util.List getTopIncludeName(Element element) + { + return _p.hierarchicalPropertiesTable().getTopIncludeName(element); + } + public void setTopIncludeStereotype(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopIncludeStereotypeProperty(), value); + } + public void clearTopIncludeStereotype(Element element) + { + _p.hierarchicalPropertiesTable().clearTopIncludeStereotype(element); + } + public void addTopIncludeStereotype(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopIncludeStereotypeProperty(), value); + } + public void removeTopIncludeStereotype(Element element, Element value) + { + java.util.List values = getTopIncludeStereotype(element); + if (values.remove(value)) { + setTopIncludeStereotype(element, values); + } + } + public java.util.List getTopIncludeStereotype(Element element) + { + return _p.hierarchicalPropertiesTable().getTopIncludeStereotype(element); + } + public void setTopIncludeTypeName(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopIncludeTypeNameProperty(), value); + } + public void clearTopIncludeTypeName(Element element) + { + _p.hierarchicalPropertiesTable().clearTopIncludeTypeName(element); + } + public void addTopIncludeTypeName(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopIncludeTypeNameProperty(), value); + } + public void removeTopIncludeTypeName(Element element, Element value) + { + java.util.List values = getTopIncludeTypeName(element); + if (values.remove(value)) { + setTopIncludeTypeName(element, values); + } + } + public java.util.List getTopIncludeTypeName(Element element) + { + return _p.hierarchicalPropertiesTable().getTopIncludeTypeName(element); + } + public void setTopOrder(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTopOrderProperty(), value); + } + public void clearTopOrder(Element element) + { + _p.hierarchicalPropertiesTable().clearTopOrder(element); + } + public void addTopOrder(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTopOrderProperty(), value); + } + public void removeTopOrder(Element element, Element value) + { + java.util.List values = getTopOrder(element); + if (values.remove(value)) { + setTopOrder(element, values); + } + } + public java.util.List getTopOrder(Element element) + { + return _p.hierarchicalPropertiesTable().getTopOrder(element); + } + public void setColwidths(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void clearColwidths(Element element) + { + _p.table().clearColwidths(element); + } + public void addColwidths(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void removeColwidths(Element element, String value) + { + java.util.List values = getColwidths(element); + if (values.remove(value)) { + setColwidths(element, values); + } + } + public java.util.List getColwidths(Element element) + { + return _p.table().getColwidths(element); + } + public void setHideHeaders(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getHideHeadersProperty(), value); + } + public void clearHideHeaders(Element element) + { + _p.table().clearHideHeaders(element); + } + @CheckForNull + public Boolean isHideHeaders(Element element) + { + return _p.table().isHideHeaders(element); + } + public void setShowIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowIfEmptyProperty(), value); + } + public void clearShowIfEmpty(Element element) + { + _p.table().clearShowIfEmpty(element); + } + @CheckForNull + public Boolean isShowIfEmpty(Element element) + { + return _p.table().isShowIfEmpty(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.table().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.table().getStyle(element); + } + public void setTranspose(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getTransposeProperty(), value); + } + public void clearTranspose(Element element) + { + _p.table().clearTranspose(element); + } + @CheckForNull + public Boolean isTranspose(Element element) + { + return _p.table().isTranspose(element); + } + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + public void setFloatingPrecision(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getFloatingPrecisionProperty(), value); + } + public void clearFloatingPrecision(Element element) + { + _p.precisionChoosable().clearFloatingPrecision(element); + } + @CheckForNull + public Integer getFloatingPrecision(Element element) + { + return _p.precisionChoosable().getFloatingPrecision(element); + } + public void setIncludeInherited(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeInheritedProperty(), value); + } + public void clearIncludeInherited(Element element) + { + _p.includeInheritedChoosable().clearIncludeInherited(element); + } + @CheckForNull + public Boolean isIncludeInherited(Element element) + { + return _p.includeInheritedChoosable().isIncludeInherited(element); + } + @Override + protected void clear() + { + super.clear(); + consolidateTypes = null; + doRollup = null; + rollupProperty = null; + showMultiplicity = null; + splitStereotype = null; + systemAssociationType = null; + systemExcludeName = null; + systemExcludeStereotype = null; + systemExcludeTypeName = null; + systemIncludeName = null; + systemIncludeStereotype = null; + systemIncludeTypeName = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.propertiesTableByAttributes().getStereotype()); + } + return false; + } + + } + public static class PropertyChoosableStereotype extends StereotypeWrapper + { + + + //stereotype PropertyChoosable and its tags + public static final String STEREOTYPE_NAME = "PropertyChoosable"; + + /** + * Property can be a stereotype property or value property of a class. + */public static final String DESIREDPROPERTY = "desiredProperty"; + + private final SysMLExtensions _p; + @CheckForNull + private Property desiredProperty; + protected PropertyChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getDesiredPropertyProperty() + { + if (desiredProperty == null) + { + desiredProperty = getTagByName(getStereotype(), DESIREDPROPERTY); + } + return desiredProperty; + } + + public void setDesiredProperty(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getDesiredPropertyProperty(), value); + } + public void clearDesiredProperty(Element element) + { + Profiles.clearValue(element, getDesiredPropertyProperty()); + } + + @CheckForNull + public Element getDesiredProperty(Element element) + { + return (Element)Profiles.getFirstValue(element, getDesiredPropertyProperty()); + } + + @Override + protected void clear() + { + super.clear(); + desiredProperty = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.propertyChoosable().getStereotype()); + } + return false; + } + + } + public static class RemoveDuplicatesStereotype extends StereotypeWrapper + { + + + //stereotype RemoveDuplicates and its tags + public static final String STEREOTYPE_NAME = "RemoveDuplicates"; + + private final SysMLExtensions _p; + protected RemoveDuplicatesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.removeDuplicates().getStereotype()); + } + return false; + } + + } + public static class SimulateStereotype extends StereotypeWrapper + { + + + //stereotype Simulate and its tags + public static final String STEREOTYPE_NAME = "Simulate"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + public static final String TIMEOUT = "timeout"; + + private final SysMLExtensions _p; + protected SimulateStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getTimeoutProperty() + { + return _p.hasTimeout().getTimeoutProperty(); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setTimeout(Element element, @CheckForNull Integer value) + { + Profiles.setValue(element, getStereotype(), getTimeoutProperty(), value); + } + public void clearTimeout(Element element) + { + _p.hasTimeout().clearTimeout(element); + } + @CheckForNull + public Integer getTimeout(Element element) + { + return _p.hasTimeout().getTimeout(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.simulate().getStereotype()); + } + return false; + } + + } + public static class SkippableStereotype extends StereotypeWrapper + { + + + //stereotype Skippable and its tags + public static final String STEREOTYPE_NAME = "Skippable"; + + /** + * Applies to sections. If the resulting section is empty, skip the section altogether. + */public static final String SKIPIFEMPTY = "skipIfEmpty"; + + /** + * Applies to sections, if the resulting section is empty, use the indicated string. + */public static final String STRINGIFEMPTY = "stringIfEmpty"; + + private final SysMLExtensions _p; + @CheckForNull + private Property skipIfEmpty; + @CheckForNull + private Property stringIfEmpty; + protected SkippableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getSkipIfEmptyProperty() + { + if (skipIfEmpty == null) + { + skipIfEmpty = getTagByName(getStereotype(), SKIPIFEMPTY); + } + return skipIfEmpty; + } + + @CheckForNull + public Property getStringIfEmptyProperty() + { + if (stringIfEmpty == null) + { + stringIfEmpty = getTagByName(getStereotype(), STRINGIFEMPTY); + } + return stringIfEmpty; + } + + public void setSkipIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getSkipIfEmptyProperty(), value); + } + public void clearSkipIfEmpty(Element element) + { + Profiles.clearValue(element, getSkipIfEmptyProperty()); + } + + @CheckForNull + public Boolean isSkipIfEmpty(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getSkipIfEmptyProperty())); + } + + public void setStringIfEmpty(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStringIfEmptyProperty(), value); + } + public void clearStringIfEmpty(Element element) + { + Profiles.clearValue(element, getStringIfEmptyProperty()); + } + + @CheckForNull + public String getStringIfEmpty(Element element) + { + return toString(Profiles.getFirstValue(element, getStringIfEmptyProperty())); + } + + @Override + protected void clear() + { + super.clear(); + skipIfEmpty = null; + stringIfEmpty = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.skippable().getStereotype()); + } + return false; + } + + } + public static class SortByAttributeStereotype extends StereotypeWrapper + { + + + //stereotype SortByAttribute and its tags + public static final String STEREOTYPE_NAME = "SortByAttribute"; + + /** + * Reverse the sort. + */public static final String REVERSE = "reverse"; + + /** + * The attribute can be name, documentation, or value (in the case of property or slots) + */public static final String DESIREDATTRIBUTE = "desiredAttribute"; + + private final SysMLExtensions _p; + protected SortByAttributeStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getReverseProperty() + { + return _p.sortable().getReverseProperty(); + } + + @CheckForNull + public Property getDesiredAttributeProperty() + { + return _p.attributeChoosable().getDesiredAttributeProperty(); + } + + public void setReverse(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getReverseProperty(), value); + } + public void clearReverse(Element element) + { + _p.sortable().clearReverse(element); + } + @CheckForNull + public Boolean isReverse(Element element) + { + return _p.sortable().isReverse(element); + } + public void setDesiredAttribute(Element element, @CheckForNull AttributeEnum value) + { + Profiles.setValue(element, getStereotype(), getDesiredAttributeProperty(), value != null ? value.getText() : null); + } + public void clearDesiredAttribute(Element element) + { + _p.attributeChoosable().clearDesiredAttribute(element); + } + @CheckForNull + public AttributeEnum getDesiredAttribute(Element element) + { + return _p.attributeChoosable().getDesiredAttribute(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.sortByAttribute().getStereotype()); + } + return false; + } + + } + public static class SortByExpressionStereotype extends StereotypeWrapper + { + + + //stereotype SortByExpression and its tags + public static final String STEREOTYPE_NAME = "SortByExpression"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + /** + * Reverse the sort. + */public static final String REVERSE = "reverse"; + + private final SysMLExtensions _p; + protected SortByExpressionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + @CheckForNull + public Property getReverseProperty() + { + return _p.sortable().getReverseProperty(); + } + + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + public void setReverse(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getReverseProperty(), value); + } + public void clearReverse(Element element) + { + _p.sortable().clearReverse(element); + } + @CheckForNull + public Boolean isReverse(Element element) + { + return _p.sortable().isReverse(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.sortByExpression().getStereotype()); + } + return false; + } + + } + public static class SortByNameStereotype extends StereotypeWrapper + { + + + //stereotype SortByName and its tags + public static final String STEREOTYPE_NAME = "SortByName"; + + /** + * Reverse the sort. + */public static final String REVERSE = "reverse"; + + private final SysMLExtensions _p; + protected SortByNameStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getReverseProperty() + { + return _p.sortable().getReverseProperty(); + } + + public void setReverse(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getReverseProperty(), value); + } + public void clearReverse(Element element) + { + _p.sortable().clearReverse(element); + } + @CheckForNull + public Boolean isReverse(Element element) + { + return _p.sortable().isReverse(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.sortByName().getStereotype()); + } + return false; + } + + } + public static class SortByPropertyStereotype extends StereotypeWrapper + { + + + //stereotype SortByProperty and its tags + public static final String STEREOTYPE_NAME = "SortByProperty"; + + /** + * Reverse the sort. + */public static final String REVERSE = "reverse"; + + /** + * Property can be a stereotype property or value property of a class. + */public static final String DESIREDPROPERTY = "desiredProperty"; + + private final SysMLExtensions _p; + protected SortByPropertyStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getReverseProperty() + { + return _p.sortable().getReverseProperty(); + } + + @CheckForNull + public Property getDesiredPropertyProperty() + { + return _p.propertyChoosable().getDesiredPropertyProperty(); + } + + public void setReverse(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getReverseProperty(), value); + } + public void clearReverse(Element element) + { + _p.sortable().clearReverse(element); + } + @CheckForNull + public Boolean isReverse(Element element) + { + return _p.sortable().isReverse(element); + } + public void setDesiredProperty(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getDesiredPropertyProperty(), value); + } + public void clearDesiredProperty(Element element) + { + _p.propertyChoosable().clearDesiredProperty(element); + } + @CheckForNull + public Element getDesiredProperty(Element element) + { + return _p.propertyChoosable().getDesiredProperty(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.sortByProperty().getStereotype()); + } + return false; + } + + } + public static class SortableStereotype extends StereotypeWrapper + { + + + //stereotype Sortable and its tags + public static final String STEREOTYPE_NAME = "Sortable"; + + /** + * Reverse the sort. + */public static final String REVERSE = "reverse"; + + private final SysMLExtensions _p; + @CheckForNull + private Property reverse; + protected SortableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getReverseProperty() + { + if (reverse == null) + { + reverse = getTagByName(getStereotype(), REVERSE); + } + return reverse; + } + + public void setReverse(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getReverseProperty(), value); + } + public void clearReverse(Element element) + { + Profiles.clearValue(element, getReverseProperty()); + } + + @CheckForNull + public Boolean isReverse(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getReverseProperty())); + } + + @Override + protected void clear() + { + super.clear(); + reverse = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.sortable().getStereotype()); + } + return false; + } + + } + public static class StereotypeChoosableStereotype extends StereotypeWrapper + { + + + //stereotype StereotypeChoosable and its tags + public static final String STEREOTYPE_NAME = "StereotypeChoosable"; + + /** + * List of stereotype for filtering. + */public static final String STEREOTYPES = "stereotypes"; + + private final SysMLExtensions _p; + @CheckForNull + private Property stereotypes; + protected StereotypeChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getStereotypesProperty() + { + if (stereotypes == null) + { + stereotypes = getTagByName(getStereotype(), STEREOTYPES); + } + return stereotypes; + } + + public void setStereotypes(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypesProperty(), value); + } + public void clearStereotypes(Element element) + { + Profiles.clearValue(element, getStereotypesProperty()); + } + public void addStereotypes(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypesProperty(), value); + } + public void removeStereotypes(Element element, Element value) + { + java.util.List values = getStereotypes(element); + if (values.remove(value)) { + setStereotypes(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getStereotypes(Element element) + { + return (java.util.List)Profiles.getValue(element, getStereotypesProperty()); + } + + @Override + protected void clear() + { + super.clear(); + stereotypes = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.stereotypeChoosable().getStereotype()); + } + return false; + } + + } + public static class StereotypePropertiesChoosableStereotype extends StereotypeWrapper + { + + + //stereotype StereotypePropertiesChoosable and its tags + public static final String STEREOTYPE_NAME = "StereotypePropertiesChoosable"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + private final SysMLExtensions _p; + @CheckForNull + private Property stereotypeProperties; + protected StereotypePropertiesChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getStereotypePropertiesProperty() + { + if (stereotypeProperties == null) + { + stereotypeProperties = getTagByName(getStereotype(), STEREOTYPEPROPERTIES); + } + return stereotypeProperties; + } + + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + Profiles.clearValue(element, getStereotypePropertiesProperty()); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getStereotypeProperties(Element element) + { + return (java.util.List)Profiles.getValue(element, getStereotypePropertiesProperty()); + } + + @Override + protected void clear() + { + super.clear(); + stereotypeProperties = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.stereotypePropertiesChoosable().getStereotype()); + } + return false; + } + + } + public static class StereotypedRelationshipsChoosableStereotype extends StereotypeWrapper + { + + + //stereotype StereotypedRelationshipsChoosable and its tags + public static final String STEREOTYPE_NAME = "StereotypedRelationshipsChoosable"; + + /** + * Choose stereotyped relationships coming in to the target(s). The output would be the opposite end of the relationship. + */public static final String INCOMINGSTEREOTYPEDRELATIONSHIPS = "incomingStereotypedRelationships"; + + /** + * Choose stereotyped relationships going out from the target(s). The output would be the opposite end of the relationship. + */public static final String OUTGOINGSTEREOTYPEDRELATIONSHIPS = "outgoingStereotypedRelationships"; + + private final SysMLExtensions _p; + @CheckForNull + private Property incomingStereotypedRelationships; + @CheckForNull + private Property outgoingStereotypedRelationships; + protected StereotypedRelationshipsChoosableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getIncomingStereotypedRelationshipsProperty() + { + if (incomingStereotypedRelationships == null) + { + incomingStereotypedRelationships = getTagByName(getStereotype(), INCOMINGSTEREOTYPEDRELATIONSHIPS); + } + return incomingStereotypedRelationships; + } + + @CheckForNull + public Property getOutgoingStereotypedRelationshipsProperty() + { + if (outgoingStereotypedRelationships == null) + { + outgoingStereotypedRelationships = getTagByName(getStereotype(), OUTGOINGSTEREOTYPEDRELATIONSHIPS); + } + return outgoingStereotypedRelationships; + } + + public void setIncomingStereotypedRelationships(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getIncomingStereotypedRelationshipsProperty(), value); + } + public void clearIncomingStereotypedRelationships(Element element) + { + Profiles.clearValue(element, getIncomingStereotypedRelationshipsProperty()); + } + public void addIncomingStereotypedRelationships(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getIncomingStereotypedRelationshipsProperty(), value); + } + public void removeIncomingStereotypedRelationships(Element element, Element value) + { + java.util.List values = getIncomingStereotypedRelationships(element); + if (values.remove(value)) { + setIncomingStereotypedRelationships(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getIncomingStereotypedRelationships(Element element) + { + return (java.util.List)Profiles.getValue(element, getIncomingStereotypedRelationshipsProperty()); + } + + public void setOutgoingStereotypedRelationships(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getOutgoingStereotypedRelationshipsProperty(), value); + } + public void clearOutgoingStereotypedRelationships(Element element) + { + Profiles.clearValue(element, getOutgoingStereotypedRelationshipsProperty()); + } + public void addOutgoingStereotypedRelationships(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getOutgoingStereotypedRelationshipsProperty(), value); + } + public void removeOutgoingStereotypedRelationships(Element element, Element value) + { + java.util.List values = getOutgoingStereotypedRelationships(element); + if (values.remove(value)) { + setOutgoingStereotypedRelationships(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getOutgoingStereotypedRelationships(Element element) + { + return (java.util.List)Profiles.getValue(element, getOutgoingStereotypedRelationshipsProperty()); + } + + @Override + protected void clear() + { + super.clear(); + incomingStereotypedRelationships = null; + outgoingStereotypedRelationships = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return element != null && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element != null) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.stereotypedRelationshipsChoosable().getStereotype()); + } + return false; + } + + } + public static class StructuredQueryStereotype extends StereotypeWrapper + { + + + //stereotype StructuredQuery and its tags + public static final String STEREOTYPE_NAME = "StructuredQuery"; + + /** + * Whether to create a section. If loop is true, will create a section for each incoming target element, with element name as the title. If loop is false, will use the first string in 'titles' tag, or the name of the structured query element. + */public static final String CREATESECTIONS = "createSections"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + @CheckForNull + private Property createSections; + protected StructuredQueryStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getCreateSectionsProperty() + { + if (createSections == null) + { + createSections = getTagByName(getStereotype(), CREATESECTIONS); + } + return createSections; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setCreateSections(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getCreateSectionsProperty(), value); + } + public void clearCreateSections(Element element) + { + Profiles.clearValue(element, getCreateSectionsProperty()); + } + + @CheckForNull + public Boolean isCreateSections(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getCreateSectionsProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + protected void clear() + { + super.clear(); + createSections = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.structuredQuery().getStereotype()); + } + return false; + } + + } + public static class TableStereotype extends StereotypeWrapper + { + + + //stereotype Table and its tags + public static final String STEREOTYPE_NAME = "Table"; + + /** + * Column widths from left to right, create a new value for each column. For View Editor, use % of table or see the 'width' attribute for tag Col https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col. For Docbook, it can be either a fixed measure using one of the CALS units (36pt, 10pc, etc.) or a proportional measure. Proportional measures have the form number* , meaning this column should be number times wider than a column with the measure 1* (or just * ). These two forms can be mixed, as in 3*+1pc . (Description taken from Docbook spec's ColSpec element) + */public static final String COLWIDTHS = "colwidths"; + + /** + * Applies to EMS, if true will not show headers on EMS. + */public static final String HIDEHEADERS = "hideHeaders"; + + /** + * Applies to how it's rendered on EMS, if table has no rows will not show table by default. + */public static final String SHOWIFEMPTY = "showIfEmpty"; + + /** + * This will be set as the class of the resulting html table. + */public static final String STYLE = "style"; + + /** + * If true will rotate table 90 degrees anticlockwise (not really transpose). + */public static final String TRANSPOSE = "transpose"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + private final SysMLExtensions _p; + @CheckForNull + private Property colwidths; + @CheckForNull + private Property hideHeaders; + @CheckForNull + private Property showIfEmpty; + @CheckForNull + private Property style; + @CheckForNull + private Property transpose; + protected TableStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getColwidthsProperty() + { + if (colwidths == null) + { + colwidths = getTagByName(getStereotype(), COLWIDTHS); + } + return colwidths; + } + + @CheckForNull + public Property getHideHeadersProperty() + { + if (hideHeaders == null) + { + hideHeaders = getTagByName(getStereotype(), HIDEHEADERS); + } + return hideHeaders; + } + + @CheckForNull + public Property getShowIfEmptyProperty() + { + if (showIfEmpty == null) + { + showIfEmpty = getTagByName(getStereotype(), SHOWIFEMPTY); + } + return showIfEmpty; + } + + @CheckForNull + public Property getStyleProperty() + { + if (style == null) + { + style = getTagByName(getStereotype(), STYLE); + } + return style; + } + + @CheckForNull + public Property getTransposeProperty() + { + if (transpose == null) + { + transpose = getTagByName(getStereotype(), TRANSPOSE); + } + return transpose; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + public void setColwidths(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void clearColwidths(Element element) + { + Profiles.clearValue(element, getColwidthsProperty()); + } + public void addColwidths(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void removeColwidths(Element element, String value) + { + java.util.List values = getColwidths(element); + if (values.remove(value)) { + setColwidths(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getColwidths(Element element) + { + return (java.util.List)Profiles.getValue(element, getColwidthsProperty()); + } + + public void setHideHeaders(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getHideHeadersProperty(), value); + } + public void clearHideHeaders(Element element) + { + Profiles.clearValue(element, getHideHeadersProperty()); + } + + @CheckForNull + public Boolean isHideHeaders(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getHideHeadersProperty())); + } + + public void setShowIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowIfEmptyProperty(), value); + } + public void clearShowIfEmpty(Element element) + { + Profiles.clearValue(element, getShowIfEmptyProperty()); + } + + @CheckForNull + public Boolean isShowIfEmpty(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getShowIfEmptyProperty())); + } + + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + Profiles.clearValue(element, getStyleProperty()); + } + + @CheckForNull + public String getStyle(Element element) + { + return toString(Profiles.getFirstValue(element, getStyleProperty())); + } + + public void setTranspose(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getTransposeProperty(), value); + } + public void clearTranspose(Element element) + { + Profiles.clearValue(element, getTransposeProperty()); + } + + @CheckForNull + public Boolean isTranspose(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getTransposeProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + @Override + protected void clear() + { + super.clear(); + colwidths = null; + hideHeaders = null; + showIfEmpty = null; + style = null; + transpose = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.table().getStereotype()); + } + return false; + } + + } + public static class TableAttributeColumnStereotype extends StereotypeWrapper + { + + + //stereotype TableAttributeColumn and its tags + public static final String STEREOTYPE_NAME = "TableAttributeColumn"; + public static final String EDITABLE = "editable"; + + /** + * The attribute can be name, documentation, or value (in the case of property or slots) + */public static final String DESIREDATTRIBUTE = "desiredAttribute"; + + private final SysMLExtensions _p; + protected TableAttributeColumnStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getEditableProperty() + { + return _p.editableChoosable().getEditableProperty(); + } + + @CheckForNull + public Property getDesiredAttributeProperty() + { + return _p.attributeChoosable().getDesiredAttributeProperty(); + } + + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + _p.editableChoosable().clearEditable(element); + } + @CheckForNull + public Boolean isEditable(Element element) + { + return _p.editableChoosable().isEditable(element); + } + public void setDesiredAttribute(Element element, @CheckForNull AttributeEnum value) + { + Profiles.setValue(element, getStereotype(), getDesiredAttributeProperty(), value != null ? value.getText() : null); + } + public void clearDesiredAttribute(Element element) + { + _p.attributeChoosable().clearDesiredAttribute(element); + } + @CheckForNull + public AttributeEnum getDesiredAttribute(Element element) + { + return _p.attributeChoosable().getDesiredAttribute(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tableAttributeColumn().getStereotype()); + } + return false; + } + + } + public static class TableColumnStereotype extends StereotypeWrapper + { + + + //stereotype TableColumn and its tags + public static final String STEREOTYPE_NAME = "TableColumn"; + public static final String EDITABLE = "editable"; + + private final SysMLExtensions _p; + protected TableColumnStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getEditableProperty() + { + return _p.editableChoosable().getEditableProperty(); + } + + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + _p.editableChoosable().clearEditable(element); + } + @CheckForNull + public Boolean isEditable(Element element) + { + return _p.editableChoosable().isEditable(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tableColumn().getStereotype()); + } + return false; + } + + } + public static class TableColumnGroupStereotype extends StereotypeWrapper + { + + + //stereotype TableColumnGroup and its tags + public static final String STEREOTYPE_NAME = "TableColumnGroup"; + public static final String EDITABLE = "editable"; + + private final SysMLExtensions _p; + protected TableColumnGroupStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getEditableProperty() + { + return _p.editableChoosable().getEditableProperty(); + } + + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + _p.editableChoosable().clearEditable(element); + } + @CheckForNull + public Boolean isEditable(Element element) + { + return _p.editableChoosable().isEditable(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tableColumnGroup().getStereotype()); + } + return false; + } + + } + public static class TableExpressionColumnStereotype extends StereotypeWrapper + { + + + //stereotype TableExpressionColumn and its tags + public static final String STEREOTYPE_NAME = "TableExpressionColumn"; + public static final String EDITABLE = "editable"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + protected TableExpressionColumnStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getEditableProperty() + { + return _p.editableChoosable().getEditableProperty(); + } + + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + _p.editableChoosable().clearEditable(element); + } + @CheckForNull + public Boolean isEditable(Element element) + { + return _p.editableChoosable().isEditable(element); + } + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tableExpressionColumn().getStereotype()); + } + return false; + } + + } + public static class TablePropertyColumnStereotype extends StereotypeWrapper + { + + + //stereotype TablePropertyColumn and its tags + public static final String STEREOTYPE_NAME = "TablePropertyColumn"; + public static final String EDITABLE = "editable"; + + /** + * Property can be a stereotype property or value property of a class. + */public static final String DESIREDPROPERTY = "desiredProperty"; + + private final SysMLExtensions _p; + protected TablePropertyColumnStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getEditableProperty() + { + return _p.editableChoosable().getEditableProperty(); + } + + @CheckForNull + public Property getDesiredPropertyProperty() + { + return _p.propertyChoosable().getDesiredPropertyProperty(); + } + + public void setEditable(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getEditableProperty(), value); + } + public void clearEditable(Element element) + { + _p.editableChoosable().clearEditable(element); + } + @CheckForNull + public Boolean isEditable(Element element) + { + return _p.editableChoosable().isEditable(element); + } + public void setDesiredProperty(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getDesiredPropertyProperty(), value); + } + public void clearDesiredProperty(Element element) + { + _p.propertyChoosable().clearDesiredProperty(element); + } + @CheckForNull + public Element getDesiredProperty(Element element) + { + return _p.propertyChoosable().getDesiredProperty(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tablePropertyColumn().getStereotype()); + } + return false; + } + + } + public static class TableStructureStereotype extends StereotypeWrapper + { + + + //stereotype TableStructure and its tags + public static final String STEREOTYPE_NAME = "TableStructure"; + + /** + * Column widths from left to right, create a new value for each column. For View Editor, use % of table or see the 'width' attribute for tag Col https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col. For Docbook, it can be either a fixed measure using one of the CALS units (36pt, 10pc, etc.) or a proportional measure. Proportional measures have the form number* , meaning this column should be number times wider than a column with the measure 1* (or just * ). These two forms can be mixed, as in 3*+1pc . (Description taken from Docbook spec's ColSpec element) + */public static final String COLWIDTHS = "colwidths"; + + /** + * Applies to EMS, if true will not show headers on EMS. + */public static final String HIDEHEADERS = "hideHeaders"; + + /** + * Applies to how it's rendered on EMS, if table has no rows will not show table by default. + */public static final String SHOWIFEMPTY = "showIfEmpty"; + + /** + * This will be set as the class of the resulting html table. + */public static final String STYLE = "style"; + + /** + * If true will rotate table 90 degrees anticlockwise (not really transpose). + */public static final String TRANSPOSE = "transpose"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The field takes ordered list of captions. Applicable to images and tables. + */public static final String CAPTIONS = "captions"; + + /** + * Exclude from lists like Table of Contents, List of Tables, List of Figures, etc., as applicable. + */public static final String EXCLUDEFROMLIST = "excludeFromList"; + public static final String SHOWCAPTIONS = "showCaptions"; + + /** + * Where applicable, includes the documentation of the element. For tables, this will be shown in the column right after the element. For lists, it'll be shown right below. + */public static final String INCLUDEDOC = "includeDoc"; + + /** + * Given a list of stereotype properties, will return their value where applicable. This applies to certain tables, bulleted list, and collection action. For templates, they'll print out the property value(s). For collection, returns the values that are model elements. The stereotype properties can also be derived properties in customizations. + */public static final String STEREOTYPEPROPERTIES = "stereotypeProperties"; + + private final SysMLExtensions _p; + protected TableStructureStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getColwidthsProperty() + { + return _p.table().getColwidthsProperty(); + } + + @CheckForNull + public Property getHideHeadersProperty() + { + return _p.table().getHideHeadersProperty(); + } + + @CheckForNull + public Property getShowIfEmptyProperty() + { + return _p.table().getShowIfEmptyProperty(); + } + + @CheckForNull + public Property getStyleProperty() + { + return _p.table().getStyleProperty(); + } + + @CheckForNull + public Property getTransposeProperty() + { + return _p.table().getTransposeProperty(); + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getCaptionsProperty() + { + return _p.hasCaptions().getCaptionsProperty(); + } + + @CheckForNull + public Property getExcludeFromListProperty() + { + return _p.hasCaptions().getExcludeFromListProperty(); + } + + @CheckForNull + public Property getShowCaptionsProperty() + { + return _p.hasCaptions().getShowCaptionsProperty(); + } + + @CheckForNull + public Property getIncludeDocProperty() + { + return _p.documentationChoosable().getIncludeDocProperty(); + } + + @CheckForNull + public Property getStereotypePropertiesProperty() + { + return _p.stereotypePropertiesChoosable().getStereotypePropertiesProperty(); + } + + public void setColwidths(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void clearColwidths(Element element) + { + _p.table().clearColwidths(element); + } + public void addColwidths(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getColwidthsProperty(), value); + } + public void removeColwidths(Element element, String value) + { + java.util.List values = getColwidths(element); + if (values.remove(value)) { + setColwidths(element, values); + } + } + public java.util.List getColwidths(Element element) + { + return _p.table().getColwidths(element); + } + public void setHideHeaders(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getHideHeadersProperty(), value); + } + public void clearHideHeaders(Element element) + { + _p.table().clearHideHeaders(element); + } + @CheckForNull + public Boolean isHideHeaders(Element element) + { + return _p.table().isHideHeaders(element); + } + public void setShowIfEmpty(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowIfEmptyProperty(), value); + } + public void clearShowIfEmpty(Element element) + { + _p.table().clearShowIfEmpty(element); + } + @CheckForNull + public Boolean isShowIfEmpty(Element element) + { + return _p.table().isShowIfEmpty(element); + } + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + _p.table().clearStyle(element); + } + @CheckForNull + public String getStyle(Element element) + { + return _p.table().getStyle(element); + } + public void setTranspose(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getTransposeProperty(), value); + } + public void clearTranspose(Element element) + { + _p.table().clearTranspose(element); + } + @CheckForNull + public Boolean isTranspose(Element element) + { + return _p.table().isTranspose(element); + } + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setCaptions(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void clearCaptions(Element element) + { + _p.hasCaptions().clearCaptions(element); + } + public void addCaptions(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getCaptionsProperty(), value); + } + public void removeCaptions(Element element, String value) + { + java.util.List values = getCaptions(element); + if (values.remove(value)) { + setCaptions(element, values); + } + } + public java.util.List getCaptions(Element element) + { + return _p.hasCaptions().getCaptions(element); + } + public void setExcludeFromList(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getExcludeFromListProperty(), value); + } + public void clearExcludeFromList(Element element) + { + _p.hasCaptions().clearExcludeFromList(element); + } + @CheckForNull + public Boolean isExcludeFromList(Element element) + { + return _p.hasCaptions().isExcludeFromList(element); + } + public void setShowCaptions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getShowCaptionsProperty(), value); + } + public void clearShowCaptions(Element element) + { + _p.hasCaptions().clearShowCaptions(element); + } + @CheckForNull + public Boolean isShowCaptions(Element element) + { + return _p.hasCaptions().isShowCaptions(element); + } + public void setIncludeDoc(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIncludeDocProperty(), value); + } + public void clearIncludeDoc(Element element) + { + _p.documentationChoosable().clearIncludeDoc(element); + } + @CheckForNull + public Boolean isIncludeDoc(Element element) + { + return _p.documentationChoosable().isIncludeDoc(element); + } + public void setStereotypeProperties(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void clearStereotypeProperties(Element element) + { + _p.stereotypePropertiesChoosable().clearStereotypeProperties(element); + } + public void addStereotypeProperties(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStereotypePropertiesProperty(), value); + } + public void removeStereotypeProperties(Element element, Element value) + { + java.util.List values = getStereotypeProperties(element); + if (values.remove(value)) { + setStereotypeProperties(element, values); + } + } + public java.util.List getStereotypeProperties(Element element) + { + return _p.stereotypePropertiesChoosable().getStereotypeProperties(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tableStructure().getStereotype()); + } + return false; + } + + } + public static class TemporalDiffStereotype extends StereotypeWrapper + { + + + //stereotype TemporalDiff and its tags + public static final String STEREOTYPE_NAME = "TemporalDiff"; + public static final String BASECOMMITID = "baseCommitId"; + public static final String BASEREFID = "baseRefId"; + public static final String COMPARECOMMITID = "compareCommitId"; + public static final String COMPAREREFID = "compareRefId"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * The attribute can be name, documentation, or value (in the case of property or slots) + */public static final String DESIREDATTRIBUTE = "desiredAttribute"; + + private final SysMLExtensions _p; + @CheckForNull + private Property baseCommitId; + @CheckForNull + private Property baseRefId; + @CheckForNull + private Property compareCommitId; + @CheckForNull + private Property compareRefId; + protected TemporalDiffStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getBaseCommitIdProperty() + { + if (baseCommitId == null) + { + baseCommitId = getTagByName(getStereotype(), BASECOMMITID); + } + return baseCommitId; + } + + @CheckForNull + public Property getBaseRefIdProperty() + { + if (baseRefId == null) + { + baseRefId = getTagByName(getStereotype(), BASEREFID); + } + return baseRefId; + } + + @CheckForNull + public Property getCompareCommitIdProperty() + { + if (compareCommitId == null) + { + compareCommitId = getTagByName(getStereotype(), COMPARECOMMITID); + } + return compareCommitId; + } + + @CheckForNull + public Property getCompareRefIdProperty() + { + if (compareRefId == null) + { + compareRefId = getTagByName(getStereotype(), COMPAREREFID); + } + return compareRefId; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getDesiredAttributeProperty() + { + return _p.attributeChoosable().getDesiredAttributeProperty(); + } + + public void setBaseCommitId(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getBaseCommitIdProperty(), value); + } + public void clearBaseCommitId(Element element) + { + Profiles.clearValue(element, getBaseCommitIdProperty()); + } + + @CheckForNull + public String getBaseCommitId(Element element) + { + return toString(Profiles.getFirstValue(element, getBaseCommitIdProperty())); + } + + public void setBaseRefId(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getBaseRefIdProperty(), value); + } + public void clearBaseRefId(Element element) + { + Profiles.clearValue(element, getBaseRefIdProperty()); + } + + @CheckForNull + public String getBaseRefId(Element element) + { + return toString(Profiles.getFirstValue(element, getBaseRefIdProperty())); + } + + public void setCompareCommitId(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getCompareCommitIdProperty(), value); + } + public void clearCompareCommitId(Element element) + { + Profiles.clearValue(element, getCompareCommitIdProperty()); + } + + @CheckForNull + public String getCompareCommitId(Element element) + { + return toString(Profiles.getFirstValue(element, getCompareCommitIdProperty())); + } + + public void setCompareRefId(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getCompareRefIdProperty(), value); + } + public void clearCompareRefId(Element element) + { + Profiles.clearValue(element, getCompareRefIdProperty()); + } + + @CheckForNull + public String getCompareRefId(Element element) + { + return toString(Profiles.getFirstValue(element, getCompareRefIdProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setDesiredAttribute(Element element, @CheckForNull AttributeEnum value) + { + Profiles.setValue(element, getStereotype(), getDesiredAttributeProperty(), value != null ? value.getText() : null); + } + public void clearDesiredAttribute(Element element) + { + _p.attributeChoosable().clearDesiredAttribute(element); + } + @CheckForNull + public AttributeEnum getDesiredAttribute(Element element) + { + return _p.attributeChoosable().getDesiredAttribute(element); + } + @Override + protected void clear() + { + super.clear(); + baseCommitId = null; + baseRefId = null; + compareCommitId = null; + compareRefId = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.temporalDiff().getStereotype()); + } + return false; + } + + } + public static class TomSawyerDiagramStereotype extends StereotypeWrapper + { + + + //stereotype TomSawyerDiagram and its tags + public static final String STEREOTYPE_NAME = "TomSawyerDiagram"; + + /** + * Option to automatically collect additional elements that are related to the exposed elements. The relations that are considered vary depending on the diagram type selected. + */public static final String COLLECTRELATEDELEMENTS = "collectRelatedElements"; + + /** + * [Required] Type of diagram to generate. + */public static final String DIAGRAMTYPE = "diagramType"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + @CheckForNull + private Property collectRelatedElements; + @CheckForNull + private Property diagramType; + protected TomSawyerDiagramStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getCollectRelatedElementsProperty() + { + if (collectRelatedElements == null) + { + collectRelatedElements = getTagByName(getStereotype(), COLLECTRELATEDELEMENTS); + } + return collectRelatedElements; + } + + @CheckForNull + public Property getDiagramTypeProperty() + { + if (diagramType == null) + { + diagramType = getTagByName(getStereotype(), DIAGRAMTYPE); + } + return diagramType; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setCollectRelatedElements(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getCollectRelatedElementsProperty(), value); + } + public void clearCollectRelatedElements(Element element) + { + Profiles.clearValue(element, getCollectRelatedElementsProperty()); + } + + @CheckForNull + public Boolean isCollectRelatedElements(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getCollectRelatedElementsProperty())); + } + + public void setDiagramType(Element element, @CheckForNull TomSawyerDiagramTypeEnum value) + { + Profiles.setValue(element, getStereotype(), getDiagramTypeProperty(), value != null ? value.getText() : null); + } + public void clearDiagramType(Element element) + { + Profiles.clearValue(element, getDiagramTypeProperty()); + } + + @CheckForNull + public TomSawyerDiagramTypeEnum getDiagramType(Element element) + { + return TomSawyerDiagramTypeEnum.from(Profiles.getFirstValue(element, getDiagramTypeProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + protected void clear() + { + super.clear(); + collectRelatedElements = null; + diagramType = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.tomSawyerDiagram().getStereotype()); + } + return false; + } + + } + public static class UnionStereotype extends StereotypeWrapper + { + + + //stereotype Union and its tags + public static final String STEREOTYPE_NAME = "Union"; + + private final SysMLExtensions _p; + protected UnionStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.MergeNode && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.MergeNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.union().getStereotype()); + } + return false; + } + + } + public static class UserScriptStereotype extends StereotypeWrapper + { + + + //stereotype UserScript and its tags + public static final String STEREOTYPE_NAME = "UserScript"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + protected UserScriptStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Classifier) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Classifier) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.userScript().getStereotype()); + } + return false; + } + + } + public static class ValidationScriptStereotype extends StereotypeWrapper + { + + + //stereotype ValidationScript and its tags + public static final String STEREOTYPE_NAME = "ValidationScript"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + private final SysMLExtensions _p; + protected ValidationScriptStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Classifier) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Classifier) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.validationScript().getStereotype()); + } + return false; + } + + } + public static class ViewpointConstraintStereotype extends StereotypeWrapper + { + + + //stereotype ViewpointConstraint and its tags + public static final String STEREOTYPE_NAME = "ViewpointConstraint"; + public static final String VALIDATIONREPORT = "validationReport"; + + /** + * This is what is given to the template for output. If this is empty, the current context of targets is used instead. (for example inside structured queries) + */public static final String TARGETS = "targets"; + + /** + * If true, skips executing this document element. + */public static final String IGNORE = "ignore"; + + /** + * This field stores the title or titles of the template output. Applicable for most tables and structured queries. + */public static final String TITLES = "titles"; + + /** + * String prepended to title as is (you will need to put in spaces if you want it) + */public static final String TITLEPREFIX = "titlePrefix"; + + /** + * String appended to title as is (you'll need to put in a space if you want it) + */public static final String TITLESUFFIX = "titleSuffix"; + + /** + * When a title is otherwise empty or undefined, this will use the containing section title instead. The title taken will be the title without any prefix or suffix added. This is generally used in viewpoints to auto generate titles. + */public static final String USESECTIONNAMEASTITLE = "useSectionNameAsTitle"; + + /** + * If there's a current context of targets, loops through them one by one. If this is a structured query and createSections is true, each element looped through will generate a section with the name of the element as the title. Similar behavior for sections. For queries, depending on the query type (usually a table), creates a relevant table for each element. + */public static final String LOOP = "loop"; + + /** + * An ocl expression. + */public static final String EXPRESSION = "expression"; + + /** + * Whether ocl expression should be evaluated per element or on collection of elements + */public static final String ITERATE = "iterate"; + + private final SysMLExtensions _p; + @CheckForNull + private Property validationReport; + protected ViewpointConstraintStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getValidationReportProperty() + { + if (validationReport == null) + { + validationReport = getTagByName(getStereotype(), VALIDATIONREPORT); + } + return validationReport; + } + + @CheckForNull + public Property getTargetsProperty() + { + return _p.formattingAndDisplayTemplate().getTargetsProperty(); + } + + @CheckForNull + public Property getIgnoreProperty() + { + return _p.ignorable().getIgnoreProperty(); + } + + @CheckForNull + public Property getTitlesProperty() + { + return _p.hasTitles().getTitlesProperty(); + } + + @CheckForNull + public Property getTitlePrefixProperty() + { + return _p.hasTitleStuff().getTitlePrefixProperty(); + } + + @CheckForNull + public Property getTitleSuffixProperty() + { + return _p.hasTitleStuff().getTitleSuffixProperty(); + } + + @CheckForNull + public Property getUseSectionNameAsTitleProperty() + { + return _p.hasTitleStuff().getUseSectionNameAsTitleProperty(); + } + + @CheckForNull + public Property getLoopProperty() + { + return _p.loopable().getLoopProperty(); + } + + @CheckForNull + public Property getExpressionProperty() + { + return _p.expressionChoosable().getExpressionProperty(); + } + + @CheckForNull + public Property getIterateProperty() + { + return _p.expressionChoosable().getIterateProperty(); + } + + public void setValidationReport(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getValidationReportProperty(), value); + } + public void clearValidationReport(Element element) + { + Profiles.clearValue(element, getValidationReportProperty()); + } + + @CheckForNull + public Boolean isValidationReport(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getValidationReportProperty())); + } + + public void setTargets(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTargetsProperty(), value); + } + public void clearTargets(Element element) + { + _p.formattingAndDisplayTemplate().clearTargets(element); + } + public void addTargets(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getTargetsProperty(), value); + } + public void removeTargets(Element element, Element value) + { + java.util.List values = getTargets(element); + if (values.remove(value)) { + setTargets(element, values); + } + } + public java.util.List getTargets(Element element) + { + return _p.formattingAndDisplayTemplate().getTargets(element); + } + public void setIgnore(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIgnoreProperty(), value); + } + public void clearIgnore(Element element) + { + _p.ignorable().clearIgnore(element); + } + @CheckForNull + public Boolean isIgnore(Element element) + { + return _p.ignorable().isIgnore(element); + } + public void setTitles(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getTitlesProperty(), value); + } + public void clearTitles(Element element) + { + _p.hasTitles().clearTitles(element); + } + public void addTitles(Element element, String value) + { + Profiles.addValue(element, getStereotype(), getTitlesProperty(), value); + } + public void removeTitles(Element element, String value) + { + java.util.List values = getTitles(element); + if (values.remove(value)) { + setTitles(element, values); + } + } + public java.util.List getTitles(Element element) + { + return _p.hasTitles().getTitles(element); + } + public void setTitlePrefix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitlePrefixProperty(), value); + } + public void clearTitlePrefix(Element element) + { + _p.hasTitleStuff().clearTitlePrefix(element); + } + @CheckForNull + public String getTitlePrefix(Element element) + { + return _p.hasTitleStuff().getTitlePrefix(element); + } + public void setTitleSuffix(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getTitleSuffixProperty(), value); + } + public void clearTitleSuffix(Element element) + { + _p.hasTitleStuff().clearTitleSuffix(element); + } + @CheckForNull + public String getTitleSuffix(Element element) + { + return _p.hasTitleStuff().getTitleSuffix(element); + } + public void setUseSectionNameAsTitle(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getUseSectionNameAsTitleProperty(), value); + } + public void clearUseSectionNameAsTitle(Element element) + { + _p.hasTitleStuff().clearUseSectionNameAsTitle(element); + } + @CheckForNull + public Boolean isUseSectionNameAsTitle(Element element) + { + return _p.hasTitleStuff().isUseSectionNameAsTitle(element); + } + public void setLoop(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getLoopProperty(), value); + } + public void clearLoop(Element element) + { + _p.loopable().clearLoop(element); + } + @CheckForNull + public Boolean isLoop(Element element) + { + return _p.loopable().isLoop(element); + } + public void setExpression(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getExpressionProperty(), value); + } + public void clearExpression(Element element) + { + _p.expressionChoosable().clearExpression(element); + } + @CheckForNull + public String getExpression(Element element) + { + return _p.expressionChoosable().getExpression(element); + } + public void setIterate(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIterateProperty(), value); + } + public void clearIterate(Element element) + { + _p.expressionChoosable().clearIterate(element); + } + @CheckForNull + public Boolean isIterate(Element element) + { + return _p.expressionChoosable().isIterate(element); + } + @Override + protected void clear() + { + super.clear(); + validationReport = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction + || element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.Activity) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.viewpointConstraint().getStereotype()); + } + return false; + } + + } + public static class XorStereotype extends StereotypeWrapper + { + + + //stereotype XOR and its tags + public static final String STEREOTYPE_NAME = "XOR"; + + private final SysMLExtensions _p; + protected XorStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.DecisionNode && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.activities.mdintermediateactivities.DecisionNode) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.xor().getStereotype()); + } + return false; + } + + } + public static class AspectStereotype extends StereotypeWrapper + { + + + //stereotype aspect and its tags + public static final String STEREOTYPE_NAME = "aspect"; + + private final SysMLExtensions _p; + protected AspectStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.aspect().getStereotype()); + } + return false; + } + + } + public static class CharacterizesStereotype extends StereotypeWrapper + { + + + //stereotype characterizes and its tags + public static final String STEREOTYPE_NAME = "characterizes"; + + private final SysMLExtensions _p; + protected CharacterizesStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @Override + public boolean is(@CheckForNull Element element) + { + return element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.characterizes().getStereotype()); + } + return false; + } + + } + public static class ViewStereotype extends StereotypeWrapper + { + + + //stereotype view and its tags + public static final String STEREOTYPE_NAME = "view"; + + /** + * For Images + */public static final String CAPTION = "caption"; + public static final String COLLECTVIEWACTIONS = "collectViewActions"; + public static final String ELEMENTS = "elements"; + public static final String STYLE = "style"; + public static final String STAKEHOLDER = "stakeholder"; + + /** + * The viewpoint for this View, derived from the supplier of the conform dependency whose client is this View. + */public static final String VIEWPOINT = "viewPoint"; + + /** + * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends. + */public static final String ISENCAPSULATED = "isEncapsulated"; + + private final SysMLExtensions _p; + @CheckForNull + private Property caption; + @CheckForNull + private Property collectViewActions; + @CheckForNull + private Property elements; + @CheckForNull + private Property style; + @CheckForNull + private Property stakeholder; + @CheckForNull + private Property viewPoint; + @CheckForNull + private Property isEncapsulated; + protected ViewStereotype(SysMLExtensions profile) + { + super(profile); + _p = profile; + } + @Override + @SuppressWarnings("ConstantConditions") + public Stereotype getStereotype() + { + return getElementByName(STEREOTYPE_NAME); + } + @CheckForNull + public Property getCaptionProperty() + { + if (caption == null) + { + caption = getTagByName(getStereotype(), CAPTION); + } + return caption; + } + + @CheckForNull + public Property getCollectViewActionsProperty() + { + if (collectViewActions == null) + { + collectViewActions = getTagByName(getStereotype(), COLLECTVIEWACTIONS); + } + return collectViewActions; + } + + @CheckForNull + public Property getElementsProperty() + { + if (elements == null) + { + elements = getTagByName(getStereotype(), ELEMENTS); + } + return elements; + } + + @CheckForNull + public Property getStyleProperty() + { + if (style == null) + { + style = getTagByName(getStereotype(), STYLE); + } + return style; + } + + @CheckForNull + public Property getStakeholderProperty() + { + if (stakeholder == null) + { + stakeholder = getTagByName(getStereotype(), STAKEHOLDER); + } + return stakeholder; + } + + @CheckForNull + public Property getViewPointProperty() + { + if (viewPoint == null) + { + viewPoint = getTagByName(getStereotype(), VIEWPOINT); + } + return viewPoint; + } + + @CheckForNull + public Property getIsEncapsulatedProperty() + { + if (isEncapsulated == null) + { + isEncapsulated = getTagByName(getStereotype(), ISENCAPSULATED); + } + return isEncapsulated; + } + + public void setCaption(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getCaptionProperty(), value); + } + public void clearCaption(Element element) + { + Profiles.clearValue(element, getCaptionProperty()); + } + + @CheckForNull + public String getCaption(Element element) + { + return toString(Profiles.getFirstValue(element, getCaptionProperty())); + } + + public void setCollectViewActions(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getCollectViewActionsProperty(), value); + } + public void clearCollectViewActions(Element element) + { + Profiles.clearValue(element, getCollectViewActionsProperty()); + } + + @CheckForNull + public Boolean isCollectViewActions(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getCollectViewActionsProperty())); + } + + public void setElements(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getElementsProperty(), value); + } + public void clearElements(Element element) + { + Profiles.clearValue(element, getElementsProperty()); + } + + @CheckForNull + public String getElements(Element element) + { + return toString(Profiles.getFirstValue(element, getElementsProperty())); + } + + public void setStyle(Element element, @CheckForNull String value) + { + Profiles.setValue(element, getStereotype(), getStyleProperty(), value); + } + public void clearStyle(Element element) + { + Profiles.clearValue(element, getStyleProperty()); + } + + @CheckForNull + public String getStyle(Element element) + { + return toString(Profiles.getFirstValue(element, getStyleProperty())); + } + + public void setStakeholder(Element element, @CheckForNull java.util.Collection value) + { + Profiles.setValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void clearStakeholder(Element element) + { + Profiles.clearValue(element, getStakeholderProperty()); + } + public void addStakeholder(Element element, Element value) + { + Profiles.addValue(element, getStereotype(), getStakeholderProperty(), value); + } + public void removeStakeholder(Element element, Element value) + { + java.util.List values = getStakeholder(element); + if (values.remove(value)) { + setStakeholder(element, values); + } + } + @SuppressWarnings("unchecked") + public java.util.List getStakeholder(Element element) + { + return (java.util.List)Profiles.getValue(element, getStakeholderProperty()); + } + + public void setViewPoint(Element element, @CheckForNull Element value) + { + Profiles.setValue(element, getStereotype(), getViewPointProperty(), value); + } + public void clearViewPoint(Element element) + { + Profiles.clearValue(element, getViewPointProperty()); + } + + @CheckForNull + public Element getViewPoint(Element element) + { + return (Element)Profiles.getFirstValue(element, getViewPointProperty()); + } + + public void setIsEncapsulated(Element element, @CheckForNull Boolean value) + { + Profiles.setValue(element, getStereotype(), getIsEncapsulatedProperty(), value); + } + public void clearIsEncapsulated(Element element) + { + Profiles.clearValue(element, getIsEncapsulatedProperty()); + } + + @CheckForNull + public Boolean isIsEncapsulated(Element element) + { + return toBoolean(Profiles.getFirstValue(element, getIsEncapsulatedProperty())); + } + + @Override + protected void clear() + { + super.clear(); + caption = null; + collectViewActions = null; + elements = null; + style = null; + stakeholder = null; + viewPoint = null; + isEncapsulated = null; + } + @Override + public boolean is(@CheckForNull Element element) + { + return (element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) && + _p.isTypeOf(element, getStereotype()); + } + + public static boolean isInstance(@CheckForNull Element element) + { + if(element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram + || element instanceof com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package) + { + SysMLExtensions instance = getInstance(element); + return instance.isTypeOf(element, instance.view().getStereotype()); + } + return false; + } + + } + + @Override + protected Collection generatedGetAllElementWrappers() + { + Collection wrappers = new ArrayList<>(); + wrappers.add(appendixViewStereotype); + wrappers.add(associationTypeChoosableStereotype); + wrappers.add(attributeChoosableStereotype); + wrappers.add(bulletedListStereotype); + wrappers.add(collectFilterUserScriptStereotype); + wrappers.add(collectByAssociationStereotype); + wrappers.add(collectByDirectedRelationshipMetaclassesStereotype); + wrappers.add(collectByDirectedRelationshipStereotypesStereotype); + wrappers.add(collectByExpressionStereotype); + wrappers.add(collectByStereotypePropertiesStereotype); + wrappers.add(collectClassifierAttributesStereotype); + wrappers.add(collectOrFilterStereotype); + wrappers.add(collectOwnedElementsStereotype); + wrappers.add(collectOwnersStereotype); + wrappers.add(collectThingsOnDiagramStereotype); + wrappers.add(collectTypesStereotype); + wrappers.add(collectionAndFilterGroupStereotype); + wrappers.add(conformsStereotype); + wrappers.add(considerDerivedChoosableStereotype); + wrappers.add(constraintStereotype); + wrappers.add(containerStereotype); + wrappers.add(depthChoosableStereotype); + wrappers.add(diagramTypeChoosableStereotype); + wrappers.add(directionChoosableStereotype); + wrappers.add(docGenScriptStereotype); + wrappers.add(documentStereotype); + wrappers.add(documentMetaStereotype); + wrappers.add(documentationChoosableStereotype); + wrappers.add(documentationSkippableStereotype); + wrappers.add(dynamicViewStereotype); + wrappers.add(editableChoosableStereotype); + wrappers.add(editableTableStereotype); + wrappers.add(exposeStereotype); + wrappers.add(expressionStereotype); + wrappers.add(expressionChoosableStereotype); + wrappers.add(expressionLibraryStereotype); + wrappers.add(filterByDiagramTypeStereotype); + wrappers.add(filterByExpressionStereotype); + wrappers.add(filterByMetaclassesStereotype); + wrappers.add(filterByNamesStereotype); + wrappers.add(filterByStereotypesStereotype); + wrappers.add(formattingAndDisplayTemplateStereotype); + wrappers.add(genericTableStereotype); + wrappers.add(groupStereotype); + wrappers.add(hasCaptionsStereotype); + wrappers.add(hasTimeoutStereotype); + wrappers.add(hasTitleStereotype); + wrappers.add(hasTitleStuffStereotype); + wrappers.add(hasTitlesStereotype); + wrappers.add(hasTypesStereotype); + wrappers.add(headersChoosableStereotype); + wrappers.add(hierarchicalPropertiesTableStereotype); + wrappers.add(ignorableStereotype); + wrappers.add(imageStereotype); + wrappers.add(includeChoosableStereotype); + wrappers.add(includeInheritedChoosableStereotype); + wrappers.add(intersectionStereotype); + wrappers.add(javaExtensionStereotype); + wrappers.add(loopableStereotype); + wrappers.add(metaclassChoosableStereotype); + wrappers.add(methodStereotype); + wrappers.add(modelManagementSystemStereotype); + wrappers.add(nameChoosableStereotype); + wrappers.add(paragraphStereotype); + wrappers.add(parallelStereotype); + wrappers.add(plotStereotype); + wrappers.add(precisionChoosableStereotype); + wrappers.add(productStereotype); + wrappers.add(propertiesTableByAttributesStereotype); + wrappers.add(propertyChoosableStereotype); + wrappers.add(removeDuplicatesStereotype); + wrappers.add(simulateStereotype); + wrappers.add(skippableStereotype); + wrappers.add(sortByAttributeStereotype); + wrappers.add(sortByExpressionStereotype); + wrappers.add(sortByNameStereotype); + wrappers.add(sortByPropertyStereotype); + wrappers.add(sortableStereotype); + wrappers.add(stereotypeChoosableStereotype); + wrappers.add(stereotypePropertiesChoosableStereotype); + wrappers.add(stereotypedRelationshipsChoosableStereotype); + wrappers.add(structuredQueryStereotype); + wrappers.add(tableStereotype); + wrappers.add(tableAttributeColumnStereotype); + wrappers.add(tableColumnStereotype); + wrappers.add(tableColumnGroupStereotype); + wrappers.add(tableExpressionColumnStereotype); + wrappers.add(tablePropertyColumnStereotype); + wrappers.add(tableStructureStereotype); + wrappers.add(temporalDiffStereotype); + wrappers.add(tomSawyerDiagramStereotype); + wrappers.add(unionStereotype); + wrappers.add(userScriptStereotype); + wrappers.add(validationScriptStereotype); + wrappers.add(viewpointConstraintStereotype); + wrappers.add(xorStereotype); + wrappers.add(aspectStereotype); + wrappers.add(characterizesStereotype); + wrappers.add(viewStereotype); + wrappers.add(attributeEnumeration); + wrappers.add(diagramTypeEnumeration); + wrappers.add(languageEnumeration); + wrappers.add(plotTypeEnumeration); + wrappers.add(tomSawyerDiagramTypeEnumeration); + return wrappers; + } + + + @Override + protected Collection generatedGetAllStereotypes() + { + if (getProfile() != null) + { + final Collection stereotypes = new HashSet<>(); + + stereotypes.add(appendixViewStereotype.getStereotype()); + stereotypes.add(associationTypeChoosableStereotype.getStereotype()); + stereotypes.add(attributeChoosableStereotype.getStereotype()); + stereotypes.add(bulletedListStereotype.getStereotype()); + stereotypes.add(collectFilterUserScriptStereotype.getStereotype()); + stereotypes.add(collectByAssociationStereotype.getStereotype()); + stereotypes.add(collectByDirectedRelationshipMetaclassesStereotype.getStereotype()); + stereotypes.add(collectByDirectedRelationshipStereotypesStereotype.getStereotype()); + stereotypes.add(collectByExpressionStereotype.getStereotype()); + stereotypes.add(collectByStereotypePropertiesStereotype.getStereotype()); + stereotypes.add(collectClassifierAttributesStereotype.getStereotype()); + stereotypes.add(collectOrFilterStereotype.getStereotype()); + stereotypes.add(collectOwnedElementsStereotype.getStereotype()); + stereotypes.add(collectOwnersStereotype.getStereotype()); + stereotypes.add(collectThingsOnDiagramStereotype.getStereotype()); + stereotypes.add(collectTypesStereotype.getStereotype()); + stereotypes.add(collectionAndFilterGroupStereotype.getStereotype()); + stereotypes.add(conformsStereotype.getStereotype()); + stereotypes.add(considerDerivedChoosableStereotype.getStereotype()); + stereotypes.add(constraintStereotype.getStereotype()); + stereotypes.add(containerStereotype.getStereotype()); + stereotypes.add(depthChoosableStereotype.getStereotype()); + stereotypes.add(diagramTypeChoosableStereotype.getStereotype()); + stereotypes.add(directionChoosableStereotype.getStereotype()); + stereotypes.add(docGenScriptStereotype.getStereotype()); + stereotypes.add(documentStereotype.getStereotype()); + stereotypes.add(documentMetaStereotype.getStereotype()); + stereotypes.add(documentationChoosableStereotype.getStereotype()); + stereotypes.add(documentationSkippableStereotype.getStereotype()); + stereotypes.add(dynamicViewStereotype.getStereotype()); + stereotypes.add(editableChoosableStereotype.getStereotype()); + stereotypes.add(editableTableStereotype.getStereotype()); + stereotypes.add(exposeStereotype.getStereotype()); + stereotypes.add(expressionStereotype.getStereotype()); + stereotypes.add(expressionChoosableStereotype.getStereotype()); + stereotypes.add(expressionLibraryStereotype.getStereotype()); + stereotypes.add(filterByDiagramTypeStereotype.getStereotype()); + stereotypes.add(filterByExpressionStereotype.getStereotype()); + stereotypes.add(filterByMetaclassesStereotype.getStereotype()); + stereotypes.add(filterByNamesStereotype.getStereotype()); + stereotypes.add(filterByStereotypesStereotype.getStereotype()); + stereotypes.add(formattingAndDisplayTemplateStereotype.getStereotype()); + stereotypes.add(genericTableStereotype.getStereotype()); + stereotypes.add(groupStereotype.getStereotype()); + stereotypes.add(hasCaptionsStereotype.getStereotype()); + stereotypes.add(hasTimeoutStereotype.getStereotype()); + stereotypes.add(hasTitleStereotype.getStereotype()); + stereotypes.add(hasTitleStuffStereotype.getStereotype()); + stereotypes.add(hasTitlesStereotype.getStereotype()); + stereotypes.add(hasTypesStereotype.getStereotype()); + stereotypes.add(headersChoosableStereotype.getStereotype()); + stereotypes.add(hierarchicalPropertiesTableStereotype.getStereotype()); + stereotypes.add(ignorableStereotype.getStereotype()); + stereotypes.add(imageStereotype.getStereotype()); + stereotypes.add(includeChoosableStereotype.getStereotype()); + stereotypes.add(includeInheritedChoosableStereotype.getStereotype()); + stereotypes.add(intersectionStereotype.getStereotype()); + stereotypes.add(javaExtensionStereotype.getStereotype()); + stereotypes.add(loopableStereotype.getStereotype()); + stereotypes.add(metaclassChoosableStereotype.getStereotype()); + stereotypes.add(methodStereotype.getStereotype()); + stereotypes.add(modelManagementSystemStereotype.getStereotype()); + stereotypes.add(nameChoosableStereotype.getStereotype()); + stereotypes.add(paragraphStereotype.getStereotype()); + stereotypes.add(parallelStereotype.getStereotype()); + stereotypes.add(plotStereotype.getStereotype()); + stereotypes.add(precisionChoosableStereotype.getStereotype()); + stereotypes.add(productStereotype.getStereotype()); + stereotypes.add(propertiesTableByAttributesStereotype.getStereotype()); + stereotypes.add(propertyChoosableStereotype.getStereotype()); + stereotypes.add(removeDuplicatesStereotype.getStereotype()); + stereotypes.add(simulateStereotype.getStereotype()); + stereotypes.add(skippableStereotype.getStereotype()); + stereotypes.add(sortByAttributeStereotype.getStereotype()); + stereotypes.add(sortByExpressionStereotype.getStereotype()); + stereotypes.add(sortByNameStereotype.getStereotype()); + stereotypes.add(sortByPropertyStereotype.getStereotype()); + stereotypes.add(sortableStereotype.getStereotype()); + stereotypes.add(stereotypeChoosableStereotype.getStereotype()); + stereotypes.add(stereotypePropertiesChoosableStereotype.getStereotype()); + stereotypes.add(stereotypedRelationshipsChoosableStereotype.getStereotype()); + stereotypes.add(structuredQueryStereotype.getStereotype()); + stereotypes.add(tableStereotype.getStereotype()); + stereotypes.add(tableAttributeColumnStereotype.getStereotype()); + stereotypes.add(tableColumnStereotype.getStereotype()); + stereotypes.add(tableColumnGroupStereotype.getStereotype()); + stereotypes.add(tableExpressionColumnStereotype.getStereotype()); + stereotypes.add(tablePropertyColumnStereotype.getStereotype()); + stereotypes.add(tableStructureStereotype.getStereotype()); + stereotypes.add(temporalDiffStereotype.getStereotype()); + stereotypes.add(tomSawyerDiagramStereotype.getStereotype()); + stereotypes.add(unionStereotype.getStereotype()); + stereotypes.add(userScriptStereotype.getStereotype()); + stereotypes.add(validationScriptStereotype.getStereotype()); + stereotypes.add(viewpointConstraintStereotype.getStereotype()); + stereotypes.add(xorStereotype.getStereotype()); + stereotypes.add(aspectStereotype.getStereotype()); + stereotypes.add(characterizesStereotype.getStereotype()); + stereotypes.add(viewStereotype.getStereotype()); + + return stereotypes; + } + + return Collections.emptyList(); + } + + +} +//MD5sum:2C71B0B982A0DBAEA02ACE90B735BDC8 diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ViewDiagramConfigurator.java b/src/main/java/org/openmbee/mdk/ViewDiagramConfigurator.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ViewDiagramConfigurator.java rename to src/main/java/org/openmbee/mdk/ViewDiagramConfigurator.java index 4839f084b..028e3f273 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ViewDiagramConfigurator.java +++ b/src/main/java/org/openmbee/mdk/ViewDiagramConfigurator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.actions.AMConfigurator; import com.nomagic.actions.ActionsManager; @@ -6,7 +6,7 @@ import com.nomagic.magicdraw.actions.TargetElementAMConfigurator; import com.nomagic.magicdraw.ui.diagrams.BaseCustomizableDiagramAction; import com.nomagic.magicdraw.uml.symbols.PresentationElement; -import gov.nasa.jpl.mbee.mdk.actions.ViewpointAdditionalDrawAction; +import org.openmbee.mdk.actions.ViewpointAdditionalDrawAction; import java.util.Collections; import java.util.Iterator; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/ClipboardAction.java b/src/main/java/org/openmbee/mdk/actions/ClipboardAction.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/actions/ClipboardAction.java rename to src/main/java/org/openmbee/mdk/actions/ClipboardAction.java index 0a83559c6..cff254788 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/ClipboardAction.java +++ b/src/main/java/org/openmbee/mdk/actions/ClipboardAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.actions; +package org.openmbee.mdk.actions; import com.nomagic.magicdraw.actions.MDAction; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/CreateRestrictedValueAction.java b/src/main/java/org/openmbee/mdk/actions/CreateRestrictedValueAction.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/actions/CreateRestrictedValueAction.java rename to src/main/java/org/openmbee/mdk/actions/CreateRestrictedValueAction.java index 3db64594a..992d3e4e0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/CreateRestrictedValueAction.java +++ b/src/main/java/org/openmbee/mdk/actions/CreateRestrictedValueAction.java @@ -1,7 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.actions; +package org.openmbee.mdk.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; +import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.magicdraw.ui.dialogs.MDDialogParentProvider; import com.nomagic.magicdraw.ui.dialogs.SelectElementInfo; @@ -99,8 +100,8 @@ public boolean accept(BaseElement baseElement, boolean checkType) { selectedElement = (Element) dlg2.getSelectedElement(); } } - - SessionManager.getInstance().createSession("instance restricted value"); + Project project = Application.getInstance().getProject(); + SessionManager.getInstance().createSession(project, "instance restricted value"); for (Property prop : props) { if (!prop.isEditable()) { Application.getInstance().getGUILog().log(prop.getQualifiedName() + " is not editable. Skipped creating restricted value."); @@ -140,6 +141,6 @@ public boolean accept(BaseElement baseElement, boolean checkType) { } // close session - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/InstanceViewpointAction.java b/src/main/java/org/openmbee/mdk/actions/InstanceViewpointAction.java similarity index 84% rename from src/main/java/gov/nasa/jpl/mbee/mdk/actions/InstanceViewpointAction.java rename to src/main/java/org/openmbee/mdk/actions/InstanceViewpointAction.java index 4d012bec0..8bb54bd97 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/InstanceViewpointAction.java +++ b/src/main/java/org/openmbee/mdk/actions/InstanceViewpointAction.java @@ -1,10 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.actions; +package org.openmbee.mdk.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.SessionManager; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; @@ -12,7 +13,8 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; import com.nomagic.uml2.impl.ElementsFactory; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.util.Utils; import java.awt.event.ActionEvent; import java.io.PrintWriter; @@ -46,8 +48,8 @@ public InstanceViewpointAction(Element e) { @Override public void actionPerformed(ActionEvent e) { GUILog gl = Application.getInstance().getGUILog(); - sysmlView = Utils.getViewClassStereotype(project); - sysmlViewpoint = Utils.getViewpointStereotype(project); + sysmlView = SysMLExtensions.getInstanceByProject(project).view().getStereotype(); + sysmlViewpoint = SysMLProfile.getInstanceByProject(project).viewpoint().getStereotype();; ef = Project.getProject(viewpoint).getElementsFactory(); if (sysmlView == null) { gl.log("The view stereotype cannot be found"); @@ -64,11 +66,13 @@ public void actionPerformed(ActionEvent e) { gl.log("you didn't select a package"); return; } + Project project = Application.getInstance().getProject(); try { - SessionManager.getInstance().createSession("instance viewpoint"); + SessionManager.getInstance().createSession(project, "instance viewpoint"); instance(pack, (Class) viewpoint, ((Class) viewpoint).getName()); - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); } catch (Exception ex) { + SessionManager.getInstance().cancelSession(project); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); ex.printStackTrace(pw); @@ -83,7 +87,7 @@ private Class instance(Element owner, Class vp, String name) { view.setName(name); StereotypesHelper.addStereotype(view, sysmlView); Generalization conforms = ef.createGeneralizationInstance(); - StereotypesHelper.addStereotype(conforms, Utils.getConformStereotype(project)); + StereotypesHelper.addStereotype(conforms, SysMLExtensions.getInstance(owner).conforms().getStereotype()); ModelHelper.setClientElement(conforms, view); ModelHelper.setSupplierElement(conforms, vp); conforms.setOwner(view); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/LockAction.java b/src/main/java/org/openmbee/mdk/actions/LockAction.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/actions/LockAction.java rename to src/main/java/org/openmbee/mdk/actions/LockAction.java index d9c283aa7..b9c3c217e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/LockAction.java +++ b/src/main/java/org/openmbee/mdk/actions/LockAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.actions; +package org.openmbee.mdk.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.annotation.Annotation; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/MMSViewLinkAction.java b/src/main/java/org/openmbee/mdk/actions/MMSViewLinkAction.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/actions/MMSViewLinkAction.java rename to src/main/java/org/openmbee/mdk/actions/MMSViewLinkAction.java index 3ef929014..d39aba036 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/MMSViewLinkAction.java +++ b/src/main/java/org/openmbee/mdk/actions/MMSViewLinkAction.java @@ -1,18 +1,18 @@ -package gov.nasa.jpl.mbee.mdk.actions; +package org.openmbee.mdk.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.ui.ViewEditorLinkForm; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.ui.ViewEditorLinkForm; +import org.openmbee.mdk.util.MDUtils; import org.apache.http.client.utils.URIBuilder; import javax.swing.*; @@ -41,8 +41,8 @@ public MMSViewLinkAction(Collection elements) { @Override public void actionPerformed(ActionEvent e) { - Stereotype documentStereotype = Utils.getDocumentStereotype(project); - Stereotype viewStereotype = Utils.getViewStereotype(project); + Stereotype documentStereotype = SysMLExtensions.getInstanceByProject(project).document().getStereotype(); + Stereotype viewStereotype = SysMLProfile.getInstanceByProject(project).view().getStereotype(); for (Element element : targetElements) { if (!StereotypesHelper.hasStereotypeOrDerived(element, viewStereotype) @@ -113,10 +113,10 @@ public void actionPerformed(ActionEvent e) { label = "Documents containing " + element.getHumanName() + ":"; for (Element doc : documents) { if (doc.equals(element)) { - viewFragment += "/documents/" + Converters.getElementToIdConverter().apply(element); + viewFragment += "/" + Converters.getElementToIdConverter().apply(element) + "/present?viewId=" + Converters.getElementToIdConverter().apply(element); } else { - viewFragment += "/documents/" + Converters.getElementToIdConverter().apply(doc) + "/views/" + Converters.getElementToIdConverter().apply(element); + viewFragment += "/" + Converters.getElementToIdConverter().apply(doc) + "/present?viewId=" + Converters.getElementToIdConverter().apply(element); } JButton button = new ViewButton(doc.getHumanName(), uriBase.setFragment(viewFragment).build()); linkButtons.add(button); @@ -133,10 +133,10 @@ public void actionPerformed(ActionEvent e) { else { // build single link if (documents.isEmpty()) { - viewFragment += "/documents/" + Converters.getElementToIdConverter().apply(element) + "/views/" + Converters.getElementToIdConverter().apply(element); + viewFragment += "/" + Converters.getElementToIdConverter().apply(element) + "/present?viewId=" + Converters.getElementToIdConverter().apply(element); } else { - viewFragment += "/documents/" + Converters.getElementToIdConverter().apply(documents.iterator().next()) + "/views/" + Converters.getElementToIdConverter().apply(element); + viewFragment += "/" + Converters.getElementToIdConverter().apply(documents.iterator().next()) + "/present?viewId=" + Converters.getElementToIdConverter().apply(element); } // just open it if possible if (Desktop.isDesktopSupported()) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/ViewpointAdditionalDrawAction.java b/src/main/java/org/openmbee/mdk/actions/ViewpointAdditionalDrawAction.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/actions/ViewpointAdditionalDrawAction.java rename to src/main/java/org/openmbee/mdk/actions/ViewpointAdditionalDrawAction.java index 91dc40c1a..135d169c8 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/actions/ViewpointAdditionalDrawAction.java +++ b/src/main/java/org/openmbee/mdk/actions/ViewpointAdditionalDrawAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.actions; +package org.openmbee.mdk.actions; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.uml.symbols.PresentationElement; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/ElementFinder.java b/src/main/java/org/openmbee/mdk/api/ElementFinder.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/ElementFinder.java rename to src/main/java/org/openmbee/mdk/api/ElementFinder.java index 15c448747..cd8d2a33b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/ElementFinder.java +++ b/src/main/java/org/openmbee/mdk/api/ElementFinder.java @@ -27,7 +27,7 @@ * POSSIBILITY OF SUCH DAMAGE. ******************************************************************************/ -package gov.nasa.jpl.mbee.mdk.api; +package org.openmbee.mdk.api; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/MDKHelper.java b/src/main/java/org/openmbee/mdk/api/MDKHelper.java similarity index 77% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/MDKHelper.java rename to src/main/java/org/openmbee/mdk/api/MDKHelper.java index 6cda9ca24..94d400256 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/MDKHelper.java +++ b/src/main/java/org/openmbee/mdk/api/MDKHelper.java @@ -27,33 +27,15 @@ * POSSIBILITY OF SUCH DAMAGE. ******************************************************************************/ -package gov.nasa.jpl.mbee.mdk.api; +package org.openmbee.mdk.api; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.nomagic.magicdraw.core.Project; -import com.nomagic.task.ProgressStatus; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.GenerateViewPresentationAction; -import gov.nasa.jpl.mbee.mdk.tickets.BasicAuthAcquireTicketProcessor; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.ContentType; +import org.openmbee.mdk.mms.actions.GenerateViewPresentationAction; +import org.openmbee.mdk.tickets.BasicAuthAcquireTicketProcessor; +import org.openmbee.mdk.util.Utils; + -import java.io.File; -import java.io.IOException; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; -import java.util.LinkedList; /** * This class exposes MDK operations for use in external programs. @@ -103,4 +85,4 @@ public static void generateViews(Element doc, Boolean recurse) { new GenerateViewPresentationAction(Collections.singleton(doc), recurse).updateAction(); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/MDKValidationWindow.java b/src/main/java/org/openmbee/mdk/api/MDKValidationWindow.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/MDKValidationWindow.java rename to src/main/java/org/openmbee/mdk/api/MDKValidationWindow.java index e603ed308..a69c30d47 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/MDKValidationWindow.java +++ b/src/main/java/org/openmbee/mdk/api/MDKValidationWindow.java @@ -27,16 +27,16 @@ * POSSIBILITY OF SUCH DAMAGE. ******************************************************************************/ -package gov.nasa.jpl.mbee.mdk.api; +package org.openmbee.mdk.api; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; @@ -165,7 +165,7 @@ public int listPooledViolations() { try { numViolations += listPooledViolations(s[VIOLATION_RULE_NAME]); } catch (Exception e) { - // do nothing, not a user problem if one of the listed types should be updated + // do nothing, not a user problem if one of the listed types should be updated } } return numViolations; @@ -479,9 +479,9 @@ public Collection confirmElementViolationByID(String validationType, Col /* * Non-reflection method for getting annotations and executing actions. Saved only in case it's instructive for * something later on. Should not be made public or called. - * + * * Exports all [ATTRIBUTE] validation results to MD - * + * * @throws Exception */ // private void exportAllValidatedAttribute() { diff --git a/src/main/java/org/openmbee/mdk/api/MagicDrawHelper.java b/src/main/java/org/openmbee/mdk/api/MagicDrawHelper.java new file mode 100644 index 000000000..15109e145 --- /dev/null +++ b/src/main/java/org/openmbee/mdk/api/MagicDrawHelper.java @@ -0,0 +1,151 @@ +/******************************************************************************* + * Copyright (c) <2016>, California Institute of Technology ("Caltech"). + * U.S. Government sponsorship acknowledged. + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * - Neither the name of Caltech nor its operating division, the Jet Propulsion Laboratory, + * nor the names of its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************/ + +package org.openmbee.mdk.api; + +import com.nomagic.magicdraw.core.Application; +import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.core.project.ProjectDescriptor; +import com.nomagic.magicdraw.core.project.ProjectDescriptorsFactory; +import com.nomagic.magicdraw.core.project.ProjectsManager; +import com.nomagic.magicdraw.openapi.uml.SessionManager; +import com.nomagic.uml2.impl.ElementsFactory; + +import java.io.File; +import java.io.IOException; +import java.net.URI; + + +/** + * This class has functions that uses the MDK api to test the MDK actions. + */ +public class MagicDrawHelper { + + private static Project project; + private static ElementsFactory ef; + + /** + * Convenience method to ensure that we always have an ElementsFactory available. + */ + private static void initializeFactory() { + if (ef != null) { + return; + } + project = Application.getInstance().getProject(); + ef = project.getElementsFactory(); + } + + /***************************************************************************************** + * + * Project load / close functions + * + *****************************************************************************************/ + + public static ProjectDescriptor openProject(File file) throws IOException { + return openProject(file.toURI()); + } + + public static ProjectDescriptor openProject(URI uri) throws IOException { + final ProjectDescriptor projectDescriptor = ProjectDescriptorsFactory.createProjectDescriptor(uri); + if (projectDescriptor == null) { + throw new IOException(uri.toString() + " could not generate a project descriptor."); + } + final ProjectsManager projectsManager = Application.getInstance().getProjectsManager(); + projectsManager.loadProject(projectDescriptor, true); + final Project project = projectsManager.getActiveProject(); + if (project == null) { + throw new IOException(uri.toString() + " could not be loaded into MagicDraw."); + } + return projectDescriptor; + } + + + + public static void closeProject() { + Application.getInstance().getProjectsManager().closeProject(); + } + + + /***************************************************************************************** + * + * Session management functions + * + *****************************************************************************************/ + + /** + * Creates a MagicDraw Session. All changes to be recorded in model programmatically + * must occur after a session is opened, and will be recorded when the session is closed. + * A cancelled session will cause the changes to be lost. + * + * @throws IllegalStateException + */ + public static void createSession() throws IllegalStateException { + Project project = Application.getInstance().getProject(); + if (SessionManager.getInstance().isSessionCreated(project)) { + throw new IllegalStateException("Unable to create session: a session is already open."); + } + SessionManager.getInstance().createSession(project,"Programmatic changes"); + initializeFactory(); + } + + /** + * Closes an open session, causing all programmatically completed changes in the current + * session to be reflected in the model. + * + * @throws IllegalStateException + */ + public static void closeSession() throws IllegalStateException { + Project project = Application.getInstance().getProject(); + if (!SessionManager.getInstance().isSessionCreated(project)) { + throw new IllegalStateException("Unable to close session: no session has been created to close."); + } + SessionManager.getInstance().closeSession(project); + } + + + + /***************************************************************************************** + * + * Logging functions + * + *****************************************************************************************/ + + /** + * Prints a message to console and MD log + */ + public static void generalMessage(String s) { + Application instance = Application.getInstance(); + instance.getGUILog().log(s); + System.out.println(s); + } + + + + +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/EquationClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/EquationClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/EquationClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/EquationClass.java index 255447496..4d0b9342e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/EquationClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/EquationClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/FigureClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/FigureClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/FigureClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/FigureClass.java index 055b6c28a..de5e90cbe 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/FigureClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/FigureClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ImageClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ImageClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ImageClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ImageClass.java index 081966df9..b39349a7d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ImageClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ImageClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ListClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ListClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ListClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ListClass.java index b990be104..1c79b3f13 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ListClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ListClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueFigureClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueFigureClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueFigureClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueFigureClass.java index 5bcd12d4b..6254f9fb2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueFigureClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueFigureClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueImageClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueImageClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueImageClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueImageClass.java index 284af833e..82f550ecc 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueImageClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueImageClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueListClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueListClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueListClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueListClass.java index 64b50c997..71e6a6dee 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueListClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueListClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueParagraphClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueParagraphClass.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueParagraphClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueParagraphClass.java index 4d87ec4ca..1ca41518c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueParagraphClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueParagraphClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueSectionClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueSectionClass.java similarity index 80% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueSectionClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueSectionClass.java index 58cfbb00e..ce3cc4524 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueSectionClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueSectionClass.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperty; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperties; +import org.openmbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperty; +import org.openmbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperties; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueTableClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueTableClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueTableClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueTableClass.java index bf01054f7..d8e0b8aa2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/OpaqueTableClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/OpaqueTableClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ParagraphClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ParagraphClass.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ParagraphClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ParagraphClass.java index 369f5b028..b3b4b2784 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/ParagraphClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/ParagraphClass.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; /** * Created by igomes on 8/23/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/PresentationElementClass.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/PresentationElementClass.java similarity index 70% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/PresentationElementClass.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/PresentationElementClass.java index 42c20ba57..e64a15a51 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/PresentationElementClass.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/PresentationElementClass.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperty; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperties; +import org.openmbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperty; +import org.openmbee.mdk.api.docgen.uml.classes.properties.PresentationElementClassProperties; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Classifier; -import gov.nasa.jpl.mbee.mdk.api.util.ElementReference; +import org.openmbee.mdk.api.util.ElementReference; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/PresentationElementClasses.java b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/PresentationElementClasses.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/PresentationElementClasses.java rename to src/main/java/org/openmbee/mdk/api/docgen/uml/classes/PresentationElementClasses.java index 967b3fa43..25cbf5d05 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/docgen/uml/classes/PresentationElementClasses.java +++ b/src/main/java/org/openmbee/mdk/api/docgen/uml/classes/PresentationElementClasses.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes; +package org.openmbee.mdk.api.docgen.uml.classes; import java.util.function.Supplier; @@ -30,4 +30,4 @@ public enum PresentationElementClasses implements Supplier getIdToElementConverter() { return project.getPrimaryModel(); } } - if (id.endsWith(MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX)) { - String stereotypedElementId = id.substring(0, id.length() - MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX.length()); - Element stereotypedElement = ID_TO_ELEMENT_CONVERTER.apply(stereotypedElementId, project); - if (stereotypedElement != null) { - return stereotypedElement.getAppliedStereotypeInstance(); - } - } if (id.contains(MDKConstants.SLOT_VALUE_ID_SEPARATOR)) { + //tagged values will not have value specs, so this should only apply to slots values String[] sections = id.split(MDKConstants.SLOT_VALUE_ID_SEPARATOR); Element element = Converters.getIdToElementConverter().apply(sections[0], project); if (element == null || !(element instanceof Slot)) { @@ -111,12 +106,19 @@ public static BiFunction getIdToElementConverter() { if (sections.length < 2) { return null; } + if (sections[0].endsWith(MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX)) { + // this is a tagged value, the owner should be found without the _asi suffix, + // _asi is added during export for taggedvalue id in order to preserve continuity with 19.x mdk + String[] s2 = sections[0].split(MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX); + sections[0] = s2[0]; + } Element owningInstance = Converters.getIdToElementConverter().apply(sections[0], project); Element definingFeature = Converters.getIdToElementConverter().apply(sections[1], project); - if (!(owningInstance instanceof InstanceSpecification) || !(definingFeature instanceof StructuralFeature)) { - return null; + if ((owningInstance instanceof InstanceSpecification) && (definingFeature instanceof StructuralFeature)) { + return ((InstanceSpecification) owningInstance).getSlot().stream().filter(slot -> definingFeature.equals(slot.getDefiningFeature())).findAny().orElse(null); + } else if ((owningInstance instanceof Element) && (definingFeature instanceof Property)) { + return TagsHelper.getTaggedValue(owningInstance, (Property) definingFeature); } - return ((InstanceSpecification) owningInstance).getSlot().stream().filter(slot -> definingFeature.equals(slot.getDefiningFeature())).findAny().orElse(null); } return null; }; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/incubating/convert/JsonToElementFunction.java b/src/main/java/org/openmbee/mdk/api/incubating/convert/JsonToElementFunction.java similarity index 76% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/incubating/convert/JsonToElementFunction.java rename to src/main/java/org/openmbee/mdk/api/incubating/convert/JsonToElementFunction.java index b05ad0c8b..3f86bfa40 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/incubating/convert/JsonToElementFunction.java +++ b/src/main/java/org/openmbee/mdk/api/incubating/convert/JsonToElementFunction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.api.incubating.convert; +package org.openmbee.mdk.api.incubating.convert; import com.fasterxml.jackson.databind.node.ObjectNode; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.ReadOnlyElementException; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.json.ImportException; -import gov.nasa.jpl.mbee.mdk.util.Changelog; +import org.openmbee.mdk.json.ImportException; +import org.openmbee.mdk.util.Changelog; /** * Created by igomes on 9/20/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/stream/ArrayNodeCollector.java b/src/main/java/org/openmbee/mdk/api/stream/ArrayNodeCollector.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/stream/ArrayNodeCollector.java rename to src/main/java/org/openmbee/mdk/api/stream/ArrayNodeCollector.java index 752eeb2dc..ce3f2f33c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/stream/ArrayNodeCollector.java +++ b/src/main/java/org/openmbee/mdk/api/stream/ArrayNodeCollector.java @@ -1,8 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.api.stream; +package org.openmbee.mdk.api.stream; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.json.JacksonUtils; import java.util.EnumSet; import java.util.Set; @@ -41,4 +41,4 @@ public Set characteristics() { return EnumSet.of(Characteristics.UNORDERED); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/stream/MDKCollectors.java b/src/main/java/org/openmbee/mdk/api/stream/MDKCollectors.java similarity index 75% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/stream/MDKCollectors.java rename to src/main/java/org/openmbee/mdk/api/stream/MDKCollectors.java index aa1cf0118..67d5e8462 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/stream/MDKCollectors.java +++ b/src/main/java/org/openmbee/mdk/api/stream/MDKCollectors.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.api.stream; +package org.openmbee.mdk.api.stream; public class MDKCollectors { public static ArrayNodeCollector toArrayNode() { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/api/util/ElementReference.java b/src/main/java/org/openmbee/mdk/api/util/ElementReference.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/api/util/ElementReference.java rename to src/main/java/org/openmbee/mdk/api/util/ElementReference.java index 0c99fb60f..6203d275b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/api/util/ElementReference.java +++ b/src/main/java/org/openmbee/mdk/api/util/ElementReference.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.api.util; +package org.openmbee.mdk.api.util; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.uml.BaseElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.incubating.convert.Converters; import java.util.function.Function; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/cli/AutomatedCommitter.java b/src/main/java/org/openmbee/mdk/cli/AutomatedCommitter.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/cli/AutomatedCommitter.java rename to src/main/java/org/openmbee/mdk/cli/AutomatedCommitter.java index 2d5d94234..6b2ec906b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/cli/AutomatedCommitter.java +++ b/src/main/java/org/openmbee/mdk/cli/AutomatedCommitter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.cli; +package org.openmbee.mdk.cli; import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; @@ -11,10 +11,10 @@ import com.nomagic.magicdraw.teamwork2.ServerLoginInfo; import com.nomagic.magicdraw.teamwork2.locks.ILockProjectService; import com.nomagic.magicdraw.teamwork2.locks.LockService; -import gov.nasa.jpl.mbee.mdk.api.MDKHelper; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; +import org.openmbee.mdk.api.MDKHelper; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.util.TaskRunner; import java.util.Arrays; import java.util.Collections; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/cli/AutomatedViewGenerator.java b/src/main/java/org/openmbee/mdk/cli/AutomatedViewGenerator.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/cli/AutomatedViewGenerator.java rename to src/main/java/org/openmbee/mdk/cli/AutomatedViewGenerator.java index 276fd9f12..ceedaa69f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/cli/AutomatedViewGenerator.java +++ b/src/main/java/org/openmbee/mdk/cli/AutomatedViewGenerator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.cli; +package org.openmbee.mdk.cli; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -10,18 +10,17 @@ import com.nomagic.magicdraw.teamwork2.ITeamworkService; import com.nomagic.magicdraw.teamwork2.ServerLoginInfo; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.MDKHelper; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLoginAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.*; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.tickets.BasicAuthAcquireTicketProcessor; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.api.MDKHelper; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.MMSLoginAction; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.tickets.BasicAuthAcquireTicketProcessor; +import org.openmbee.mdk.util.TaskRunner; +import org.openmbee.mdk.util.TicketUtils; import org.apache.commons.cli.*; import org.apache.commons.io.IOUtils; import org.apache.http.client.methods.CloseableHttpResponse; @@ -31,6 +30,9 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.endpoints.MMSProjectEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSRefEndpoint; import java.io.*; import java.net.HttpURLConnection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/constraint/BasicConstraint.java b/src/main/java/org/openmbee/mdk/constraint/BasicConstraint.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/constraint/BasicConstraint.java rename to src/main/java/org/openmbee/mdk/constraint/BasicConstraint.java index d55279d28..7d153dea9 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/constraint/BasicConstraint.java +++ b/src/main/java/org/openmbee/mdk/constraint/BasicConstraint.java @@ -1,13 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.constraint; +package org.openmbee.mdk.constraint; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Comment; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.util.*; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.util.*; import java.util.*; @@ -40,20 +39,16 @@ public BasicConstraint(Object constraint, Collection constrained) { addConstrainedObjects(constrained); } - public static boolean iterateViewpointConstrraint(Element vpConstraint) { + public static boolean iterateViewpointConstraint(Element vpConstraint) { Boolean iterate = (Boolean) GeneratorUtils.getStereotypePropertyFirst(vpConstraint, - DocGenProfile.viewpointConstraintStereotype, "iterate", DocGenProfile.PROFILE_NAME, true); - // Boolean iterate = getBooleanPropertyValue( vpConstraint, - // DocGenProfile.expressionChoosable, "iterate" ); - boolean result = !Boolean.FALSE.equals(iterate); - return result; + SysMLExtensions.getInstance(vpConstraint).viewpointConstraint().getIterateProperty(),true); + return !Boolean.FALSE.equals(iterate); } - public static boolean reportedViewpointConstrraint(Element vpConstraint) { + public static boolean reportedViewpointConstraint(Element vpConstraint) { Boolean report = (Boolean) GeneratorUtils.getStereotypePropertyFirst(vpConstraint, - DocGenProfile.viewpointConstraintStereotype, "validationReport", DocGenProfile.PROFILE_NAME, false); - boolean result = Boolean.TRUE.equals(report); - return result; + SysMLExtensions.getInstance(vpConstraint).viewpointConstraint().getValidationReportProperty(), false); + return Boolean.TRUE.equals(report); } /** @@ -170,7 +165,7 @@ public void addConstrainingElement(Element constrainingElement) { } constrainingElements.add(constrainingElement); if (!reported && elementIsViewpointConstraint(constrainingElement)) { - setReported(reportedViewpointConstrraint(constrainingElement)); + setReported(reportedViewpointConstraint(constrainingElement)); } } @@ -352,9 +347,9 @@ public static String getExpression(Object constraint) { if (elementIsUmlConstraint(e)) { expr = DocGenUtils.fixString(asUmlConstraint(e).getSpecification()); } - else if (GeneratorUtils.hasStereotypeByString(e, DocGenProfile.constraintStereotype, true)) { - Object v = GeneratorUtils.getStereotypePropertyFirst(e, DocGenProfile.constraintStereotype, - "expression", DocGenProfile.PROFILE_NAME, null); + else if (GeneratorUtils.hasStereotype(e, SysMLExtensions.getInstance(e).constraint().getStereotype(), true)) { + Object v = GeneratorUtils.getStereotypePropertyFirst(e, + SysMLExtensions.getInstance(e).constraint().getExpressionProperty(), null); expr = v.toString(); } } @@ -368,8 +363,7 @@ else if (GeneratorUtils.hasStereotypeByString(e, DocGenProfile.constraintStereot * Create a BasicConstraint on one of two Elements or Collections. * * @param constraintElement the model element representing the constraint - * @param constrained1 the first candidate to be constrained - * @param constrained2 the second candidate to be constrained + * @return a BasicConstraint on the first candidate if the evaluation works * or the evaluation does not work with the second candidate; * otherwise return a BasicConstraint on the second candidate. @@ -651,14 +645,14 @@ public static boolean elementIsDocGenConstraint(Element elem) { if (elem == null) { return false; } - return StereotypesHelper.hasStereotypeOrDerived(elem, DocGenProfile.constraintStereotype); + return SysMLExtensions.getInstance(elem).constraint().is(elem); } public static boolean elementIsViewpointConstraint(Element elem) { if (elem == null) { return false; } - return StereotypesHelper.hasStereotypeOrDerived(elem, DocGenProfile.viewpointConstraintStereotype); + return SysMLExtensions.getInstance(elem).viewpointConstraint().is(elem); } public static boolean elementIsConstraint(Element elem) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/constraint/Constraint.java b/src/main/java/org/openmbee/mdk/constraint/Constraint.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/constraint/Constraint.java rename to src/main/java/org/openmbee/mdk/constraint/Constraint.java index b7ecea6d0..e14430bb5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/constraint/Constraint.java +++ b/src/main/java/org/openmbee/mdk/constraint/Constraint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.constraint; +package org.openmbee.mdk.constraint; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenUtils.java b/src/main/java/org/openmbee/mdk/docgen/DocGenUtils.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenUtils.java rename to src/main/java/org/openmbee/mdk/docgen/DocGenUtils.java index 6cc579652..9aad6a026 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenUtils.java +++ b/src/main/java/org/openmbee/mdk/docgen/DocGenUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen; +package org.openmbee.mdk.docgen; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; @@ -9,13 +9,14 @@ import com.nomagic.magicdraw.properties.StringProperty; import com.nomagic.magicdraw.uml.symbols.DiagramPresentationElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.docgen.view.ViewElement; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.view.ViewElement; +import org.openmbee.mdk.util.MDUtils; import org.apache.commons.lang3.StringEscapeUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; +import org.openmbee.mdk.util.Utils; import javax.xml.transform.TransformerException; import java.io.BufferedReader; @@ -121,7 +122,7 @@ public static String getIndented(String name, int depth) { public static String htmlToXmlEntities(String html) { StringBuffer stringBuffer = new StringBuffer(); Matcher matcher = ENTITY_PATTERN.matcher(html); - + while (matcher.find()) { String replacement = null; if (matcher.group(1).equals(" ")) { @@ -168,14 +169,14 @@ public static String fixString(Object s, boolean convertHtml) { return htmlToXmlEntities((String) s); } else { - return gov.nasa.jpl.mbee.mdk.util.Utils.stripHtmlWrapper((String) s); + return Utils.stripHtmlWrapper((String) s); } } else { return htmlToXmlEntities(((String) s) .replaceAll("&(?![A-Za-z#0-9]+;)", "&").replaceAll("<([>=\\s])", "<$1") - .replaceAll("<<", "<<").replaceAll("<(?![^>]+>)", "<")) - .replaceAll("[^\\x00-\\x7F]", ""); //for line 402 of DocGen.mdzip + .replaceAll("<<", "<<").replaceAll("<(?![^>]+>)", "<")); + //.replaceAll("[^\\x00-\\x7F]", ""); //for line 402 of DocGen.mdzip } } else if (s instanceof Integer) { @@ -327,7 +328,7 @@ public static String slot2String(Slot s, boolean includeName) { for (ValueSpecification vs : s.getValue()) { values.add(fixString(vs)); } - return string + gov.nasa.jpl.mbee.mdk.util.Utils.join(values, ", "); + return string + Utils.join(values, ", "); } /** diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenViewDBSwitch.java b/src/main/java/org/openmbee/mdk/docgen/DocGenViewDBSwitch.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenViewDBSwitch.java rename to src/main/java/org/openmbee/mdk/docgen/DocGenViewDBSwitch.java index c95f6b0e1..8b1b8f7ca 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/DocGenViewDBSwitch.java +++ b/src/main/java/org/openmbee/mdk/docgen/DocGenViewDBSwitch.java @@ -1,16 +1,16 @@ -package gov.nasa.jpl.mbee.mdk.docgen; +package org.openmbee.mdk.docgen; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.uml.BaseElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable; -import gov.nasa.jpl.mbee.mdk.docgen.table.PropertyEnum; -import gov.nasa.jpl.mbee.mdk.docgen.view.*; -import gov.nasa.jpl.mbee.mdk.docgen.view.util.DocGenViewSwitch; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.table.EditableTable; +import org.openmbee.mdk.docgen.table.PropertyEnum; +import org.openmbee.mdk.docgen.view.util.DocGenViewSwitch; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.docgen.view.*; import java.util.ArrayList; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/ViewViewpointValidator.java b/src/main/java/org/openmbee/mdk/docgen/ViewViewpointValidator.java similarity index 90% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/ViewViewpointValidator.java rename to src/main/java/org/openmbee/mdk/docgen/ViewViewpointValidator.java index b2575716b..34801718f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/ViewViewpointValidator.java +++ b/src/main/java/org/openmbee/mdk/docgen/ViewViewpointValidator.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.docgen; +package org.openmbee.mdk.docgen; -import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction; import com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities.ActivityEdge; @@ -17,23 +17,24 @@ import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.Behavior; import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.BehavioredClassifier; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.constraint.BasicConstraint; -import gov.nasa.jpl.mbee.mdk.constraint.Constraint; -import gov.nasa.jpl.mbee.mdk.docgen.actions.SetViewpointMethodAction; -import gov.nasa.jpl.mbee.mdk.docgen.validation.ConstraintValidationRule; -import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator; -import gov.nasa.jpl.mbee.mdk.generator.GenerationContext; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.util.*; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.constraint.BasicConstraint; +import org.openmbee.mdk.constraint.Constraint; +import org.openmbee.mdk.docgen.actions.SetViewpointMethodAction; +import org.openmbee.mdk.docgen.validation.ConstraintValidationRule; +import org.openmbee.mdk.generator.DocumentGenerator; +import org.openmbee.mdk.generator.GenerationContext; +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; import org.eclipse.ocl.ParserException; import org.jgrapht.DirectedGraph; import org.jgrapht.EdgeFactory; import org.jgrapht.graph.DefaultDirectedGraph; +import org.openmbee.mdk.util.*; import java.util.*; @@ -79,10 +80,9 @@ public ViewViewpointValidator(Set elements, Project project, boolean re this.elements = elements; this.project = project; this.recurse = recurse; - - viewStereotype = Utils.getViewStereotype(project); - conformStereotype = Utils.getConformStereotype(project); - exposeStereotype = Utils.getExposeStereotype(project); + viewStereotype = SysMLProfile.getInstanceByProject(project).view().getStereotype(); + conformStereotype = SysMLProfile.getInstanceByProject(project).conform().getStereotype(); + exposeStereotype = SysMLProfile.getInstanceByProject(project).expose().getStereotype(); visited = new HashSet<>(); activityEdgeFactory = new ActivityEdgeFactory(); @@ -188,18 +188,14 @@ private void validateNode(ActivityNode n, DirectedGraph napplied = new HashSet<>(StereotypesHelper.checkForAllDerivedStereotypes(n, DocGenProfile.collectFilterStereotype)); - napplied.addAll(StereotypesHelper.checkForAllDerivedStereotypes(n, DocGenProfile.ignorableStereotype)); - napplied.addAll(StereotypesHelper.checkForAllDerivedStereotypes(n, DocGenProfile.tableColumnStereotype)); + Collection napplied = n.getAppliedStereotype(); if (b == null) { if (napplied.size() > 1) { stereotypeMultiplicity.addViolation(n, stereotypeMultiplicity.getDescription()); } } else { - Collection bapplied = new HashSet<>(StereotypesHelper.checkForAllDerivedStereotypes(b, DocGenProfile.collectFilterStereotype)); - bapplied.addAll(StereotypesHelper.checkForAllDerivedStereotypes(b, DocGenProfile.ignorableStereotype)); - bapplied.addAll(StereotypesHelper.checkForAllDerivedStereotypes(b, DocGenProfile.tableColumnStereotype)); + Collection bapplied = b.getAppliedStereotype(); if (napplied.size() > 1 || bapplied.size() > 1) { stereotypeMultiplicity.addViolation(n, stereotypeMultiplicity.getDescription()); } @@ -380,12 +376,12 @@ public static List getConstraints(Object constrainedObject, Object a for (Element constraintElement : constraintElements) { List separatelyConstrained = Utils2.newList(); boolean isVpConstraint = BasicConstraint.elementIsViewpointConstraint(constraintElement); - boolean isExpressionChoosable = StereotypesHelper.hasStereotypeOrDerived(constraintElement, DocGenProfile.expressionChoosable); + boolean isExpressionChoosable = SysMLExtensions.getInstance(constraintElement).expressionChoosable().is(constraintElement); // if ( isVpConstraint) { Element vpConstraint = constraintElement; // contexts = vpcAlternativeContexts; - if (!isExpressionChoosable || BasicConstraint.iterateViewpointConstrraint(vpConstraint)) { + if (!isExpressionChoosable || BasicConstraint.iterateViewpointConstraint(vpConstraint)) { separatelyConstrained.addAll(targets); } else { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/PreviewDocumentAction.java b/src/main/java/org/openmbee/mdk/docgen/actions/PreviewDocumentAction.java similarity index 81% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/PreviewDocumentAction.java rename to src/main/java/org/openmbee/mdk/docgen/actions/PreviewDocumentAction.java index ef2855119..83f364833 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/PreviewDocumentAction.java +++ b/src/main/java/org/openmbee/mdk/docgen/actions/PreviewDocumentAction.java @@ -1,16 +1,16 @@ -package gov.nasa.jpl.mbee.mdk.docgen.actions; +package org.openmbee.mdk.docgen.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.generator.DocumentViewer; -import gov.nasa.jpl.mbee.mdk.generator.PostProcessor; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.generator.DocumentGenerator; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.generator.DocumentViewer; +import org.openmbee.mdk.generator.PostProcessor; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.util.Utils; import java.awt.event.ActionEvent; import java.util.Collections; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/SetViewpointMethodAction.java b/src/main/java/org/openmbee/mdk/docgen/actions/SetViewpointMethodAction.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/SetViewpointMethodAction.java rename to src/main/java/org/openmbee/mdk/docgen/actions/SetViewpointMethodAction.java index 489861f8a..67f3403c8 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/SetViewpointMethodAction.java +++ b/src/main/java/org/openmbee/mdk/docgen/actions/SetViewpointMethodAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.actions; +package org.openmbee.mdk.docgen.actions; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.annotation.AnnotationAction; @@ -8,10 +8,10 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Operation; import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.Behavior; -import gov.nasa.jpl.mbee.mdk.actions.ViewpointAdditionalDrawAction; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.validation.IRuleViolationAction; -import gov.nasa.jpl.mbee.mdk.validation.RuleViolationAction; +import org.openmbee.mdk.actions.ViewpointAdditionalDrawAction; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.validation.IRuleViolationAction; +import org.openmbee.mdk.validation.RuleViolationAction; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/ValidateAllViewsAction.java b/src/main/java/org/openmbee/mdk/docgen/actions/ValidateAllViewsAction.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/ValidateAllViewsAction.java rename to src/main/java/org/openmbee/mdk/docgen/actions/ValidateAllViewsAction.java index 3d737a831..b27c29b7a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/ValidateAllViewsAction.java +++ b/src/main/java/org/openmbee/mdk/docgen/actions/ValidateAllViewsAction.java @@ -1,15 +1,16 @@ -package gov.nasa.jpl.mbee.mdk.docgen.actions; +package org.openmbee.mdk.docgen.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.ProjectUtilities; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.mms.actions.ValidateBranchesAction; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.mms.actions.ValidateBranchesAction; +import org.openmbee.mdk.util.Utils; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; @@ -50,7 +51,7 @@ public void actionPerformed(@CheckForNull ActionEvent actionEvent) { } private Set getViews(Project project) { - Stereotype viewStereotype = Utils.getViewStereotype(project); + Stereotype viewStereotype = SysMLProfile.getInstanceByProject(project).view().getStereotype(); if (viewStereotype == null) { return Collections.emptySet(); } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/ValidateViewAction.java b/src/main/java/org/openmbee/mdk/docgen/actions/ValidateViewAction.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/ValidateViewAction.java rename to src/main/java/org/openmbee/mdk/docgen/actions/ValidateViewAction.java index 11ed2dcad..e7896b41c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/actions/ValidateViewAction.java +++ b/src/main/java/org/openmbee/mdk/docgen/actions/ValidateViewAction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.docgen.actions; +package org.openmbee.mdk.docgen.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.util.Utils; import java.awt.event.ActionEvent; import java.util.Collections; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBAbstractVisitor.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBAbstractVisitor.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBAbstractVisitor.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBAbstractVisitor.java index dd2915ead..88a78af2a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBAbstractVisitor.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBAbstractVisitor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; public abstract class DBAbstractVisitor implements IDBVisitor { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBBook.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBBook.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBBook.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBBook.java index de385c9b3..e41317dd9 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBBook.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBBook.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; -import gov.nasa.jpl.mbee.mdk.model.docmeta.DocumentMeta; +import org.openmbee.mdk.model.docmeta.DocumentMeta; /** * If you find an occasion where you want to use this, let me know. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBColSpec.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBColSpec.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBColSpec.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBColSpec.java index 3ed50dd00..80f59773e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBColSpec.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBColSpec.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; /** * docbook column spec in a table
diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBHasContent.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBHasContent.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBHasContent.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBHasContent.java index 3f68a5f09..713d7c88e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBHasContent.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBHasContent.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBImage.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBImage.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBImage.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBImage.java index 839dcafdc..e1d464108 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBImage.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBImage.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBList.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBList.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBList.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBList.java index f4e0524ac..d8dcc55fa 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBList.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBList.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; /** * A list, can be unordered or ordered
diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBListItem.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBListItem.java similarity index 84% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBListItem.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBListItem.java index 7949c88b3..38b129d4e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBListItem.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBListItem.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; /** * Use this if your list item itself contains multiple stuff diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBParagraph.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBParagraph.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBParagraph.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBParagraph.java index d076d2c8c..057c397bf 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBParagraph.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBParagraph.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.stereotypes.EditableChoosable; +import org.openmbee.mdk.docgen.docbook.stereotypes.EditableChoosable; /** * A paragraph. Unlike DBText, this WILL do processing on the given text to diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBPlot.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBPlot.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBPlot.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBPlot.java index d39f7837d..7729a5db5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBPlot.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBPlot.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; /** * Created by mw107 on 7/7/2017. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSection.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBSection.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSection.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBSection.java index bad2d2c2c..57179c6c3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSection.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBSection.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; /** * A Section or Appendix. If you want to make a new section, instance this and diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSerializeVisitor.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBSerializeVisitor.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSerializeVisitor.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBSerializeVisitor.java index 66b032d0a..438443097 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSerializeVisitor.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBSerializeVisitor.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.task.ProgressStatus; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.model.docmeta.DocumentMeta; -import gov.nasa.jpl.mbee.mdk.model.docmeta.Person; -import gov.nasa.jpl.mbee.mdk.model.docmeta.Revision; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.model.docmeta.DocumentMeta; +import org.openmbee.mdk.model.docmeta.Person; +import org.openmbee.mdk.model.docmeta.Revision; import java.io.File; import java.io.IOException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSimpleList.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBSimpleList.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSimpleList.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBSimpleList.java index 569fe4295..1c18aa5c1 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBSimpleList.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBSimpleList.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTable.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBTable.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTable.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBTable.java index 7324ee489..f8d188062 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTable.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBTable.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTableEntry.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBTableEntry.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTableEntry.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBTableEntry.java index 24ba705b1..1df641279 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTableEntry.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBTableEntry.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; /** * Use this if a cell in your table needs to have multiple things in it or it diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBText.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBText.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBText.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBText.java index 30c3d5445..b0f242a33 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBText.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBText.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTomSawyerDiagram.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DBTomSawyerDiagram.java similarity index 90% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTomSawyerDiagram.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DBTomSawyerDiagram.java index 2e7f20a4b..7811d9c49 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DBTomSawyerDiagram.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DBTomSawyerDiagram.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.model.TomSawyerDiagram; +import org.openmbee.mdk.model.TomSawyerDiagram; import java.util.Set; @@ -48,4 +48,4 @@ public void setType(TomSawyerDiagram.DiagramType type) { public TomSawyerDiagram.DiagramType getType() { return type; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DocumentElement.java b/src/main/java/org/openmbee/mdk/docgen/docbook/DocumentElement.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DocumentElement.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/DocumentElement.java index 492135679..a61e2742b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/DocumentElement.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/DocumentElement.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.model.DocGenElement; +import org.openmbee.mdk.model.DocGenElement; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/From.java b/src/main/java/org/openmbee/mdk/docgen/docbook/From.java similarity index 54% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/From.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/From.java index becdcc929..163516098 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/From.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/From.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; public enum From { NAME, DOCUMENTATION, DVALUE diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/IDBVisitor.java b/src/main/java/org/openmbee/mdk/docgen/docbook/IDBVisitor.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/IDBVisitor.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/IDBVisitor.java index cc4fa7dee..21ff1c558 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/IDBVisitor.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/IDBVisitor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; public interface IDBVisitor { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/IDocumentElement.java b/src/main/java/org/openmbee/mdk/docgen/docbook/IDocumentElement.java similarity index 84% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/IDocumentElement.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/IDocumentElement.java index 9ae013a23..d7302f364 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/IDocumentElement.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/IDocumentElement.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook; +package org.openmbee.mdk.docgen.docbook; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java b/src/main/java/org/openmbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java similarity index 71% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java rename to src/main/java/org/openmbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java index 2f7992168..5f0eb6431 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java +++ b/src/main/java/org/openmbee/mdk/docgen/docbook/stereotypes/EditableChoosable.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.docbook.stereotypes; +package org.openmbee.mdk.docgen.docbook.stereotypes; /** * Created by igomes on 8/25/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/EditableTable.java b/src/main/java/org/openmbee/mdk/docgen/table/EditableTable.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/EditableTable.java rename to src/main/java/org/openmbee/mdk/docgen/table/EditableTable.java index 358293693..b1f3c7d9e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/EditableTable.java +++ b/src/main/java/org/openmbee/mdk/docgen/table/EditableTable.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.table; +package org.openmbee.mdk.docgen.table; import au.com.bytecode.opencsv.CSVReader; import au.com.bytecode.opencsv.CSVWriter; @@ -12,8 +12,8 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.util.Utils; import javax.swing.*; import javax.swing.table.DefaultTableCellRenderer; @@ -189,16 +189,17 @@ public void actionPerformed(ActionEvent arg0) { if (retval == JFileChooser.APPROVE_OPTION) { if (choose.getSelectedFile() != null) { File savefile = choose.getSelectedFile(); + Project project = Application.getInstance().getProject(); try { - SessionManager.getInstance().createSession("change"); + SessionManager.getInstance().createSession(project,"change"); CSVReader reader = new CSVReader(new FileReader(savefile), separator.charAt(0)); importFromCsv(reader); reader.close(); - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); gl.log("import succeeded"); } catch (IOException ex) { gl.log("import failed"); - SessionManager.getInstance().cancelSession(); + SessionManager.getInstance().cancelSession(project); gl.log(ex.getMessage()); for (StackTraceElement s : ex.getStackTrace()) { gl.log("\t" + s.toString()); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/EditableTableModel.java b/src/main/java/org/openmbee/mdk/docgen/table/EditableTableModel.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/EditableTableModel.java rename to src/main/java/org/openmbee/mdk/docgen/table/EditableTableModel.java index bfec59b28..881e347b2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/EditableTableModel.java +++ b/src/main/java/org/openmbee/mdk/docgen/table/EditableTableModel.java @@ -1,7 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.docgen.table; +package org.openmbee.mdk.docgen.table; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; +import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.magicdraw.uml2.util.UML2ModelUtil; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; @@ -9,7 +10,7 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Slot; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils; import javax.swing.*; import javax.swing.table.AbstractTableModel; @@ -125,8 +126,9 @@ else if (whatToShowCol != null && whatToShowCol.size() > col) { gl.log("Element " + ((NamedElement) element).getQualifiedName() + " is not editable!"); return; } + Project project = Application.getInstance().getProject(); try { - SessionManager.getInstance().createSession("change"); + SessionManager.getInstance().createSession(project, "change"); if (element instanceof Property && what == PropertyEnum.VALUE) { if (value instanceof String) { Utils.setPropertyValue((Property) element, (String) value); @@ -147,9 +149,9 @@ else if (element instanceof NamedElement) { } changed.add(element); this.fireTableCellUpdated(row, col); - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); } catch (Exception ex) { - SessionManager.getInstance().cancelSession(); + SessionManager.getInstance().cancelSession(project); gl.log(ex.getMessage()); for (StackTraceElement s : ex.getStackTrace()) { gl.log(s.toString()); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/PropertiesTable.java b/src/main/java/org/openmbee/mdk/docgen/table/PropertiesTable.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/PropertiesTable.java rename to src/main/java/org/openmbee/mdk/docgen/table/PropertiesTable.java index 2e07f3db1..5ff7af895 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/PropertiesTable.java +++ b/src/main/java/org/openmbee/mdk/docgen/table/PropertiesTable.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.docgen.table; +package org.openmbee.mdk.docgen.table; import com.nomagic.magicdraw.uml2.util.UML2ModelUtil; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils; import javax.swing.tree.DefaultMutableTreeNode; import java.util.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/PropertyEnum.java b/src/main/java/org/openmbee/mdk/docgen/table/PropertyEnum.java similarity index 82% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/PropertyEnum.java rename to src/main/java/org/openmbee/mdk/docgen/table/PropertyEnum.java index 5578a4268..80db6c3be 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/table/PropertyEnum.java +++ b/src/main/java/org/openmbee/mdk/docgen/table/PropertyEnum.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.table; +package org.openmbee.mdk.docgen.table; /** * What to display/change for an element in the editable table. Right now only diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/ConstraintValidationRule.java b/src/main/java/org/openmbee/mdk/docgen/validation/ConstraintValidationRule.java similarity index 78% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/ConstraintValidationRule.java rename to src/main/java/org/openmbee/mdk/docgen/validation/ConstraintValidationRule.java index adc9a3696..696e09ad0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/ConstraintValidationRule.java +++ b/src/main/java/org/openmbee/mdk/docgen/validation/ConstraintValidationRule.java @@ -1,27 +1,25 @@ -package gov.nasa.jpl.mbee.mdk.docgen.validation; +package org.openmbee.mdk.docgen.validation; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.uml.BaseElement; import com.nomagic.magicdraw.validation.ElementValidationRuleImpl; import com.nomagic.magicdraw.validation.SmartListenerConfigurationProvider; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.jmi.smartlistener.SmartListenerConfig; import com.nomagic.uml2.ext.magicdraw.classes.mdinterfaces.Interface; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; -import gov.nasa.jpl.mbee.mdk.constraint.BasicConstraint; -import gov.nasa.jpl.mbee.mdk.constraint.BasicConstraint.Type; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.util.CompareUtils; -import gov.nasa.jpl.mbee.mdk.util.Debug; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils2; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.constraint.BasicConstraint; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.util.CompareUtils; +import org.openmbee.mdk.util.Debug; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils2; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ViolationSeverity; import java.lang.Class; import java.util.*; @@ -39,10 +37,10 @@ public class ConstraintValidationRule extends ValidationRule implements ElementV protected Constraint constraint = null; protected Set elementsWithConstraints = new LinkedHashSet(); - protected Map> elementToConstraintMap = new TreeMap>( + protected Map> elementToConstraintMap = new TreeMap>( CompareUtils.GenericComparator .instance()); - protected Map> constraintToElementMap = new TreeMap>( + protected Map> constraintToElementMap = new TreeMap>( CompareUtils.GenericComparator .instance()); protected Map> constraintElementToViolationMap = new TreeMap>( @@ -50,7 +48,7 @@ public class ConstraintValidationRule extends ValidationRule implements ElementV .instance()); protected Set annotations = null; - public BasicConstraint.Type constraintType = Type.ANY; + public BasicConstraint.Type constraintType = BasicConstraint.Type.ANY; public boolean loggingResults = true; public ConstraintValidationRule() { @@ -137,13 +135,13 @@ protected void initConstraintMaps(Project paramProject, Collection constraints = BasicConstraint.getConstraints(elemt, + List constraints = BasicConstraint.getConstraints(elemt, constraintType); if (!Utils2.isNullOrEmpty(constraints)) { elementsWithConstraints.add(elemt); } Utils2.addAllToSet(elementToConstraintMap, elemt, constraints); - for (gov.nasa.jpl.mbee.mdk.constraint.Constraint constr : constraints) { + for (org.openmbee.mdk.constraint.Constraint constr : constraints) { Utils2.addToSet(constraintToElementMap, constr, elemt); } @@ -163,7 +161,7 @@ protected void initConstraintMaps(Project paramProject, Collection constrained = BasicConstraint .getConstrainedObjectsFromConstraintElement(elem); - gov.nasa.jpl.mbee.mdk.constraint.Constraint constr = new BasicConstraint(elem, constrained); + org.openmbee.mdk.constraint.Constraint constr = new BasicConstraint(elem, constrained); for (Object o : constrained) { if (o instanceof BaseElement) { BaseElement baseElem = (BaseElement) o; @@ -178,9 +176,9 @@ protected void initConstraintMaps(Project paramProject, Collection getAffectedConstraints( + public Collection getAffectedConstraints( Collection elements) { - Set constraints = new TreeSet( + Set constraints = new TreeSet( CompareUtils.GenericComparator.instance()); for (BaseElement elem : elements) { constraints.addAll(elementToConstraintMap.get(elem)); @@ -188,25 +186,24 @@ public Collection getAffectedConstr return constraints; } - public static Element getConstraintObject(gov.nasa.jpl.mbee.mdk.constraint.Constraint constraint) { + public static Element getConstraintObject(org.openmbee.mdk.constraint.Constraint constraint) { if (constraint == null || Utils2.isNullOrEmpty(constraint.getConstrainingElements())) { return null; } return constraint.getConstrainingElements().iterator().next(); } - public static boolean isUml(gov.nasa.jpl.mbee.mdk.constraint.Constraint constraint) { + public static boolean isUml(org.openmbee.mdk.constraint.Constraint constraint) { Element constrObj = getConstraintObject(constraint); return (constrObj != null && constrObj instanceof Constraint); } - public static boolean isDocGenConstraint(gov.nasa.jpl.mbee.mdk.constraint.Constraint constraint) { + public static boolean isDocGenConstraint(org.openmbee.mdk.constraint.Constraint constraint) { Element constrObj = getConstraintObject(constraint); - return (constrObj != null && StereotypesHelper.hasStereotypeOrDerived(constrObj, - DocGenProfile.constraintStereotype)); + return (constrObj != null && SysMLExtensions.getInstance(constrObj).constraint().is(constrObj)); } - private static boolean isLanguageOcl(gov.nasa.jpl.mbee.mdk.constraint.Constraint constraint) { + private static boolean isLanguageOcl(org.openmbee.mdk.constraint.Constraint constraint) { if (isDocGenConstraint(constraint)) { return true; } @@ -236,9 +233,9 @@ public Set run(Project paramProject, Constraint paramConstraint, Col initConstraintMaps(paramProject, paramCollection); @SuppressWarnings("unchecked") - Collection constraints = (Collection) (Utils2.isNullOrEmpty(elementsWithConstraints) ? (constraintToElementMap == null ? Utils2.newList() : constraintToElementMap.keySet()) : getAffectedConstraints(elementsWithConstraints)); + Collection constraints = (Collection) (Utils2.isNullOrEmpty(elementsWithConstraints) ? (constraintToElementMap == null ? Utils2.newList() : constraintToElementMap.keySet()) : getAffectedConstraints(elementsWithConstraints)); - for (gov.nasa.jpl.mbee.mdk.constraint.Constraint constraint : constraints) { + for (org.openmbee.mdk.constraint.Constraint constraint : constraints) { try { Boolean satisfied = ViewViewpointValidator.evaluateConstraint(constraint); if (loggingResults) { @@ -257,7 +254,7 @@ public Set run(Project paramProject, Constraint paramConstraint, Col return result; } - public static void logResults(Boolean satisfied, gov.nasa.jpl.mbee.mdk.constraint.Constraint constraint) { + public static void logResults(Boolean satisfied, org.openmbee.mdk.constraint.Constraint constraint) { if (satisfied == null) { String errorMsg = ""; OclEvaluator e = OclEvaluator.instance; @@ -276,7 +273,7 @@ else if (satisfied) { /* * (non-Javadoc) - * + * * @see com.nomagic.magicdraw.validation.ElementValidationRuleImpl#dispose() */ @Override diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/DocGenValidationFactory.java b/src/main/java/org/openmbee/mdk/docgen/validation/DocGenValidationFactory.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/DocGenValidationFactory.java rename to src/main/java/org/openmbee/mdk/docgen/validation/DocGenValidationFactory.java index 20ac45719..e24d267be 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/DocGenValidationFactory.java +++ b/src/main/java/org/openmbee/mdk/docgen/validation/DocGenValidationFactory.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.docgen.validation; +package org.openmbee.mdk.docgen.validation; -import gov.nasa.jpl.mbee.mdk.docgen.validation.impl.DocGenValidationFactoryImpl; +import org.openmbee.mdk.docgen.validation.impl.DocGenValidationFactoryImpl; import org.eclipse.emf.ecore.EFactory; /** diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/DocGenValidationPackage.java b/src/main/java/org/openmbee/mdk/docgen/validation/DocGenValidationPackage.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/DocGenValidationPackage.java rename to src/main/java/org/openmbee/mdk/docgen/validation/DocGenValidationPackage.java index 3ae26b8e1..2534ffb81 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/validation/DocGenValidationPackage.java +++ b/src/main/java/org/openmbee/mdk/docgen/validation/DocGenValidationPackage.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.docgen.validation; +package org.openmbee.mdk.docgen.validation; -import gov.nasa.jpl.mbee.mdk.docgen.validation.impl.DocGenValidationPackageImpl; -import gov.nasa.jpl.mbee.mdk.docgen.validation.impl.RuleImpl; -import gov.nasa.jpl.mbee.mdk.docgen.validation.impl.SuiteImpl; -import gov.nasa.jpl.mbee.mdk.docgen.validation.impl.ViolationImpl; +import org.openmbee.mdk.docgen.validation.impl.DocGenValidationPackageImpl; +import org.openmbee.mdk.docgen.validation.impl.RuleImpl; +import org.openmbee.mdk.docgen.validation.impl.SuiteImpl; +import org.openmbee.mdk.docgen.validation.impl.ViolationImpl; import org.eclipse.emf.ecore.*; /** @@ -41,7 +41,7 @@ public interface DocGenValidationPackage extends EPackage { * * @generated */ - String eNS_PREFIX = "gov.nasa.jpl.mbee.mdk.dgvalidation"; + String eNS_PREFIX = "org.openmbee.mdk.dgvalidation"; /** * The singleton instance of the package. An implementation of the model Factory. An implementation of the model Package. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ViewElementImpl + * @see ViewElementImpl * @see DocGenViewPackageImpl#getViewElement() */ int VIEW_ELEMENT = 9; @@ -108,11 +108,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl + * {@link ColSpecImpl * Col Spec}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl + * @see ColSpecImpl * @see DocGenViewPackageImpl#getColSpec() */ int COL_SPEC = 0; @@ -191,12 +191,12 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.HasContentImpl + * {@link HasContentImpl * Has Content}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.HasContentImpl + * @see HasContentImpl * @see DocGenViewPackageImpl#getHasContent() */ int HAS_CONTENT = 1; @@ -257,11 +257,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ImageImpl + * {@link ImageImpl * Image}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ImageImpl + * @see ImageImpl * @see DocGenViewPackageImpl#getImage() */ int IMAGE = 2; @@ -349,11 +349,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListImpl List}' + * {@link ListImpl List}' * class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListImpl + * @see ListImpl * @see DocGenViewPackageImpl#getList() */ int LIST = 3; @@ -423,11 +423,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListItemImpl + * {@link ListItemImpl * List Item}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListItemImpl + * @see ListItemImpl * @see DocGenViewPackageImpl#getListItem() */ int LIST_ITEM = 4; @@ -488,11 +488,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ParagraphImpl + * {@link ParagraphImpl * Paragraph}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ParagraphImpl + * @see ParagraphImpl * @see DocGenViewPackageImpl#getParagraph() */ int PARAGRAPH = 5; @@ -553,11 +553,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableImpl + * {@link TableImpl * Table}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableImpl + * @see TableImpl * @see DocGenViewPackageImpl#getTable() */ int TABLE = 6; @@ -663,12 +663,12 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableEntryImpl + * {@link TableEntryImpl * Table Entry}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableEntryImpl + * @see TableEntryImpl * @see DocGenViewPackageImpl#getTableEntry() */ int TABLE_ENTRY = 7; @@ -756,11 +756,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TextImpl Text}' + * {@link TextImpl Text}' * class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TextImpl + * @see TextImpl * @see DocGenViewPackageImpl#getText() */ int TEXT = 8; @@ -821,11 +821,11 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableRowImpl + * {@link TableRowImpl * Table Row}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableRowImpl + * @see TableRowImpl * @see DocGenViewPackageImpl#getTableRow() */ int TABLE_ROW = 10; @@ -886,12 +886,12 @@ public interface DocGenViewPackage extends EPackage { /** * The meta object id for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.MDEditableTableImpl + * {@link MDEditableTableImpl * MD Editable Table}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.MDEditableTableImpl + * @see MDEditableTableImpl * @see DocGenViewPackageImpl#getMDEditableTable() */ int MD_EDITABLE_TABLE = 11; @@ -1595,12 +1595,12 @@ public interface DocGenViewPackage extends EPackage { interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl + * {@link ColSpecImpl * Col Spec}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl + * @see ColSpecImpl * @see DocGenViewPackageImpl#getColSpec() */ EClass COL_SPEC = eINSTANCE.getColSpec(); @@ -1631,12 +1631,12 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.HasContentImpl + * {@link HasContentImpl * Has Content}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.HasContentImpl + * @see HasContentImpl * @see DocGenViewPackageImpl#getHasContent() */ EClass HAS_CONTENT = eINSTANCE.getHasContent(); @@ -1652,11 +1652,11 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ImageImpl + * {@link ImageImpl * Image}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ImageImpl + * @see ImageImpl * @see DocGenViewPackageImpl#getImage() */ EClass IMAGE = eINSTANCE.getImage(); @@ -1695,11 +1695,11 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListImpl + * {@link ListImpl * List}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListImpl + * @see ListImpl * @see DocGenViewPackageImpl#getList() */ EClass LIST = eINSTANCE.getList(); @@ -1714,24 +1714,24 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListItemImpl + * {@link ListItemImpl * List Item}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ListItemImpl + * @see ListItemImpl * @see DocGenViewPackageImpl#getListItem() */ EClass LIST_ITEM = eINSTANCE.getListItem(); /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ParagraphImpl + * {@link ParagraphImpl * Paragraph}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ParagraphImpl + * @see ParagraphImpl * @see DocGenViewPackageImpl#getParagraph() */ EClass PARAGRAPH = eINSTANCE.getParagraph(); @@ -1746,11 +1746,11 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableImpl + * {@link TableImpl * Table}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableImpl + * @see TableImpl * @see DocGenViewPackageImpl#getTable() */ EClass TABLE = eINSTANCE.getTable(); @@ -1806,12 +1806,12 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableEntryImpl + * {@link TableEntryImpl * Table Entry}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableEntryImpl + * @see TableEntryImpl * @see DocGenViewPackageImpl#getTableEntry() */ EClass TABLE_ENTRY = eINSTANCE.getTableEntry(); @@ -1842,11 +1842,11 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TextImpl + * {@link TextImpl * Text}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TextImpl + * @see TextImpl * @see DocGenViewPackageImpl#getText() */ EClass TEXT = eINSTANCE.getText(); @@ -1861,12 +1861,12 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ViewElementImpl + * {@link ViewElementImpl * View Element}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.ViewElementImpl + * @see ViewElementImpl * @see DocGenViewPackageImpl#getViewElement() */ EClass VIEW_ELEMENT = eINSTANCE.getViewElement(); @@ -1905,24 +1905,24 @@ interface Literals { /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableRowImpl + * {@link TableRowImpl * Table Row}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.TableRowImpl + * @see TableRowImpl * @see DocGenViewPackageImpl#getTableRow() */ EClass TABLE_ROW = eINSTANCE.getTableRow(); /** * The meta object literal for the ' - * {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.MDEditableTableImpl + * {@link MDEditableTableImpl * MD Editable Table}' class. * * @generated - * @see gov.nasa.jpl.mbee.mdk.docgen.view.impl.MDEditableTableImpl + * @see MDEditableTableImpl * @see DocGenViewPackageImpl#getMDEditableTable() */ EClass MD_EDITABLE_TABLE = eINSTANCE.getMDEditableTable(); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/FromProperty.java b/src/main/java/org/openmbee/mdk/docgen/view/FromProperty.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/FromProperty.java rename to src/main/java/org/openmbee/mdk/docgen/view/FromProperty.java index 9e28dea5e..b9fa2ef37 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/FromProperty.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/FromProperty.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; import org.eclipse.emf.common.util.Enumerator; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/HasContent.java b/src/main/java/org/openmbee/mdk/docgen/view/HasContent.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/HasContent.java rename to src/main/java/org/openmbee/mdk/docgen/view/HasContent.java index 17ce16154..c2fda8f64 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/HasContent.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/HasContent.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; import org.eclipse.emf.common.util.EList; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Image.java b/src/main/java/org/openmbee/mdk/docgen/view/Image.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Image.java rename to src/main/java/org/openmbee/mdk/docgen/view/Image.java index 6870dbea6..216190ba3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Image.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/Image.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/List.java b/src/main/java/org/openmbee/mdk/docgen/view/List.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/List.java rename to src/main/java/org/openmbee/mdk/docgen/view/List.java index 02430f5c3..76f2feb83 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/List.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/List.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/ListItem.java b/src/main/java/org/openmbee/mdk/docgen/view/ListItem.java similarity index 66% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/ListItem.java rename to src/main/java/org/openmbee/mdk/docgen/view/ListItem.java index a6829421c..a967d4273 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/ListItem.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/ListItem.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/MDEditableTable.java b/src/main/java/org/openmbee/mdk/docgen/view/MDEditableTable.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/MDEditableTable.java rename to src/main/java/org/openmbee/mdk/docgen/view/MDEditableTable.java index f78fc7560..884f09863 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/MDEditableTable.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/MDEditableTable.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; import org.eclipse.emf.common.util.EList; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Paragraph.java b/src/main/java/org/openmbee/mdk/docgen/view/Paragraph.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Paragraph.java rename to src/main/java/org/openmbee/mdk/docgen/view/Paragraph.java index cf37cd038..bea18091b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Paragraph.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/Paragraph.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Table.java b/src/main/java/org/openmbee/mdk/docgen/view/Table.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Table.java rename to src/main/java/org/openmbee/mdk/docgen/view/Table.java index ed2468cb6..a93731e07 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Table.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/Table.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; import org.eclipse.emf.common.util.EList; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/TableEntry.java b/src/main/java/org/openmbee/mdk/docgen/view/TableEntry.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/TableEntry.java rename to src/main/java/org/openmbee/mdk/docgen/view/TableEntry.java index 1d8335950..59e6faa0a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/TableEntry.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/TableEntry.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/TableRow.java b/src/main/java/org/openmbee/mdk/docgen/view/TableRow.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/TableRow.java rename to src/main/java/org/openmbee/mdk/docgen/view/TableRow.java index 85dfaa1ce..669d4f465 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/TableRow.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/TableRow.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * A representation of the model object ' diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Text.java b/src/main/java/org/openmbee/mdk/docgen/view/Text.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Text.java rename to src/main/java/org/openmbee/mdk/docgen/view/Text.java index 36744122e..914ea44be 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/Text.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/Text.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; /** * @author dlam diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/ViewElement.java b/src/main/java/org/openmbee/mdk/docgen/view/ViewElement.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/ViewElement.java rename to src/main/java/org/openmbee/mdk/docgen/view/ViewElement.java index d64b6c94c..2c95800c4 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/ViewElement.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/ViewElement.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view; +package org.openmbee.mdk.docgen.view; import org.eclipse.emf.ecore.EObject; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/impl/ColSpecImpl.java b/src/main/java/org/openmbee/mdk/docgen/view/impl/ColSpecImpl.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/impl/ColSpecImpl.java rename to src/main/java/org/openmbee/mdk/docgen/view/impl/ColSpecImpl.java index 3c5d114a6..f6cb2d20d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/impl/ColSpecImpl.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/impl/ColSpecImpl.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view.impl; +package org.openmbee.mdk.docgen.view.impl; -import gov.nasa.jpl.mbee.mdk.docgen.view.ColSpec; -import gov.nasa.jpl.mbee.mdk.docgen.view.DocGenViewPackage; +import org.openmbee.mdk.docgen.view.ColSpec; +import org.openmbee.mdk.docgen.view.DocGenViewPackage; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.impl.ENotificationImpl; @@ -12,11 +12,11 @@ *

* The following features are implemented: *

    - *
  • {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl#getColname + *
  • {@link ColSpecImpl#getColname * Colname}
  • - *
  • {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl#getColwidth + *
  • {@link ColSpecImpl#getColwidth * Colwidth}
  • - *
  • {@link gov.nasa.jpl.mbee.mdk.docgen.view.impl.ColSpecImpl#getColnum + *
  • {@link ColSpecImpl#getColnum * Colnum}
  • *
*

diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/impl/DocGenViewFactoryImpl.java b/src/main/java/org/openmbee/mdk/docgen/view/impl/DocGenViewFactoryImpl.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/impl/DocGenViewFactoryImpl.java rename to src/main/java/org/openmbee/mdk/docgen/view/impl/DocGenViewFactoryImpl.java index 514ce3df8..64c489319 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/docgen/view/impl/DocGenViewFactoryImpl.java +++ b/src/main/java/org/openmbee/mdk/docgen/view/impl/DocGenViewFactoryImpl.java @@ -1,12 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.docgen.view.impl; +package org.openmbee.mdk.docgen.view.impl; -import gov.nasa.jpl.mbee.mdk.docgen.view.*; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.impl.EFactoryImpl; import org.eclipse.emf.ecore.plugin.EcorePlugin; +import org.openmbee.mdk.docgen.view.*; /** * An implementation of the model Factory. An implementation of the model Package. The Switch for the model's inheritance diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/BulkImportFunction.java b/src/main/java/org/openmbee/mdk/emf/BulkImportFunction.java similarity index 79% rename from src/main/java/gov/nasa/jpl/mbee/mdk/emf/BulkImportFunction.java rename to src/main/java/org/openmbee/mdk/emf/BulkImportFunction.java index 5a9f7a032..cf5da87ab 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/BulkImportFunction.java +++ b/src/main/java/org/openmbee/mdk/emf/BulkImportFunction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.emf; +package org.openmbee.mdk.emf; import com.fasterxml.jackson.databind.node.ObjectNode; import com.nomagic.magicdraw.core.Project; import com.nomagic.task.ProgressStatus; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.util.Changelog; -import gov.nasa.jpl.mbee.mdk.util.Pair; +import org.openmbee.mdk.util.Changelog; +import org.openmbee.mdk.util.Pair; import java.util.Collection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFBulkImporter.java b/src/main/java/org/openmbee/mdk/emf/EMFBulkImporter.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFBulkImporter.java rename to src/main/java/org/openmbee/mdk/emf/EMFBulkImporter.java index 4c54e4aef..ab9ca63c0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFBulkImporter.java +++ b/src/main/java/org/openmbee/mdk/emf/EMFBulkImporter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.emf; +package org.openmbee.mdk.emf; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -9,15 +9,15 @@ import com.nomagic.task.ProgressStatus; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.transaction.ModelValidationResult; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.annotations.SessionManaged; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.JsonToElementFunction; -import gov.nasa.jpl.mbee.mdk.json.ImportException; -import gov.nasa.jpl.mbee.mdk.mms.json.JsonEquivalencePredicate; -import gov.nasa.jpl.mbee.mdk.util.Changelog; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.Pair; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.annotations.SessionManaged; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.incubating.convert.JsonToElementFunction; +import org.openmbee.mdk.json.ImportException; +import org.openmbee.mdk.mms.json.JsonEquivalencePredicate; +import org.openmbee.mdk.util.Changelog; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.Pair; import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.util.EcoreUtil; @@ -29,7 +29,6 @@ /** * Created by igomes on 9/28/16. */ -// TODO What about locks? @donbot public class EMFBulkImporter implements BulkImportFunction { private final String sessionName; private int sessionCount; @@ -63,7 +62,7 @@ public Changelog> apply(Collection String initialProgressStatusDescription = null; long initialProgressStatusCurrent = 0; boolean initialProgressStatusIndeterminate = false; - RepositoryModelValidator validator = new RepositoryModelValidator(project); + RepositoryModelValidator validator = new RepositoryModelValidator(); if (progressStatus != null) { initialProgressStatusDescription = progressStatus.getDescription(); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFExporter.java b/src/main/java/org/openmbee/mdk/emf/EMFExporter.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFExporter.java rename to src/main/java/org/openmbee/mdk/emf/EMFExporter.java index c9801796d..1956f7558 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFExporter.java +++ b/src/main/java/org/openmbee/mdk/emf/EMFExporter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.emf; +package org.openmbee.mdk.emf; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.*; @@ -9,7 +9,6 @@ import com.nomagic.magicdraw.core.ProjectUtilitiesInternal; import com.nomagic.magicdraw.esi.EsiUtils; import com.nomagic.magicdraw.sysml.util.SysMLProfile; -import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.auxiliaryconstructs.mdmodels.Model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; @@ -17,12 +16,13 @@ import com.nomagic.uml2.ext.magicdraw.compositestructures.mdinternalstructures.Connector; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; import com.nomagic.uml2.ext.magicdraw.metadata.UMLPackage; -import gov.nasa.jpl.mbee.mdk.api.function.TriFunction; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.api.stream.MDKCollectors; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.function.TriFunction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.stream.MDKCollectors; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.util.Utils; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; @@ -36,8 +36,7 @@ import java.util.*; import java.util.function.BiFunction; import java.util.stream.Collectors; -import java.util.stream.Stream; -import java.util.stream.StreamSupport; + public class EMFExporter implements BiFunction { @Override @@ -114,9 +113,7 @@ public static String getEID(EObject eObject) { // local projects don't properly maintain the ids of some elements. this id spoofing mitigates that for us, but can mess up the MMS delta counts in some cases (annoying, but ultimately harmless) // NOTE - this spoofing is replicated in LocalSyncTransactionListener in order to properly add / remove elements in the unsynched queue. any updates here should be replicated there as well. - if (element instanceof InstanceSpecification && ((InstanceSpecification) element).getStereotypedElement() != null) { - return getEID(((InstanceSpecification) element).getStereotypedElement()) + MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX; - } + // there's no more instance spec that's a result of stereotyping, so instance spec should just have their normal id /*if (eObject instanceof TimeExpression && ((TimeExpression) eObject).get_timeEventOfWhen() != null) { return getEID(((TimeExpression) eObject).get_timeEventOfWhen()) + MDKConstants.TIME_EXPRESSION_ID_SUFFIX; }*/ @@ -124,6 +121,13 @@ public static String getEID(EObject eObject) { ValueSpecification slotValue = (ValueSpecification) element; return getEID(slotValue.getOwningSlot()) + MDKConstants.SLOT_VALUE_ID_SEPARATOR + slotValue.getOwningSlot().getValue().indexOf(slotValue) + "-" + slotValue.eClass().getName().toLowerCase(); } + if (element instanceof TaggedValue) { + TaggedValue slot = (TaggedValue) element; + if (slot.getTaggedValueOwner() != null && slot.getTagDefinition() != null) { + // add _asi to owner in constructed id to maintain continuity with 19.x slots + return getEID(slot.getOwner()) + MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX + MDKConstants.SLOT_ID_SEPARATOR + getEID(slot.getTagDefinition()); + } + } if (element instanceof Slot) { Slot slot = (Slot) element; if (slot.getOwningInstance() != null && ((Slot) element).getDefiningFeature() != null) { @@ -152,14 +156,14 @@ private static void dumpUMLPackageLiterals() { } private enum Processor { - APPLIED_STEREOTYPE( + /*APPLIED_STEREOTYPE( (element, project, objectNode) -> { ArrayNode applied = StereotypesHelper.getStereotypes(element).stream().map(stereotype -> TextNode.valueOf(getEID(stereotype))).collect(MDKCollectors.toArrayNode()); objectNode.set(MDKConstants.APPLIED_STEREOTYPE_IDS_KEY, applied); return objectNode; }, Type.PRE - ), + ),*/ ATTACHED_PROJECT( (element, project, objectNode) -> ProjectUtilities.isElementInAttachedProject(element) && ProjectUtilities.getAttachedProjects(project.getPrimaryProject()).stream().noneMatch(iAttachedProject -> ProjectUtilitiesInternal.distanceFromProject(iAttachedProject) == 1 && ProjectUtilities.isAttachedProjectRoot(element, iAttachedProject)) ? null : objectNode, Type.PRE @@ -174,12 +178,6 @@ private enum Processor { }, Type.PRE ), - /*CONNECTOR_END( - (element, project, objectNode) -> element instanceof ConnectorEnd ? null : objectNode - ), - DIAGRAM( - (element, project, objectNode) -> element instanceof Diagram ? null : objectNode - ),*/ DIAGRAM_TYPE( (element, project, objectNode) -> { if (element instanceof Diagram) { @@ -229,7 +227,7 @@ private enum Processor { IS_GROUP( (element, project, objectNode) -> { if (element instanceof Package) { - objectNode.put(MDKConstants.IS_GROUP_KEY, StereotypesHelper.getStereotypes(element).stream().anyMatch(stereotype -> "_18_5_3_8bf0285_1520469040211_2821_15754".equals(stereotype.getLocalID()))); + objectNode.put(MDKConstants.IS_GROUP_KEY, SysMLExtensions.getInstance(element).group().is(element)); } return objectNode; }, @@ -274,7 +272,7 @@ private enum Processor { ), VIEW( (element, project, objectNode) -> { - Stereotype viewStereotype = Utils.getViewStereotype(project); + Stereotype viewStereotype = SysMLProfile.getInstance(element).view().getStereotype(); if (viewStereotype == null || !StereotypesHelper.hasStereotypeOrDerived(element, viewStereotype)) { return objectNode; } @@ -289,7 +287,7 @@ private enum Processor { ), VIEW_POST( (element, project, objectNode) -> { - Stereotype viewStereotype = Utils.getViewStereotype(project); + Stereotype viewStereotype = SysMLProfile.getInstance(element).view().getStereotype(); JsonNode node = objectNode.get(MDKConstants.OWNED_RULE_IDS); if (viewStereotype == null || !StereotypesHelper.hasStereotypeOrDerived(element, viewStereotype) || node == null || !node.isArray() || node.size() == 0) { @@ -346,6 +344,61 @@ private enum Processor { return objectNode; }, Type.POST + ), + TAGGEDVALUE_POST( + (element, project, objectNode) -> { + if (!(element instanceof TaggedValue) || element instanceof ElementTaggedValue) { + return objectNode; + } + TaggedValue v = (TaggedValue)element; + ArrayNode l = (ArrayNode)objectNode.get("value"); + if (l == null) { + l = JacksonUtils.getObjectMapper().createArrayNode(); + objectNode.set("value", l); + } + l.removeAll(); + // for continuity with 19.x mdk export, value is a list of objects with value key or elementId + for (Object o: v.getValue()) { + ObjectNode n = JacksonUtils.getObjectMapper().createObjectNode(); + JsonNode node = null; + if (o instanceof String) { + node = TextNode.valueOf((String) o); + } + else if (o instanceof Boolean) { + node = BooleanNode.valueOf((boolean) o); + } + else if (o instanceof Integer) { + node = IntNode.valueOf((Integer) o); + } + else if (o instanceof Double) { + node = DoubleNode.valueOf((Double) o); + } + else if (o instanceof Long) { + node = LongNode.valueOf((Long) o); + } + else if (o instanceof Short) { + node = ShortNode.valueOf((Short) o); + } + else if (o instanceof Float) { + node = FloatNode.valueOf((Float) o); + } + else if (o instanceof BigInteger) { + node = BigIntegerNode.valueOf((BigInteger) o); + } + else if (o instanceof BigDecimal) { + node = DecimalNode.valueOf((BigDecimal) o); + } + n.set("value", node); + if (o instanceof Element) { + node = TextNode.valueOf(getEID((Element)o)); + n.set("elementId", node); + n.remove("value"); + } + l.add(n); + } + return objectNode; + }, + Type.POST ); private TriFunction function; @@ -504,9 +557,8 @@ private enum EStructuralFeatureOverride { (element, project, eStructuralFeature, objectNode) -> eStructuralFeature == UMLPackage.Literals.CONNECTOR__END, (element, project, eStructuralFeature, objectNode) -> { Connector connector = (Connector) element; - // TODO Stop using Strings @donbot List> propertyPaths = connector.getEnd().stream() - .map(connectorEnd -> StereotypesHelper.hasStereotype(connectorEnd, SysMLProfile.NESTEDCONNECTOREND_STEREOTYPE) ? StereotypesHelper.getStereotypePropertyValue(connectorEnd, SysMLProfile.NESTEDCONNECTOREND_STEREOTYPE, SysMLProfile.ELEMENTPROPERTYPATH_PROPERTYPATH_PROPERTY) : null) + .map(connectorEnd -> SysMLProfile.NestedConnectorEndStereotype.isInstance(connectorEnd) ? SysMLProfile.getInstance(connector).nestedConnectorEnd().getPropertyPath(connector) : null) .map(elements -> { if (elements == null) { return new ArrayList<>(1); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFImporter.java b/src/main/java/org/openmbee/mdk/emf/EMFImporter.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFImporter.java rename to src/main/java/org/openmbee/mdk/emf/EMFImporter.java index e1afbd7a9..8e3abeb5f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EMFImporter.java +++ b/src/main/java/org/openmbee/mdk/emf/EMFImporter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.emf; +package org.openmbee.mdk.emf; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; @@ -7,6 +7,7 @@ import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.ModelElementsManager; import com.nomagic.magicdraw.openapi.uml.ReadOnlyElementException; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.jmi.reflect.AbstractRepository; @@ -16,16 +17,17 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; import com.nomagic.uml2.ext.magicdraw.impl.UMLFactoryImpl; +import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; import com.nomagic.uml2.ext.magicdraw.metadata.UMLFactory; import com.nomagic.uml2.ext.magicdraw.metadata.UMLPackage; -import gov.nasa.jpl.mbee.mdk.api.function.TriFunction; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.JsonToElementFunction; -import gov.nasa.jpl.mbee.mdk.json.ImportException; -import gov.nasa.jpl.mbee.mdk.json.ReferenceException; -import gov.nasa.jpl.mbee.mdk.util.Changelog; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.api.function.TriFunction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.incubating.convert.JsonToElementFunction; +import org.openmbee.mdk.json.ImportException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.json.ReferenceException; +import org.openmbee.mdk.util.Changelog; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.UniqueEList; import org.eclipse.emf.ecore.*; @@ -86,7 +88,7 @@ private synchronized Changelog.Change convert(ObjectNode objectNode, Pr protected List getPreProcessors() { if (preProcessors == null) { - preProcessors = Arrays.asList(PreProcessor.CREATE, PreProcessor.EDITABLE, PreProcessor.DOCUMENTATION, PreProcessor.SYSML_ID_VALIDATION, PreProcessor.VIEW_OWNED_RULE_ID); + preProcessors = Arrays.asList(PreProcessor.CREATE, PreProcessor.EDITABLE, PreProcessor.DOCUMENTATION, PreProcessor.SYSML_ID_VALIDATION, PreProcessor.TAGGED_VALUE, PreProcessor.VIEW_OWNED_RULE_ID); } return preProcessors; } @@ -126,14 +128,43 @@ public static class PreProcessor { return element; } ), + TAGGED_VALUE = new PreProcessor( + (objectNode, project, strict, element) -> { + if (!(element instanceof TaggedValue) || element instanceof ElementTaggedValue) { + return element; + } + ArrayNode value = (ArrayNode)objectNode.get("value"); + if (value == null) { + return element; + } + ArrayNode newValue = JacksonUtils.getObjectMapper().createArrayNode(); + // unwrap value objects inside value array (they were exported as objects with value key + // for continuity with 19.x mdk/ve stack + for (JsonNode n: value) { + if (n instanceof ObjectNode) { + if (n.has("elementId")) { + newValue.add(n.get("elementId")); + } else { + newValue.add(n.get("value")); + } + } else { + // ??? + newValue.add(n); + } + } + objectNode.set("value", newValue); + return element; + } + ), VIEW_OWNED_RULE_ID = new PreProcessor( (objectNode, project, strict, element) -> { JsonNode jsonNode = objectNode.get(MDKConstants.OWNED_RULE_IDS); if (jsonNode == null || !jsonNode.isArray()) { return element; } + Stereotype view = SysMLProfile.getInstanceByProject(project).view().getStereotype(); // if element is a view, remove ownedRuleIds - if (StereotypesHelper.hasStereotypeOrDerived(element, Utils.getViewStereotype(project))) { + if (StereotypesHelper.hasStereotypeOrDerived(element, view)) { objectNode.remove(MDKConstants.OWNED_RULE_IDS); } return element; @@ -459,11 +490,8 @@ else if (element instanceof ParameterableElement && owningElement instanceof Tem } else if (element instanceof Slot && owningElement instanceof InstanceSpecification) { ((Slot) element).setOwningInstance((InstanceSpecification) owningElement); - } - else if (element instanceof InstanceSpecification - && ((jsonNode = objectNode.get(KEY_FUNCTION.apply(UMLPackage.Literals.INSTANCE_SPECIFICATION__STEREOTYPED_ELEMENT))) != null && jsonNode.isTextual() - || (jsonNode = objectNode.get(MDKConstants.ID_KEY)) != null && jsonNode.isTextual() && jsonNode.asText().endsWith(MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX))) { - ((InstanceSpecification) element).setStereotypedElement(owningElement); + } else if (element instanceof TaggedValue) { + ((TaggedValue) element).setTaggedValueOwner(owningElement); } else { element.setOwner(owningElement); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EmfUtils.java b/src/main/java/org/openmbee/mdk/emf/EmfUtils.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/emf/EmfUtils.java rename to src/main/java/org/openmbee/mdk/emf/EmfUtils.java index 81aa6f804..3693b8bc7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/emf/EmfUtils.java +++ b/src/main/java/org/openmbee/mdk/emf/EmfUtils.java @@ -1,15 +1,15 @@ -package gov.nasa.jpl.mbee.mdk.emf; +package org.openmbee.mdk.emf; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.util.*; +import org.openmbee.mdk.api.incubating.convert.Converters; import junit.framework.Assert; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.ENamedElement; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; +import org.openmbee.mdk.util.*; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -1117,7 +1117,7 @@ public static boolean matches(Object obj, Object pattern, boolean useName, boole } } if (obj instanceof Element) { - Set set = StereotypesHelper.getAllAssignedStereotypes(Utils2 + Collection set = StereotypesHelper.getAllAssignedStereotypes(Utils2 .newList((Element) obj)); for (Stereotype sType : set) { String sName = sType.getName(); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/CollectFilterNode.java b/src/main/java/org/openmbee/mdk/generator/CollectFilterNode.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/CollectFilterNode.java rename to src/main/java/org/openmbee/mdk/generator/CollectFilterNode.java index fbb695a7f..3da24d9a7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/CollectFilterNode.java +++ b/src/main/java/org/openmbee/mdk/generator/CollectFilterNode.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.ActivityNode; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/CollectFilterParser.java b/src/main/java/org/openmbee/mdk/generator/CollectFilterParser.java similarity index 66% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/CollectFilterParser.java rename to src/main/java/org/openmbee/mdk/generator/CollectFilterParser.java index 96f3587bc..839057843 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/CollectFilterParser.java +++ b/src/main/java/org/openmbee/mdk/generator/CollectFilterParser.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction; @@ -14,15 +14,15 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.generator.graphs.DirectedEdgeVector; -import gov.nasa.jpl.mbee.mdk.generator.graphs.DirectedGraphHashSet; -import gov.nasa.jpl.mbee.mdk.generator.graphs.algorithms.TopologicalSort; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.ScriptRunner; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.generator.graphs.DirectedEdgeVector; +import org.openmbee.mdk.generator.graphs.DirectedGraphHashSet; +import org.openmbee.mdk.generator.graphs.algorithms.TopologicalSort; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.ScriptRunner; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils2; import org.apache.log4j.Logger; import javax.script.ScriptException; @@ -48,6 +48,11 @@ public static ViewViewpointValidator getValidator() { return context == null ? null : context.getValidator(); } + public static SysMLExtensions profile; + + public static void setProfile(SysMLExtensions p) { + profile = p; + } /** * gets a graph of the collect/filter actions that starts from a, evaluates * and executes actions topologically and return result @@ -89,9 +94,6 @@ public static List startCollectAndFilterSequence(ActivityNode a, List collectAndFilter(CallBehaviorAction cba, List in) { - //System.out.println("collectAndFilter(): cba=" + MoreToString.Helper.toLongString( cba ) ); - //System.out.println("collectAndFilter(): in[" + in.size() + "]=" + MoreToString.Helper.toLongString( in ) ); - Integer depth = (Integer) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.depthChoosable, - "depth", DocGenProfile.PROFILE_NAME, 0); - int direction = ((Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.directionChoosable, - "directionOut", DocGenProfile.PROFILE_NAME, true)) ? 1 : 2; + Integer depth = (Integer) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.depthChoosable().getDepthProperty(), 0); + int direction = ((Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.directionChoosable().getDirectionOutProperty(), true)) ? 1 : 2; List stereotypes = (List) GeneratorUtils.getStereotypePropertyValue(cba, - DocGenProfile.stereotypeChoosable, "stereotypes", DocGenProfile.PROFILE_NAME, new ArrayList()); + profile.stereotypeChoosable().getStereotypesProperty(), new ArrayList()); List metaclasses = (List) GeneratorUtils.getStereotypePropertyValue(cba, - DocGenProfile.metaclassChoosable, "metaclasses", DocGenProfile.PROFILE_NAME, new ArrayList()); - Boolean derived = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.derivedChoosable, - "considerDerived", DocGenProfile.PROFILE_NAME, true); - List names = (List) GeneratorUtils.getStereotypePropertyValue(cba, DocGenProfile.nameChoosable, - "names", DocGenProfile.PROFILE_NAME, new ArrayList()); + profile.metaclassChoosable().getMetaclassesProperty(), new ArrayList()); + Boolean derived = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.considerDerivedChoosable().getConsiderDerivedProperty(), true); + List names = (List) GeneratorUtils.getStereotypePropertyValue(cba, + profile.nameChoosable().getNamesProperty(), new ArrayList()); List diagramTypes = ((List) GeneratorUtils.getStereotypePropertyValue( - cba, DocGenProfile.diagramTypeChoosable, "diagramTypes", DocGenProfile.PROFILE_NAME, new ArrayList())).stream().map(NamedElement::getName).collect(Collectors.toList()); - Boolean include = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.includeChoosable, - "include", DocGenProfile.PROFILE_NAME, true); - List stereotypeProperties = (List) GeneratorUtils.getStereotypePropertyValue(cba, DocGenProfile.stereotypePropertyChoosable, "stereotypeProperties", - DocGenProfile.PROFILE_NAME, new ArrayList()); - Boolean inherited = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.inheritedChoosable, - "includeInherited", DocGenProfile.PROFILE_NAME, false); + cba, profile.diagramTypeChoosable().getDiagramTypesProperty(), new ArrayList())) + .stream().map(NamedElement::getName).collect(Collectors.toList()); + Boolean include = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.includeChoosable().getIncludeProperty(), true); + List stereotypeProperties = (List) GeneratorUtils.getStereotypePropertyValue(cba, + profile.stereotypePropertiesChoosable().getStereotypePropertiesProperty(), new ArrayList()); + Boolean inherited = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.includeInheritedChoosable().getIncludeInheritedProperty(), false); EnumerationLiteral asso = (EnumerationLiteral) GeneratorUtils.getStereotypePropertyFirst(cba, - DocGenProfile.associationChoosable, "associationType", DocGenProfile.PROFILE_NAME, null); - String expression = (String) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.expressionChoosable, - "expression", DocGenProfile.PROFILE_NAME, null); - Boolean iterate = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.expressionChoosable, - "iterate", DocGenProfile.PROFILE_NAME, true); + profile.associationTypeChoosable().getAssociationTypeProperty(), null); + String expression = (String) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.expressionChoosable().getExpressionProperty(), null); + Boolean iterate = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, + profile.expressionChoosable().getIterateProperty(), true); AggregationKind associationType = null; if (asso != null) { if (asso.getName().equals("composite")) { @@ -210,46 +211,42 @@ else if (asso.getName().equals("none")) { } List res = new ArrayList(); - if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectDiagram)) { + if (GeneratorUtils.hasStereotype(cba, profile.collectThingsOnDiagram().getStereotype())) { for (Element e : in) { if (e instanceof Diagram) { res.addAll(Utils.getElementsOnDiagram((Diagram) e)); } } - } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectAssociationStereotype)) { + } else if (GeneratorUtils.hasStereotype(cba, profile.collectByAssociation().getStereotype())) { for (Element e : in) { res.addAll(Utils.collectAssociatedElements(e, depth, associationType)); } - } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectOwnedElementStereotype)) { + } else if (GeneratorUtils.hasStereotype(cba, profile.collectOwnedElements().getStereotype())) { for (Element e : in) { res.addAll(Utils.collectOwnedElements(e, depth)); } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectOwnerStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectOwners().getStereotype())) { for (Element e : in) { res.addAll(Utils.collectOwners(e, depth)); } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectRelMetaclassStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectByDirectedRelationshipMetaclasses().getStereotype())) { for (Element e : in) { res.addAll(Utils.collectDirectedRelatedElementsByRelationshipMetaclasses(e, metaclasses, direction, depth)); } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectRelStereotypeStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectByDirectedRelationshipStereotypes().getStereotype())) { for (Element e : in) { res.addAll(Utils.collectDirectedRelatedElementsByRelationshipStereotypes(e, stereotypes, direction, derived, depth)); } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectStereotypePropStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectByStereotypeProperties().getStereotype())) { List blah = new ArrayList(); for (Element e : in) { - for (Property p : stereotypeProperties) - //blah.addAll(StereotypesHelper.getStereotypePropertyValue(e, (Stereotype)p.getOwner(), p)); - { + for (Property p : stereotypeProperties) { blah.addAll(Utils.collectByStereotypeProperty(e, p)); } } @@ -259,7 +256,7 @@ else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectStereoty } } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectTypeStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectTypes().getStereotype())) { for (Element e : in) { if (e instanceof TypedElement) { if (((TypedElement) e).getType() != null) { @@ -275,56 +272,51 @@ else if (e instanceof CallOperationAction } } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectClassifierAttributes)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectClassifierAttributes().getStereotype())) { for (Element e : in) { res.addAll(Utils.getAttributes(e, inherited)); } } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectExpressionStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectByExpression().getStereotype())) { res.addAll(Utils.collectByExpression(in, expression, iterate)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.filterDiagramTypeStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.filterByDiagramType().getStereotype())) { res.addAll(Utils.filterDiagramsByDiagramTypes(in, diagramTypes, include)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.filterMetaclassStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.filterByMetaclasses().getStereotype())) { res.addAll(Utils.filterElementsByMetaclasses(in, metaclasses, include)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.filterNameStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.filterByNames().getStereotype())) { res.addAll(Utils.filterElementsByNameRegex(in, names, include)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.filterStereotypeStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.filterByStereotypes().getStereotype())) { res.addAll(Utils.filterElementsByStereotypes(in, stereotypes, include, derived)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.filterExpressionStereotype)) { + else if (GeneratorUtils.hasStereotype(cba, profile.filterByExpression().getStereotype())) { res.addAll(Utils.filterElementsByExpression(in, expression, include, iterate)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.collectionStereotype) + else if (GeneratorUtils.hasStereotype(cba, profile.collectionAndFilterGroup().getStereotype()) && cba.getBehavior() != null) { res.addAll(collectAndFilterGroup((Activity) cba.getBehavior(), in)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.removeDuplicates)) { + else if (GeneratorUtils.hasStereotype(cba, profile.removeDuplicates().getStereotype())) { res.addAll(Utils.removeDuplicates(in)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.userScriptCFStereotype, true)) { + else if (GeneratorUtils.hasStereotype(cba, profile.collectFilterUserScript().getStereotype(), true)) { res.addAll(getUserScriptCF(in, cba)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.sortByName)) { - res.addAll(sortElements(in, DocGenProfile.sortByName, cba)); + else if (GeneratorUtils.hasStereotype(cba, profile.sortByName().getStereotype())) { + res.addAll(sortElements(in, null, cba)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.sortByAttribute)) { - res.addAll(sortElements(in, DocGenProfile.sortByAttribute, cba)); + else if (GeneratorUtils.hasStereotype(cba, profile.sortByAttribute().getStereotype())) { + res.addAll(sortElements(in, profile.sortByAttribute().getDesiredAttributeProperty(), cba)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.sortByProperty)) { - res.addAll(sortElements(in, DocGenProfile.sortByProperty, cba)); + else if (GeneratorUtils.hasStereotype(cba, profile.sortByProperty().getStereotype())) { + res.addAll(sortElements(in, profile.sortByProperty().getDesiredPropertyProperty(), cba)); } - else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.sortByExpression)) { - res.addAll(sortElements(in, DocGenProfile.sortByExpression, cba)); + else if (GeneratorUtils.hasStereotype(cba, profile.sortByExpression().getStereotype())) { + res.addAll(sortElements(in, profile.sortByExpression().getExpressionProperty(), cba)); } - // TODO -- duplicates should probably not be removed if just sorting! - /*System.out.println( "collectAndFilter(): returning (before removing duplicates) res[" - + res.size() + "]=" - + MoreToString.Helper.toLongString( res ) );*/ - return Utils.removeDuplicates(res); } @@ -333,37 +325,32 @@ else if (GeneratorUtils.hasStereotypeByString(cba, DocGenProfile.sortByExpressio * behavior. * * @param in elements to be sorted - * @param sortStereotype the kind of sort based on sort stereotype name. This may be + * @param sortProperty the kind of sort based on sort stereotype name. This may be * sortByProperty, sortByAttribute, or sortByName as found in * DocGenProfile. * @param cba call behavior to be applied before getting the specified * @return */ - public static List sortElements(Collection in, String sortStereotype, + public static List sortElements(Collection in, Property sortProperty, Element cba) { List ordered = new ArrayList(in); - boolean isProp = sortStereotype.equals(DocGenProfile.sortByProperty); - boolean isAttr = sortStereotype.equals(DocGenProfile.sortByAttribute); - boolean isExpr = sortStereotype.equals(DocGenProfile.sortByExpression); - boolean isName = sortStereotype.equals(DocGenProfile.sortByName); + boolean isName = false; + boolean isProp = false; + boolean isAttr = false; + boolean isExpr = false; + if (sortProperty == null) { + isName = true; + } else { + isProp = sortProperty.getName().equals("desiredProperty"); + isAttr = sortProperty.getName().equals("desiredAttribute"); + isExpr = sortProperty.getName().equals("expression"); + } if (!isProp && !isAttr && !isName && !isExpr) { - log.error("Error! Trying to sort by unknown sort type: " + sortStereotype); + log.error("Error! Trying to sort by unknown sort type: " + sortProperty.getName()); return ordered; } - - String stereotypeProperty = null; - if (isProp) { - stereotypeProperty = "desiredProperty"; - } - else if (isAttr) { - stereotypeProperty = "desiredAttribute"; - } - else if (isExpr) { - stereotypeProperty = "expression"; - } - - Object o = GeneratorUtils.getStereotypePropertyFirst(cba, sortStereotype, stereotypeProperty, DocGenProfile.PROFILE_NAME, null); + Object o = GeneratorUtils.getStereotypePropertyFirst(cba, sortProperty, null); if (o instanceof Property && isProp) { ordered = Utils.sortByProperty(in, (Property) o); @@ -378,14 +365,11 @@ else if (isName) { ordered = Utils2.asList(Utils.sortByName(in), Element.class); } else { - log.error("Error! Trying to sort as " + sortStereotype + log.error("Error! Trying to sort as " + sortProperty.getName() + ", but the property/attribute is the wrong type: " + o); return ordered; } - o = GeneratorUtils.getStereotypePropertyFirst(cba, sortStereotype, "reverse", DocGenProfile.PROFILE_NAME, false); - if (o == null) { - o = GeneratorUtils.getStereotypePropertyFirst(cba, sortStereotype, "invertOrder", DocGenProfile.PROFILE_NAME, false); - } + o = GeneratorUtils.getStereotypePropertyFirst(cba, profile.sortable().getReverseProperty(), false); Boolean b = null; try { @@ -412,11 +396,10 @@ private static List collectAndFilterGroup(Activity a, List in) List res = in; if (outs != null && outs.size() == 1) { ActivityNode n = outs.iterator().next().getTarget(); - if (StereotypesHelper.hasStereotypeOrDerived(n, DocGenProfile.collectFilterStereotype) + if (profile.collectOrFilter().is(n) || n instanceof CallBehaviorAction && ((CallBehaviorAction) n).getBehavior() != null - && StereotypesHelper.hasStereotypeOrDerived(((CallBehaviorAction) n).getBehavior(), - DocGenProfile.collectFilterStereotype)) { + && profile.collectOrFilter().is(((CallBehaviorAction) n).getBehavior())) { res = startCollectAndFilterSequence(n, in); } } @@ -438,15 +421,14 @@ private static List getUserScriptCF(List in, CallBehaviorActio Map inputs = new HashMap(); inputs.put("DocGenTargets", in); Element e = cba; - if (!StereotypesHelper.hasStereotypeOrDerived(cba, DocGenProfile.userScriptCFStereotype)) { + if (!profile.collectFilterUserScript().is(e)) { if (cba.getBehavior() != null - && StereotypesHelper.hasStereotypeOrDerived(cba.getBehavior(), - DocGenProfile.userScriptCFStereotype)) { + && profile.collectFilterUserScript().is(cba.getBehavior())) { e = ((CallBehaviorAction) e).getBehavior(); } } Object o = ScriptRunner.runScriptFromStereotype(e, - StereotypesHelper.checkForDerivedStereotype(e, DocGenProfile.userScriptCFStereotype), + StereotypesHelper.checkForDerivedStereotype(e, profile.collectFilterUserScript().getStereotype()), inputs); if (o != null && o instanceof Map && ((Map) o).containsKey("DocGenOutput")) { Object l = ((Map) o).get("DocGenOutput"); @@ -467,5 +449,4 @@ private static List getUserScriptCF(List in, CallBehaviorActio } return res; } - } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DiagramTableTool.java b/src/main/java/org/openmbee/mdk/generator/DiagramTableTool.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/DiagramTableTool.java rename to src/main/java/org/openmbee/mdk/generator/DiagramTableTool.java index ad429f577..3ab8b9123 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DiagramTableTool.java +++ b/src/main/java/org/openmbee/mdk/generator/DiagramTableTool.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; /** * This class is copied from NoMagic's DiagramTableTool in diagramtabletool.jar @@ -20,7 +20,7 @@ import com.nomagic.magicdraw.uml.symbols.DiagramPresentationElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.util.Debug; +import org.openmbee.mdk.util.Debug; import java.util.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/Document2PdfWriter.java b/src/main/java/org/openmbee/mdk/generator/Document2PdfWriter.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/Document2PdfWriter.java rename to src/main/java/org/openmbee/mdk/generator/Document2PdfWriter.java index 7269b863a..ba6f500cf 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/Document2PdfWriter.java +++ b/src/main/java/org/openmbee/mdk/generator/Document2PdfWriter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.task.ProgressStatus; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentGenerator.java b/src/main/java/org/openmbee/mdk/generator/DocumentGenerator.java similarity index 79% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentGenerator.java rename to src/main/java/org/openmbee/mdk/generator/DocumentGenerator.java index c7df9a2d0..1599dabfd 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentGenerator.java +++ b/src/main/java/org/openmbee/mdk/generator/DocumentGenerator.java @@ -1,7 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.magicdraw.uml.DiagramType; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; @@ -16,13 +17,13 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.Behavior; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.From; -import gov.nasa.jpl.mbee.mdk.model.*; -import gov.nasa.jpl.mbee.mdk.util.*; +import org.openmbee.mdk.MDKPlugin; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.docgen.docbook.From; +import org.openmbee.mdk.model.*; +import org.openmbee.mdk.util.*; import java.io.PrintWriter; import java.util.ArrayList; @@ -51,6 +52,8 @@ public class DocumentGenerator { private boolean hierarchyOnly; private boolean addViewDoc = true; //whether to add default view doc + private SysMLExtensions profile; + public DocumentGenerator(Element e, PrintWriter wlog) { this(e, null, wlog, true); } @@ -62,10 +65,11 @@ public DocumentGenerator(Element e, ViewViewpointValidator dv, PrintWriter wlog) public DocumentGenerator(Element e, ViewViewpointValidator dv, PrintWriter wlog, boolean addViewDoc) { this.start = e; this.project = Project.getProject(e); - this.product = Utils.getProductStereotype(project); - this.sysmlview = Utils.getViewStereotype(project); - this.conform = Utils.getConformStereotype(project); - this.expose = Utils.getExposeStereotype(project); + this.profile = SysMLExtensions.getInstance(e); + this.product = this.profile.product().getStereotype(); + this.sysmlview = SysMLProfile.getInstance(e).view().getStereotype(); + this.conform = SysMLProfile.getInstance(e).conform().getStereotype(); + this.expose = SysMLProfile.getInstance(e).expose().getStereotype(); this.doc = new Document(); this.context = new GenerationContext(new Stack<>(), null, dv, Application.getInstance().getGUILog()); this.addViewDoc = addViewDoc; @@ -93,12 +97,9 @@ public Document parseDocument(boolean singleView, boolean recurse, boolean hiera vp.parse(); } } - else if (StereotypesHelper.hasStereotypeOrDerived(start, DocGenProfile.documentStereotype) + else if (this.profile.document().is(start) && start instanceof Activity) { parseActivityOrStructuredNode(start, doc); - } - else { - } docMetadata(); for (DocGenElement e : doc.getChildren()) { @@ -114,7 +115,7 @@ public Section parseView(Element view) { Section viewSection = new Section(); // Section is a misnomer, should be // View viewSection.setView(true); - if (StereotypesHelper.hasStereotypeOrDerived(view, DocGenProfile.appendixViewStereotype)) { + if (this.profile.appendixView().is(view)) { viewSection.isAppendix(true); } viewSection.setViewpoint(viewpoint); @@ -168,7 +169,7 @@ public Section parseView(Element view) { if (behavior != null) { // parse and execute viewpoint behavior, giving it // the imported/queried elements Boolean addVPElements = (Boolean) GeneratorUtils.getStereotypePropertyFirst(behavior, - DocGenProfile.methodStereotype, "includeViewpointElements", DocGenProfile.PROFILE_NAME, false); + profile.method().getIncludeViewpointElementsProperty(), false); if (elementImports.isEmpty()) { elementImports.add(view); // if view does not import/query @@ -177,10 +178,6 @@ public Section parseView(Element view) { // itself to the viewpoint if (addVPElements) { elementImports.add(viewpoint); - elementImports.addAll(Utils.collectDirectedRelatedElementsByRelationshipStereotypeString( - viewpoint, "AddressedTo", 1, false, 1)); - elementImports.addAll(Utils.collectDirectedRelatedElementsByRelationshipStereotypeString( - viewpoint, "Covers", 1, false, 1)); elementImports.add(behavior); elementImports.add(view); } @@ -197,8 +194,8 @@ public Section parseView(Element view) { List images = new ArrayList(); images.add(view); image.setTargets(images); - String caption = (String) StereotypesHelper.getStereotypePropertyFirst(view, - DocGenProfile.dgviewStereotype, "caption"); + image.setProfile(this.profile); + String caption = this.profile.view().getCaption(view); List captions = new ArrayList(); captions.add(caption); image.setCaptions(captions); @@ -222,6 +219,7 @@ public Section parseView(Element view) { List tables = new ArrayList(); tables.add(ex); gt.setTargets(tables); + gt.setProfile(this.profile); viewSection.addElement(gt); } else { @@ -229,6 +227,7 @@ public Section parseView(Element view) { List images = new ArrayList(); images.add(ex); image.setTargets(images); + image.setProfile(this.profile); viewSection.addElement(image); } } @@ -276,21 +275,20 @@ public Object parseActivityOrStructuredNode(Element a, Container parent) { Debug.outln("next = " + next.getHumanName() + ", " + Converters.getElementToIdConverter().apply(next)); next2 = null; boolean evaluatedConstraintsForNext = false; - if (next instanceof CallBehaviorAction || next instanceof StructuredActivityNode && (StereotypesHelper.hasStereotypeOrDerived(next, DocGenProfile.tableStructureStereotype) || StereotypesHelper.hasStereotypeOrDerived(next, DocGenProfile.plotStereotype))) { + if (next instanceof CallBehaviorAction || next instanceof StructuredActivityNode && (profile.tableStructure().is(next) || profile.plot().is(next))) { Behavior b = (next instanceof CallBehaviorAction) ? ((CallBehaviorAction) next).getBehavior() : null; - if (StereotypesHelper.hasStereotypeOrDerived(next, DocGenProfile.sectionStereotype) + if (this.profile.dynamicView().is(next) || b != null - && StereotypesHelper.hasStereotypeOrDerived(b, DocGenProfile.sectionStereotype)) { + && this.profile.dynamicView().is(b)) { parseResults = parseSection((CallBehaviorAction) next, parent); next2 = next; } - else if (StereotypesHelper.hasStereotypeOrDerived(next, - DocGenProfile.collectFilterStereotype) + else if (this.profile.collectOrFilter().is(next) || b != null - && StereotypesHelper - .hasStereotypeOrDerived(b, DocGenProfile.collectFilterStereotype)) { + && this.profile.collectOrFilter().is(b)) { CollectFilterParser.setContext(context); + CollectFilterParser.setProfile(profile); List results = CollectFilterParser.startCollectAndFilterSequence(next, null); parseResults = results; this.context.pushTargets(Utils2.asList(results, Object.class)); @@ -298,27 +296,28 @@ else if (StereotypesHelper.hasStereotypeOrDerived(next, next2 = context.getCurrentNode(); evaluatedConstraintsForNext = true; } - else if (StereotypesHelper.hasStereotypeOrDerived(next, DocGenProfile.templateStereotype) + else if (profile.formattingAndDisplayTemplate().is(next) || profile.tableStructure().is(next) || b != null) { parseResults = parseQuery(next, parent); next2 = next; } } else if (next instanceof StructuredActivityNode) { + SysMLExtensions.StructuredQueryStereotype s = profile.structuredQuery(); Boolean loop = (Boolean) GeneratorUtils.getStereotypePropertyFirst(next, - DocGenProfile.structuredQueryStereotype, "loop", DocGenProfile.PROFILE_NAME, false); + s.getLoopProperty(), false); Boolean ignore = (Boolean) GeneratorUtils.getStereotypePropertyFirst(next, - DocGenProfile.structuredQueryStereotype, "ignore", DocGenProfile.PROFILE_NAME, false); + s.getIgnoreProperty(), false); Boolean createSections = (Boolean) GeneratorUtils.getStereotypePropertyFirst(next, - DocGenProfile.structuredQueryStereotype, "createSections", DocGenProfile.PROFILE_NAME, false); + s.getCreateSectionsProperty(), false); Boolean useContextNameAsTitle = (Boolean) GeneratorUtils.getStereotypePropertyFirst(next, - DocGenProfile.structuredQueryStereotype, "useSectionNameAsTitle", DocGenProfile.PROFILE_NAME, false); + s.getUseSectionNameAsTitleProperty(), false); String titlePrefix = (String) GeneratorUtils.getStereotypePropertyFirst(next, - DocGenProfile.structuredQueryStereotype, "titlePrefix", DocGenProfile.PROFILE_NAME, ""); + s.getTitlePrefixProperty(), ""); String titleSuffix = (String) GeneratorUtils.getStereotypePropertyFirst(next, - DocGenProfile.structuredQueryStereotype, "titleSuffix", DocGenProfile.PROFILE_NAME, ""); + s.getTitleSuffixProperty(), ""); List titles = (List) GeneratorUtils.getStereotypePropertyValue(next, - DocGenProfile.structuredQueryStereotype, "titles", DocGenProfile.PROFILE_NAME, null); + s.getTitlesProperty(), null); if (titles == null) { titles = new ArrayList(); } @@ -379,9 +378,7 @@ else if (!next.getName().isEmpty()) { next2 = next; } else if (next instanceof ForkNode - && StereotypesHelper.hasStereotype(next, DocGenProfile.parallel)) {// REVIEW - // -- - // hasStereotypeOrDerived()? + && this.profile.parallel().is(next)) { CollectFilterParser.setContext(context); List results = CollectFilterParser.startCollectAndFilterSequence(next, null); parseResults = results; @@ -429,23 +426,21 @@ public static List getTargets(Object obj, GenerationContext context) { @SuppressWarnings("unchecked") public static List getTargets(ActivityNode next, GenerationContext context) { - // TODO -- REVIEW -- shouldn't this be a list of Objects?! - List targets = StereotypesHelper.getStereotypePropertyValue(next, - DocGenProfile.templateStereotype, "targets"); + List targets = Utils2.asList(SysMLExtensions.getInstance(next).formattingAndDisplayTemplate().getTargets(next), Object.class); if (targets.isEmpty()) { List elements = - Utils.collectDirectedRelatedElementsByRelationshipStereotypeString(next, - DocGenProfile.queriesStereotype, 1, false, 1); + Utils.collectDirectedRelatedElementsByRelationshipStereotype(next, + SysMLProfile.getInstance(next).expose().getStereotype(), 1, true, 1); targets = Utils2.asList(elements, Object.class); } if ((targets == null || targets.isEmpty()) && next instanceof CallBehaviorAction && ((CallBehaviorAction) next).getBehavior() != null) { - targets = StereotypesHelper.getStereotypePropertyValue( - ((CallBehaviorAction) next).getBehavior(), DocGenProfile.templateStereotype, "targets"); + targets = Utils2.asList(SysMLExtensions.getInstance(next).formattingAndDisplayTemplate().getTargets( + ((CallBehaviorAction) next).getBehavior()), Object.class); if (targets == null || targets.isEmpty()) { List elements = - Utils.collectDirectedRelatedElementsByRelationshipStereotypeString( - ((CallBehaviorAction) next).getBehavior(), DocGenProfile.queriesStereotype, 1, false, + Utils.collectDirectedRelatedElementsByRelationshipStereotype( + ((CallBehaviorAction) next).getBehavior(), SysMLProfile.getInstance(next).expose().getStereotype(), 1, true, 1); targets = Utils2.asList(elements, Object.class); } @@ -460,22 +455,18 @@ public static List getTargets(ActivityNode next, GenerationContext conte // it won't show up on view editor private List
parseSection(CallBehaviorAction cba, Container parent) { List
sections = new ArrayList
(); - String titlePrefix = (String) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.sectionStereotype, - "titlePrefix", DocGenProfile.PROFILE_NAME, ""); - String titleSuffix = (String) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.sectionStereotype, - "titleSuffix", DocGenProfile.PROFILE_NAME, ""); + SysMLExtensions.DynamicViewStereotype s = this.profile.dynamicView(); + String titlePrefix = (String) GeneratorUtils.getStereotypePropertyFirst(cba, s.getTitlePrefixProperty(), ""); + String titleSuffix = (String) GeneratorUtils.getStereotypePropertyFirst(cba, s.getTitleSuffixProperty(), ""); Boolean useContextNameAsTitle = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, - DocGenProfile.sectionStereotype, "useSectionNameAsTitle", DocGenProfile.PROFILE_NAME, false); + s.getUseSectionNameAsTitleProperty(), false); String stringIfEmpty = (String) GeneratorUtils.getStereotypePropertyFirst(cba, - DocGenProfile.sectionStereotype, "stringIfEmpty", DocGenProfile.PROFILE_NAME, ""); + s.getStringIfEmptyProperty(), ""); Boolean skipIfEmpty = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, - DocGenProfile.sectionStereotype, "skipIfEmpty", DocGenProfile.PROFILE_NAME, false); - Boolean ignore = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.sectionStereotype, - "ignore", DocGenProfile.PROFILE_NAME, false); - Boolean loop = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.sectionStereotype, - "loop", DocGenProfile.PROFILE_NAME, false); - String title = (String) GeneratorUtils.getStereotypePropertyFirst(cba, DocGenProfile.sectionStereotype, - "title", DocGenProfile.PROFILE_NAME, ""); + s.getSkipIfEmptyProperty(), false); + Boolean ignore = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, s.getIgnoreProperty(), false); + Boolean loop = (Boolean) GeneratorUtils.getStereotypePropertyFirst(cba, s.getLoopProperty(), false); + String title = (String) GeneratorUtils.getStereotypePropertyFirst(cba, s.getTitleProperty(), ""); if (title == null || title.isEmpty()) { title = cba.getName(); if (title.isEmpty() && cba.getBehavior() != null) { @@ -532,29 +523,25 @@ private List
parseSection(CallBehaviorAction cba, Container parent) { @SuppressWarnings("unchecked") public Object parseQuery(ActivityNode an, Container parent) { Object result = null; - String titlePrefix = (String) GeneratorUtils.getStereotypePropertyFirst(an, DocGenProfile.templateStereotype, - "titlePrefix", DocGenProfile.PROFILE_NAME, ""); - String titleSuffix = (String) GeneratorUtils.getStereotypePropertyFirst(an, DocGenProfile.templateStereotype, - "titleSuffix", DocGenProfile.PROFILE_NAME, ""); + SysMLExtensions.FormattingAndDisplayTemplateStereotype s = profile.formattingAndDisplayTemplate(); + String titlePrefix = (String) GeneratorUtils.getStereotypePropertyFirst(an, s.getTitlePrefixProperty(), ""); + String titleSuffix = (String) GeneratorUtils.getStereotypePropertyFirst(an, s.getTitleSuffixProperty(), ""); Boolean useContextNameAsTitle = (Boolean) GeneratorUtils.getStereotypePropertyFirst(an, - DocGenProfile.templateStereotype, "useSectionNameAsTitle", DocGenProfile.PROFILE_NAME, false); - Boolean ignore = (Boolean) GeneratorUtils.getStereotypePropertyFirst(an, DocGenProfile.templateStereotype, - "ignore", DocGenProfile.PROFILE_NAME, false); - Boolean loop = (Boolean) GeneratorUtils.getStereotypePropertyFirst(an, DocGenProfile.templateStereotype, - "loop", DocGenProfile.PROFILE_NAME, false); + s.getUseSectionNameAsTitleProperty(), false); + Boolean ignore = (Boolean) GeneratorUtils.getStereotypePropertyFirst(an, s.getIgnoreProperty(), false); + Boolean loop = (Boolean) GeneratorUtils.getStereotypePropertyFirst(an, s.getLoopProperty(), false); List titles = (List) GeneratorUtils.getStereotypePropertyValue(an, - DocGenProfile.templateStereotype, "titles", DocGenProfile.PROFILE_NAME, new ArrayList()); + s.getTitlesProperty(), new ArrayList()); boolean structured = false; - if (StereotypesHelper.hasStereotypeOrDerived(an, DocGenProfile.structuredQueryStereotype) - || (an instanceof CallBehaviorAction && ((CallBehaviorAction) an).getBehavior() != null && StereotypesHelper - .hasStereotypeOrDerived(((CallBehaviorAction) an).getBehavior(), - DocGenProfile.structuredQueryStereotype))) { + if (profile.structuredQuery().is(an) + || (an instanceof CallBehaviorAction && ((CallBehaviorAction) an).getBehavior() != null + && profile.structuredQuery().is(((CallBehaviorAction) an).getBehavior()))) { structured = true; } List targets = getTargets(an, getContext()); if (structured && !ignore && an instanceof CallBehaviorAction) { Boolean createSections = (Boolean) GeneratorUtils.getStereotypePropertyFirst(an, - DocGenProfile.structuredQueryStereotype, "createSections", DocGenProfile.PROFILE_NAME, false); + profile.structuredQuery().getCreateSectionsProperty(), false); if (loop) { List
sections = new ArrayList
(); int count = 0; @@ -644,47 +631,46 @@ else if (!((CallBehaviorAction) an).getBehavior().getName().isEmpty()) { */ private Query parseTemplate(ActivityNode an) { Query dge = null; - if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.imageStereotype)) { + if (GeneratorUtils.hasStereotype(an, profile.image().getStereotype())) { dge = new Image(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.paragraphStereotype)) { + else if (GeneratorUtils.hasStereotype(an, profile.paragraph().getStereotype())) { dge = new Paragraph(context.getValidator()); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.bulletedListStereotype)) { + else if (GeneratorUtils.hasStereotype(an, profile.bulletedList().getStereotype())) { dge = new BulletedList(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.genericTableStereotype)) { + else if (GeneratorUtils.hasStereotype(an, profile.genericTable().getStereotype())) { dge = new GenericTable(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.tableStructureStereotype)) { + else if (GeneratorUtils.hasStereotype(an, profile.tableStructure().getStereotype())) { // Get all the variables or whatever dge = new TableStructure(context.getValidator()); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.userScriptStereotype, true)) { + else if (GeneratorUtils.hasStereotype(an, profile.userScript().getStereotype(), true)) { dge = new UserScript(); } - else if (GeneratorUtils.hasStereotypeByString(an, - DocGenProfile.propertiesTableByAttributesStereotype)) { + else if (GeneratorUtils.hasStereotype(an, + profile.propertiesTableByAttributes().getStereotype())) { dge = new PropertiesTableByAttributes(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.temporalDiffStereotype)) { + else if (GeneratorUtils.hasStereotype(an, profile.temporalDiff().getStereotype())) { dge = new TemporalDiff(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.tomSawyerDiagramStereotype)) { + else if (GeneratorUtils.hasStereotype(an, profile.tomSawyerDiagram().getStereotype())) { dge = new TomSawyerDiagram(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.javaExtensionStereotype, true)) { + else if (GeneratorUtils.hasStereotype(an, profile.javaExtension().getStereotype(), true)) { Element e = an; - if (!StereotypesHelper.hasStereotypeOrDerived(an, DocGenProfile.javaExtensionStereotype)) { + if (!profile.javaExtension().is(an)) { if (an instanceof CallBehaviorAction && ((CallBehaviorAction) an).getBehavior() != null - && StereotypesHelper.hasStereotypeOrDerived(((CallBehaviorAction) an).getBehavior(), - DocGenProfile.javaExtensionStereotype)) { + && profile.javaExtension().is(((CallBehaviorAction) an).getBehavior())) { e = ((CallBehaviorAction) an).getBehavior(); } } Stereotype s = StereotypesHelper.checkForDerivedStereotype(e, - DocGenProfile.javaExtensionStereotype); + profile.javaExtension().getStereotype()); String javaClazz = s.getName(); if (MDKPlugin.extensionsClassloader != null) { try { @@ -698,10 +684,10 @@ else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.javaExtensionSte } } } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.simulateStereotype, true)) { + else if (GeneratorUtils.hasStereotype(an, profile.simulate().getStereotype(), true)) { dge = new Simulate(); } - else if (GeneratorUtils.hasStereotypeByString(an, DocGenProfile.plotStereotype, true)) { + else if (GeneratorUtils.hasStereotype(an, profile.plot().getStereotype(), true)) { dge = new Plot(context.getValidator()); } else if (an instanceof CallBehaviorAction && ((CallBehaviorAction) an).getBehavior() != null) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentViewer.java b/src/main/java/org/openmbee/mdk/generator/DocumentViewer.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentViewer.java rename to src/main/java/org/openmbee/mdk/generator/DocumentViewer.java index a70428b47..68a6abed2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentViewer.java +++ b/src/main/java/org/openmbee/mdk/generator/DocumentViewer.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable; -import gov.nasa.jpl.mbee.mdk.model.Container; -import gov.nasa.jpl.mbee.mdk.model.*; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.docgen.table.EditableTable; +import org.openmbee.mdk.model.*; +import org.openmbee.mdk.model.Container; import javax.swing.*; import javax.swing.table.TableCellRenderer; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentWriter.java b/src/main/java/org/openmbee/mdk/generator/DocumentWriter.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentWriter.java rename to src/main/java/org/openmbee/mdk/generator/DocumentWriter.java index 73c8633ea..62a8e90ed 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/DocumentWriter.java +++ b/src/main/java/org/openmbee/mdk/generator/DocumentWriter.java @@ -1,21 +1,21 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.task.ProgressStatus; import com.nomagic.task.RunnableWithProgress; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBBook; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBSerializeVisitor; -import gov.nasa.jpl.mbee.mdk.model.DocBookOutputVisitor; -import gov.nasa.jpl.mbee.mdk.model.Document; +import org.openmbee.mdk.docgen.docbook.DBBook; +import org.openmbee.mdk.docgen.docbook.DBSerializeVisitor; +import org.openmbee.mdk.model.DocBookOutputVisitor; +import org.openmbee.mdk.model.Document; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import org.apache.commons.lang.exception.ExceptionUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; /** @@ -31,7 +31,7 @@ public class DocumentWriter implements RunnableWithProgress { private final Document dge; private final boolean genNewImage; private File docbook; - + public DocumentWriter(Document dge, File outputfile, boolean genNewImage) { this.dge = dge; this.genNewImage = genNewImage; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/Generatable.java b/src/main/java/org/openmbee/mdk/generator/Generatable.java similarity index 65% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/Generatable.java rename to src/main/java/org/openmbee/mdk/generator/Generatable.java index fae2cdeda..22bef2ae6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/Generatable.java +++ b/src/main/java/org/openmbee/mdk/generator/Generatable.java @@ -1,7 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.actions.MDAction; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.model.Query; import java.util.List; @@ -10,7 +11,7 @@ * Interface for all DocGen queries. *

* - * @see gov.nasa.jpl.mbee.mdk.model.Query for writing java extensions + * @see Query for writing java extensions */ public interface Generatable { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/GenerationContext.java b/src/main/java/org/openmbee/mdk/generator/GenerationContext.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/GenerationContext.java rename to src/main/java/org/openmbee/mdk/generator/GenerationContext.java index 8d02ab2e6..610e6c31f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/GenerationContext.java +++ b/src/main/java/org/openmbee/mdk/generator/GenerationContext.java @@ -1,8 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.core.GUILog; import com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.ActivityNode; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.docgen.ViewViewpointValidator; import java.util.List; import java.util.Stack; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PdfWriter.java b/src/main/java/org/openmbee/mdk/generator/PdfWriter.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/PdfWriter.java rename to src/main/java/org/openmbee/mdk/generator/PdfWriter.java index 1df2e74b7..3bbdcdbc9 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PdfWriter.java +++ b/src/main/java/org/openmbee/mdk/generator/PdfWriter.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.core.Application; import com.nomagic.task.ProgressStatus; import com.nomagic.task.RunnableWithProgress; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; -import gov.nasa.jpl.mbee.mdk.model.Document; -import org.apache.commons.lang.exception.ExceptionUtils; +import org.openmbee.mdk.MDKPlugin; +import org.openmbee.mdk.model.Document; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.fop.apps.*; import javax.xml.transform.Result; @@ -41,7 +41,7 @@ public PdfWriter(File docbook, File docbookXslFo, File outputFile) { this(null, false, docbook, docbookXslFo, outputFile); } - + public PdfWriter(Document dge, boolean genNewImage, File docbook, File docbookXslFo, File outputFile) { this.dge = dge; @@ -58,31 +58,31 @@ protected boolean mdModel2DocumentAsTemp(ProgressStatus status) { try { docbook = File.createTempFile(docbook.getName(), ".xml"); return DocumentWriter.mdModel2Document(status, dge, genNewImage, docbook, false); - + } catch (IOException e) { return false; } } //DocGen -> Generate-> PDF protected void document2Pdf() { - + ClassLoader localClassLoader = Thread.currentThread().getContextClassLoader(); try { FopFactory fopFactory = FopFactory.newInstance();//fopConfigFile); - + //make currentloader to be mainloader (batik, fop, xmlgraphics jar need to be loaded at the same level so images to be embedded in PDF). URL[] urls = new URL[1]; - //urls[0] = (new File(ApplicationEnvironment.getInstallRoot() + File.separator + "plugins" + File.separator + "gov.nasa.jpl.mbee.mdk")).toURI().toURL(); + //urls[0] = (new File(ApplicationEnvironment.getInstallRoot() + File.separator + "plugins" + File.separator + "org.openmbee.mdk")).toURI().toURL(); urls[0] = MDKPlugin.getInstance().getDescriptor().getPluginDirectory().toURI().toURL(); URLClassLoader mainClassLoader = new URLClassLoader(urls, Application.class.getClassLoader()); Thread.currentThread().setContextClassLoader(mainClassLoader); - + StreamSource docbookSrc = new StreamSource(docbook); - + // create a user agent (used to tweak rendering settings on a per-run basis. // we are just using defaults for now though. FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); - + OutputStream pdfOut; try { pdfOut = new java.io.FileOutputStream(outputFile); @@ -134,9 +134,9 @@ protected void document2Pdf() { public void run(ProgressStatus status) { status.setIndeterminate(true); status.setDescription("Generating a PDF file..."); - if (mdModel2DocumentAsTemp(status)) + if (mdModel2DocumentAsTemp(status)) document2Pdf(); - else + else Application.getInstance().getGUILog().log("[ERROR] Failed to generate a PDF file."); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PostProcessor.java b/src/main/java/org/openmbee/mdk/generator/PostProcessor.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/PostProcessor.java rename to src/main/java/org/openmbee/mdk/generator/PostProcessor.java index 522fd7ece..0d26c3130 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PostProcessor.java +++ b/src/main/java/org/openmbee/mdk/generator/PostProcessor.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; -import gov.nasa.jpl.mbee.mdk.model.Container; -import gov.nasa.jpl.mbee.mdk.model.DocGenElement; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.model.Query; +import org.openmbee.mdk.model.Container; +import org.openmbee.mdk.model.DocGenElement; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.model.Query; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementInfo.java b/src/main/java/org/openmbee/mdk/generator/PresentationElementInfo.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementInfo.java rename to src/main/java/org/openmbee/mdk/generator/PresentationElementInfo.java index 890fe2fcd..4dac8d607 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementInfo.java +++ b/src/main/java/org/openmbee/mdk/generator/PresentationElementInfo.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementInstance.java b/src/main/java/org/openmbee/mdk/generator/PresentationElementInstance.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementInstance.java rename to src/main/java/org/openmbee/mdk/generator/PresentationElementInstance.java index b55bba1c8..51af44476 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementInstance.java +++ b/src/main/java/org/openmbee/mdk/generator/PresentationElementInstance.java @@ -1,8 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.PresentationElementClasses; +import org.openmbee.mdk.api.docgen.uml.classes.PresentationElementClasses; import org.json.simple.JSONObject; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementUtils.java b/src/main/java/org/openmbee/mdk/generator/PresentationElementUtils.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementUtils.java rename to src/main/java/org/openmbee/mdk/generator/PresentationElementUtils.java index e718a6c3a..458e509ed 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/PresentationElementUtils.java +++ b/src/main/java/org/openmbee/mdk/generator/PresentationElementUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.commands.Command; import com.nomagic.magicdraw.commands.CommandHistory; @@ -10,10 +10,10 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; import com.nomagic.uml2.impl.ElementsFactory; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.PresentationElementClasses; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.api.docgen.uml.classes.PresentationElementClasses; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.util.Utils; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/ProductViewParser.java b/src/main/java/org/openmbee/mdk/generator/ProductViewParser.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/ProductViewParser.java rename to src/main/java/org/openmbee/mdk/generator/ProductViewParser.java index 3459618b1..964f24e9f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/ProductViewParser.java +++ b/src/main/java/org/openmbee/mdk/generator/ProductViewParser.java @@ -1,20 +1,18 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.model.Container; -import gov.nasa.jpl.mbee.mdk.model.DocGenElement; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.model.Section; -import gov.nasa.jpl.mbee.mdk.util.Pair; +import org.openmbee.mdk.model.Container; +import org.openmbee.mdk.model.DocGenElement; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.model.Section; +import org.openmbee.mdk.util.Pair; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; -import java.util.Set; /** * This parses a view structure and Product spec that uses associations for diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/ViewParser.java b/src/main/java/org/openmbee/mdk/generator/ViewParser.java similarity index 72% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/ViewParser.java rename to src/main/java/org/openmbee/mdk/generator/ViewParser.java index 79963951e..8f581abcf 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/ViewParser.java +++ b/src/main/java/org/openmbee/mdk/generator/ViewParser.java @@ -1,14 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; -import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.model.Container; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.model.Section; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.model.Container; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.model.Section; /** * @@ -31,7 +29,7 @@ public ViewParser(DocumentGenerator dg, boolean singleView, boolean recurse, Doc } public Section parse() { - Stereotype documentView = StereotypesHelper.getStereotype(Application.getInstance().getProject(), DocGenProfile.documentViewStereotype); + Stereotype documentView = SysMLExtensions.getInstance(start).product().getStereotype(); if (StereotypesHelper.hasStereotypeOrDerived(start, documentView)) { doc.setDgElement(start); } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/ViewPresentationGenerator.java b/src/main/java/org/openmbee/mdk/generator/ViewPresentationGenerator.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/ViewPresentationGenerator.java rename to src/main/java/org/openmbee/mdk/generator/ViewPresentationGenerator.java index 2f5de28e7..f340a60ae 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/ViewPresentationGenerator.java +++ b/src/main/java/org/openmbee/mdk/generator/ViewPresentationGenerator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator; +package org.openmbee.mdk.generator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; @@ -18,33 +18,33 @@ import com.nomagic.task.RunnableWithProgress; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBBook; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBImage; -import gov.nasa.jpl.mbee.mdk.emf.EMFImporter; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.ImportException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.CommitDiagramArtifactsAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSElementsEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; -import gov.nasa.jpl.mbee.mdk.mms.json.JsonEquivalencePredicate; -import gov.nasa.jpl.mbee.mdk.mms.json.JsonPatchFunction; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.mms.validation.DiagramValidator; -import gov.nasa.jpl.mbee.mdk.model.DocBookOutputVisitor; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.util.*; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; -import gov.nasa.jpl.mbee.mdk.viewedit.DBAlfrescoVisitor; -import gov.nasa.jpl.mbee.mdk.viewedit.ViewHierarchyVisitor; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.docgen.docbook.DBBook; +import org.openmbee.mdk.docgen.docbook.DBImage; +import org.openmbee.mdk.emf.EMFImporter; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.ImportException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.CommitDiagramArtifactsAction; +import org.openmbee.mdk.mms.endpoints.MMSElementsEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.json.JsonEquivalencePredicate; +import org.openmbee.mdk.mms.json.JsonPatchFunction; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.mms.validation.DiagramValidator; +import org.openmbee.mdk.model.DocBookOutputVisitor; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.util.*; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.viewedit.DBAlfrescoVisitor; +import org.openmbee.mdk.viewedit.ViewHierarchyVisitor; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; import org.json.simple.JSONArray; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/AbstractGraph.java b/src/main/java/org/openmbee/mdk/generator/graphs/AbstractGraph.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/AbstractGraph.java rename to src/main/java/org/openmbee/mdk/generator/graphs/AbstractGraph.java index 57175c759..9aa0eff2f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/AbstractGraph.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/AbstractGraph.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedEdge.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedEdge.java similarity index 79% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedEdge.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedEdge.java index ef9a74553..343750d9d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedEdge.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedEdge.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; public interface DirectedEdge extends DirectedHyperEdge, UndirectedEdge { VertexType getSourceVertex(); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedEdgeVector.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedEdgeVector.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedEdgeVector.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedEdgeVector.java index 04ecd9ed6..255735748 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedEdgeVector.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedEdgeVector.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedGraph.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedGraph.java similarity index 82% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedGraph.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedGraph.java index 6dedbe9c5..286d352d6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedGraph.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedGraph.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; public interface DirectedGraph> extends DirectedHyperGraph { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedGraphHashSet.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedGraphHashSet.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedGraphHashSet.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedGraphHashSet.java index 55b571fdc..e4e17f885 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedGraphHashSet.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedGraphHashSet.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperEdge.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperEdge.java similarity index 80% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperEdge.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperEdge.java index c86d5d18a..9fcc41ee4 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperEdge.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperEdge.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperEdgeVector.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperEdgeVector.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperEdgeVector.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperEdgeVector.java index d88e5c14a..59e999989 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperEdgeVector.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperEdgeVector.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperGraph.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperGraph.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperGraph.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperGraph.java index 8276e5079..378f8caf2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperGraph.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperGraph.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperGraphHashSet.java b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperGraphHashSet.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperGraphHashSet.java rename to src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperGraphHashSet.java index 4b648b3e2..0822ce649 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/DirectedHyperGraphHashSet.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/DirectedHyperGraphHashSet.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/Edge.java b/src/main/java/org/openmbee/mdk/generator/graphs/Edge.java similarity index 83% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/Edge.java rename to src/main/java/org/openmbee/mdk/generator/graphs/Edge.java index afe4a9aea..918bb28dd 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/Edge.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/Edge.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Collection; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/Graph.java b/src/main/java/org/openmbee/mdk/generator/graphs/Graph.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/Graph.java rename to src/main/java/org/openmbee/mdk/generator/graphs/Graph.java index df15ec4d6..c72aace09 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/Graph.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/Graph.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedEdge.java b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedEdge.java similarity index 65% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedEdge.java rename to src/main/java/org/openmbee/mdk/generator/graphs/UndirectedEdge.java index bbced0cbe..a45f5ae5e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedEdge.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedEdge.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; public interface UndirectedEdge extends UndirectedHyperEdge { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedEdgeVector.java b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedEdgeVector.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedEdgeVector.java rename to src/main/java/org/openmbee/mdk/generator/graphs/UndirectedEdgeVector.java index b25d9f17c..df2a493dc 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedEdgeVector.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedEdgeVector.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Collection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperEdge.java b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperEdge.java similarity index 62% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperEdge.java rename to src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperEdge.java index ec9b7f31e..95e7d4b44 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperEdge.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperEdge.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; public interface UndirectedHyperEdge extends Edge { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperEdgeVector.java b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperEdgeVector.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperEdgeVector.java rename to src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperEdgeVector.java index 149383ed7..e87fdcd36 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperEdgeVector.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperEdgeVector.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.Collection; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperGraph.java b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperGraph.java similarity index 75% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperGraph.java rename to src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperGraph.java index 7a713e741..8cf650fbe 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperGraph.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperGraph.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; public interface UndirectedHyperGraph> extends Graph { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperGraphHashSet.java b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperGraphHashSet.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperGraphHashSet.java rename to src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperGraphHashSet.java index 5f0023308..d0473d8b3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/UndirectedHyperGraphHashSet.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/UndirectedHyperGraphHashSet.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs; +package org.openmbee.mdk.generator.graphs; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/algorithms/DepthFirstSearch.java b/src/main/java/org/openmbee/mdk/generator/graphs/algorithms/DepthFirstSearch.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/algorithms/DepthFirstSearch.java rename to src/main/java/org/openmbee/mdk/generator/graphs/algorithms/DepthFirstSearch.java index 10533cc3e..d552b4cd3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/algorithms/DepthFirstSearch.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/algorithms/DepthFirstSearch.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs.algorithms; +package org.openmbee.mdk.generator.graphs.algorithms; -import gov.nasa.jpl.mbee.mdk.generator.graphs.*; +import org.openmbee.mdk.generator.graphs.*; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/algorithms/TopologicalSort.java b/src/main/java/org/openmbee/mdk/generator/graphs/algorithms/TopologicalSort.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/algorithms/TopologicalSort.java rename to src/main/java/org/openmbee/mdk/generator/graphs/algorithms/TopologicalSort.java index 201d4fe6b..96ec45f2f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/algorithms/TopologicalSort.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/algorithms/TopologicalSort.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.generator.graphs.algorithms; +package org.openmbee.mdk.generator.graphs.algorithms; -import gov.nasa.jpl.mbee.mdk.generator.graphs.Edge; -import gov.nasa.jpl.mbee.mdk.generator.graphs.Graph; +import org.openmbee.mdk.generator.graphs.Edge; +import org.openmbee.mdk.generator.graphs.Graph; import java.util.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/package-info.java b/src/main/java/org/openmbee/mdk/generator/graphs/package-info.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/package-info.java rename to src/main/java/org/openmbee/mdk/generator/graphs/package-info.java index e1c272064..f30366e7c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/generator/graphs/package-info.java +++ b/src/main/java/org/openmbee/mdk/generator/graphs/package-info.java @@ -4,4 +4,4 @@ * using these (for topological sort) when parsing viewpoint activities, so need * to convert those first. **/ -package gov.nasa.jpl.mbee.mdk.generator.graphs; \ No newline at end of file +package org.openmbee.mdk.generator.graphs; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/http/HttpDeleteWithBody.java b/src/main/java/org/openmbee/mdk/http/HttpDeleteWithBody.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/http/HttpDeleteWithBody.java rename to src/main/java/org/openmbee/mdk/http/HttpDeleteWithBody.java index d9904fc05..91d4bef56 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/http/HttpDeleteWithBody.java +++ b/src/main/java/org/openmbee/mdk/http/HttpDeleteWithBody.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.http; +package org.openmbee.mdk.http; import org.apache.http.annotation.NotThreadSafe; import org.apache.http.client.methods.HttpPost; @@ -24,4 +24,4 @@ public HttpDeleteWithBody(String uri) { public String getMethod() { return "DELETE"; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/http/HttpGetWithBody.java b/src/main/java/org/openmbee/mdk/http/HttpGetWithBody.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/http/HttpGetWithBody.java rename to src/main/java/org/openmbee/mdk/http/HttpGetWithBody.java index e3c05fb45..1b30a2c82 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/http/HttpGetWithBody.java +++ b/src/main/java/org/openmbee/mdk/http/HttpGetWithBody.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.http; +package org.openmbee.mdk.http; import org.apache.http.annotation.NotThreadSafe; import org.apache.http.client.methods.HttpPost; @@ -25,4 +25,4 @@ public HttpGetWithBody(String uri) { public String getMethod() { return "GET"; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/http/ServerException.java b/src/main/java/org/openmbee/mdk/http/ServerException.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/http/ServerException.java rename to src/main/java/org/openmbee/mdk/http/ServerException.java index 64d34fb69..b6dfb1861 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/http/ServerException.java +++ b/src/main/java/org/openmbee/mdk/http/ServerException.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.http; +package org.openmbee.mdk.http; -import org.apache.commons.lang.WordUtils; +import org.apache.commons.text.WordUtils; import java.lang.reflect.Field; import java.lang.reflect.Modifier; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/ImportException.java b/src/main/java/org/openmbee/mdk/json/ImportException.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/ImportException.java rename to src/main/java/org/openmbee/mdk/json/ImportException.java index f87f422db..8e24c74dd 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/ImportException.java +++ b/src/main/java/org/openmbee/mdk/json/ImportException.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.json; +package org.openmbee.mdk.json; import com.fasterxml.jackson.databind.JsonNode; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/JacksonUtils.java b/src/main/java/org/openmbee/mdk/json/JacksonUtils.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/JacksonUtils.java rename to src/main/java/org/openmbee/mdk/json/JacksonUtils.java index ac02c2416..2c5af9664 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/JacksonUtils.java +++ b/src/main/java/org/openmbee/mdk/json/JacksonUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.json; +package org.openmbee.mdk.json; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; @@ -8,10 +8,10 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.node.NullNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import org.apache.commons.lang.math.NumberUtils; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.util.MDUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.openmbee.mdk.api.incubating.MDKConstants; import java.io.File; import java.io.IOException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/ReferenceException.java b/src/main/java/org/openmbee/mdk/json/ReferenceException.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/ReferenceException.java rename to src/main/java/org/openmbee/mdk/json/ReferenceException.java index ad6b25fa8..4ba8113f7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/ReferenceException.java +++ b/src/main/java/org/openmbee/mdk/json/ReferenceException.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.json; +package org.openmbee.mdk.json; import com.fasterxml.jackson.databind.node.ObjectNode; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/TempFileJsonFactory.java b/src/main/java/org/openmbee/mdk/json/TempFileJsonFactory.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/TempFileJsonFactory.java rename to src/main/java/org/openmbee/mdk/json/TempFileJsonFactory.java index 401bb0142..689d919c1 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/TempFileJsonFactory.java +++ b/src/main/java/org/openmbee/mdk/json/TempFileJsonFactory.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.json; +package org.openmbee.mdk.json; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.util.JsonParserDelegate; import com.fasterxml.jackson.databind.MappingJsonFactory; import com.fasterxml.jackson.databind.ObjectMapper; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; import java.io.File; import java.io.IOException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.java b/src/main/java/org/openmbee/mdk/json/diff/ui/DiffView.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.java rename to src/main/java/org/openmbee/mdk/json/diff/ui/DiffView.java index 63dc124be..f0a5d83d3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.java +++ b/src/main/java/org/openmbee/mdk/json/diff/ui/DiffView.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.json.diff.ui; +package org.openmbee.mdk.json.diff.ui; import com.fasterxml.jackson.databind.JsonNode; import javafx.fxml.FXMLLoader; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffViewController.java b/src/main/java/org/openmbee/mdk/json/diff/ui/DiffViewController.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffViewController.java rename to src/main/java/org/openmbee/mdk/json/diff/ui/DiffViewController.java index ce0091513..e04bd357c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffViewController.java +++ b/src/main/java/org/openmbee/mdk/json/diff/ui/DiffViewController.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.json.diff.ui; +package org.openmbee.mdk.json.diff.ui; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.MissingNode; @@ -9,7 +9,7 @@ import javafx.scene.input.Clipboard; import javafx.scene.input.ClipboardContent; import javafx.util.Callback; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import java.net.URL; import java.util.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/MDKDiffView.java b/src/main/java/org/openmbee/mdk/json/diff/ui/MDKDiffView.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/MDKDiffView.java rename to src/main/java/org/openmbee/mdk/json/diff/ui/MDKDiffView.java index 6c508e06d..6ee87e3a7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/json/diff/ui/MDKDiffView.java +++ b/src/main/java/org/openmbee/mdk/json/diff/ui/MDKDiffView.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.json.diff.ui; +package org.openmbee.mdk.json.diff.ui; import com.fasterxml.jackson.databind.JsonNode; import com.nomagic.magicdraw.core.Application; @@ -8,7 +8,7 @@ import com.nomagic.ui.ResizableIcon; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.incubating.convert.Converters; import javafx.application.Platform; import javafx.embed.swing.SwingFXUtils; import javafx.scene.Scene; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/migrate/actions/GroupsMigrationAction.java b/src/main/java/org/openmbee/mdk/migrate/actions/GroupsMigrationAction.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/migrate/actions/GroupsMigrationAction.java rename to src/main/java/org/openmbee/mdk/migrate/actions/GroupsMigrationAction.java index 227ea5887..fd17c1099 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/migrate/actions/GroupsMigrationAction.java +++ b/src/main/java/org/openmbee/mdk/migrate/actions/GroupsMigrationAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.migrate.actions; +package org.openmbee.mdk.migrate.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; @@ -14,7 +14,7 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Generalization; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.incubating.convert.Converters; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/MMSArtifact.java b/src/main/java/org/openmbee/mdk/mms/MMSArtifact.java similarity index 90% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/MMSArtifact.java rename to src/main/java/org/openmbee/mdk/mms/MMSArtifact.java index f388fe0d8..a294c2fd7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/MMSArtifact.java +++ b/src/main/java/org/openmbee/mdk/mms/MMSArtifact.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms; +package org.openmbee.mdk.mms; import org.apache.http.entity.ContentType; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/MMSUtils.java b/src/main/java/org/openmbee/mdk/mms/MMSUtils.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/MMSUtils.java rename to src/main/java/org/openmbee/mdk/mms/MMSUtils.java index 8b35f3cc9..f17c51324 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/MMSUtils.java +++ b/src/main/java/org/openmbee/mdk/mms/MMSUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms; +package org.openmbee.mdk.mms; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; @@ -8,17 +8,16 @@ import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.task.ProgressStatus; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLogoutAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.*; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; +import org.openmbee.mdk.MDKPlugin; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.actions.MMSLogoutAction; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.TaskRunner; import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; @@ -27,6 +26,7 @@ import org.apache.http.entity.ContentType; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.openmbee.mdk.mms.endpoints.*; import java.io.*; import java.net.HttpURLConnection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitBranchAction.java b/src/main/java/org/openmbee/mdk/mms/actions/CommitBranchAction.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitBranchAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/CommitBranchAction.java index 5cbbee3e1..e3a8ff496 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitBranchAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/CommitBranchAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; /** * Created by ablack on 3/16/17. @@ -19,18 +19,20 @@ import com.nomagic.task.ProgressStatus; import com.nomagic.task.RunnableWithProgress; import com.nomagic.ui.ProgressStatusRunner; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.*; -import gov.nasa.jpl.mbee.mdk.mms.sync.manual.ManualSyncRunner; -import gov.nasa.jpl.mbee.mdk.mms.validation.BranchValidator; -import gov.nasa.jpl.mbee.mdk.validation.IRuleViolationAction; -import gov.nasa.jpl.mbee.mdk.validation.RuleViolationAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.endpoints.MMSRefEndpoint; +import org.openmbee.mdk.mms.sync.manual.ManualSyncRunner; +import org.openmbee.mdk.mms.validation.BranchValidator; +import org.openmbee.mdk.validation.IRuleViolationAction; +import org.openmbee.mdk.validation.RuleViolationAction; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; +import org.openmbee.mdk.mms.endpoints.MMSRefsEndpoint; import java.awt.event.ActionEvent; import java.io.File; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitClientElementAction.java b/src/main/java/org/openmbee/mdk/mms/actions/CommitClientElementAction.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitClientElementAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/CommitClientElementAction.java index 2f100ee85..6f2f217de 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitClientElementAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/CommitClientElementAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -8,16 +8,16 @@ import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSElementsEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; -import gov.nasa.jpl.mbee.mdk.validation.IRuleViolationAction; -import gov.nasa.jpl.mbee.mdk.validation.RuleViolationAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.endpoints.MMSElementsEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.TaskRunner; +import org.openmbee.mdk.validation.IRuleViolationAction; +import org.openmbee.mdk.validation.RuleViolationAction; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitDiagramArtifactsAction.java b/src/main/java/org/openmbee/mdk/mms/actions/CommitDiagramArtifactsAction.java similarity index 84% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitDiagramArtifactsAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/CommitDiagramArtifactsAction.java index 9d5344ba8..144261af8 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitDiagramArtifactsAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/CommitDiagramArtifactsAction.java @@ -1,24 +1,23 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.annotation.AnnotationAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.MMSArtifact; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSElementEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; -import gov.nasa.jpl.mbee.mdk.validation.IRuleViolationAction; -import gov.nasa.jpl.mbee.mdk.validation.RuleViolationAction; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.MMSArtifact; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.endpoints.MMSElementEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.TaskRunner; +import org.openmbee.mdk.validation.IRuleViolationAction; +import org.openmbee.mdk.validation.RuleViolationAction; import org.apache.http.HttpEntity; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.mime.MultipartEntityBuilder; -import org.apache.http.entity.mime.content.InputStreamBody; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitOrgAction.java b/src/main/java/org/openmbee/mdk/mms/actions/CommitOrgAction.java similarity index 90% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitOrgAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/CommitOrgAction.java index 51d2044d2..6cb3518aa 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitOrgAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/CommitOrgAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; @@ -7,16 +7,14 @@ import com.nomagic.magicdraw.annotation.AnnotationAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSOrgsEndpoint; -import gov.nasa.jpl.mbee.mdk.validation.IRuleViolationAction; -import gov.nasa.jpl.mbee.mdk.validation.RuleViolationAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.endpoints.MMSOrgsEndpoint; +import org.openmbee.mdk.validation.IRuleViolationAction; +import org.openmbee.mdk.validation.RuleViolationAction; import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.ContentType; import javax.swing.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitProjectAction.java b/src/main/java/org/openmbee/mdk/mms/actions/CommitProjectAction.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitProjectAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/CommitProjectAction.java index e8e4e3ff1..6308ae358 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/CommitProjectAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/CommitProjectAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; @@ -10,19 +10,18 @@ import com.nomagic.magicdraw.core.ProjectUtilities; import com.nomagic.task.RunnableWithProgress; import com.nomagic.ui.ProgressStatusRunner; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSOrgsEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSProjectsEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.sync.manual.ManualSyncActionRunner; -import gov.nasa.jpl.mbee.mdk.mms.validation.ProjectValidator; -import gov.nasa.jpl.mbee.mdk.util.Pair; -import gov.nasa.jpl.mbee.mdk.validation.IRuleViolationAction; -import gov.nasa.jpl.mbee.mdk.validation.RuleViolationAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.endpoints.MMSOrgsEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSProjectsEndpoint; +import org.openmbee.mdk.mms.sync.manual.ManualSyncActionRunner; +import org.openmbee.mdk.mms.validation.ProjectValidator; +import org.openmbee.mdk.util.Pair; +import org.openmbee.mdk.validation.IRuleViolationAction; +import org.openmbee.mdk.validation.RuleViolationAction; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/DetailedSyncStatusAction.java b/src/main/java/org/openmbee/mdk/mms/actions/DetailedSyncStatusAction.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/DetailedSyncStatusAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/DetailedSyncStatusAction.java index 28d5aca2f..df0701b33 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/DetailedSyncStatusAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/DetailedSyncStatusAction.java @@ -1,22 +1,22 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.actions.LockAction; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElement; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElements; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.util.Changelog; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.actions.LockAction; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.mms.sync.delta.SyncElement; +import org.openmbee.mdk.mms.sync.delta.SyncElements; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.util.Changelog; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ElementDiffAction.java b/src/main/java/org/openmbee/mdk/mms/actions/ElementDiffAction.java similarity index 80% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ElementDiffAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/ElementDiffAction.java index a5296245f..cf9e49b43 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ElementDiffAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/ElementDiffAction.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.fasterxml.jackson.databind.JsonNode; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; +import org.openmbee.mdk.MDKPlugin; import javax.annotation.CheckForNull; import javax.swing.*; @@ -28,11 +28,11 @@ public ElementDiffAction(JsonNode clientElement, JsonNode serverElement, JsonNod @Override public void actionPerformed(@CheckForNull ActionEvent actionEvent) { if (!MDKPlugin.isJavaFXSupported()) { - JOptionPane.showMessageDialog(Application.getInstance().getMainFrame(), "The " + NAME + " feature requires JavaFX. Please add \"-Dorg.osgi.framework.bundle.parent=ext\" to the\n\"JAVA_ARGS\" line in the properties file(s) in your MagicDraw bin directory and restart."); + JOptionPane.showMessageDialog(Application.getInstance().getMainFrame(), "The " + NAME + " feature requires JavaFX. JavaFX Library not found."); return; } try { - Class clazz = Class.forName("gov.nasa.jpl.mbee.mdk.json.diff.ui.MDKDiffView"); + Class clazz = Class.forName("org.openmbee.mdk.json.diff.ui.MDKDiffView"); Constructor constructor = clazz.getConstructor(JsonNode.class, JsonNode.class, JsonNode.class, Project.class); Runnable runnable = (Runnable) constructor.newInstance(clientElement, serverElement, patch, project); runnable.run(); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateAllViewsAction.java b/src/main/java/org/openmbee/mdk/mms/actions/GenerateAllViewsAction.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateAllViewsAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/GenerateAllViewsAction.java index dcea547fd..7109049a7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateAllViewsAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/GenerateAllViewsAction.java @@ -1,15 +1,16 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.ProjectUtilities; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.generator.ViewPresentationGenerator; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.generator.ViewPresentationGenerator; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationSuite; import java.awt.event.ActionEvent; import java.util.ArrayList; @@ -48,7 +49,7 @@ public List updateAction(Project project) { } private Set getViews(Project project) { - Stereotype viewStereotype = Utils.getViewStereotype(project); + Stereotype viewStereotype = SysMLProfile.getInstanceByProject(project).view().getStereotype(); if (viewStereotype == null) { return Collections.emptySet(); } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateDocBookAction.java b/src/main/java/org/openmbee/mdk/mms/actions/GenerateDocBookAction.java similarity index 88% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateDocBookAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/GenerateDocBookAction.java index 67fd75776..563bce5cb 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateDocBookAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/GenerateDocBookAction.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.generator.DocumentWriter; -import gov.nasa.jpl.mbee.mdk.model.Document; +import org.openmbee.mdk.generator.DocumentWriter; +import org.openmbee.mdk.model.Document; import java.awt.event.ActionEvent; import java.io.File; @@ -37,6 +37,6 @@ protected void generate(File outputDocbookFile) { ProgressStatusRunner.runWithProgressStatus(new DocumentWriter(doc, outputDocbookFile, doc.getGenNewImage()), "DocGen", true, 0); } } - + } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfAction.java b/src/main/java/org/openmbee/mdk/mms/actions/GeneratePdfAction.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/GeneratePdfAction.java index 908206065..f6ed18525 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/GeneratePdfAction.java @@ -1,20 +1,20 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.generator.PdfWriter; -import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator; -import gov.nasa.jpl.mbee.mdk.generator.PostProcessor; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import org.apache.commons.lang.exception.ExceptionUtils; +import org.openmbee.mdk.MDKPlugin; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.generator.PdfWriter; +import org.openmbee.mdk.generator.DocumentGenerator; +import org.openmbee.mdk.generator.PostProcessor; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.util.Utils; +import org.apache.commons.lang3.exception.ExceptionUtils; import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; @@ -154,7 +154,7 @@ protected Document prepToDocBook() { new PostProcessor().process(dge); return dge; } - + //MDK Document model -> PDF file protected void generate(File autoGeneratedDocbookfile, File docbookXslFo, File outputPdfFile) { Application.getInstance().getGUILog().log("Generating PDF in " + outputPdfFile.getAbsolutePath()); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfFromDocBookAction.java b/src/main/java/org/openmbee/mdk/mms/actions/GeneratePdfFromDocBookAction.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfFromDocBookAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/GeneratePdfFromDocBookAction.java index d74aa0ed2..e70e77a59 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfFromDocBookAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/GeneratePdfFromDocBookAction.java @@ -1,8 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.generator.Document2PdfWriter; +import org.openmbee.mdk.generator.Document2PdfWriter; import javax.swing.filechooser.FileNameExtensionFilter; import java.awt.event.ActionEvent; @@ -48,7 +48,7 @@ public void actionPerformed(ActionEvent e) { } } } - + protected File askForDocBookFile(String title, String buttonText) { File docbookFile = fileSelect(title, new File(docBookDefaultDir, view.getHumanName().substring(view.getHumanType().length()).trim() + ".xml"), buttonText, new FileNameExtensionFilter("XML", "xml")); if (docbookFile == null) return null; //cancelled diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateViewPresentationAction.java b/src/main/java/org/openmbee/mdk/mms/actions/GenerateViewPresentationAction.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateViewPresentationAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/GenerateViewPresentationAction.java index d538692b3..e01222bbe 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/GenerateViewPresentationAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/GenerateViewPresentationAction.java @@ -1,15 +1,16 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.generator.ViewPresentationGenerator; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.generator.ViewPresentationGenerator; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationSuite; import java.awt.event.ActionEvent; import java.util.*; @@ -38,8 +39,8 @@ public void actionPerformed(ActionEvent e) { } public List updateAction() { - Stereotype viewStereotype = Utils.getViewStereotype(project), - elementGroupStereotype = Utils.getElementGroupStereotype(project); + Stereotype viewStereotype = SysMLProfile.getInstance(project).view().getStereotype(); + Stereotype elementGroupStereotype = SysMLProfile.getInstance(project).elementGroup().getStereotype(); Set processedElements = new HashSet<>(elements.size()); Queue queuedElements = new LinkedList<>(elements); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSAction.java b/src/main/java/org/openmbee/mdk/mms/actions/MMSAction.java similarity index 88% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/MMSAction.java index cde7d6f15..9108ce1b0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/MMSAction.java @@ -1,8 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.util.TicketUtils; import javax.swing.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSLoginAction.java b/src/main/java/org/openmbee/mdk/mms/actions/MMSLoginAction.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSLoginAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/MMSLoginAction.java index 610ba5ec6..3e9149795 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSLoginAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/MMSLoginAction.java @@ -1,14 +1,14 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.actions.ActionsStateUpdater; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.tickets.AcquireTicketChain; -import gov.nasa.jpl.mbee.mdk.util.TaskRunner; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.tickets.AcquireTicketChain; +import org.openmbee.mdk.util.TaskRunner; +import org.openmbee.mdk.util.Utils; import java.awt.event.ActionEvent; import java.io.IOException; @@ -38,7 +38,7 @@ public static boolean loginAction(Project project) { Utils.showPopupMessage("Please login in to Teamwork Cloud before logging in to MMS."); return false; } - */ + */ AcquireTicketChain ticketChain = new AcquireTicketChain(); if (!ticketChain.acquireMmsTicket(project)) { return false; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSLogoutAction.java b/src/main/java/org/openmbee/mdk/mms/actions/MMSLogoutAction.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSLogoutAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/MMSLogoutAction.java index e7968dab1..af9be4f15 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/MMSLogoutAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/MMSLogoutAction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.actions.ActionsStateUpdater; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.SyncStatusConfigurator; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.mms.sync.status.SyncStatusConfigurator; +import org.openmbee.mdk.util.TicketUtils; import java.awt.event.ActionEvent; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/UpdateClientElementAction.java b/src/main/java/org/openmbee/mdk/mms/actions/UpdateClientElementAction.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/UpdateClientElementAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/UpdateClientElementAction.java index 90560385a..1c07d1a18 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/UpdateClientElementAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/UpdateClientElementAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; @@ -19,20 +19,20 @@ import com.nomagic.task.RunnableWithProgress; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.actions.ClipboardAction; -import gov.nasa.jpl.mbee.mdk.actions.LockAction; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.emf.EMFBulkImporter; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.json.JsonPatchFunction; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElement; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.util.Changelog; -import gov.nasa.jpl.mbee.mdk.util.Pair; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.*; +import org.openmbee.mdk.actions.ClipboardAction; +import org.openmbee.mdk.actions.LockAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.emf.EMFBulkImporter; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.json.JsonPatchFunction; +import org.openmbee.mdk.mms.sync.delta.SyncElement; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.util.Changelog; +import org.openmbee.mdk.util.Pair; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.*; import javax.annotation.CheckForNull; import java.awt.event.ActionEvent; @@ -265,6 +265,10 @@ public void onFailure() { if (sysmlIdJsonNode == null || !sysmlIdJsonNode.isTextual()) { continue; } + JsonNode typeNode = entryObjectNode.get(MDKConstants.TYPE_KEY); + if (typeNode == null) { // this may happen with ve added artifacts in a beta version that's not attached to a model element + continue; + } String entryId = sysmlIdJsonNode.asText(); // TODO Abstract this stuff to a converter @donbot String name = null; @@ -277,8 +281,9 @@ public void onFailure() { name = "<>"; } } + String type = typeNode != null ? typeNode.asText("Element") : "Element"; ValidationRuleViolation validationRuleViolation = new ValidationRuleViolation(entryElement != null && !Project.isElementDisposed(entryElement) ? entryElement : project.getPrimaryModel(), "[" - + (entryElement != null && !Project.isElementDisposed(entryElement) ? "UPDATE" : "CREATE") + " FAILED]" + (entryElement == null || Project.isElementDisposed(entryElement) ? " " + entryObjectNode.get(MDKConstants.TYPE_KEY).asText("Element") + " " + name + " : " + entryId : "") + + (entryElement != null && !Project.isElementDisposed(entryElement) ? "UPDATE" : "CREATE") + " FAILED]" + (entryElement == null || Project.isElementDisposed(entryElement) ? " " + type + " " + name + " : " + entryId : "") + ((entryElement == null || Project.isElementDisposed(entryElement)) && entryException != null ? " -" : "") + (entryException != null ? " " + (entryException instanceof ReadOnlyElementException ? "Element is not editable." : entryException.getMessage()) : "")); addUpdateElementActions(validationRuleViolation, entryElement, entryId, entryObjectNode); (entryException instanceof ReadOnlyElementException ? editableValidationRule : failedChangeValidationRule).addViolation(validationRuleViolation); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateBranchesAction.java b/src/main/java/org/openmbee/mdk/mms/actions/ValidateBranchesAction.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateBranchesAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/ValidateBranchesAction.java index 41400e40b..d2e1cbc78 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateBranchesAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/ValidateBranchesAction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.task.ProgressStatus; import com.nomagic.task.RunnableWithProgress; import com.nomagic.ui.ProgressStatusRunner; -import gov.nasa.jpl.mbee.mdk.mms.validation.BranchValidator; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.mms.validation.BranchValidator; +import org.openmbee.mdk.util.TicketUtils; import java.awt.event.ActionEvent; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateElementAction.java b/src/main/java/org/openmbee/mdk/mms/actions/ValidateElementAction.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateElementAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/ValidateElementAction.java index fbf21708c..96e3515ab 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateElementAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/ValidateElementAction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.mms.sync.manual.ManualSyncRunner; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.mms.sync.manual.ManualSyncRunner; +import org.openmbee.mdk.util.Utils; import java.awt.event.ActionEvent; import java.util.Collection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateElementRecursivelyAction.java b/src/main/java/org/openmbee/mdk/mms/actions/ValidateElementRecursivelyAction.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateElementRecursivelyAction.java rename to src/main/java/org/openmbee/mdk/mms/actions/ValidateElementRecursivelyAction.java index 89d82f0f8..ed9fed827 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/actions/ValidateElementRecursivelyAction.java +++ b/src/main/java/org/openmbee/mdk/mms/actions/ValidateElementRecursivelyAction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.ui.ProgressStatusRunner; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.mms.sync.manual.ManualSyncRunner; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.mms.sync.manual.ManualSyncRunner; +import org.openmbee.mdk.util.Utils; import java.awt.event.ActionEvent; import java.util.Collection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSCommitEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSCommitEndpoint.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSCommitEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSCommitEndpoint.java index f7df7a2ed..6a5dd7bb6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSCommitEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSCommitEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSCommitsEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSCommitsEndpoint.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSCommitsEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSCommitsEndpoint.java index 491507e33..ba5663455 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSCommitsEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSCommitsEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSElementEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSElementEndpoint.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSElementEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSElementEndpoint.java index 8d37e0656..e5361d980 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSElementEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSElementEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSElementsEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSElementsEndpoint.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSElementsEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSElementsEndpoint.java index ed3014475..8891d8df5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSElementsEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSElementsEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpoint.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpoint.java index 662599303..052ae67e1 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpoint.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.http.HttpDeleteWithBody; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.http.HttpDeleteWithBody; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.util.TicketUtils; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.HttpEntityEnclosingRequest; @@ -23,7 +23,7 @@ import java.util.HashMap; import java.util.Map; -import static gov.nasa.jpl.mbee.mdk.mms.MMSUtils.HttpRequestType.*; +import static org.openmbee.mdk.mms.MMSUtils.HttpRequestType.*; public abstract class MMSEndpoint { protected static URIBuilder uriBuilder; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpointBuilderConstants.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpointBuilderConstants.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpointBuilderConstants.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpointBuilderConstants.java index 0a3169133..2c5decfb6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpointBuilderConstants.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpointBuilderConstants.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; public class MMSEndpointBuilderConstants { // core parameters diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpointType.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpointType.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpointType.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpointType.java index 608c4655e..a411d60c4 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSEndpointType.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSEndpointType.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; public enum MMSEndpointType { LOGIN("mmslogin", "/authentication"), diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSLoginEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSLoginEndpoint.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSLoginEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSLoginEndpoint.java index b989fe612..00f064f16 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSLoginEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSLoginEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.io.IOException; import java.net.URI; @@ -10,12 +10,11 @@ import org.apache.http.HttpEntityEnclosingRequest; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.protocol.HTTP; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.json.JacksonUtils; public class MMSLoginEndpoint extends MMSEndpoint { public MMSLoginEndpoint(String baseUri) throws URISyntaxException { @@ -29,7 +28,8 @@ public static Builder builder() { public static class LoginBuilder extends Builder { @Override public void prepareUriPath() { - uriBuilder.setPath(uriBuilder.getPath() + MMSEndpointType.LOGIN.getPath()); + String path = uriBuilder.getPath(); + uriBuilder.setPath((path == null ? "" : path) + MMSEndpointType.LOGIN.getPath()); uriBuilder.clearParameters(); } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSOrgsEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSOrgsEndpoint.java similarity index 67% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSOrgsEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSOrgsEndpoint.java index 292834e5a..4be443f01 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSOrgsEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSOrgsEndpoint.java @@ -1,8 +1,5 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; -import org.apache.http.client.methods.HttpRequestBase; - -import java.io.IOException; import java.net.URISyntaxException; public class MMSOrgsEndpoint extends MMSEndpoint { @@ -17,7 +14,8 @@ public static Builder builder() { public static class OrgsBuilder extends Builder { @Override public void prepareUriPath() { - uriBuilder.setPath(uriBuilder.getPath() + MMSEndpointType.ORGS.getPath()); + String path = uriBuilder.getPath(); + uriBuilder.setPath((path == null ? "" : path) + MMSEndpointType.ORGS.getPath()); uriBuilder.clearParameters(); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSProjectEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSProjectEndpoint.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSProjectEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSProjectEndpoint.java index ce9354183..318ea0103 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSProjectEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSProjectEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSProjectsEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSProjectsEndpoint.java similarity index 71% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSProjectsEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSProjectsEndpoint.java index 260e8901f..2d970f94a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSProjectsEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSProjectsEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; @@ -14,7 +14,8 @@ public static Builder builder() { public static class ProjectsBuilder extends Builder { @Override public void prepareUriPath() { - uriBuilder.setPath(uriBuilder.getPath() + MMSEndpointType.PROJECTS.getPath()); + String path = uriBuilder.getPath(); + uriBuilder.setPath((path == null ? "" : path) + MMSEndpointType.PROJECTS.getPath()); uriBuilder.clearParameters(); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSRefEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSRefEndpoint.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSRefEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSRefEndpoint.java index fa84e5086..f94007e51 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSRefEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSRefEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSRefsEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSRefsEndpoint.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSRefsEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSRefsEndpoint.java index dc47046fc..753024bc3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSRefsEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSRefsEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSSearchEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSSearchEndpoint.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSSearchEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSSearchEndpoint.java index fc2fb4e72..627a0ac1f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSSearchEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSSearchEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSTWCLoginEndpoint.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSTWCLoginEndpoint.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSTWCLoginEndpoint.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSTWCLoginEndpoint.java index b928e95b3..2e92bfa95 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSTWCLoginEndpoint.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSTWCLoginEndpoint.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.io.IOException; import java.net.URI; @@ -7,7 +7,6 @@ import org.apache.http.Consts; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.utils.URIBuilder; public class MMSTWCLoginEndpoint extends MMSEndpoint { public MMSTWCLoginEndpoint(String baseUri) throws URISyntaxException { @@ -21,7 +20,8 @@ public static Builder builder() { public static class LoginBuilder extends Builder { @Override public void prepareUriPath() { - uriBuilder.setPath(uriBuilder.getPath() + MMSEndpointType.LOGIN.getPath()); + String path = uriBuilder.getPath(); + uriBuilder.setPath((path == null ? "" : path) + MMSEndpointType.LOGIN.getPath()); uriBuilder.clearParameters(); } @@ -41,4 +41,4 @@ public HttpRequestBase build() throws IOException, URISyntaxException { return null; } } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSValidateJwtToken.java b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSValidateJwtToken.java similarity index 71% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSValidateJwtToken.java rename to src/main/java/org/openmbee/mdk/mms/endpoints/MMSValidateJwtToken.java index 827eae998..3154b44b0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/endpoints/MMSValidateJwtToken.java +++ b/src/main/java/org/openmbee/mdk/mms/endpoints/MMSValidateJwtToken.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.endpoints; +package org.openmbee.mdk.mms.endpoints; import java.net.URISyntaxException; @@ -14,7 +14,8 @@ public static Builder builder() { public static class ValidateJwtTokenBuilder extends Builder { @Override public void prepareUriPath() { - uriBuilder.setPath(uriBuilder.getPath() + MMSEndpointType.VALIDATETOKEN.getPath()); + String path = uriBuilder.getPath(); + uriBuilder.setPath((path == null ? "" : path) + MMSEndpointType.VALIDATETOKEN.getPath()); uriBuilder.clearParameters(); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/json/JsonEquivalencePredicate.java b/src/main/java/org/openmbee/mdk/mms/json/JsonEquivalencePredicate.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/json/JsonEquivalencePredicate.java rename to src/main/java/org/openmbee/mdk/mms/json/JsonEquivalencePredicate.java index ba72faa65..7d2016663 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/json/JsonEquivalencePredicate.java +++ b/src/main/java/org/openmbee/mdk/mms/json/JsonEquivalencePredicate.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.json; +package org.openmbee.mdk.mms.json; import com.fasterxml.jackson.databind.JsonNode; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/json/JsonPatchFunction.java b/src/main/java/org/openmbee/mdk/mms/json/JsonPatchFunction.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/json/JsonPatchFunction.java rename to src/main/java/org/openmbee/mdk/mms/json/JsonPatchFunction.java index d3b09bbfd..9c2e2ec37 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/json/JsonPatchFunction.java +++ b/src/main/java/org/openmbee/mdk/mms/json/JsonPatchFunction.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.mms.json; +package org.openmbee.mdk.mms.json; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.github.fge.jsonpatch.diff.JsonDiff; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.json.JacksonUtils; import java.util.Iterator; import java.util.function.BiFunction; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/coordinated/CoordinatedSyncProjectEventListenerAdapter.java b/src/main/java/org/openmbee/mdk/mms/sync/coordinated/CoordinatedSyncProjectEventListenerAdapter.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/coordinated/CoordinatedSyncProjectEventListenerAdapter.java rename to src/main/java/org/openmbee/mdk/mms/sync/coordinated/CoordinatedSyncProjectEventListenerAdapter.java index 92c5ca704..4a21ea7a3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/coordinated/CoordinatedSyncProjectEventListenerAdapter.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/coordinated/CoordinatedSyncProjectEventListenerAdapter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.coordinated; +package org.openmbee.mdk.mms.sync.coordinated; import com.nomagic.ci.persistence.IProject; import com.nomagic.magicdraw.core.Application; @@ -8,12 +8,11 @@ import com.nomagic.magicdraw.core.project.ProjectDescriptor; import com.nomagic.magicdraw.core.project.ProjectEventListenerAdapter; import com.nomagic.ui.ProgressStatusRunner; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLoginAction; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.DeltaSyncRunner; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.mms.actions.MMSLoginAction; +import org.openmbee.mdk.mms.sync.delta.DeltaSyncRunner; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.util.TicketUtils; import javax.annotation.CheckForNull; import java.util.Collections; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/DeltaSyncProjectEventListenerAdapter.java b/src/main/java/org/openmbee/mdk/mms/sync/delta/DeltaSyncProjectEventListenerAdapter.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/DeltaSyncProjectEventListenerAdapter.java rename to src/main/java/org/openmbee/mdk/mms/sync/delta/DeltaSyncProjectEventListenerAdapter.java index 0d2d5878c..6664e2acc 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/DeltaSyncProjectEventListenerAdapter.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/delta/DeltaSyncProjectEventListenerAdapter.java @@ -1,16 +1,15 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.delta; +package org.openmbee.mdk.mms.sync.delta; import com.fasterxml.jackson.core.JsonProcessingException; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.project.ProjectEventListenerAdapter; import com.nomagic.magicdraw.openapi.uml.SessionManager; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.util.Changelog; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.util.Changelog; import java.util.HashMap; import java.util.Map; @@ -73,7 +72,7 @@ private static void persistChanges(Project project) { } } if (SessionManager.getInstance().isSessionCreated(project)) { - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); } if (listener != null) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/DeltaSyncRunner.java b/src/main/java/org/openmbee/mdk/mms/sync/delta/DeltaSyncRunner.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/DeltaSyncRunner.java rename to src/main/java/org/openmbee/mdk/mms/sync/delta/DeltaSyncRunner.java index fcaae87c7..8e57e7edf 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/DeltaSyncRunner.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/delta/DeltaSyncRunner.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.delta; +package org.openmbee.mdk.mms.sync.delta; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; @@ -14,23 +14,23 @@ import com.nomagic.task.RunnableWithProgress; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.ValueSpecification; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLoginAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.UpdateClientElementAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSElementsEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.validation.BranchValidator; -import gov.nasa.jpl.mbee.mdk.mms.validation.ElementValidator; -import gov.nasa.jpl.mbee.mdk.mms.validation.ProjectValidator; -import gov.nasa.jpl.mbee.mdk.util.*; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.MMSLoginAction; +import org.openmbee.mdk.mms.actions.UpdateClientElementAction; +import org.openmbee.mdk.mms.endpoints.MMSElementsEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.validation.BranchValidator; +import org.openmbee.mdk.mms.validation.ElementValidator; +import org.openmbee.mdk.mms.validation.ProjectValidator; +import org.openmbee.mdk.util.*; +import org.openmbee.mdk.validation.ValidationSuite; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; @@ -449,8 +449,9 @@ else if (shouldUpdate && mmsChange != null) { // CLEAR IN-MEMORY AND PERSIST UNPROCESSED & FAILURES listener.setDisabled(true); - if (!SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().createSession("Delta Sync Changelog Persistence"); + Project project = Application.getInstance().getProject(); + if (!SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().createSession(project, "Delta Sync Changelog Persistence"); } MMSDeltaProjectEventListenerAdapter.MMSDeltaProjectMapping mmsDeltaProjectMapping = MMSDeltaProjectEventListenerAdapter.getProjectMapping(project); @@ -499,7 +500,7 @@ else if (shouldUpdate && mmsChange != null) { e.printStackTrace(); } - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); listener.setDisabled(false); // SUCCESS diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/SyncElement.java b/src/main/java/org/openmbee/mdk/mms/sync/delta/SyncElement.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/SyncElement.java rename to src/main/java/org/openmbee/mdk/mms/sync/delta/SyncElement.java index 11e5148b9..4cd69d715 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/SyncElement.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/delta/SyncElement.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.delta; +package org.openmbee.mdk.mms.sync.delta; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/SyncElements.java b/src/main/java/org/openmbee/mdk/mms/sync/delta/SyncElements.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/SyncElements.java rename to src/main/java/org/openmbee/mdk/mms/sync/delta/SyncElements.java index 9430a9aee..088b19ed9 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/delta/SyncElements.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/delta/SyncElements.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.delta; +package org.openmbee.mdk.mms.sync.delta; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; @@ -13,10 +13,10 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.LiteralString; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.util.Changelog; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.util.Changelog; import java.io.IOException; import java.time.ZonedDateTime; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/local/LocalDeltaProjectEventListenerAdapter.java b/src/main/java/org/openmbee/mdk/mms/sync/local/LocalDeltaProjectEventListenerAdapter.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/local/LocalDeltaProjectEventListenerAdapter.java rename to src/main/java/org/openmbee/mdk/mms/sync/local/LocalDeltaProjectEventListenerAdapter.java index 42cb5ff07..47e3bb91e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/local/LocalDeltaProjectEventListenerAdapter.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/local/LocalDeltaProjectEventListenerAdapter.java @@ -1,8 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.local; +package org.openmbee.mdk.mms.sync.local; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.project.ProjectEventListenerAdapter; -import com.nomagic.magicdraw.uml.transaction.MDTransactionManager; import java.util.Collections; import java.util.Map; @@ -25,7 +24,7 @@ public void projectCreated(Project project) { public void projectOpened(Project project) { closeLocalCommitListener(project); if (project.isRemote()) { - ((MDTransactionManager) project.getRepository().getTransactionManager()).addTransactionCommitListenerIncludingUndoAndRedo(getProjectMapping(project).getLocalDeltaTransactionCommitListener()); + project.getRepository().getTransactionManager().addTransactionCommitListenerIncludingUndoAndRedo(getProjectMapping(project).getLocalDeltaTransactionCommitListener()); } } @@ -64,7 +63,7 @@ public static LocalSyncProjectMapping getProjectMapping(Project project) { if (localSyncProjectMapping == null) { projectMappings.put(project, localSyncProjectMapping = new LocalSyncProjectMapping(project)); if (project.isRemote()) { - ((MDTransactionManager) project.getRepository().getTransactionManager()).addTransactionCommitListenerIncludingUndoAndRedo(localSyncProjectMapping.getLocalDeltaTransactionCommitListener()); + project.getRepository().getTransactionManager().addTransactionCommitListenerIncludingUndoAndRedo(localSyncProjectMapping.getLocalDeltaTransactionCommitListener()); } } return localSyncProjectMapping; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/local/LocalDeltaTransactionCommitListener.java b/src/main/java/org/openmbee/mdk/mms/sync/local/LocalDeltaTransactionCommitListener.java similarity index 73% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/local/LocalDeltaTransactionCommitListener.java rename to src/main/java/org/openmbee/mdk/mms/sync/local/LocalDeltaTransactionCommitListener.java index f1703f854..a8e3f592f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/local/LocalDeltaTransactionCommitListener.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/local/LocalDeltaTransactionCommitListener.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.local; +package org.openmbee.mdk.mms.sync.local; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; @@ -8,12 +8,12 @@ import com.nomagic.uml2.ext.magicdraw.metadata.UMLPackage; import com.nomagic.uml2.impl.PropertyNames; import com.nomagic.uml2.transaction.TransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.SyncStatusConfigurator; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; -import gov.nasa.jpl.mbee.mdk.util.Changelog; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.mms.sync.status.SyncStatusConfigurator; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.util.Changelog; +import org.openmbee.mdk.util.MDUtils; import java.beans.PropertyChangeEvent; import java.util.Arrays; @@ -119,18 +119,10 @@ public void run() { doneSignal.countDown(); return; } - - // id spoofing for proper removal of deleted elements in changelogs. this is based on the spoofing in EMFExporter, and MUST be updated when that is. - if (sourceElement instanceof InstanceSpecification) { - if (changedPropertyName.equals(UMLPackage.Literals.INSTANCE_SPECIFICATION__STEREOTYPED_ELEMENT.getName()) && event.getNewValue() == null && event.getOldValue() instanceof Element) { - Element origin = (Element) event.getOldValue(); - String spoofedId = Converters.getElementToIdConverter().apply(origin) + MDKConstants.APPLIED_STEREOTYPE_INSTANCE_ID_SUFFIX; - if (!spoofedId.equals(sourceElement.getLocalID())) { - spoofedIdMapping.put(sourceElement.getLocalID(), spoofedId); - } - } - } - else if (sourceElement instanceof Slot) { + // for slots and tagged values - this is building up the spoofed id when they get deleted - the owner and defining feature properties will be 'updated' in that order followed by + // "instance deleted" change property name - because during deletion there's no way to lookup those values, it's keying on these property changes before deletion to keep track + // of the correct mms id + if (sourceElement instanceof Slot) { if (changedPropertyName.equals(UMLPackage.Literals.SLOT__OWNING_INSTANCE.getName()) && event.getNewValue() == null && event.getOldValue() instanceof Element) { if (!spoofedIdMapping.containsKey(sourceElement.getLocalID()) && sourceElement.getLocalID().equals(Converters.getElementToIdConverter().apply(sourceElement))) { spoofedIdMapping.put(sourceElement.getLocalID(), MDKConstants.SLOT_ID_SEPARATOR); @@ -165,6 +157,40 @@ else if (!spoofedId.endsWith(Converters.getElementToIdConverter().apply(defining } } } + if (sourceElement instanceof TaggedValue) { + if (changedPropertyName.equals(UMLPackage.Literals.TAGGED_VALUE__TAGGED_VALUE_OWNER.getName()) && event.getNewValue() == null && event.getOldValue() instanceof Element) { + if (!spoofedIdMapping.containsKey(sourceElement.getLocalID()) && sourceElement.getLocalID().equals(Converters.getElementToIdConverter().apply(sourceElement))) { + spoofedIdMapping.put(sourceElement.getLocalID(), MDKConstants.TAGGED_VALUE_ID_SEPARATOR); + } + if (spoofedIdMapping.containsKey(sourceElement.getLocalID())) { + String spoofedId = spoofedIdMapping.get(sourceElement.getLocalID()); + Element owningInstance = (Element) event.getOldValue(); + if (spoofedId.startsWith(MDKConstants.TAGGED_VALUE_ID_SEPARATOR)) { + String owningInstanceId = spoofedIdMapping.containsKey(owningInstance.getLocalID()) ? spoofedIdMapping.get(owningInstance.getLocalID()) : Converters.getElementToIdConverter().apply(owningInstance); + spoofedId = owningInstanceId + spoofedId; + spoofedIdMapping.put(sourceElement.getLocalID(), spoofedId); + } + else if (!spoofedId.startsWith(Converters.getElementToIdConverter().apply(owningInstance))) { + System.out.println("[WARNING] Spoofed element ID already exists with a different owner id component."); + } + } + } else if (changedPropertyName.equals(UMLPackage.Literals.TAGGED_VALUE__TAG_DEFINITION.getName()) && event.getNewValue() == null && event.getOldValue() instanceof Element) { + if (!spoofedIdMapping.containsKey(sourceElement.getLocalID()) && sourceElement.getLocalID().equals(Converters.getElementToIdConverter().apply(sourceElement))) { + spoofedIdMapping.put(sourceElement.getLocalID(), MDKConstants.TAGGED_VALUE_ID_SEPARATOR); + } + if (spoofedIdMapping.containsKey(sourceElement.getLocalID())) { + String spoofedId = spoofedIdMapping.get(sourceElement.getLocalID()); + Element definingFeature = (Element) event.getOldValue(); + if (spoofedId.endsWith(MDKConstants.TAGGED_VALUE_ID_SEPARATOR)) { + spoofedId = spoofedId + Converters.getElementToIdConverter().apply(definingFeature); + spoofedIdMapping.put(sourceElement.getLocalID(), spoofedId); + } + else if (!spoofedId.endsWith(Converters.getElementToIdConverter().apply(definingFeature))) { + System.out.println("[WARNING] Spoofed element ID already exists with a different tag definition id component."); + } + } + } + } // documentation is orphaned on deletion, resulting in a new comment element that would be added to the deletion queue. this catches it while we have access to it, so that it can be ignored later if (changedPropertyName.equals(PropertyNames.OWNED_COMMENT) && event.getNewValue() == null && event.getOldValue() != null && event.getOldValue() instanceof Element) { @@ -218,7 +244,10 @@ else if (changedPropertyName.equals(PropertyNames.VALUE) && sourceElement instan } if (spoofedIdMapping.containsKey(sysmlId)) { String spoofedId = spoofedIdMapping.get(sysmlId); - if (!(sourceElement instanceof Slot) || !(spoofedId.startsWith(MDKConstants.SLOT_VALUE_ID_SEPARATOR) || spoofedId.endsWith(MDKConstants.SLOT_VALUE_ID_SEPARATOR))) { + // use spoofed id as long as it's not slot or tagged value and it's not in the middle of building their deletion + if (!(sourceElement instanceof Slot || sourceElement instanceof TaggedValue) || + !(spoofedId.startsWith(MDKConstants.SLOT_VALUE_ID_SEPARATOR) || spoofedId.endsWith(MDKConstants.SLOT_VALUE_ID_SEPARATOR) || + spoofedId.startsWith(MDKConstants.TAGGED_VALUE_ID_SEPARATOR) || spoofedId.endsWith(MDKConstants.TAGGED_VALUE_ID_SEPARATOR) )) { sysmlId = spoofedId; } if (sysmlId.isEmpty()) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/manual/ManualSyncActionRunner.java b/src/main/java/org/openmbee/mdk/mms/sync/manual/ManualSyncActionRunner.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/manual/ManualSyncActionRunner.java rename to src/main/java/org/openmbee/mdk/mms/sync/manual/ManualSyncActionRunner.java index 236f4c6a2..c91d692fa 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/manual/ManualSyncActionRunner.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/manual/ManualSyncActionRunner.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.manual; +package org.openmbee.mdk.mms.sync.manual; import com.nomagic.actions.NMAction; import com.nomagic.magicdraw.annotation.Annotation; @@ -51,4 +51,4 @@ public void run(ProgressStatus progressStatus) { Application.getInstance().getGUILog().log("[INFO] All validated elements are equivalent."); } } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/manual/ManualSyncRunner.java b/src/main/java/org/openmbee/mdk/mms/sync/manual/ManualSyncRunner.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/manual/ManualSyncRunner.java rename to src/main/java/org/openmbee/mdk/mms/sync/manual/ManualSyncRunner.java index f176809fa..3dd32ebce 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/manual/ManualSyncRunner.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/manual/ManualSyncRunner.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.manual; +package org.openmbee.mdk.mms.sync.manual; import com.fasterxml.jackson.databind.node.ObjectNode; import com.nomagic.magicdraw.core.Application; @@ -7,17 +7,19 @@ import com.nomagic.task.RunnableWithProgress; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.*; -import gov.nasa.jpl.mbee.mdk.mms.validation.BranchValidator; -import gov.nasa.jpl.mbee.mdk.mms.validation.ElementValidator; -import gov.nasa.jpl.mbee.mdk.mms.validation.ProjectValidator; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.Pair; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.endpoints.MMSElementsEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.endpoints.MMSSearchEndpoint; +import org.openmbee.mdk.mms.validation.BranchValidator; +import org.openmbee.mdk.mms.validation.ElementValidator; +import org.openmbee.mdk.mms.validation.ProjectValidator; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.Pair; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationSuite; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; @@ -26,7 +28,6 @@ import java.net.URISyntaxException; import java.security.GeneralSecurityException; import java.util.*; -import java.util.stream.Collectors; /** * Created by igomes on 9/26/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/mms/MMSDeltaProjectEventListenerAdapter.java b/src/main/java/org/openmbee/mdk/mms/sync/mms/MMSDeltaProjectEventListenerAdapter.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/mms/MMSDeltaProjectEventListenerAdapter.java rename to src/main/java/org/openmbee/mdk/mms/sync/mms/MMSDeltaProjectEventListenerAdapter.java index 46049a21b..d6e59a6ba 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/mms/MMSDeltaProjectEventListenerAdapter.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/mms/MMSDeltaProjectEventListenerAdapter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.mms; +package org.openmbee.mdk.mms.sync.mms; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -7,22 +7,25 @@ import com.nomagic.magicdraw.core.project.ProjectEventListenerAdapter; import com.nomagic.magicdraw.esi.EsiUtils; import com.nomagic.magicdraw.teamwork2.locks.ILockProjectService; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.emf.EMFImporter; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.ImportException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLoginAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.*; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElement; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElements; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.SyncStatusConfigurator; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.util.*; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.emf.EMFImporter; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.ImportException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.MMSLoginAction; +import org.openmbee.mdk.mms.endpoints.MMSCommitEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSCommitsEndpoint; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.sync.delta.SyncElement; +import org.openmbee.mdk.mms.sync.delta.SyncElements; +import org.openmbee.mdk.mms.sync.status.SyncStatusConfigurator; +import org.openmbee.mdk.options.MDKProjectOptions; import org.apache.http.client.methods.HttpRequestBase; +import org.openmbee.mdk.util.Changelog; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.TicketUtils; import java.io.File; import java.io.IOException; @@ -31,7 +34,6 @@ import java.text.NumberFormat; import java.util.*; import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; public class MMSDeltaProjectEventListenerAdapter extends ProjectEventListenerAdapter { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/SyncStatusConfigurator.java b/src/main/java/org/openmbee/mdk/mms/sync/status/SyncStatusConfigurator.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/SyncStatusConfigurator.java rename to src/main/java/org/openmbee/mdk/mms/sync/status/SyncStatusConfigurator.java index 8f2b4edb8..eeabf5e50 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/SyncStatusConfigurator.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/status/SyncStatusConfigurator.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.status; +package org.openmbee.mdk.mms.sync.status; import com.nomagic.actions.AMConfigurator; import com.nomagic.actions.ActionsCategory; import com.nomagic.actions.ActionsManager; import com.nomagic.actions.NMAction; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.actions.SyncStatusAction; +import org.openmbee.mdk.MDKPlugin; +import org.openmbee.mdk.mms.sync.status.actions.SyncStatusAction; /** * Created by igomes on 8/16/16. diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/SyncStatusProjectEventListenerAdapter.java b/src/main/java/org/openmbee/mdk/mms/sync/status/SyncStatusProjectEventListenerAdapter.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/SyncStatusProjectEventListenerAdapter.java rename to src/main/java/org/openmbee/mdk/mms/sync/status/SyncStatusProjectEventListenerAdapter.java index bec094fdf..0f0e1cfbc 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/SyncStatusProjectEventListenerAdapter.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/status/SyncStatusProjectEventListenerAdapter.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.status; +package org.openmbee.mdk.mms.sync.status; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.project.ProjectEventListenerAdapter; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/actions/SyncStatusAction.java b/src/main/java/org/openmbee/mdk/mms/sync/status/actions/SyncStatusAction.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/actions/SyncStatusAction.java rename to src/main/java/org/openmbee/mdk/mms/sync/status/actions/SyncStatusAction.java index cc5c0b292..868e4e565 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/actions/SyncStatusAction.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/status/actions/SyncStatusAction.java @@ -1,18 +1,18 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.status.actions; +package org.openmbee.mdk.mms.sync.status.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.ui.ProgressStatusRunner; -import gov.nasa.jpl.mbee.mdk.MDKPlugin; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElement; -import gov.nasa.jpl.mbee.mdk.mms.sync.delta.SyncElements; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.status.ui.SyncStatusFrame; -import gov.nasa.jpl.mbee.mdk.util.Changelog; +import org.openmbee.mdk.MDKPlugin; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.sync.delta.SyncElement; +import org.openmbee.mdk.mms.sync.delta.SyncElements; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.mms.sync.mms.MMSDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.status.ui.SyncStatusFrame; +import org.openmbee.mdk.util.Changelog; import javax.annotation.CheckForNull; import javax.swing.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/ui/SyncStatusFrame.form b/src/main/java/org/openmbee/mdk/mms/sync/status/ui/SyncStatusFrame.form similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/ui/SyncStatusFrame.form rename to src/main/java/org/openmbee/mdk/mms/sync/status/ui/SyncStatusFrame.form index ce6adc892..e8fe8aefa 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/ui/SyncStatusFrame.form +++ b/src/main/java/org/openmbee/mdk/mms/sync/status/ui/SyncStatusFrame.form @@ -1,5 +1,5 @@ -
+ diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/ui/SyncStatusFrame.java b/src/main/java/org/openmbee/mdk/mms/sync/status/ui/SyncStatusFrame.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/ui/SyncStatusFrame.java rename to src/main/java/org/openmbee/mdk/mms/sync/status/ui/SyncStatusFrame.java index 9ce628c5f..0b508d2c4 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/sync/status/ui/SyncStatusFrame.java +++ b/src/main/java/org/openmbee/mdk/mms/sync/status/ui/SyncStatusFrame.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.mms.sync.status.ui; +package org.openmbee.mdk.mms.sync.status.ui; import com.nomagic.magicdraw.core.Application; -import gov.nasa.jpl.mbee.mdk.mms.actions.DetailedSyncStatusAction; +import org.openmbee.mdk.mms.actions.DetailedSyncStatusAction; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/BranchValidator.java b/src/main/java/org/openmbee/mdk/mms/validation/BranchValidator.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/BranchValidator.java rename to src/main/java/org/openmbee/mdk/mms/validation/BranchValidator.java index 6f0f43729..e59d84562 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/BranchValidator.java +++ b/src/main/java/org/openmbee/mdk/mms/validation/BranchValidator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.validation; +package org.openmbee.mdk.mms.validation; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; @@ -13,27 +13,24 @@ import com.nomagic.magicdraw.core.project.ProjectDescriptorsFactory; import com.nomagic.magicdraw.esi.EsiUtils; import com.nomagic.task.ProgressStatus; -import gov.nasa.jpl.mbee.mdk.actions.ClipboardAction; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.CommitBranchAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSRefsEndpoint; -import gov.nasa.jpl.mbee.mdk.mms.json.JsonPatchFunction; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.Pair; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.actions.ClipboardAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.CommitBranchAction; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.endpoints.MMSRefsEndpoint; +import org.openmbee.mdk.mms.json.JsonPatchFunction; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.Pair; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.ContentType; import java.io.File; import java.io.IOException; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/DiagramValidator.java b/src/main/java/org/openmbee/mdk/mms/validation/DiagramValidator.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/DiagramValidator.java rename to src/main/java/org/openmbee/mdk/mms/validation/DiagramValidator.java index 9e5f9a606..185487f3e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/DiagramValidator.java +++ b/src/main/java/org/openmbee/mdk/mms/validation/DiagramValidator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.validation; +package org.openmbee.mdk.mms.validation; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; @@ -10,21 +10,21 @@ import com.nomagic.task.ProgressStatus; import com.nomagic.task.RunnableWithProgress; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSArtifact; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.CommitDiagramArtifactsAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.ValidateElementAction; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.Pair; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSArtifact; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.CommitDiagramArtifactsAction; +import org.openmbee.mdk.mms.actions.ValidateElementAction; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.Pair; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.entity.ContentType; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/ElementValidator.java b/src/main/java/org/openmbee/mdk/mms/validation/ElementValidator.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/ElementValidator.java rename to src/main/java/org/openmbee/mdk/mms/validation/ElementValidator.java index ff55c625f..53e3a659d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/ElementValidator.java +++ b/src/main/java/org/openmbee/mdk/mms/validation/ElementValidator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.validation; +package org.openmbee.mdk.mms.validation; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; @@ -11,19 +11,19 @@ import com.nomagic.task.RunnableWithProgress; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; -import gov.nasa.jpl.mbee.mdk.actions.ClipboardAction; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.CommitClientElementAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.ElementDiffAction; -import gov.nasa.jpl.mbee.mdk.mms.actions.UpdateClientElementAction; -import gov.nasa.jpl.mbee.mdk.mms.json.JsonPatchFunction; -import gov.nasa.jpl.mbee.mdk.util.Pair; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.actions.ClipboardAction; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.actions.CommitClientElementAction; +import org.openmbee.mdk.mms.actions.ElementDiffAction; +import org.openmbee.mdk.mms.actions.UpdateClientElementAction; +import org.openmbee.mdk.mms.json.JsonPatchFunction; +import org.openmbee.mdk.util.Pair; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; import java.io.File; import java.io.IOException; @@ -103,7 +103,7 @@ public void run(ProgressStatus progressStatus) { } try { - processServerElements(clientElementMap, serverElementMap); + processServerElements(serverElementMap); } catch(IOException e) { e.printStackTrace(); Application.getInstance().getGUILog().log("[ERROR] An error occurred when attempting to process elements from the server."); @@ -140,7 +140,7 @@ public void run(ProgressStatus progressStatus) { Application.getInstance().getGUILog().log("[INFO] --- End " + validationSuite.getName() + " Summary ---"); } - private void processServerElements(Map> clientElementMap, Map serverElementMap) throws IOException { + private void processServerElements(Map serverElementMap) throws IOException { // process the parsers against the lists, adding processed keys to processed sets in case of multiple returns for (File responseFile : serverElementFiles) { Map> parsedResponseObjects = JacksonUtils.parseResponseIntoObjects(responseFile, MDKConstants.ELEMENTS_NODE); @@ -158,14 +158,7 @@ private void processServerElements(Map> client JsonNode idValue = jsonObject.get(MDKConstants.ID_KEY); if(idValue != null && idValue.isTextual() && !idValue.asText().startsWith(MDKConstants.HIDDEN_ID_PREFIX) && !serverElementMap.containsKey(idValue.asText())) { String id = idValue.asText(); - - Pair currentClientElement = clientElementMap.get(id); serverElementMap.put(id, jsonObject); - if (currentClientElement == null) { - addMissingInClientViolation(jsonObject); - } else { - addElementEquivalenceViolation(currentClientElement, jsonObject); - } } } } @@ -210,6 +203,9 @@ private void addMissingInClientViolation(ObjectNode serverElement) { String type = typeJsonNode != null ? typeJsonNode.asText("Element") : "Element"; JsonNode nameJsonNode = serverElement.get(MDKConstants.NAME_KEY); String name = nameJsonNode != null ? nameJsonNode.asText("<>") : "<>"; + if (name.equals("<>")) { + name = "<" + id + ">"; + } finishViolation(new ValidationRuleViolation(project.getPrimaryModel(), "[MISSING IN CLIENT] " + type + " " + name), id, null, serverElement, null); } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/ProjectValidator.java b/src/main/java/org/openmbee/mdk/mms/validation/ProjectValidator.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/ProjectValidator.java rename to src/main/java/org/openmbee/mdk/mms/validation/ProjectValidator.java index ac25d740c..951059a1b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/mms/validation/ProjectValidator.java +++ b/src/main/java/org/openmbee/mdk/mms/validation/ProjectValidator.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.mms.validation; +package org.openmbee.mdk.mms.validation; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.JsonNode; @@ -12,20 +12,20 @@ import com.nomagic.magicdraw.teamwork2.ITeamworkService; import com.nomagic.magicdraw.teamwork2.TeamworkService; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.CommitProjectAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.*; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.CommitProjectAction; +import org.openmbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.ContentType; +import org.openmbee.mdk.mms.endpoints.MMSProjectsEndpoint; import javax.swing.JOptionPane; import java.io.File; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/AbstractModelVisitor.java b/src/main/java/org/openmbee/mdk/model/AbstractModelVisitor.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/AbstractModelVisitor.java rename to src/main/java/org/openmbee/mdk/model/AbstractModelVisitor.java index 7c5c553f0..00c32187e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/AbstractModelVisitor.java +++ b/src/main/java/org/openmbee/mdk/model/AbstractModelVisitor.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.api.incubating.convert.Converters; public abstract class AbstractModelVisitor implements IModelVisitor { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/BehaviorQuery.java b/src/main/java/org/openmbee/mdk/model/BehaviorQuery.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/BehaviorQuery.java rename to src/main/java/org/openmbee/mdk/model/BehaviorQuery.java index 1e12e4602..e1f5219f5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/BehaviorQuery.java +++ b/src/main/java/org/openmbee/mdk/model/BehaviorQuery.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.expressions.ExpressionHelper; @@ -8,8 +8,8 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.ParameterDirectionKindEnum; import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.Behavior; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.docbook.DocumentElement; import org.apache.commons.lang3.ObjectUtils; import java.util.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/BulletedList.java b/src/main/java/org/openmbee/mdk/model/BulletedList.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/BulletedList.java rename to src/main/java/org/openmbee/mdk/model/BulletedList.java index 6546d172c..ca35fc277 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/BulletedList.java +++ b/src/main/java/org/openmbee/mdk/model/BulletedList.java @@ -1,13 +1,13 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.docgen.docbook.*; import java.util.ArrayList; import java.util.List; @@ -55,19 +55,21 @@ public void addStereotypeProperties(DBHasContent parent, Element e, Property p) @SuppressWarnings("unchecked") @Override public void initialize() { + super.initialize(); + SysMLExtensions.BulletedListStereotype s = profile.bulletedList(); Boolean showTargets = (Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.bulletedListStereotype, "showTargets", DocGenProfile.PROFILE_NAME, false); + s.getShowTargetsProperty(), false); Boolean showSPN = (Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.bulletedListStereotype, "showStereotypePropertyNames", DocGenProfile.PROFILE_NAME, false); + s.getShowStereotypePropertyNamesProperty(), false); Boolean ordered = (Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.bulletedListStereotype, "orderedList", DocGenProfile.PROFILE_NAME, false); + s.getOrderedListProperty(), false); setShowTargets(showTargets); setShowStereotypePropertyNames(showSPN); setOrderedList(ordered); setIncludeDoc((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.documentationChoosable, "includeDoc", DocGenProfile.PROFILE_NAME, false)); - setStereotypeProperties((List) GeneratorUtils.getStereotypePropertyValue(dgElement, DocGenProfile.stereotypePropertyChoosable, - "stereotypeProperties", DocGenProfile.PROFILE_NAME, new ArrayList())); + s.getIncludeDocProperty(), false)); + setStereotypeProperties((List) GeneratorUtils.getStereotypePropertyValue(dgElement, + s.getStereotypePropertiesProperty(), new ArrayList())); } @Override diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/CollectActionsVisitor.java b/src/main/java/org/openmbee/mdk/model/CollectActionsVisitor.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/CollectActionsVisitor.java rename to src/main/java/org/openmbee/mdk/model/CollectActionsVisitor.java index bd8d6cbf3..cfc185268 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/CollectActionsVisitor.java +++ b/src/main/java/org/openmbee/mdk/model/CollectActionsVisitor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.actions.MDAction; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Common.java b/src/main/java/org/openmbee/mdk/model/Common.java similarity index 84% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Common.java rename to src/main/java/org/openmbee/mdk/model/Common.java index 5f6b8a7a4..bdeb82262 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Common.java +++ b/src/main/java/org/openmbee/mdk/model/Common.java @@ -1,14 +1,14 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBHasContent; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBParagraph; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBTableEntry; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.stereotypes.EditableChoosable; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.docgen.docbook.DBHasContent; +import org.openmbee.mdk.docgen.docbook.DBParagraph; +import org.openmbee.mdk.docgen.docbook.DBTableEntry; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.docbook.stereotypes.EditableChoosable; import java.util.*; @@ -29,7 +29,9 @@ public static void addReferenceToDBHasContent(Reference ref, DBHasContent parent public static List getReferenceAsDocumentElements(Reference ref, Query query) { Boolean editable = null; Object o; - if (query != null && query.getDgElement() != null && (o = StereotypesHelper.getStereotypePropertyFirst(query.getDgElement(), DocGenProfile.editableChoosable, "editable")) instanceof Boolean) { + if (query != null && query.getDgElement() != null + && (o = StereotypesHelper.getStereotypePropertyFirst(query.getDgElement(), + SysMLExtensions.getInstance(query.getDgElement()).editableChoosable().getEditableProperty())) instanceof Boolean) { editable = (Boolean) o; } return getReferenceAsDocumentElements(ref, editable); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Container.java b/src/main/java/org/openmbee/mdk/model/Container.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Container.java rename to src/main/java/org/openmbee/mdk/model/Container.java index ec017fd57..7db234f3e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Container.java +++ b/src/main/java/org/openmbee/mdk/model/Container.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; -import gov.nasa.jpl.mbee.mdk.util.MoreToString; +import org.openmbee.mdk.util.MoreToString; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/DocBookOutputVisitor.java b/src/main/java/org/openmbee/mdk/model/DocBookOutputVisitor.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/DocBookOutputVisitor.java rename to src/main/java/org/openmbee/mdk/model/DocBookOutputVisitor.java index 279b503cd..2ffb19c1a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/DocBookOutputVisitor.java +++ b/src/main/java/org/openmbee/mdk/model/DocBookOutputVisitor.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.docgen.docbook.*; import java.util.List; import java.util.Stack; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/DocGenElement.java b/src/main/java/org/openmbee/mdk/model/DocGenElement.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/DocGenElement.java rename to src/main/java/org/openmbee/mdk/model/DocGenElement.java index fae752514..f8d48220c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/DocGenElement.java +++ b/src/main/java/org/openmbee/mdk/model/DocGenElement.java @@ -1,6 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; +import org.openmbee.mdk.SysMLExtensions; public abstract class DocGenElement implements IDocGenElement { @@ -13,7 +14,7 @@ public abstract class DocGenElement implements IDocGenElement { * this is usually the call behavior action element in a viewpoint method */ protected Element dgElement; //the call behavior action/structured activity that correspond to this/ the view element if a view section - + protected SysMLExtensions profile; public DocGenElement() { ignore = false; loop = false; @@ -44,6 +45,7 @@ public void setUseContextNameAsTitle(boolean b) { public void setDgElement(Element e) { dgElement = e; + profile = SysMLExtensions.getInstance(e); } public String getTitlePrefix() { @@ -70,6 +72,10 @@ public boolean getLoop() { return this.loop; } + public void setProfile(SysMLExtensions profile) { + this.profile = profile; + } + protected String toStringStart() { return getClass().getSimpleName() + "("; } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/DocGenValidationDBSwitch.java b/src/main/java/org/openmbee/mdk/model/DocGenValidationDBSwitch.java similarity index 82% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/DocGenValidationDBSwitch.java rename to src/main/java/org/openmbee/mdk/model/DocGenValidationDBSwitch.java index 3923f44eb..38a89103b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/DocGenValidationDBSwitch.java +++ b/src/main/java/org/openmbee/mdk/model/DocGenValidationDBSwitch.java @@ -1,12 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.validation.*; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRule; -import gov.nasa.jpl.mbee.mdk.validation.ValidationRuleViolation; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; -import gov.nasa.jpl.mbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.validation.ValidationRule; +import org.openmbee.mdk.validation.ValidationRuleViolation; +import org.openmbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.validation.ViolationSeverity; +import org.openmbee.mdk.docgen.validation.*; public class DocGenValidationDBSwitch extends DocGenValidationSwitch { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Document.java b/src/main/java/org/openmbee/mdk/model/Document.java similarity index 90% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Document.java rename to src/main/java/org/openmbee/mdk/model/Document.java index b25461c9a..1ea4330b1 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Document.java +++ b/src/main/java/org/openmbee/mdk/model/Document.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; -import gov.nasa.jpl.mbee.mdk.model.docmeta.DocumentMeta; +import org.openmbee.mdk.model.docmeta.DocumentMeta; import java.lang.reflect.Field; @@ -13,7 +13,7 @@ public class Document extends Container { private String subheader; private String subfooter; - private String RemoveBlankPages; + private boolean RemoveBlankPages; private boolean UseDefaultStylesheet; private boolean chunkFirstSections; @@ -76,13 +76,13 @@ public boolean getUseDefaultStylesheet() { return UseDefaultStylesheet; } - public Boolean getRemoveBlankPages() { - return RemoveBlankPages == "1"; + public boolean getRemoveBlankPages() { + return RemoveBlankPages; } - public void setRemoveBlankPages(String s) { - RemoveBlankPages = s; + public void setRemoveBlankPages(Boolean s) { + RemoveBlankPages = s == null ? false : s; } public void setUseDefaultStylesheet(boolean s) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/GenericTable.java b/src/main/java/org/openmbee/mdk/model/GenericTable.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/GenericTable.java rename to src/main/java/org/openmbee/mdk/model/GenericTable.java index a1da006ea..902083d6b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/GenericTable.java +++ b/src/main/java/org/openmbee/mdk/model/GenericTable.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.generictable.GenericTableManager; import com.nomagic.magicdraw.core.Application; @@ -13,14 +13,13 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.util.DependencyMatrixTool; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.MatrixUtil; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.util.DependencyMatrixTool; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.MatrixUtil; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.docgen.docbook.*; import java.util.ArrayList; import java.util.Arrays; @@ -302,10 +301,10 @@ public void setHeaders(List h) { @Override public void initialize() { super.initialize(); - setHeaders((List) GeneratorUtils.getStereotypePropertyValue(dgElement, DocGenProfile.headersChoosable, - "headers", DocGenProfile.PROFILE_NAME, new ArrayList())); - setSkipIfNoDoc((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.docSkippable, - "skipIfNoDoc", DocGenProfile.PROFILE_NAME, false)); + setHeaders((List) GeneratorUtils.getStereotypePropertyValue(dgElement, + profile.headersChoosable().getHeadersProperty(), new ArrayList())); + setSkipIfNoDoc((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, + profile.documentationSkippable().getSkipIfNoDocProperty(), false)); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/HierarchicalPropertiesTable.java b/src/main/java/org/openmbee/mdk/model/HierarchicalPropertiesTable.java similarity index 72% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/HierarchicalPropertiesTable.java rename to src/main/java/org/openmbee/mdk/model/HierarchicalPropertiesTable.java index 9dfe83bd5..b1a3671d2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/HierarchicalPropertiesTable.java +++ b/src/main/java/org/openmbee/mdk/model/HierarchicalPropertiesTable.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.util.GeneratorUtils; import java.util.ArrayList; import java.util.Collection; @@ -125,39 +125,33 @@ public boolean isShowType() { @Override public void initialize() { super.initialize(); + SysMLExtensions.HierarchicalPropertiesTableStereotype s = profile.hierarchicalPropertiesTable(); Integer maxDepth = (Integer) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.hierarchicalPropertiesTableStereotype, "maxDepth", DocGenProfile.PROFILE_NAME, 0); + s.getMaxDepthProperty(), 0); List topIncludeTypeName = DocGenUtils .getElementNames((Collection) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.hierarchicalPropertiesTableStereotype, "topIncludeTypeName", - DocGenProfile.PROFILE_NAME, new ArrayList())); + s.getTopIncludeTypeNameProperty(), new ArrayList())); List topExcludeTypeName = DocGenUtils .getElementNames((Collection) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.hierarchicalPropertiesTableStereotype, "topExcludeTypeName", - DocGenProfile.PROFILE_NAME, new ArrayList())); + s.getTopExcludeTypeNameProperty(), new ArrayList())); List topIncludeStereotype = (List) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.hierarchicalPropertiesTableStereotype, "topIncludeStereotype", - DocGenProfile.PROFILE_NAME, new ArrayList()); + s.getTopIncludeStereotypeProperty(), new ArrayList()); List topExcludeStereotype = (List) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.hierarchicalPropertiesTableStereotype, "topExcludeStereotype", - DocGenProfile.PROFILE_NAME, new ArrayList()); + s.getTopExcludeStereotypeProperty(), new ArrayList()); List topIncludeName = DocGenUtils.getElementNames((Collection) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.hierarchicalPropertiesTableStereotype, - "topIncludeName", DocGenProfile.PROFILE_NAME, new ArrayList())); + .getStereotypePropertyValue(dgElement, s.getTopIncludeNameProperty(), new ArrayList())); List topExcludeName = DocGenUtils.getElementNames((Collection) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.hierarchicalPropertiesTableStereotype, - "topExcludeName", DocGenProfile.PROFILE_NAME, new ArrayList())); + .getStereotypePropertyValue(dgElement, s.getTopExcludeNameProperty(), new ArrayList())); Integer topAssociationType = (Integer) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.hierarchicalPropertiesTableStereotype, "topAssociationType", DocGenProfile.PROFILE_NAME, 0); + s.getTopAssociationTypeProperty(), 0); List topOrder = DocGenUtils.getElementNames((Collection) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.hierarchicalPropertiesTableStereotype, "topOrder", - DocGenProfile.PROFILE_NAME, new ArrayList())); + .getStereotypePropertyValue(dgElement, s.getTopOrderProperty(), new ArrayList())); if (!topIncludeName.isEmpty() && topOrder.isEmpty()) { topOrder = topIncludeName; } setFloatingPrecision((Integer) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.precisionChoosable, "floatingPrecision", DocGenProfile.PROFILE_NAME, -1)); + s.getFloatingPrecisionProperty(), -1)); setMaxDepth(maxDepth); setTopIncludeTypeName(topIncludeTypeName); setTopExcludeTypeName(topExcludeTypeName); @@ -168,6 +162,6 @@ public void initialize() { setTopAssociationType(topAssociationType); setTopOrder(topOrder); setIncludeInherited((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.inheritedChoosable, "includeInherited", DocGenProfile.PROFILE_NAME, false)); + s.getIncludeInheritedProperty(), false)); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/IDocGenElement.java b/src/main/java/org/openmbee/mdk/model/IDocGenElement.java similarity index 65% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/IDocGenElement.java rename to src/main/java/org/openmbee/mdk/model/IDocGenElement.java index 8ffd217a4..aa5cb4491 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/IDocGenElement.java +++ b/src/main/java/org/openmbee/mdk/model/IDocGenElement.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; public interface IDocGenElement { void accept(IModelVisitor v); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/IModelVisitor.java b/src/main/java/org/openmbee/mdk/model/IModelVisitor.java similarity index 77% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/IModelVisitor.java rename to src/main/java/org/openmbee/mdk/model/IModelVisitor.java index 963dcc8a9..b8b59b8a3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/IModelVisitor.java +++ b/src/main/java/org/openmbee/mdk/model/IModelVisitor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; public interface IModelVisitor { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Image.java b/src/main/java/org/openmbee/mdk/model/Image.java similarity index 76% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Image.java rename to src/main/java/org/openmbee/mdk/model/Image.java index 037bba95a..93260a625 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Image.java +++ b/src/main/java/org/openmbee/mdk/model/Image.java @@ -1,15 +1,14 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBImage; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBParagraph; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.From; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.docbook.DBImage; +import org.openmbee.mdk.docgen.docbook.DBParagraph; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.docbook.From; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.Utils; import java.util.ArrayList; import java.util.List; @@ -91,7 +90,7 @@ public List visit(boolean forViewEditor, String outputDir) { String doc = ModelHelper.getComment(diagram); if (doc != null && (forViewEditor || (!doc.trim().isEmpty() && !getDoNotShow()))) { - if ((Boolean) GeneratorUtils.getStereotypePropertyFirst(diagram, DocGenProfile.editableChoosable, "editable", DocGenProfile.PROFILE_NAME, true)) { + if ((Boolean) GeneratorUtils.getStereotypePropertyFirst(diagram, profile.editableChoosable().getEditableProperty(), true)) { res.add(new DBParagraph(doc, diagram, From.DOCUMENTATION)); } else { @@ -108,15 +107,15 @@ public List visit(boolean forViewEditor, String outputDir) { @SuppressWarnings("unchecked") @Override public void initialize() { - // TODO Auto-generated method stub + super.initialize(); setDoNotShow((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.imageStereotype, "doNotShow", DocGenProfile.PROFILE_NAME, false)); - setCaptions((List) GeneratorUtils.getStereotypePropertyValue(dgElement, DocGenProfile.hasCaptions, - "captions", DocGenProfile.PROFILE_NAME, new ArrayList())); - setShowCaptions((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.hasCaptions, - "showCaptions", DocGenProfile.PROFILE_NAME, true)); - setExcludeFromList((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.hasCaptions, - "excludeFromList", DocGenProfile.PROFILE_NAME, false)); + profile.image().getDoNotShowProperty(), false)); + setCaptions((List) GeneratorUtils.getStereotypePropertyValue(dgElement, + profile.hasCaptions().getCaptionsProperty(), new ArrayList())); + setShowCaptions((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, + profile.hasCaptions().getShowCaptionsProperty(), true)); + setExcludeFromList((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, + profile.hasCaptions().getExcludeFromListProperty(), false)); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Paragraph.java b/src/main/java/org/openmbee/mdk/model/Paragraph.java similarity index 84% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Paragraph.java rename to src/main/java/org/openmbee/mdk/model/Paragraph.java index d6ef039e0..dd2d0cca5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Paragraph.java +++ b/src/main/java/org/openmbee/mdk/model/Paragraph.java @@ -1,20 +1,17 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; +import com.nomagic.uml2.ext.jmi.helpers.TagsHelper; import com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities.InitialNode; import com.nomagic.uml2.ext.magicdraw.activities.mdfundamentalactivities.ActivityNode; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; -import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBParagraph; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.From; -import gov.nasa.jpl.mbee.mdk.generator.GenerationContext; -import gov.nasa.jpl.mbee.mdk.util.*; -import gov.nasa.jpl.mbee.mdk.util.Utils.AvailableAttribute; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.docgen.docbook.DBParagraph; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.docbook.From; +import org.openmbee.mdk.generator.GenerationContext; +import org.openmbee.mdk.util.*; import java.util.*; @@ -27,7 +24,7 @@ public class Paragraph extends Query { private ViewViewpointValidator validator = null; private boolean tryOcl = false; private boolean iterate = true; - private AvailableAttribute attribute = null; // this is redundant with fromProperty + private Utils.AvailableAttribute attribute = null; // this is redundant with fromProperty public InitialNode bnode; public ActivityNode activityNode; @@ -138,8 +135,8 @@ public void addAttributeParagraphs(List res, Object result) { if (!Utils2.isNullOrEmpty(v)) { Object o; DBParagraph paragraph = new DBParagraph(v, e, getFrom()); - if (getDgElement() != null && (o = StereotypesHelper.getStereotypePropertyFirst(getDgElement(), DocGenProfile.editableChoosable, "editable")) instanceof Boolean) { - paragraph.setEditable((Boolean) o); + if (getDgElement() != null) { + paragraph.setEditable((Boolean) GeneratorUtils.getStereotypePropertyFirst(getDgElement(), profile.editableChoosable().getEditableProperty(), true)); } res.add(paragraph); } @@ -158,8 +155,8 @@ else if (!Utils2.isNullOrEmpty(result)) { if (!Utils2.isNullOrEmpty(result)) { Object o; DBParagraph paragraph = new DBParagraph(result); - if (getDgElement() != null && (o = StereotypesHelper.getStereotypePropertyFirst(getDgElement(), DocGenProfile.editableChoosable, "editable")) instanceof Boolean) { - paragraph.setEditable((Boolean) o); + if (getDgElement() != null) { + paragraph.setEditable((Boolean) GeneratorUtils.getStereotypePropertyFirst(getDgElement(), profile.editableChoosable().getEditableProperty(), true)); } res.add(paragraph); } @@ -190,7 +187,7 @@ else if (!Utils2.isNullOrEmpty(result)) { * 9  O && T && R && S: return a paragraph of the evaluation of the text as OCL on each target-property pair
* *

- * @see gov.nasa.jpl.mbee.mdk.model.Query#visit(boolean, java.lang.String) + * @see Query#visit(boolean, java.lang.String) */ @Override public List visit(boolean forViewEditor, String outputDir) { @@ -215,11 +212,8 @@ public List visit(boolean forViewEditor, String outputDir) { // of dgElement or the documentation of the dgElement if dgElement // is something other than a Paragraph if (forViewEditor || !getText().trim().isEmpty()) { - //GeneratorUtils.getObjectProperty( getDgElement(), DocGenProfile.paragraphStereotype, "body", null ); - // TODO @donbot find a way to remove this getProject() call - Stereotype paragraphStereotype = StereotypesHelper.getStereotype(Application.getInstance().getProject(), DocGenProfile.paragraphStereotype); - Slot s = Utils.getSlot(getDgElement(), Utils.getStereotypePropertyByName(paragraphStereotype, "body")); - //StereotypesHelper.getSlot( getDgElement(), , arg2, arg3 ) + TaggedValue s = TagsHelper.getTaggedValue(getDgElement(), profile.paragraph().getBodyProperty()); + DBParagraph paragraph; if (s != null) { paragraph = new DBParagraph(getText(), s, From.DVALUE); @@ -235,9 +229,8 @@ else if (getDgElement() != null) { // getFrom() must be null paragraph = new DBParagraph(getText()); } } - Object o; - if (getDgElement() != null && (o = StereotypesHelper.getStereotypePropertyFirst(getDgElement(), DocGenProfile.editableChoosable, "editable")) instanceof Boolean) { - paragraph.setEditable((Boolean) o); + if (getDgElement() != null) { + paragraph.setEditable((Boolean) GeneratorUtils.getStereotypePropertyFirst(getDgElement(), profile.editableChoosable().getEditableProperty(), true)); } res.add(paragraph); } //else { @@ -246,7 +239,7 @@ else if (getDgElement() != null) { // getFrom() must be null } else if (gotText && !gotTargets) { // tryOcl must be true Debug.outln("case 7"); - // case 7: return a paragraph of the evaluation of the text as OCL on dgElement + // case 7: return a paragraph of the evaluation of the text as OCL on dgElement addOclParagraph(res, getText(), new ArrayList()); } else if (gotTargets) { @@ -290,7 +283,7 @@ else if (!tryOcl) { // for cases 2 and 5 //Object ocl = allTargetsAreProperties ? : ModelHelper.getComment( e ); if (allTargetsAreProperties && tryOcl) { - Object v = Utils.getElementAttribute(e, AvailableAttribute.Value); + Object v = Utils.getElementAttribute(e, Utils.AvailableAttribute.Value); ref = new Reference(e, From.DVALUE, v); } else { @@ -350,7 +343,7 @@ else if (!tryOcl) { } } } - } // else case 1: gotText and gotTarget are both false, so return nothing + } // else case 1: gotText and gotTarget are both false, so return nothing Debug.outln("visit(" + forViewEditor + ", \"" + outputDir + ") returning " + res); return res; @@ -359,22 +352,20 @@ else if (!tryOcl) { @SuppressWarnings("unchecked") @Override public void initialize() { - String body = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.paragraphStereotype, - "body", DocGenProfile.PROFILE_NAME, null); + super.initialize(); + String body = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.paragraph().getBodyProperty(), null); setText(body); - Object doOcl = GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.paragraphStereotype, - "evaluateOcl", DocGenProfile.PROFILE_NAME, null); + Object doOcl = GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.paragraph().getEvaluateOclProperty(), null); if (doOcl != null) { tryOcl = Utils.isTrue(doOcl, true); } - Object iter = GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.paragraphStereotype, - "iterate", DocGenProfile.PROFILE_NAME, null); + Object iter = GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.paragraph().getIterateProperty(), null); if (iter != null) { iterate = Utils.isTrue(iter, false); // TODO -- use this! } Object attr = GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.attributeChoosable, "desiredAttribute", DocGenProfile.PROFILE_NAME, null); + profile.attributeChoosable().getDesiredAttributeProperty(), null); if (attr instanceof EnumerationLiteral) { attribute = Utils.AvailableAttribute.valueOf(((EnumerationLiteral) attr).getName()); if (attribute != null) { @@ -382,9 +373,7 @@ public void initialize() { } } - setStereotypeProperties((List) GeneratorUtils.getStereotypePropertyValue(dgElement, DocGenProfile.stereotypePropertyChoosable, - "stereotypeProperties", DocGenProfile.PROFILE_NAME, new ArrayList())); + setStereotypeProperties((List) GeneratorUtils.getStereotypePropertyValue(dgElement, + profile.stereotypePropertiesChoosable().getStereotypePropertiesProperty(), new ArrayList())); } - - } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Plot.java b/src/main/java/org/openmbee/mdk/model/Plot.java similarity index 74% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Plot.java rename to src/main/java/org/openmbee/mdk/model/Plot.java index 3f4be933f..b40355bd6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Plot.java +++ b/src/main/java/org/openmbee/mdk/model/Plot.java @@ -1,6 +1,5 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; -import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction; import com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities.ActivityEdge; import com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities.InitialNode; @@ -8,15 +7,15 @@ import com.nomagic.uml2.ext.magicdraw.activities.mdstructuredactivities.StructuredActivityNode; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.EnumerationLiteral; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBPlot; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBTable; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.docgen.docbook.DBPlot; +import org.openmbee.mdk.docgen.docbook.DBTable; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.util.GeneratorUtils; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; /** @@ -81,9 +80,10 @@ public List visit(boolean forViewEditor, String outputDir) { @SuppressWarnings("unchecked") @Override public void initialize() { - String title = ((String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.plotStereotype, "plotTitle", DocGenProfile.PROFILE_NAME, "")).replace("'", "\\'").replace("\"", "'"); - String config = ((String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.plotStereotype, "plotConfiguration", DocGenProfile.PROFILE_NAME, "")).replace("'", "\\'").replace("\"", "'"); - String type = (String) StereotypesHelper.getStereotypePropertyValue(dgElement, DocGenProfile.plotStereotype, "plotType").stream().filter(p -> p instanceof EnumerationLiteral).map(p -> ((EnumerationLiteral) p).getName()).findFirst().orElse(""); + super.initialize(); + String title = ((String) GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.plot().getPlotTitleProperty(), "")).replace("'", "\\'").replace("\"", "'"); + String config = ((String) GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.plot().getPlotConfigurationProperty(), "")).replace("'", "\\'").replace("\"", "'"); + String type = GeneratorUtils.getStereotypePropertyValue(dgElement, profile.plot().getPlotTypeProperty(), Collections.emptyList()).stream().filter(p -> p instanceof EnumerationLiteral).map(p -> ((EnumerationLiteral) p).getName()).findFirst().orElse(""); setTitle(title); setConfig(config); @@ -110,7 +110,7 @@ else if (dgElement instanceof CallBehaviorAction) { if (outs != null && outs.size() == 1) { ActivityNode next = outs.iterator().next().getTarget(); if (next instanceof StructuredActivityNode - && StereotypesHelper.hasStereotypeOrDerived(next, DocGenProfile.tableStructureStereotype)) { + && profile.tableStructure().is(next)) { dgElement = next; } } @@ -119,7 +119,7 @@ else if (dgElement instanceof CallBehaviorAction) { { dgElement = temp.getOwnedElement().stream() .filter(x -> (x instanceof StructuredActivityNode - && StereotypesHelper.hasStereotypeOrDerived(x, DocGenProfile.tableStructureStereotype))) + && profile.tableStructure().is(x))) //.collect(java.util.stream.Collectors.toList()); //return List .findAny().orElse(null); //dgElement = null; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/PropertiesTableByAttributes.java b/src/main/java/org/openmbee/mdk/model/PropertiesTableByAttributes.java similarity index 87% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/PropertiesTableByAttributes.java rename to src/main/java/org/openmbee/mdk/model/PropertiesTableByAttributes.java index 4733b60fc..43529ad93 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/PropertiesTableByAttributes.java +++ b/src/main/java/org/openmbee/mdk/model/PropertiesTableByAttributes.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; @@ -7,15 +7,15 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable; -import gov.nasa.jpl.mbee.mdk.docgen.table.PropertiesTable; -import gov.nasa.jpl.mbee.mdk.model.actions.EditPropertiesTableAction; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.docgen.table.EditableTable; +import org.openmbee.mdk.docgen.table.PropertiesTable; +import org.openmbee.mdk.model.actions.EditPropertiesTableAction; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils2; +import org.openmbee.mdk.docgen.docbook.*; import java.util.*; @@ -430,41 +430,33 @@ public List visit(boolean forViewEditor, String outputDir) { @Override public void initialize() { super.initialize(); - + SysMLExtensions.PropertiesTableByAttributesStereotype s = profile.propertiesTableByAttributes(); List splitStereotype = (List) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "splitStereotype", - DocGenProfile.PROFILE_NAME, new ArrayList()); + s.getSplitStereotypeProperty(), new ArrayList()); List systemIncludeStereotype = (List) GeneratorUtils.getStereotypePropertyValue( - dgElement, DocGenProfile.propertiesTableByAttributesStereotype, "systemIncludeStereotype", - DocGenProfile.PROFILE_NAME, new ArrayList()); + dgElement, s.getSystemIncludeStereotypeProperty(), new ArrayList()); List systemExcludeStereotype = (List) GeneratorUtils.getStereotypePropertyValue( - dgElement, DocGenProfile.propertiesTableByAttributesStereotype, "systemExcludeStereotype", - DocGenProfile.PROFILE_NAME, new ArrayList()); + dgElement, s.getSystemExcludeStereotypeProperty(), new ArrayList()); List systemIncludeTypeName = DocGenUtils .getElementNames((Collection) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "systemIncludeTypeName", - DocGenProfile.PROFILE_NAME, new ArrayList())); + s.getSystemIncludeTypeNameProperty(), new ArrayList())); List systemExcludeTypeName = DocGenUtils .getElementNames((Collection) GeneratorUtils.getStereotypePropertyValue(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "systemExcludeTypeName", - DocGenProfile.PROFILE_NAME, new ArrayList())); + s.getSystemExcludeTypeNameProperty(), new ArrayList())); List systemIncludeName = DocGenUtils.getElementNames((Collection) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.propertiesTableByAttributesStereotype, - "systemIncludeName", DocGenProfile.PROFILE_NAME, new ArrayList())); + .getStereotypePropertyValue(dgElement, s.getSystemIncludeNameProperty(), new ArrayList())); List systemExcludeName = DocGenUtils.getElementNames((Collection) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.propertiesTableByAttributesStereotype, - "systemExcludeName", DocGenProfile.PROFILE_NAME, new ArrayList())); + .getStereotypePropertyValue(dgElement, s.getSystemExcludeNameProperty(), new ArrayList())); Integer systemAssociationType = (Integer) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "systemAssociationType", DocGenProfile.PROFILE_NAME, 0); + s.getSystemAssociationTypeProperty(), 0); Boolean consolidateTypes = (Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "consolidateTypes", DocGenProfile.PROFILE_NAME, false); + s.getConsolidateTypesProperty(), false); Boolean showMultiplicity = (Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "showMultiplicity", DocGenProfile.PROFILE_NAME, false); + s.getShowMultiplicityProperty(), false); Boolean doRollup = (Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.propertiesTableByAttributesStereotype, "doRollup", DocGenProfile.PROFILE_NAME, false); + s.getDoRollupProperty(), false); List rollupProperty = DocGenUtils.getElementNames((Collection) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.propertiesTableByAttributesStereotype, - "rollupProperty", DocGenProfile.PROFILE_NAME, new ArrayList())); + .getStereotypePropertyValue(dgElement, s.getRollupPropertyProperty(), new ArrayList())); setSplitStereotype(splitStereotype); setSystemIncludeStereotype(systemIncludeStereotype); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Query.java b/src/main/java/org/openmbee/mdk/model/Query.java similarity index 89% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Query.java rename to src/main/java/org/openmbee/mdk/model/Query.java index d2c0a6644..29679b264 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Query.java +++ b/src/main/java/org/openmbee/mdk/model/Query.java @@ -1,8 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.actions.MDAction; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.generator.Generatable; +import com.nomagic.magicdraw.core.Application; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.generator.Generatable; import java.lang.reflect.Field; import java.util.ArrayList; @@ -57,7 +59,9 @@ public void setSortElementsByName(boolean sortElementsByName) { */ @Override public void initialize() { - + if (profile == null) { + profile = SysMLExtensions.getInstanceByProject(Application.getInstance().getProject()); + } } /** diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Reference.java b/src/main/java/org/openmbee/mdk/model/Reference.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Reference.java rename to src/main/java/org/openmbee/mdk/model/Reference.java index 41b1582dc..bd404cafe 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Reference.java +++ b/src/main/java/org/openmbee/mdk/model/Reference.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Slot; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.From; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.docgen.docbook.From; +import org.openmbee.mdk.util.Utils; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Section.java b/src/main/java/org/openmbee/mdk/model/Section.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Section.java rename to src/main/java/org/openmbee/mdk/model/Section.java index f9a31460f..fae316a46 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Section.java +++ b/src/main/java/org/openmbee/mdk/model/Section.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Simulate.java b/src/main/java/org/openmbee/mdk/model/Simulate.java similarity index 76% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Simulate.java rename to src/main/java/org/openmbee/mdk/model/Simulate.java index 98748f43b..e3261d93a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Simulate.java +++ b/src/main/java/org/openmbee/mdk/model/Simulate.java @@ -1,13 +1,13 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; +import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.magicdraw.simulation.SimulationManager; -import com.nomagic.magicdraw.simulation.execution.session.SimulationSession; +import com.nomagic.magicdraw.simulation.execution.SimulationResult; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.docbook.DocumentElement; import java.text.NumberFormat; import java.util.Collections; @@ -23,33 +23,33 @@ public class Simulate extends Query { @Override public List visit(boolean forViewEditor, String outputDir) { super.visit(forViewEditor, outputDir); - + Project project = Application.getInstance().getProject(); for (Object o : getTargets()) { if (o instanceof Element) { long startTime = System.currentTimeMillis(); Application.getInstance().getGUILog().log("[INFO] Simulation of " + ((Element) o).getHumanName() + " started."); - SimulationSession simulationSession; + SimulationResult simulationResult; try { - simulationSession = SimulationManager.execute((Element) o, true, true); + simulationResult = SimulationManager.execute((Element) o, true); } catch (Exception e) { e.printStackTrace(); Application.getInstance().getGUILog().log("[ERROR] Simulation of " + ((Element) o).getHumanName() + " encountered an unexpected exception: \"" + e.getMessage() + ".\" Terminating."); - if (SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().cancelSession(); + if (SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().cancelSession(project); } continue; } - while (!simulationSession.isClosed() && (timeout < 0 || System.currentTimeMillis() - startTime < timeout * 1000)) { + while (!simulationResult.getMainSession().isClosed() && (timeout < 0 || System.currentTimeMillis() - startTime < timeout * 1000)) { try { Thread.sleep(1); } catch (InterruptedException ignored) { } } - if (!simulationSession.isClosed()) { + if (!simulationResult.getMainSession().isClosed()) { Application.getInstance().getGUILog().log("[WARNING] Simulation of " + ((Element) o).getHumanName() + " timed out after " + NumberFormat.getInstance().format(timeout) + " seconds. Terminating."); - SimulationManager.terminateSession(simulationSession); - if (SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().cancelSession(); + SimulationManager.terminateSession(simulationResult.getMainSession()); + if (SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().cancelSession(project); } } else { @@ -57,14 +57,14 @@ public List visit(boolean forViewEditor, String outputDir) { } } } - + return Collections.emptyList(); } @Override public void initialize() { super.initialize(); - Object o = StereotypesHelper.getStereotypePropertyFirst(dgElement, DocGenProfile.simulateStereotype, "timeout"); + Object o = StereotypesHelper.getStereotypePropertyFirst(dgElement, profile.simulate().getTimeoutProperty()); if (o != null && o instanceof Integer) { timeout = (Integer) o; } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Table.java b/src/main/java/org/openmbee/mdk/model/Table.java similarity index 70% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/Table.java rename to src/main/java/org/openmbee/mdk/model/Table.java index 93a5c69e3..08bfa7b0d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/Table.java +++ b/src/main/java/org/openmbee/mdk/model/Table.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBColSpec; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBTable; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.docgen.docbook.DBColSpec; +import org.openmbee.mdk.docgen.docbook.DBTable; +import org.openmbee.mdk.util.GeneratorUtils; import java.util.ArrayList; import java.util.List; @@ -136,26 +136,17 @@ protected void setTableThings(DBTable dbTable) { @SuppressWarnings("unchecked") @Override public void initialize() { - setCaptions((List) GeneratorUtils.getStereotypePropertyValue(dgElement, DocGenProfile.hasCaptions, - "captions", DocGenProfile.PROFILE_NAME, new ArrayList())); - setShowCaptions((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.hasCaptions, - "showCaptions", DocGenProfile.PROFILE_NAME, true)); - setStereotypeProperties((List) GeneratorUtils - .getStereotypePropertyValue(dgElement, DocGenProfile.stereotypePropertyChoosable, - "stereotypeProperties", DocGenProfile.PROFILE_NAME, new ArrayList())); - setIncludeDoc((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, - DocGenProfile.documentationChoosable, "includeDoc", DocGenProfile.PROFILE_NAME, false)); - setStyle((String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tableStereotype, "style", - DocGenProfile.PROFILE_NAME, null)); - setColwidths((List) GeneratorUtils.getStereotypePropertyValue(dgElement, DocGenProfile.tableStereotype, - "colwidths", DocGenProfile.PROFILE_NAME, new ArrayList())); - setTranspose((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tableStereotype, - "transpose", DocGenProfile.PROFILE_NAME, false)); - setHideHeaders((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tableStereotype, - "hideHeaders", DocGenProfile.PROFILE_NAME, false)); - setShowIfEmpty((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tableStereotype, - "showIfEmpty", DocGenProfile.PROFILE_NAME, false)); - setExcludeFromList((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tableStereotype, - "excludeFromList", DocGenProfile.PROFILE_NAME, false)); + super.initialize(); + SysMLExtensions.TableStereotype s = profile.table(); + setCaptions((List) GeneratorUtils.getStereotypePropertyValue(dgElement, s.getCaptionsProperty(), new ArrayList())); + setShowCaptions((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getShowCaptionsProperty(), true)); + setStereotypeProperties((List) GeneratorUtils.getStereotypePropertyValue(dgElement, s.getStereotypePropertiesProperty(), new ArrayList())); + setIncludeDoc((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getIncludeDocProperty(), false)); + setStyle((String) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getStyleProperty(), null)); + setColwidths((List) GeneratorUtils.getStereotypePropertyValue(dgElement, s.getColwidthsProperty(), new ArrayList())); + setTranspose((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getTransposeProperty(), false)); + setHideHeaders((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getHideHeadersProperty(), false)); + setShowIfEmpty((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getShowIfEmptyProperty(), false)); + setExcludeFromList((Boolean) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getExcludeFromListProperty(), false)); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/TableStructure.java b/src/main/java/org/openmbee/mdk/model/TableStructure.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/TableStructure.java rename to src/main/java/org/openmbee/mdk/model/TableStructure.java index fa7abc8dd..adbda3dd0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/TableStructure.java +++ b/src/main/java/org/openmbee/mdk/model/TableStructure.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction; @@ -10,14 +10,14 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.EnumerationLiteral; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.generator.CollectFilterParser; -import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.generator.GenerationContext; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.util.*; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.generator.CollectFilterParser; +import org.openmbee.mdk.generator.DocumentGenerator; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.generator.GenerationContext; +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.util.*; import java.util.*; @@ -93,6 +93,7 @@ private class TableStructuredColumn extends TableColumn { protected ViewViewpointValidator validator = null; + protected SysMLExtensions profile; public TableStructure(ViewViewpointValidator validator) { super(); this.validator = validator; @@ -116,6 +117,7 @@ else if (dgElement instanceof CallBehaviorAction) { if (dgElement instanceof NamedElement) { title = ((NamedElement) dgElement).getName(); } + profile = SysMLExtensions.getInstance(dgElement); } @Override @@ -136,31 +138,31 @@ private void parseColumns(ActivityNode inNode, TableColumnGroup parent, int curD while (outs != null && outs.size() == 1) { curNode = outs.iterator().next().getTarget(); TableColumn col = null; - if (GeneratorUtils.hasStereotypeByString(curNode, DocGenProfile.tableAttributeColumnStereotype)) { + if (GeneratorUtils.hasStereotype(curNode, profile.tableAttributeColumn().getStereotype())) { col = new TableAttributeColumn(); Object attr = GeneratorUtils.getStereotypePropertyFirst(curNode, - DocGenProfile.tableAttributeColumnStereotype, "desiredAttribute", DocGenProfile.PROFILE_NAME, null); + profile.tableAttributeColumn().getDesiredAttributeProperty(), null); ((TableAttributeColumn) col).attribute = (attr instanceof EnumerationLiteral) ? Utils.AvailableAttribute.valueOf(((EnumerationLiteral) attr).getName()) : null; } - else if (GeneratorUtils.hasStereotypeByString(curNode, - DocGenProfile.tableExpressionColumnStereotype)) { + else if (GeneratorUtils.hasStereotype(curNode, + profile.tableExpressionColumn().getStereotype())) { col = new TableExpressionColumn(); ((TableExpressionColumn) col).expression = (String) GeneratorUtils.getStereotypePropertyFirst(curNode, - DocGenProfile.tableExpressionColumnStereotype, "expression", DocGenProfile.PROFILE_NAME, null); + profile.tableExpressionColumn().getExpressionProperty(), null); ((TableExpressionColumn) col).iterate = (Boolean) GeneratorUtils.getStereotypePropertyFirst(curNode, - DocGenProfile.tableExpressionColumnStereotype, "iterate", DocGenProfile.PROFILE_NAME, true); + profile.tableExpressionColumn().getIterateProperty(), true); } - else if (GeneratorUtils.hasStereotypeByString(curNode, - DocGenProfile.tablePropertyColumnStereotype)) { + else if (GeneratorUtils.hasStereotype(curNode, + profile.tablePropertyColumn().getStereotype())) { col = new TablePropertyColumn(); ((TablePropertyColumn) col).property = (Property) GeneratorUtils.getStereotypePropertyFirst(curNode, - DocGenProfile.tablePropertyColumnStereotype, "desiredProperty", DocGenProfile.PROFILE_NAME, null); + profile.tablePropertyColumn().getDesiredPropertyProperty(), null); } - else if (GeneratorUtils.hasStereotypeByString(curNode, "TableColumnGroup")) { + else if (GeneratorUtils.hasStereotype(curNode, profile.tableColumnGroup().getStereotype())) { col = new TableColumnGroup(); } - else if (GeneratorUtils.hasStereotypeByString(curNode, "StructuredQuery") || curNode instanceof CallBehaviorAction) { + else if (GeneratorUtils.hasStereotype(curNode, profile.structuredQuery().getStereotype()) || curNode instanceof CallBehaviorAction) { col = new TableStructuredColumn(); //((TableStructuredColumn)col).structuredNode = curNode; } @@ -168,7 +170,7 @@ else if (GeneratorUtils.hasStereotypeByString(curNode, "StructuredQuery") || cur outs = curNode.getOutgoing(); continue; } - col.editable = (Boolean) GeneratorUtils.getStereotypePropertyFirst(curNode, DocGenProfile.editableChoosable, "editable", DocGenProfile.PROFILE_NAME, true); + col.editable = (Boolean) GeneratorUtils.getStereotypePropertyFirst(curNode, profile.editableChoosable().getEditableProperty(), true); col.activityNode = curNode; if (curNode instanceof CallBehaviorAction && ((CallBehaviorAction) curNode).getBehavior() != null) { col.bnode = GeneratorUtils.findInitialNode(((CallBehaviorAction) curNode).getBehavior()); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/TemporalDiff.java b/src/main/java/org/openmbee/mdk/model/TemporalDiff.java similarity index 82% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/TemporalDiff.java rename to src/main/java/org/openmbee/mdk/model/TemporalDiff.java index 6590472b2..b16852aeb 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/TemporalDiff.java +++ b/src/main/java/org/openmbee/mdk/model/TemporalDiff.java @@ -1,15 +1,14 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.EnumerationLiteral; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBParagraph; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils.AvailableAttribute; -import org.apache.commons.lang.StringEscapeUtils; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.docbook.DBParagraph; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.Utils; +import org.apache.commons.lang3.StringEscapeUtils; import java.util.ArrayList; import java.util.List; @@ -27,8 +26,10 @@ public TemporalDiff() { @Override public void initialize() { - Object attr = GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.attributeChoosable, "desiredAttribute", DocGenProfile.PROFILE_NAME, null); - AvailableAttribute attributeToCompare; + super.initialize(); + SysMLExtensions.TemporalDiffStereotype s = profile.temporalDiff(); + Object attr = GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getDesiredAttributeProperty(), null); + Utils.AvailableAttribute attributeToCompare; if (attr instanceof EnumerationLiteral) { attributeToCompare = Utils.AvailableAttribute.valueOf(((EnumerationLiteral) attr).getName()); } @@ -44,10 +45,10 @@ else if (attributeToCompare == Utils.AvailableAttribute.Name) { else { tagAttr = "val"; } - baseRefId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.temporalDiffStereotype, "baseRefId", DocGenProfile.PROFILE_NAME, null); - baseCommitId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.temporalDiffStereotype, "baseCommitId", DocGenProfile.PROFILE_NAME, null); - compareRefId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.temporalDiffStereotype, "compareRefId", DocGenProfile.PROFILE_NAME, null); - compareCommitId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.temporalDiffStereotype, "compareCommitId", DocGenProfile.PROFILE_NAME, "latest"); + baseRefId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getBaseRefIdProperty(), null); + baseCommitId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getBaseCommitIdProperty(), null); + compareRefId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getCompareRefIdProperty(), null); + compareCommitId = (String) GeneratorUtils.getStereotypePropertyFirst(dgElement, s.getCompareCommitIdProperty(), "latest"); } @Override diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/TomSawyerDiagram.java b/src/main/java/org/openmbee/mdk/model/TomSawyerDiagram.java similarity index 79% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/TomSawyerDiagram.java rename to src/main/java/org/openmbee/mdk/model/TomSawyerDiagram.java index d53ff62ee..24985ce46 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/TomSawyerDiagram.java +++ b/src/main/java/org/openmbee/mdk/model/TomSawyerDiagram.java @@ -1,13 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.EnumerationLiteral; -import gov.nasa.jpl.mbee.mdk.api.function.TriFunction; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.api.function.TriFunction; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.util.GeneratorUtils; import java.util.*; @@ -18,7 +17,8 @@ public class TomSawyerDiagram extends Query { @Override public void initialize() { - Object o = GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tomSawyerDiagramStereotype, "diagramType", DocGenProfile.PROFILE_NAME, null); + super.initialize(); + Object o = GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.tomSawyerDiagram().getDiagramTypeProperty(), null); if (o instanceof String) { setDiagramType(DiagramType.valueOf(o.toString())); } @@ -29,7 +29,7 @@ public void initialize() { Application.getInstance().getGUILog().log("[WARNING] No diagram type specified for " + Converters.getElementToHumanNameConverter().apply(dgElement) + ". Skipping diagram generation."); return; } - Object o2 = GeneratorUtils.getStereotypePropertyFirst(dgElement, DocGenProfile.tomSawyerDiagramStereotype, "collectRelatedElements", DocGenProfile.PROFILE_NAME, false); + Object o2 = GeneratorUtils.getStereotypePropertyFirst(dgElement, profile.tomSawyerDiagram().getCollectRelatedElementsProperty(), false); if (o2 instanceof Boolean) { collectRelatedElements = (Boolean) o2; } @@ -51,7 +51,7 @@ public List visit(boolean forViewEditor, String outputDir) { return Collections.emptyList(); } try { - TriFunction, TomSawyerDiagram.DiagramType, List> generator = (TriFunction, TomSawyerDiagram.DiagramType, List>) java.lang.Class.forName("gov.nasa.jpl.mbee.mdk.tomsawyer.api.DocumentElementGenerator").getConstructor().newInstance(); + TriFunction, DiagramType, List> generator = (TriFunction, TomSawyerDiagram.DiagramType, List>) java.lang.Class.forName("gov.nasa.jpl.mbee.mdk.tomsawyer.api.DocumentElementGenerator").getConstructor().newInstance(); return generator.apply(this, elements, diagramType); } catch (ReflectiveOperationException | ClassCastException e) { Application.getInstance().getGUILog().log("[WARNING] MDK DocGen Tom Sawyer plugin is not installed. TomSawyerDiagram DocGen activity skipped."); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/UserScript.java b/src/main/java/org/openmbee/mdk/model/UserScript.java similarity index 72% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/UserScript.java rename to src/main/java/org/openmbee/mdk/model/UserScript.java index decfe6200..0e6f3a3a3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/UserScript.java +++ b/src/main/java/org/openmbee/mdk/model/UserScript.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model; +package org.openmbee.mdk.model; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; @@ -8,17 +8,16 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DBText; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.DocumentElement; -import gov.nasa.jpl.mbee.mdk.docgen.validation.Suite; -import gov.nasa.jpl.mbee.mdk.docgen.view.ViewElement; -import gov.nasa.jpl.mbee.mdk.model.actions.RunUserEditableTableAction; -import gov.nasa.jpl.mbee.mdk.model.actions.RunUserScriptAction; -import gov.nasa.jpl.mbee.mdk.model.actions.RunUserValidationScriptAction; -import gov.nasa.jpl.mbee.mdk.util.ScriptRunner; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.docgen.docbook.DBText; +import org.openmbee.mdk.docgen.docbook.DocumentElement; +import org.openmbee.mdk.docgen.validation.Suite; +import org.openmbee.mdk.docgen.view.ViewElement; +import org.openmbee.mdk.model.actions.RunUserEditableTableAction; +import org.openmbee.mdk.model.actions.RunUserScriptAction; +import org.openmbee.mdk.model.actions.RunUserValidationScriptAction; +import org.openmbee.mdk.util.ScriptRunner; +import org.openmbee.mdk.validation.ValidationSuite; import javax.script.ScriptException; import java.io.PrintWriter; @@ -32,16 +31,14 @@ public class UserScript extends Query { public String getStereotypeName() { Element e = this.dgElement; - if (!StereotypesHelper.hasStereotypeOrDerived(this.dgElement, DocGenProfile.userScriptStereotype)) { - if (this.dgElement instanceof CallBehaviorAction - && ((CallBehaviorAction) this.dgElement).getBehavior() != null - && StereotypesHelper.hasStereotypeOrDerived( - ((CallBehaviorAction) this.dgElement).getBehavior(), - DocGenProfile.userScriptStereotype)) { + if (!StereotypesHelper.hasStereotypeOrDerived(this.dgElement, profile.userScript().getStereotype())) { + if (this.dgElement instanceof CallBehaviorAction && ((CallBehaviorAction) this.dgElement).getBehavior() != null + && StereotypesHelper.hasStereotypeOrDerived(((CallBehaviorAction) this.dgElement).getBehavior(), + profile.userScript().getStereotype())) { e = ((CallBehaviorAction) this.dgElement).getBehavior(); } } - Stereotype s = StereotypesHelper.checkForDerivedStereotype(e, DocGenProfile.userScriptStereotype); + Stereotype s = StereotypesHelper.checkForDerivedStereotype(e, profile.userScript().getStereotype()); return s.getName(); } @@ -67,21 +64,19 @@ public String getStereotypeName() { inputs2.put("ForViewEditor", false); } Element e = this.dgElement; - if (!StereotypesHelper.hasStereotypeOrDerived(e, DocGenProfile.userScriptStereotype)) { - if (e instanceof CallBehaviorAction - && ((CallBehaviorAction) e).getBehavior() != null + if (!StereotypesHelper.hasStereotypeOrDerived(e, profile.userScript().getStereotype())) { + if (e instanceof CallBehaviorAction && ((CallBehaviorAction) e).getBehavior() != null && StereotypesHelper.hasStereotypeOrDerived(((CallBehaviorAction) e).getBehavior(), - DocGenProfile.userScriptStereotype)) { + profile.userScript().getStereotype())) { e = ((CallBehaviorAction) e).getBehavior(); } } Object o = ScriptRunner.runScriptFromStereotype(e, - StereotypesHelper.checkForDerivedStereotype(e, DocGenProfile.userScriptStereotype), + StereotypesHelper.checkForDerivedStereotype(e, profile.userScript().getStereotype()), inputs2); if (o != null && o instanceof Map) { return (Map) o; } - } catch (ScriptException e) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); @@ -158,19 +153,17 @@ public List getActions() { List res = new ArrayList(); Element action = getDgElement(); boolean added = false; - if (StereotypesHelper.hasStereotypeOrDerived(action, DocGenProfile.editableTableStereotype) - || ((action instanceof CallBehaviorAction) - && ((CallBehaviorAction) action).getBehavior() != null && StereotypesHelper - .hasStereotypeOrDerived(((CallBehaviorAction) action).getBehavior(), - DocGenProfile.editableTableStereotype))) { + if (StereotypesHelper.hasStereotypeOrDerived(action, profile.editableTable().getStereotype()) + || ((action instanceof CallBehaviorAction) && ((CallBehaviorAction) action).getBehavior() != null + && StereotypesHelper.hasStereotypeOrDerived(((CallBehaviorAction) action).getBehavior(), + profile.editableTable().getStereotype()))) { res.add(new RunUserEditableTableAction(this)); added = true; } - if (StereotypesHelper.hasStereotypeOrDerived(action, DocGenProfile.validationScriptStereotype) - || ((action instanceof CallBehaviorAction) - && ((CallBehaviorAction) action).getBehavior() != null && StereotypesHelper - .hasStereotypeOrDerived(((CallBehaviorAction) action).getBehavior(), - DocGenProfile.validationScriptStereotype))) { + if (StereotypesHelper.hasStereotypeOrDerived(action, profile.validationScript().getStereotype()) + || ((action instanceof CallBehaviorAction) && ((CallBehaviorAction) action).getBehavior() != null + && StereotypesHelper.hasStereotypeOrDerived(((CallBehaviorAction) action).getBehavior(), + profile.validationScript().getStereotype()))) { res.add(new RunUserValidationScriptAction(this)); added = true; } @@ -179,5 +172,4 @@ public List getActions() { } return res; } - } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/EditPropertiesTableAction.java b/src/main/java/org/openmbee/mdk/model/actions/EditPropertiesTableAction.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/EditPropertiesTableAction.java rename to src/main/java/org/openmbee/mdk/model/actions/EditPropertiesTableAction.java index 54487a254..af8fc4ae9 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/EditPropertiesTableAction.java +++ b/src/main/java/org/openmbee/mdk/model/actions/EditPropertiesTableAction.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.model.actions; +package org.openmbee.mdk.model.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable; -import gov.nasa.jpl.mbee.mdk.model.PropertiesTableByAttributes; +import org.openmbee.mdk.docgen.table.EditableTable; +import org.openmbee.mdk.model.PropertiesTableByAttributes; import java.awt.event.ActionEvent; import java.io.PrintWriter; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserEditableTableAction.java b/src/main/java/org/openmbee/mdk/model/actions/RunUserEditableTableAction.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserEditableTableAction.java rename to src/main/java/org/openmbee/mdk/model/actions/RunUserEditableTableAction.java index 21b26a846..e7a40b766 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserEditableTableAction.java +++ b/src/main/java/org/openmbee/mdk/model/actions/RunUserEditableTableAction.java @@ -1,12 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.model.actions; +package org.openmbee.mdk.model.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenViewDBSwitch; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable; -import gov.nasa.jpl.mbee.mdk.docgen.view.MDEditableTable; -import gov.nasa.jpl.mbee.mdk.model.UserScript; +import org.openmbee.mdk.docgen.DocGenViewDBSwitch; +import org.openmbee.mdk.docgen.table.EditableTable; +import org.openmbee.mdk.docgen.view.MDEditableTable; +import org.openmbee.mdk.model.UserScript; import java.awt.event.ActionEvent; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserScriptAction.java b/src/main/java/org/openmbee/mdk/model/actions/RunUserScriptAction.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserScriptAction.java rename to src/main/java/org/openmbee/mdk/model/actions/RunUserScriptAction.java index ddebc39f6..aed533160 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserScriptAction.java +++ b/src/main/java/org/openmbee/mdk/model/actions/RunUserScriptAction.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.model.actions; +package org.openmbee.mdk.model.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; -import gov.nasa.jpl.mbee.mdk.docgen.view.ViewElement; -import gov.nasa.jpl.mbee.mdk.model.UserScript; +import org.openmbee.mdk.docgen.view.ViewElement; +import org.openmbee.mdk.model.UserScript; import java.awt.event.ActionEvent; import java.util.List; @@ -45,9 +45,9 @@ public void actionPerformed(ActionEvent event) { * for (Object key: o.keySet()) { try { log.log("key: " + * key.toString() + " value: " + o.get(key).toString()); } catch * (Exception e) { - * + * * } - * + * * } */ if (o.containsKey("docgenOutput")) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserValidationScriptAction.java b/src/main/java/org/openmbee/mdk/model/actions/RunUserValidationScriptAction.java similarity index 86% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserValidationScriptAction.java rename to src/main/java/org/openmbee/mdk/model/actions/RunUserValidationScriptAction.java index d52459f96..918453aa2 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/actions/RunUserValidationScriptAction.java +++ b/src/main/java/org/openmbee/mdk/model/actions/RunUserValidationScriptAction.java @@ -1,13 +1,13 @@ -package gov.nasa.jpl.mbee.mdk.model.actions; +package org.openmbee.mdk.model.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; -import gov.nasa.jpl.mbee.mdk.docgen.validation.Suite; -import gov.nasa.jpl.mbee.mdk.model.DocGenValidationDBSwitch; -import gov.nasa.jpl.mbee.mdk.model.UserScript; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.validation.ValidationSuite; +import org.openmbee.mdk.docgen.validation.Suite; +import org.openmbee.mdk.model.DocGenValidationDBSwitch; +import org.openmbee.mdk.model.UserScript; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.validation.ValidationSuite; import java.awt.event.ActionEvent; import java.util.ArrayList; @@ -56,7 +56,6 @@ public void actionPerformed(ActionEvent event) { if (o != null && o.containsKey("DocGenValidationOutput")) { Object l = o.get("DocGenValidationOutput"); if (l instanceof List) { - // TODO @donbot remove Application.getProject() call Utils.displayValidationWindow(Application.getInstance().getProject(), (List) l, "User Validation Script Results"); } } @@ -70,7 +69,6 @@ else if (o != null && o.containsKey("docgenValidationOutput")) { vs.add((ValidationSuite) s.doSwitch((Suite) object)); } } - // TODO @donbot remove Application.getProject() call S Utils.displayValidationWindow(Application.getInstance().getProject(), vs, "User Validation Script Results"); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/DocumentMeta.java b/src/main/java/org/openmbee/mdk/model/docmeta/DocumentMeta.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/DocumentMeta.java rename to src/main/java/org/openmbee/mdk/model/docmeta/DocumentMeta.java index b4b8cceac..80611360b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/DocumentMeta.java +++ b/src/main/java/org/openmbee/mdk/model/docmeta/DocumentMeta.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model.docmeta; +package org.openmbee.mdk.model.docmeta; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Diagram; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/Person.java b/src/main/java/org/openmbee/mdk/model/docmeta/Person.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/Person.java rename to src/main/java/org/openmbee/mdk/model/docmeta/Person.java index d48d64154..cf05be400 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/Person.java +++ b/src/main/java/org/openmbee/mdk/model/docmeta/Person.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model.docmeta; +package org.openmbee.mdk.model.docmeta; public class Person { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/Revision.java b/src/main/java/org/openmbee/mdk/model/docmeta/Revision.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/Revision.java rename to src/main/java/org/openmbee/mdk/model/docmeta/Revision.java index 5a810b495..a5d88cc6f 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/model/docmeta/Revision.java +++ b/src/main/java/org/openmbee/mdk/model/docmeta/Revision.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.model.docmeta; +package org.openmbee.mdk.model.docmeta; public class Revision { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/CallOperation.java b/src/main/java/org/openmbee/mdk/ocl/CallOperation.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/CallOperation.java rename to src/main/java/org/openmbee/mdk/ocl/CallOperation.java index 246afc329..503408910 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/CallOperation.java +++ b/src/main/java/org/openmbee/mdk/ocl/CallOperation.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; /** * Function pointer interface to be used by custom OCL operations (basically diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEnvironment.java b/src/main/java/org/openmbee/mdk/ocl/DocGenEnvironment.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEnvironment.java rename to src/main/java/org/openmbee/mdk/ocl/DocGenEnvironment.java index 9f44b4d1d..f08ce0508 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEnvironment.java +++ b/src/main/java/org/openmbee/mdk/ocl/DocGenEnvironment.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; -import gov.nasa.jpl.mbee.mdk.util.Debug; +import org.openmbee.mdk.util.Debug; import org.eclipse.emf.ecore.*; import org.eclipse.emf.ecore.EcoreFactory; import org.eclipse.emf.ecore.resource.Resource; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEnvironmentFactory.java b/src/main/java/org/openmbee/mdk/ocl/DocGenEnvironmentFactory.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEnvironmentFactory.java rename to src/main/java/org/openmbee/mdk/ocl/DocGenEnvironmentFactory.java index fe546e52a..09565503a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEnvironmentFactory.java +++ b/src/main/java/org/openmbee/mdk/ocl/DocGenEnvironmentFactory.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; /** * Following example from diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEvaluationEnvironment.java b/src/main/java/org/openmbee/mdk/ocl/DocGenEvaluationEnvironment.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEvaluationEnvironment.java rename to src/main/java/org/openmbee/mdk/ocl/DocGenEvaluationEnvironment.java index 3deaa649d..0e297b4ad 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenEvaluationEnvironment.java +++ b/src/main/java/org/openmbee/mdk/ocl/DocGenEvaluationEnvironment.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; -import gov.nasa.jpl.mbee.mdk.util.Debug; +import org.openmbee.mdk.util.Debug; import org.eclipse.emf.ecore.*; import org.eclipse.ocl.EvaluationEnvironment; import org.eclipse.ocl.ecore.EcoreEnvironmentFactory; @@ -57,11 +57,11 @@ public void addDgOperation(DocGenOperation docGenOperation) { /* * (non-Javadoc) - * + * * @see * org.eclipse.ocl.ecore.EcoreEvaluationEnvironment#getJavaMethodFor(org * .eclipse.emf.ecore.EOperation, java.lang.Object) - * + * * This is overridden because the EString EClass instance wasn't mapping * it's Java instance class to String.class as it should, resulting in a * NullPointer exception diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenOperation.java b/src/main/java/org/openmbee/mdk/ocl/DocGenOperation.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenOperation.java rename to src/main/java/org/openmbee/mdk/ocl/DocGenOperation.java index 4a4b67100..61eb137a0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenOperation.java +++ b/src/main/java/org/openmbee/mdk/ocl/DocGenOperation.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EParameter; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenOperationInstance.java b/src/main/java/org/openmbee/mdk/ocl/DocGenOperationInstance.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenOperationInstance.java rename to src/main/java/org/openmbee/mdk/ocl/DocGenOperationInstance.java index 509cf9ad3..3300c48dd 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/DocGenOperationInstance.java +++ b/src/main/java/org/openmbee/mdk/ocl/DocGenOperationInstance.java @@ -1,8 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; -import gov.nasa.jpl.mbee.mdk.util.CompareUtils; -import gov.nasa.jpl.mbee.mdk.util.Debug; -import gov.nasa.jpl.mbee.mdk.util.MoreToString; +import org.openmbee.mdk.util.CompareUtils; +import org.openmbee.mdk.util.Debug; +import org.openmbee.mdk.util.MoreToString; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EParameter; import org.eclipse.ocl.ecore.internal.OCLStandardLibraryImpl; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/GetCallOperation.java b/src/main/java/org/openmbee/mdk/ocl/GetCallOperation.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/GetCallOperation.java rename to src/main/java/org/openmbee/mdk/ocl/GetCallOperation.java index 30808cd9d..a289635f6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/GetCallOperation.java +++ b/src/main/java/org/openmbee/mdk/ocl/GetCallOperation.java @@ -1,21 +1,19 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; import com.nomagic.magicdraw.uml2.util.UML2ModelUtil; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Slot; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.ValueSpecification; +import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.emf.EmfUtils; -import gov.nasa.jpl.mbee.mdk.util.CollectionAdder; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils.AvailableAttribute; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.emf.EmfUtils; +import org.openmbee.mdk.util.CollectionAdder; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils.AvailableAttribute; +import org.openmbee.mdk.util.Utils2; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; +import java.lang.Class; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -84,7 +82,7 @@ public GetCallOperation() { /* * (non-Javadoc) - * + * * @see gov.nasa.jpl.mbee.mdk.ocl.CallOperation#callOperation(java.lang.Object, * java.lang.Object[]) */ @@ -242,9 +240,9 @@ else if (arg instanceof Property) { } boolean one = !filter && (onlyOneForAll || (asCollection && coll != null && onlyOnePer)); - // If the source is a Property or slot, get its value + // If the source is a Property or slot, get its value if (Utils2.isNullOrEmpty(objectToAdd) - && (source instanceof Property || source instanceof Slot)) { + && (source instanceof Property || source instanceof Slot || source instanceof TaggedValue)) { objectToAdd = Utils.getElementAttribute((Element) source, AvailableAttribute.Value); @@ -287,7 +285,7 @@ else if (arg instanceof Property) { if (elem.getOwnedElement() != null) { members.addAll(elem.getOwnedElement()); } - members.addAll(Utils.getSlots(elem)); + members.addAll(Utils.getTaggedValues(elem)); objectToAdd = members; // } else if ( coll != null && !asCollection ) { // objectToAdd = source; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/OCLSyntaxHelper.java b/src/main/java/org/openmbee/mdk/ocl/OCLSyntaxHelper.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/OCLSyntaxHelper.java rename to src/main/java/org/openmbee/mdk/ocl/OCLSyntaxHelper.java index db6cb296e..838759546 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/OCLSyntaxHelper.java +++ b/src/main/java/org/openmbee/mdk/ocl/OCLSyntaxHelper.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; -import gov.nasa.jpl.mbee.mdk.util.Debug; +import org.openmbee.mdk.util.Debug; import lpg.runtime.IToken; import org.eclipse.ocl.Environment; import org.eclipse.ocl.expressions.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/OclEvaluator.java b/src/main/java/org/openmbee/mdk/ocl/OclEvaluator.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/OclEvaluator.java rename to src/main/java/org/openmbee/mdk/ocl/OclEvaluator.java index 7087c084c..68e4db035 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/OclEvaluator.java +++ b/src/main/java/org/openmbee/mdk/ocl/OclEvaluator.java @@ -1,23 +1,25 @@ -package gov.nasa.jpl.mbee.mdk.ocl; +package org.openmbee.mdk.ocl; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.magicdraw.uml.BaseElement; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; -import gov.nasa.jpl.mbee.mdk.api.ElementFinder; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenProfile; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.generator.ViewParser; -import gov.nasa.jpl.mbee.mdk.ocl.GetCallOperation.CallReturnType; -import gov.nasa.jpl.mbee.mdk.util.Debug; -import gov.nasa.jpl.mbee.mdk.util.GeneratorUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.api.ElementFinder; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.generator.DocumentGenerator; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.generator.ViewParser; +import org.openmbee.mdk.ocl.GetCallOperation.CallReturnType; +import org.openmbee.mdk.util.Debug; +import org.openmbee.mdk.util.GeneratorUtils; +import org.openmbee.mdk.util.Utils; +import org.openmbee.mdk.util.Utils2; import lpg.runtime.ParseTable; import org.eclipse.emf.common.util.BasicDiagnostic; import org.eclipse.emf.common.util.Diagnostic; @@ -118,8 +120,7 @@ protected static boolean notNullOrEndInQuestion(String expr) { public static String queryElementToStringExpression(Element query) { String expr = null; - Object o = GeneratorUtils.getStereotypePropertyFirst(query, DocGenProfile.expressionChoosable, "expression", - DocGenProfile.PROFILE_NAME, null); + Object o = GeneratorUtils.getStereotypePropertyFirst(query, SysMLExtensions.getInstance(query).expressionChoosable().getExpressionProperty(), null); expr = queryObjectToStringExpression(o); if (notNullOrEndInQuestion(expr)) { return expr; @@ -594,7 +595,7 @@ public Object callOperation(Object source, Object[] args) { Element sourceElement = (Element) source; // If the source is a view, parse it. - if (sourceElement instanceof Class && StereotypesHelper.hasStereotypeOrDerived(sourceElement, DocGenProfile.viewStereotype)) { + if (sourceElement instanceof Class && SysMLProfile.getInstance(sourceElement).view().is(sourceElement)) { ViewViewpointValidator dv = new ViewViewpointValidator(Collections.singleton(sourceElement), Project.getProject(sourceElement), true); DocumentGenerator dg = new DocumentGenerator(sourceElement, dv, null); ViewParser vp = new ViewParser(dg, true, true, dg.getDocument(), sourceElement); @@ -604,8 +605,7 @@ public Object callOperation(Object source, Object[] args) { // Need to parse the behavior of the Viewpoint, not the // Viewpoint itself. if (sourceElement instanceof Class - && StereotypesHelper.hasStereotypeOrDerived(sourceElement, - DocGenProfile.viewpointStereotype)) { + && SysMLProfile.getInstance(sourceElement).viewpoint().is(sourceElement)) { sourceElement = ((Class) sourceElement).getClassifierBehavior(); } @@ -841,7 +841,8 @@ public String checkParsable(String exprString) { */ protected static void addExpressionOperations(DocGenEnvironmentFactory envFactory) { // add each of the elements with the Expression stereotype as shortcut/blackbox functions - List expressions = StereotypesHelper.getExtendedElements(Utils.getExpressionStereotype(Application.getInstance().getProject())); + Stereotype ex = SysMLExtensions.getInstanceByProject(Application.getInstance().getProject()).expression().getStereotype(); + List expressions = StereotypesHelper.getExtendedElements(ex); for (Element expression : expressions) { // function name can't have spaces and strange characters; e.g. the name "four+five" would be parsed as a sum operation. String name = Utils.getName(expression); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/actions/OclQueryAction.java b/src/main/java/org/openmbee/mdk/ocl/actions/OclQueryAction.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/actions/OclQueryAction.java rename to src/main/java/org/openmbee/mdk/ocl/actions/OclQueryAction.java index accfbc59c..83f66e54c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/actions/OclQueryAction.java +++ b/src/main/java/org/openmbee/mdk/ocl/actions/OclQueryAction.java @@ -1,17 +1,17 @@ -package gov.nasa.jpl.mbee.mdk.ocl.actions; +package org.openmbee.mdk.ocl.actions; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.uml.BaseElement; import com.nomagic.uml2.ext.magicdraw.base.ModelObject; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.emf.EmfUtils; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.ocl.ui.OclQueryDialog; -import gov.nasa.jpl.mbee.mdk.ocl.ui.RepeatInputComboBoxDialog; -import gov.nasa.jpl.mbee.mdk.util.Debug; -import gov.nasa.jpl.mbee.mdk.util.MoreToString; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import org.openmbee.mdk.emf.EmfUtils; +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.ocl.ui.OclQueryDialog; +import org.openmbee.mdk.ocl.ui.RepeatInputComboBoxDialog; +import org.openmbee.mdk.util.Debug; +import org.openmbee.mdk.util.MoreToString; +import org.openmbee.mdk.util.Utils2; import org.eclipse.emf.ecore.EObject; import org.eclipse.ocl.ParserException; @@ -120,7 +120,7 @@ public Object parseAndProcess(Object input) { //Debug.outln("completions = " + completions); return result; } - + /*@SuppressWarnings("rawtypes") public Object parseAndProcess(Object input) { String oclString = input == null ? null : input.toString(); @@ -192,7 +192,7 @@ public Object parseAndProcess(Object input) { // TODO } - + } return OclEvaluator.evaluateQuery(input, oclString, true); }*/ diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/ui/OclQueryDialog.java b/src/main/java/org/openmbee/mdk/ocl/ui/OclQueryDialog.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/ui/OclQueryDialog.java rename to src/main/java/org/openmbee/mdk/ocl/ui/OclQueryDialog.java index ca64bb1df..01a25a04b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/ui/OclQueryDialog.java +++ b/src/main/java/org/openmbee/mdk/ocl/ui/OclQueryDialog.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.ocl.ui; +package org.openmbee.mdk.ocl.ui; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.ocl.actions.OclQueryAction; -import gov.nasa.jpl.mbee.mdk.ocl.actions.OclQueryAction.ProcessOclQuery; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; -import gov.nasa.jpl.mbee.mdk.util.MoreToString; +import org.openmbee.mdk.ocl.actions.OclQueryAction; +import org.openmbee.mdk.ocl.actions.OclQueryAction.ProcessOclQuery; +import org.openmbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.MoreToString; import org.eclipse.ocl.util.CollectionUtil; import javax.swing.*; @@ -100,7 +100,7 @@ public void actionPerformed(ActionEvent e) { buttonPane.add(Box.createRigidArea(new Dimension(10, 0))); buttonPane.add(evalButton); - // checkboxes for which selected components to include: those in diagram, those in browser. + // checkboxes for which selected components to include: those in diagram, those in browser. JPanel checkBoxPane = new JPanel(); //checkBoxPane.setLayout( new BorderLayout() ); checkBoxPane.setLayout(new GridBagLayout()); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java b/src/main/java/org/openmbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java rename to src/main/java/org/openmbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java index a2411285f..66c47924a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java +++ b/src/main/java/org/openmbee/mdk/ocl/ui/RepeatInputComboBoxDialog.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.ocl.ui; +package org.openmbee.mdk.ocl.ui; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.util.Debug; -import gov.nasa.jpl.mbee.mdk.util.MoreToString; -import gov.nasa.jpl.mbee.mdk.util.Utils2; +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.util.Debug; +import org.openmbee.mdk.util.MoreToString; +import org.openmbee.mdk.util.Utils2; import javax.swing.*; import javax.swing.event.AncestorEvent; @@ -372,7 +372,7 @@ public void itemStateChanged(ItemEvent e) { label = new JLabel(msg); resultLabel = new JLabel("Result of evaluation:"); // completionsLabel = new JLabel("Operations:"); - + resultPane = createEditorPane("
"); completionsPane = createEditorPane("
"); resultScrollPane = new JScrollPane(resultPane, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, @@ -383,9 +383,9 @@ public void itemStateChanged(ItemEvent e) { // completionsPane.add( completionsLabel ); // completionsPane.add( completionsScrollPane ); JSplitPane splitPane = new JSplitPane( JSplitPane.VERTICAL_SPLIT, resultScrollPane, completionsScrollPane ); - + final JTextArea textArea = new JTextArea(); - + add(label); add(jcb); add(textArea); @@ -396,11 +396,11 @@ public void itemStateChanged(ItemEvent e) { // putConstraint(e1, c1, pad, e2, c2): value(e1, c1) := value(e2, c2) + pad layout.putConstraint(SpringLayout.NORTH, label, 5, SpringLayout.NORTH, this); layout.putConstraint(SpringLayout.WEST, label, 5, SpringLayout.WEST, this); - + /*layout.putConstraint(SpringLayout.NORTH, jcb, 5, SpringLayout.SOUTH, label); layout.putConstraint(SpringLayout.WEST, jcb, 5, SpringLayout.WEST, this); layout.putConstraint(SpringLayout.EAST, jcb, -5, SpringLayout.EAST, this);* - + layout.putConstraint(SpringLayout.NORTH, textArea, 5, SpringLayout.SOUTH, label); layout.putConstraint(SpringLayout.WEST, textArea, 5, SpringLayout.WEST, this); layout.putConstraint(SpringLayout.EAST, textArea, -5, SpringLayout.EAST, this); @@ -408,7 +408,7 @@ public void itemStateChanged(ItemEvent e) { /*layout.putConstraint(SpringLayout.NORTH, resultLabel, 5, SpringLayout.SOUTH, jcb); layout.putConstraint(SpringLayout.WEST, resultLabel, 5, SpringLayout.WEST, this); layout.putConstraint(SpringLayout.EAST, resultLabel, -5, SpringLayout.EAST, this);* - + // layout.putConstraint(SpringLayout.NORTH, resultScrollPane, 5, SpringLayout.SOUTH, jcb); // layout.putConstraint(SpringLayout.WEST, resultScrollPane, 5, SpringLayout.WEST, this); // layout.putConstraint(SpringLayout.EAST, resultScrollPane, -5, SpringLayout.EAST, this); @@ -805,7 +805,7 @@ public static Window getWindow(Component component) { /* * Constructor that controls whether this listen can be used once or * multiple times. - * + * * @param removeListener when true this listener is only invoked once * otherwise it can be invoked multiple times. */ diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/ConfigureProjectOptions.java b/src/main/java/org/openmbee/mdk/options/ConfigureProjectOptions.java similarity index 74% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/ConfigureProjectOptions.java rename to src/main/java/org/openmbee/mdk/options/ConfigureProjectOptions.java index f2c59eafd..a7c2f0636 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/ConfigureProjectOptions.java +++ b/src/main/java/org/openmbee/mdk/options/ConfigureProjectOptions.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.options; +package org.openmbee.mdk.options; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.options.ProjectOptions; -import gov.nasa.jpl.mbee.mdk.MDKProjectOptionsConfigurator; -import gov.nasa.jpl.mbee.mdk.options.listener.MDKProjectEventListener; +import org.openmbee.mdk.MDKProjectOptionsConfigurator; +import org.openmbee.mdk.options.listener.MDKProjectEventListener; public class ConfigureProjectOptions { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKEnvironmentOptionsGroup.java b/src/main/java/org/openmbee/mdk/options/MDKEnvironmentOptionsGroup.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKEnvironmentOptionsGroup.java rename to src/main/java/org/openmbee/mdk/options/MDKEnvironmentOptionsGroup.java index 6f6887fdc..519410363 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKEnvironmentOptionsGroup.java +++ b/src/main/java/org/openmbee/mdk/options/MDKEnvironmentOptionsGroup.java @@ -1,10 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.options; +package org.openmbee.mdk.options; -import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.options.AbstractPropertyOptionsGroup; import com.nomagic.magicdraw.properties.*; import com.nomagic.magicdraw.ui.ImageMap16; -import gov.nasa.jpl.mbee.mdk.util.MDUtils; +import org.openmbee.mdk.util.MDUtils; import javax.swing.*; import java.io.File; @@ -24,7 +23,7 @@ public class MDKEnvironmentOptionsGroup extends AbstractPropertyOptionsGroup { ENABLE_COORDINATED_SYNC_ID = "ENABLE_COORDINATED_SYNC_ID", CUSTOM_USER_SCRIPT_DIRECTORIES_ID = "CUSTOM_USER_SCRIPT_DIRECTORIES_ID", MMS_AUTHENTICATION_CHAIN = "MMS_AUTHENTICATION_CHAIN", - DOCBOOK_TO_PDF_STYLESHEET = "DOCBOOK_TO_PDF_STYLESHEET"; + DOCBOOK_TO_PDF_STYLESHEET = "DOCBOOK_TO_PDF_STYLESHEET"; public MDKEnvironmentOptionsGroup() { super(ID); @@ -134,20 +133,20 @@ public void setUserScriptDirectory(String path) { property.setGroup(GROUP); addProperty(property, true); } - - + + public String getDocBookToPDFStyleSheet() { Property p = getProperty(DOCBOOK_TO_PDF_STYLESHEET); return (String) p.getValue(); } - + public void setDocBookToPDFStyleSheet(String value) { FileProperty property = new FileProperty(DOCBOOK_TO_PDF_STYLESHEET, value, FileProperty.FILES_ONLY); property.setResourceProvider(PROPERTY_RESOURCE_PROVIDER); property.setGroup(GROUP); addProperty(property, true); } - + public List getAuthenticationChain() { String val = PROPERTY_RESOURCE_PROVIDER.getString(MMS_AUTHENTICATION_CHAIN, null); @@ -182,7 +181,7 @@ public void setDefaultValues() { setCoordinatedSyncEnabled(true); setUserScriptDirectory(""); setAuthenticationChain( - "gov.nasa.jpl.mbee.mdk.tickets.BasicAuthAcquireTicketProcessor,gov.nasa.jpl.mbee.mdk.tickets.AuthenticationChainError"); + "org.openmbee.mdk.tickets.BasicAuthAcquireTicketProcessor,org.openmbee.mdk.tickets.AuthenticationChainError"); setDocBookToPDFStyleSheet(""); } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKEnvironmentOptionsGroupResources.java b/src/main/java/org/openmbee/mdk/options/MDKEnvironmentOptionsGroupResources.java similarity index 79% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKEnvironmentOptionsGroupResources.java rename to src/main/java/org/openmbee/mdk/options/MDKEnvironmentOptionsGroupResources.java index 8ced6e6b9..8dc585989 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKEnvironmentOptionsGroupResources.java +++ b/src/main/java/org/openmbee/mdk/options/MDKEnvironmentOptionsGroupResources.java @@ -1,9 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.options; +package org.openmbee.mdk.options; import com.nomagic.magicdraw.resources.ResourceManager; public class MDKEnvironmentOptionsGroupResources { - public static final String BUNDLE_NAME = "gov.nasa.jpl.mbee.mdk.options.EnvironmentOptionsResources"; + public static final String BUNDLE_NAME = "org.openmbee.mdk.options.EnvironmentOptionsResources"; /** * Constructs this resource handler. @@ -21,4 +21,4 @@ private MDKEnvironmentOptionsGroupResources() { public static String getString(String key) { return ResourceManager.getStringFor(key, BUNDLE_NAME, MDKEnvironmentOptionsGroupResources.class.getClassLoader()); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKProjectOptions.java b/src/main/java/org/openmbee/mdk/options/MDKProjectOptions.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKProjectOptions.java rename to src/main/java/org/openmbee/mdk/options/MDKProjectOptions.java index feb1367fc..2c1fc1f7d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKProjectOptions.java +++ b/src/main/java/org/openmbee/mdk/options/MDKProjectOptions.java @@ -1,11 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.options; +package org.openmbee.mdk.options; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.ProjectUtilities; import com.nomagic.magicdraw.core.options.ProjectOptions; import com.nomagic.magicdraw.properties.BooleanProperty; -import com.nomagic.magicdraw.properties.ElementListProperty; import com.nomagic.magicdraw.properties.Property; import com.nomagic.magicdraw.properties.StringProperty; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; @@ -14,8 +13,6 @@ import javax.swing.*; import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; import java.util.Optional; public class MDKProjectOptions { @@ -163,7 +160,7 @@ public static URIBuilder getMmsUrl(Project project) { Application.getInstance().getGUILog().log("[ERROR] You must enable MBEE Integration before continuing."); return null; } - + public static URIBuilder getVeUrl(Project project) { if (project == null) { return null; @@ -194,7 +191,7 @@ public static boolean isMigrationAllowed(Project project) { } /** - * @description + * @description * @param project * @throws IllegalStateException */ @@ -266,4 +263,4 @@ public static URIBuilder getUriBuilder(String urlString, String basePath) { } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKProjectOptionsResources.java b/src/main/java/org/openmbee/mdk/options/MDKProjectOptionsResources.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKProjectOptionsResources.java rename to src/main/java/org/openmbee/mdk/options/MDKProjectOptionsResources.java index fa2f184d3..8cd811879 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKProjectOptionsResources.java +++ b/src/main/java/org/openmbee/mdk/options/MDKProjectOptionsResources.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.options; +package org.openmbee.mdk.options; import com.nomagic.magicdraw.resources.ResourceManager; import java.text.MessageFormat; public class MDKProjectOptionsResources { - public static final String BUNDLE_NAME = "gov.nasa.jpl.mbee.mdk.options.ProjectOptionsResources"; + public static final String BUNDLE_NAME = "org.openmbee.mdk.options.ProjectOptionsResources"; /** * Constructs this resource handler. @@ -30,4 +30,4 @@ public static String getStringFor(String var0, String... var1) { var2 = MessageFormat.format(var2, (Object[])var1); return var2; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKPropertyResourceProvider.java b/src/main/java/org/openmbee/mdk/options/MDKPropertyResourceProvider.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKPropertyResourceProvider.java rename to src/main/java/org/openmbee/mdk/options/MDKPropertyResourceProvider.java index 134ad4a47..896bad203 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/MDKPropertyResourceProvider.java +++ b/src/main/java/org/openmbee/mdk/options/MDKPropertyResourceProvider.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.options; +package org.openmbee.mdk.options; import com.nomagic.magicdraw.properties.Property; import com.nomagic.magicdraw.properties.PropertyResourceProvider; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectEventListener.java b/src/main/java/org/openmbee/mdk/options/listener/MDKProjectEventListener.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectEventListener.java rename to src/main/java/org/openmbee/mdk/options/listener/MDKProjectEventListener.java index 4925832dc..4c9c241f7 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectEventListener.java +++ b/src/main/java/org/openmbee/mdk/options/listener/MDKProjectEventListener.java @@ -1,11 +1,11 @@ -package gov.nasa.jpl.mbee.mdk.options.listener; +package org.openmbee.mdk.options.listener; import com.nomagic.ci.persistence.IProject; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.core.ProjectUtilitiesInternal; import com.nomagic.magicdraw.core.project.ProjectEventListenerAdapter; import com.nomagic.magicdraw.core.project.ProjectPartLoadedListener; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.options.MDKProjectOptions; public class MDKProjectEventListener extends ProjectEventListenerAdapter implements ProjectPartLoadedListener { @@ -47,4 +47,4 @@ private static IllegalStateException InstanceNotFound(IllegalStateException var0 return var0; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectOptionsChangeListener.java b/src/main/java/org/openmbee/mdk/options/listener/MDKProjectOptionsChangeListener.java similarity index 88% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectOptionsChangeListener.java rename to src/main/java/org/openmbee/mdk/options/listener/MDKProjectOptionsChangeListener.java index 7abaee806..f3945eaaa 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectOptionsChangeListener.java +++ b/src/main/java/org/openmbee/mdk/options/listener/MDKProjectOptionsChangeListener.java @@ -1,9 +1,8 @@ -package gov.nasa.jpl.mbee.mdk.options.listener; +package org.openmbee.mdk.options.listener; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; -import com.nomagic.magicdraw.core.ProjectUtilities; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.options.MDKProjectOptions; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -44,4 +43,4 @@ private static IllegalStateException InstanceNotFound(IllegalStateException var0 return var0; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectPartLoadedListener.java b/src/main/java/org/openmbee/mdk/options/listener/MDKProjectPartLoadedListener.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectPartLoadedListener.java rename to src/main/java/org/openmbee/mdk/options/listener/MDKProjectPartLoadedListener.java index 3517018ed..438c4f8b0 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/options/listener/MDKProjectPartLoadedListener.java +++ b/src/main/java/org/openmbee/mdk/options/listener/MDKProjectPartLoadedListener.java @@ -1,9 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.options.listener; +package org.openmbee.mdk.options.listener; import com.nomagic.magicdraw.core.Application; -import java.beans.PropertyChangeEvent; - public class MDKProjectPartLoadedListener { private static MDKProjectPartLoadedListener INSTANCE; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AbstractAcquireTicketProcessor.java b/src/main/java/org/openmbee/mdk/tickets/AbstractAcquireTicketProcessor.java similarity index 85% rename from src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AbstractAcquireTicketProcessor.java rename to src/main/java/org/openmbee/mdk/tickets/AbstractAcquireTicketProcessor.java index abd593e8f..5e52e474a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AbstractAcquireTicketProcessor.java +++ b/src/main/java/org/openmbee/mdk/tickets/AbstractAcquireTicketProcessor.java @@ -1,10 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.tickets; +package org.openmbee.mdk.tickets; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.options.MDKProjectOptions; public abstract class AbstractAcquireTicketProcessor { private AbstractAcquireTicketProcessor processor; @@ -29,4 +28,4 @@ public void reset() { processor.reset(); } } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AcquireTicketChain.java b/src/main/java/org/openmbee/mdk/tickets/AcquireTicketChain.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AcquireTicketChain.java rename to src/main/java/org/openmbee/mdk/tickets/AcquireTicketChain.java index 9a8b77543..eedcaf6bb 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AcquireTicketChain.java +++ b/src/main/java/org/openmbee/mdk/tickets/AcquireTicketChain.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.tickets; +package org.openmbee.mdk.tickets; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; @@ -6,11 +6,10 @@ import com.nomagic.magicdraw.core.Project; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; - public class AcquireTicketChain { AbstractAcquireTicketProcessor chain; private static final Logger logger = LoggerFactory.getLogger(AcquireTicketChain.class); @@ -47,4 +46,4 @@ public boolean acquireMmsTicket(Project project) { public void reset() { chain.reset(); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AuthenticationChainError.java b/src/main/java/org/openmbee/mdk/tickets/AuthenticationChainError.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AuthenticationChainError.java rename to src/main/java/org/openmbee/mdk/tickets/AuthenticationChainError.java index 02ba19caf..401aaf4b5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/AuthenticationChainError.java +++ b/src/main/java/org/openmbee/mdk/tickets/AuthenticationChainError.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.tickets; +package org.openmbee.mdk.tickets; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; @@ -13,4 +13,4 @@ public boolean acquireMmsTicket(Project project) { Application.getInstance().getGUILog().log("[ERROR] Unable to login to MMS with provided credentials."); return false; } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/BasicAuthAcquireTicketProcessor.java b/src/main/java/org/openmbee/mdk/tickets/BasicAuthAcquireTicketProcessor.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/tickets/BasicAuthAcquireTicketProcessor.java rename to src/main/java/org/openmbee/mdk/tickets/BasicAuthAcquireTicketProcessor.java index a18deebaf..509d8a8b4 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/BasicAuthAcquireTicketProcessor.java +++ b/src/main/java/org/openmbee/mdk/tickets/BasicAuthAcquireTicketProcessor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.tickets; +package org.openmbee.mdk.tickets; import java.awt.GridLayout; import java.awt.event.FocusAdapter; @@ -24,18 +24,18 @@ import com.nomagic.task.ProgressStatus; import com.nomagic.ui.ProgressStatusRunner; -import gov.nasa.jpl.mbee.mdk.options.MDKProjectOptions; +import org.openmbee.mdk.options.MDKProjectOptions; import org.apache.http.client.methods.HttpRequestBase; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLogoutAction; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointType; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSLoginEndpoint; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.MMSLogoutAction; +import org.openmbee.mdk.mms.endpoints.MMSEndpointBuilderConstants; +import org.openmbee.mdk.mms.endpoints.MMSEndpointType; +import org.openmbee.mdk.mms.endpoints.MMSLoginEndpoint; +import org.openmbee.mdk.util.TicketUtils; +import org.openmbee.mdk.util.Utils; public class BasicAuthAcquireTicketProcessor extends AbstractAcquireTicketProcessor { public BasicAuthAcquireTicketProcessor(AbstractAcquireTicketProcessor processor) { @@ -266,4 +266,4 @@ public void reset() { clearPassword(); super.reset(); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/TWCAcquireTicketProcessor.java b/src/main/java/org/openmbee/mdk/tickets/TWCAcquireTicketProcessor.java similarity index 91% rename from src/main/java/gov/nasa/jpl/mbee/mdk/tickets/TWCAcquireTicketProcessor.java rename to src/main/java/org/openmbee/mdk/tickets/TWCAcquireTicketProcessor.java index 871eddf69..6ea901562 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/tickets/TWCAcquireTicketProcessor.java +++ b/src/main/java/org/openmbee/mdk/tickets/TWCAcquireTicketProcessor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.tickets; +package org.openmbee.mdk.tickets; import java.io.IOException; import java.net.ConnectException; @@ -14,16 +14,16 @@ import com.nomagic.ui.ProgressStatusRunner; import org.apache.http.client.methods.HttpRequestBase; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.endpoints.MMSEndpointType; +import org.openmbee.mdk.mms.endpoints.MMSTWCLoginEndpoint; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.json.JacksonUtils; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSEndpointType; -import gov.nasa.jpl.mbee.mdk.mms.endpoints.MMSTWCLoginEndpoint; -import gov.nasa.jpl.mbee.mdk.util.TicketUtils; +import org.openmbee.mdk.json.JacksonUtils; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.util.TicketUtils; public class TWCAcquireTicketProcessor extends AbstractAcquireTicketProcessor { public TWCAcquireTicketProcessor(AbstractAcquireTicketProcessor processor) { @@ -114,4 +114,4 @@ public boolean acquireMmsTicket(Project project) { public void reset() { super.reset(); } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ui/ViewEditorLinkForm.form b/src/main/java/org/openmbee/mdk/ui/ViewEditorLinkForm.form similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ui/ViewEditorLinkForm.form rename to src/main/java/org/openmbee/mdk/ui/ViewEditorLinkForm.form index 2c4c26c74..4b1c14ca3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ui/ViewEditorLinkForm.form +++ b/src/main/java/org/openmbee/mdk/ui/ViewEditorLinkForm.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/ui/ViewEditorLinkForm.java b/src/main/java/org/openmbee/mdk/ui/ViewEditorLinkForm.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/ui/ViewEditorLinkForm.java rename to src/main/java/org/openmbee/mdk/ui/ViewEditorLinkForm.java index f409998d4..94d60949d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/ui/ViewEditorLinkForm.java +++ b/src/main/java/org/openmbee/mdk/ui/ViewEditorLinkForm.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.ui; +package org.openmbee.mdk.ui; import com.nomagic.magicdraw.core.Application; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Changelog.java b/src/main/java/org/openmbee/mdk/util/Changelog.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/Changelog.java rename to src/main/java/org/openmbee/mdk/util/Changelog.java index 3fd7c0f28..3ecde141e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Changelog.java +++ b/src/main/java/org/openmbee/mdk/util/Changelog.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.magicdraw.core.Application; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/ClassUtils.java b/src/main/java/org/openmbee/mdk/util/ClassUtils.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/ClassUtils.java rename to src/main/java/org/openmbee/mdk/util/ClassUtils.java index d05533d07..ce1ebd33a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/ClassUtils.java +++ b/src/main/java/org/openmbee/mdk/util/ClassUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.lang.reflect.*; import java.util.*; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/CollectionAdder.java b/src/main/java/org/openmbee/mdk/util/CollectionAdder.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/CollectionAdder.java rename to src/main/java/org/openmbee/mdk/util/CollectionAdder.java index 5942a7422..b5619a0e3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/CollectionAdder.java +++ b/src/main/java/org/openmbee/mdk/util/CollectionAdder.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/CompareUtils.java b/src/main/java/org/openmbee/mdk/util/CompareUtils.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/CompareUtils.java rename to src/main/java/org/openmbee/mdk/util/CompareUtils.java index 2092b0724..81c30f3d5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/CompareUtils.java +++ b/src/main/java/org/openmbee/mdk/util/CompareUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; // import gov.nasa.jpl.ae.solver.HasId; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Debug.java b/src/main/java/org/openmbee/mdk/util/Debug.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/Debug.java rename to src/main/java/org/openmbee/mdk/util/Debug.java index 9039f5376..dcb3677d3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Debug.java +++ b/src/main/java/org/openmbee/mdk/util/Debug.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.awt.*; import java.io.PrintWriter; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/DependencyMatrixTool.java b/src/main/java/org/openmbee/mdk/util/DependencyMatrixTool.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/DependencyMatrixTool.java rename to src/main/java/org/openmbee/mdk/util/DependencyMatrixTool.java index 64e54984a..21bde5626 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/DependencyMatrixTool.java +++ b/src/main/java/org/openmbee/mdk/util/DependencyMatrixTool.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.annotation.OpenApiAll; import com.nomagic.magicdraw.core.Application; diff --git a/src/main/java/org/openmbee/mdk/util/GeneratorUtils.java b/src/main/java/org/openmbee/mdk/util/GeneratorUtils.java new file mode 100644 index 000000000..a33333a46 --- /dev/null +++ b/src/main/java/org/openmbee/mdk/util/GeneratorUtils.java @@ -0,0 +1,256 @@ +package org.openmbee.mdk.util; + +import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; +import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; +import com.nomagic.uml2.ext.jmi.helpers.TagsHelper; +import com.nomagic.uml2.ext.magicdraw.actions.mdbasicactions.CallBehaviorAction; +import com.nomagic.uml2.ext.magicdraw.activities.mdbasicactivities.InitialNode; +import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; +import com.nomagic.uml2.ext.magicdraw.commonbehaviors.mdbasicbehaviors.Behavior; +import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.model.docmeta.DocumentMeta; +import org.openmbee.mdk.model.docmeta.Person; +import org.openmbee.mdk.model.docmeta.Revision; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +public class GeneratorUtils { + public static Element findStereotypedRelationship(Element e, Stereotype s) { + List ss = new ArrayList(); + ss.add(s); + List es = Utils.collectDirectedRelatedElementsByRelationshipStereotypes(e, ss, 1, true, 1); + if (es.size() > 0) { + return es.get(0); + } + return null; + } + + public static InitialNode findInitialNode(Element a) { + if (a == null) { + return null; + } + for (Element e : a.getOwnedElement()) { + if (e instanceof InitialNode) { + return (InitialNode) e; + } + } + return null; + } + + public static Object getStereotypePropertyFirst(Element element, Property property, Object defaultValue) { + Collection values = getStereotypePropertyValue(element, property, Collections.emptyList()); + return !values.isEmpty() ? values.iterator().next() : defaultValue; + } + + public static List getStereotypePropertyValue(Element element, Property property, List defaultValue) { + TaggedValue value = TagsHelper.getTaggedValue(element, property); + List values = value == null ? Collections.emptyList() : value.getValue(); + Behavior behavior; + if (values.isEmpty() && element instanceof CallBehaviorAction && (behavior = ((CallBehaviorAction) element).getBehavior()) != null) { + value = TagsHelper.getTaggedValue(behavior, property); + if (value != null) { + values = value.getValue(); + } + } + if (values.isEmpty()) { + values = defaultValue; + } + return values; + } + + public static boolean hasStereotype(Element e, Stereotype stereotype) { + return hasStereotype(e, stereotype, false); + } + + public static boolean hasStereotype(Element e, Stereotype stereotype, boolean derived) { + Behavior a = null; + if (e instanceof CallBehaviorAction) { + a = ((CallBehaviorAction) e).getBehavior(); + } + if (!derived) { + if (StereotypesHelper.hasStereotype(e, stereotype) + || (a != null && StereotypesHelper.hasStereotype(a, stereotype))) { + return true; + } + } else { + if (StereotypesHelper.hasStereotypeOrDerived(e, stereotype) + || (a != null && StereotypesHelper.hasStereotypeOrDerived(a, stereotype))) { + return true; + } + } + return false; + } + + public static void docMetadata(Document doc, Element start) { + DocumentMeta meta = new DocumentMeta(); + doc.setMetadata(meta); + SysMLExtensions profile = SysMLExtensions.getInstance(start); + SysMLExtensions.ProductStereotype product = profile.product(); + SysMLExtensions.DocumentMetaStereotype m = profile.documentMeta(); + // documentMeta Backwards Compatibility + String title = m.getTitle(start); + String subtitle = m.getSubtitle(start); + List header = m.getHeader(start); + List footer = m.getFooter(start); + String legalNotice = m.getLegalNotice(start); + String acknowledgements = m.getAcknowledgements(start); + Boolean chunkFirstSectionsO = m.isChunkFirstSections(start); + Diagram coverImage = (Diagram) m.getCoverImage(start); + boolean chunkFirstSections = !(chunkFirstSectionsO instanceof Boolean && !(Boolean) chunkFirstSectionsO); + Boolean indexO = m.isIndex(start); + boolean index = (indexO instanceof Boolean && (Boolean) indexO); + Integer tocSectionDepthO = m.getTocSectionDepth(start); + Integer tocSectionDepth = 20; + if (tocSectionDepthO != null && tocSectionDepthO instanceof Integer && (Integer) tocSectionDepthO > 0) { + tocSectionDepth = (Integer) tocSectionDepthO; + } + Integer chunkSectionDepthO = m.getChunkSectionDepth(start); + Integer chunkSectionDepth = 20; + if (chunkSectionDepthO != null && chunkSectionDepthO instanceof Integer + && (Integer) chunkSectionDepthO > 0) { + chunkSectionDepth = (Integer) chunkSectionDepthO; + } + + // Document View Settings + String LogoAlignment = product.getLogoAlignment(start); + String LogoLocation = product.getLogoLocation(start); + String AbbreviatedProjectName = product.getProjectAcronym(start); + + String AbbreiviatedTitle = product.getDocumentAcronym(start); + String TitlePageLegalNotice = product.getTitlePageLegalNotice(start); + String FooterLegalNotice = product.getFooterLegalNotice(start); + Boolean RemoveBlankPages = product.isRemoveBlankPages(start); + + List CollaboratorEmail = product.getCollaboratorEmail(start); + List RevisionHistory = product.getRevisionHistory(start); + String JPLProjectTitle = product.getFormalProjectTitle(start); + + String LogoSize = product.getLogoSize(start); + Boolean UseDefaultStylesheetO = product.isSupressMetadata(start); + boolean UseDefaultStylesheet = !(UseDefaultStylesheetO instanceof Boolean + && !(Boolean) UseDefaultStylesheetO); + + Boolean genO = product.isGenNewImages(start); + boolean gen = (genO instanceof Boolean && genO); + + if (title == null || title.isEmpty()) { + title = ((NamedElement) start).getName(); + } + + // Institutional Logo setup + String instLogo = product.getInstLogo(start); + String instLogoSize = product.getInstLogoSize(start); + String instTxt1 = product.getInsttxt1(start); + String instTxt2 = product.getInsttxt2(start); + + // Collect author information + List Author = product.getAuthor(start); + // Collect approver information + List Approver = product.getApprover(start); + // Collect concurrence information + List Concurrence = product.getConcurrence(start); + + doc.setChunkFirstSections(chunkFirstSections); + doc.setChunkSectionDepth(chunkSectionDepth); + doc.setFooter(footer.size() == 0 ? null : footer.get(0)); + doc.setHeader(header.size() == 0 ? null : header.get(0)); + doc.setTitle(title); + doc.setTocSectionDepth(tocSectionDepth); + + doc.setRemoveBlankPages(RemoveBlankPages); + + doc.setUseDefaultStylesheet(UseDefaultStylesheet); + + meta.setAuthors(getPersons(Author)); + meta.setApprovers(getPersons(Approver)); + meta.setConcurrances(getPersons(Concurrence)); + meta.setHistory(getRevisions(RevisionHistory)); + + meta.setCollaboratorEmails(CollaboratorEmail); + meta.setGenNewImages(gen); + meta.setAcknowledgement(acknowledgements); + meta.setChunkSectionDepth(chunkSectionDepth); + meta.setChunkFirstSections(chunkFirstSections); + meta.setCoverImage(coverImage); + meta.setFooter(footer.size() == 0 ? null : footer.get(0)); + meta.setHeader(header.size() == 0 ? null : header.get(0)); + meta.setTitlePageLegalNotice(legalNotice); + meta.setIndex(index); + meta.setSubtitle(subtitle); + meta.setTitle(title); + meta.setTocSectionDepth(tocSectionDepth); + meta.setLogoAlignment(LogoAlignment); + meta.setLogoLink(LogoLocation); + meta.setProjectAcronym(AbbreviatedProjectName); + meta.setDocumentAcronym(AbbreiviatedTitle); + meta.setTitlePageLegalNotice(TitlePageLegalNotice); + meta.setFooterLegalNotice(FooterLegalNotice); + meta.setProjectTitle(JPLProjectTitle); + meta.setUseDefaultStyleSheet(UseDefaultStylesheet); + meta.setLogoSize(LogoSize); + meta.setInstituteLogoLink(instLogo); + meta.setInstituteLogoSize(instLogoSize); + meta.setInstituteName(instTxt1); + meta.setInstituteName2(instTxt2); + + } + + public static List getPersons(List s) { + List ps = new ArrayList(); + for (String author : s) { + if (author == null || author.isEmpty()) { + continue; + } + String[] tokens = author.split("[,]"); + if (tokens.length < 5) { + continue; + } + Person p = new Person(); + p.setFirstname(tokens[0]); + p.setLastname(tokens[1]); + p.setTitle(tokens[2]); + p.setOrgname(tokens[3]); + p.setOrgdiv(tokens[4]); + ps.add(p); + } + return ps; + } + + public static List getRevisions(List s) { + List rs = new ArrayList(); + for (String rev : s) { + if (rev == null || rev.isEmpty()) { + continue; + } + String[] tokens = rev.split("[|]"); + if (tokens.length < 5) { + continue; + } + Revision p = new Revision(); + p.setRevNumber(tokens[0]); + p.setDate(tokens[1]); + p.setFirstName(tokens[2]); + p.setLastName(tokens[3]); + p.setRemark(tokens[4]); + rs.add(p); + } + return rs; + } + + public static Behavior getViewpointMethod(Classifier viewpoint, Project project) { + List methods = SysMLProfile.getInstanceByProject(project).viewpoint().getMethod(viewpoint); + if (methods == null || methods.isEmpty()) { + return null; + } + if (!(methods.get(0) instanceof Behavior)) { + return null; + } + return (Behavior) methods.get(0); + } +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MDUtils.java b/src/main/java/org/openmbee/mdk/util/MDUtils.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/MDUtils.java rename to src/main/java/org/openmbee/mdk/util/MDUtils.java index 7eb507184..f815d2e08 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MDUtils.java +++ b/src/main/java/org/openmbee/mdk/util/MDUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; @@ -11,8 +11,8 @@ import com.nomagic.magicdraw.uml.symbols.DiagramPresentationElement; import com.nomagic.magicdraw.uml.symbols.PresentationElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import org.apache.batik.dom.svg.SAXSVGDocumentFactory; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.apache.batik.anim.dom.SAXSVGDocumentFactory; import org.apache.batik.util.XMLResourceDescriptor; import org.w3c.dom.Document; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MatrixUtil.java b/src/main/java/org/openmbee/mdk/util/MatrixUtil.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/MatrixUtil.java rename to src/main/java/org/openmbee/mdk/util/MatrixUtil.java index ef60ccdcd..a4e21dcf6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MatrixUtil.java +++ b/src/main/java/org/openmbee/mdk/util/MatrixUtil.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.annotation.InternalApi; import com.nomagic.annotation.OpenApiAll; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MdDebug.java b/src/main/java/org/openmbee/mdk/util/MdDebug.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/MdDebug.java rename to src/main/java/org/openmbee/mdk/util/MdDebug.java index fc27c276d..317092dc5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MdDebug.java +++ b/src/main/java/org/openmbee/mdk/util/MdDebug.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; @@ -145,7 +145,7 @@ protected static boolean isGuiThread() { public static void logUnsafe(final String s, final boolean addNewLine, final boolean isErr, final Color color) { - if (!Debug.isOn()) { + if (!isOn()) { return; } } @@ -207,7 +207,7 @@ public static void log(final String s, final boolean addNewLine, final boolean i } public static void log(final String s, final boolean addNewLine, final boolean isErr, final Color color) { - if (!Debug.on) { + if (!on) { return; } logForce(s, addNewLine, isErr, color); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MoreToString.java b/src/main/java/org/openmbee/mdk/util/MoreToString.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/MoreToString.java rename to src/main/java/org/openmbee/mdk/util/MoreToString.java index faa5ee6dd..67ce1c8fe 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/MoreToString.java +++ b/src/main/java/org/openmbee/mdk/util/MoreToString.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import org.junit.Assert; import org.junit.Test; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Pair.java b/src/main/java/org/openmbee/mdk/util/Pair.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/Pair.java rename to src/main/java/org/openmbee/mdk/util/Pair.java index 45bf75a14..fda4193bf 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Pair.java +++ b/src/main/java/org/openmbee/mdk/util/Pair.java @@ -22,7 +22,7 @@ * */ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.io.Serializable; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/ScriptRunner.java b/src/main/java/org/openmbee/mdk/util/ScriptRunner.java similarity index 90% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/ScriptRunner.java rename to src/main/java/org/openmbee/mdk/util/ScriptRunner.java index b54f02f95..8de518d0a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/ScriptRunner.java +++ b/src/main/java/org/openmbee/mdk/util/ScriptRunner.java @@ -1,18 +1,21 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.magicdraw.automaton.AutomatonPlugin; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.ApplicationEnvironment; import com.nomagic.magicdraw.core.GUILog; +import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.magicdraw.pathvariables.PathVariablesResolver; +import com.nomagic.magicdraw.sysml.util.SysMLProfile; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.EnumerationLiteral; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.SysMLExtensions; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; import javax.script.*; import java.io.File; @@ -61,19 +64,14 @@ public static Object runScriptFromStereotype(Element e, Stereotype s, Map inputs = new HashMap<>(); - List queries = Utils.collectDirectedRelatedElementsByRelationshipStereotypeString(e, "Expose", 1, false, 1); - if (queries == null || queries.isEmpty()) { - // For backward compatibility, also try Queries, the former name for - // Expose. - queries = Utils.collectDirectedRelatedElementsByRelationshipStereotypeString(e, "Queries", 1, false, 1); - } + List queries = Utils.collectDirectedRelatedElementsByRelationshipStereotype(e, SysMLProfile.getInstance(e).expose().getStereotype(), 1, true, 1); for (NamedElement p : s.getInheritedMember()) { if (p instanceof Property) { - inputs.put(p.getName(), StereotypesHelper.getStereotypePropertyValue(e, s, (Property) p)); + inputs.put(p.getName(), StereotypesHelper.getStereotypePropertyValue(e, (Property) p)); } } for (Property p : s.getOwnedAttribute()) { - inputs.put(p.getName(), StereotypesHelper.getStereotypePropertyValue(e, s, p)); + inputs.put(p.getName(), StereotypesHelper.getStereotypePropertyValue(e, p)); } inputs.put("inputElement", e); @@ -102,15 +100,12 @@ public static Object runScriptFromStereotype(Element e, Stereotype s, Map inputs, File Object output = null; ClassLoader localClassLoader = Thread.currentThread().getContextClassLoader(); boolean sessionCreated = false; - if (!SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().createSession(language + " script run"); + Project project = Application.getInstance().getProject(); + if (!SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().createSession(project,language + " script run"); sessionCreated = true; } String scriptResolvedPath = null; @@ -203,8 +199,8 @@ public static Object runScript(String language, Map inputs, File } output = se.get("scriptOutput"); - if (sessionCreated && SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().closeSession(); + if (sessionCreated && SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().closeSession(project); sessionCreated = false; } return output; @@ -213,9 +209,9 @@ public static Object runScript(String language, Map inputs, File e.printStackTrace(); } finally { Thread.currentThread().setContextClassLoader(localClassLoader); - if (sessionCreated && SessionManager.getInstance().isSessionCreated()) { + if (sessionCreated && SessionManager.getInstance().isSessionCreated(project)) { // if we made the session, need to cancel due to script failure - SessionManager.getInstance().cancelSession(); + SessionManager.getInstance().cancelSession(project); } } return output; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/SeenHashSet.java b/src/main/java/org/openmbee/mdk/util/SeenHashSet.java similarity index 92% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/SeenHashSet.java rename to src/main/java/org/openmbee/mdk/util/SeenHashSet.java index 77afa448c..67827198a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/SeenHashSet.java +++ b/src/main/java/org/openmbee/mdk/util/SeenHashSet.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.util.Collection; import java.util.HashSet; @@ -14,7 +14,7 @@ public class SeenHashSet extends HashSet implements SeenSet { /* * (non-Javadoc) - * + * * @see gov.nasa.jpl.ae.util.SeenSet#seen(java.lang.Object, boolean) */ @Override diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/SeenSet.java b/src/main/java/org/openmbee/mdk/util/SeenSet.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/SeenSet.java rename to src/main/java/org/openmbee/mdk/util/SeenSet.java index 2b909df64..3122109c9 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/SeenSet.java +++ b/src/main/java/org/openmbee/mdk/util/SeenSet.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/TaskRunner.java b/src/main/java/org/openmbee/mdk/util/TaskRunner.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/TaskRunner.java rename to src/main/java/org/openmbee/mdk/util/TaskRunner.java index 8c67c80dd..7c79a4e53 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/TaskRunner.java +++ b/src/main/java/org/openmbee/mdk/util/TaskRunner.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.magicdraw.cookies.CloseCookie; import com.nomagic.magicdraw.core.Application; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/TicketUtils.java b/src/main/java/org/openmbee/mdk/util/TicketUtils.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/TicketUtils.java rename to src/main/java/org/openmbee/mdk/util/TicketUtils.java index d063de649..da700cb7e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/TicketUtils.java +++ b/src/main/java/org/openmbee/mdk/util/TicketUtils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.io.IOException; import java.net.URISyntaxException; @@ -13,10 +13,10 @@ import com.nomagic.magicdraw.core.Project; import com.nomagic.task.ProgressStatus; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.mms.MMSUtils; -import gov.nasa.jpl.mbee.mdk.mms.actions.MMSLogoutAction; -import gov.nasa.jpl.mbee.mdk.tickets.AcquireTicketChain; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.mms.MMSUtils; +import org.openmbee.mdk.mms.actions.MMSLogoutAction; +import org.openmbee.mdk.tickets.AcquireTicketChain; public class TicketUtils { private static final int TICKET_RENEWAL_INTERVAL = 15 * 60; // seconds diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Utils.java b/src/main/java/org/openmbee/mdk/util/Utils.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/Utils.java rename to src/main/java/org/openmbee/mdk/util/Utils.java index 978b33f43..db8ea202c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Utils.java +++ b/src/main/java/org/openmbee/mdk/util/Utils.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import com.nomagic.actions.NMAction; import com.nomagic.magicdraw.annotation.Annotation; @@ -17,33 +17,31 @@ import com.nomagic.magicdraw.uml.RepresentationTextCreator; import com.nomagic.magicdraw.uml.symbols.DiagramPresentationElement; import com.nomagic.magicdraw.validation.RuleViolationResult; +import com.nomagic.magicdraw.validation.ValidationHelper; import com.nomagic.magicdraw.validation.ValidationRunData; -import com.nomagic.magicdraw.validation.ui.ValidationResultsWindowManager; import com.nomagic.uml2.ext.jmi.helpers.ModelHelper; import com.nomagic.uml2.ext.jmi.helpers.StereotypesHelper; -import com.nomagic.uml2.ext.magicdraw.classes.mddependencies.Dependency; +import com.nomagic.uml2.ext.jmi.helpers.TagsHelper; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.*; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; import com.nomagic.uml2.impl.ElementsFactory; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable; -import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTableModel; -import gov.nasa.jpl.mbee.mdk.docgen.table.PropertyEnum; -import gov.nasa.jpl.mbee.mdk.emf.EmfUtils; -import gov.nasa.jpl.mbee.mdk.generator.CollectFilterParser; -import gov.nasa.jpl.mbee.mdk.docgen.ViewViewpointValidator; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.ocl.GetCallOperation; -import gov.nasa.jpl.mbee.mdk.ocl.GetCallOperation.CallReturnType; -import gov.nasa.jpl.mbee.mdk.ocl.OclEvaluator; -import gov.nasa.jpl.mbee.mdk.validation.*; -import org.apache.log4j.Logger; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.docgen.table.EditableTable; +import org.openmbee.mdk.docgen.table.EditableTableModel; +import org.openmbee.mdk.docgen.table.PropertyEnum; +import org.openmbee.mdk.emf.EmfUtils; +import org.openmbee.mdk.generator.CollectFilterParser; +import org.openmbee.mdk.docgen.ViewViewpointValidator; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; + +import org.openmbee.mdk.ocl.OclEvaluator; +import org.openmbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.validation.*; import javax.annotation.CheckForNull; import javax.swing.*; @@ -781,31 +779,6 @@ protected static void badDirectionError(int direction, String methodSignature) { + "; using direction = 0 (both directions)."); } - /** - * @param e - * @param stereotype - * @param direction direction 0 means both, 1 means e is the client, 2 means e is - * the supplier - * @param derived - * @param depth collect to what level of depth - 0 is infinite - * @return - */ - public static List collectDirectedRelatedElementsByRelationshipStereotypeString(Element e, String stereotype, int direction, boolean derived, int depth) { - Project project = Project.getProject(e); - if (e == null) { - return Utils2.newList(); - } - if (direction < 0 || direction > 2) { - badDirectionError(direction, "collectDirectedRelatedElementsByRelationshipStereotype()"); - direction = 0; - } - Stereotype s = StereotypesHelper.getStereotype(project, stereotype); - if (s != null) { - return collectDirectedRelatedElementsByRelationshipStereotype(e, s, direction, derived, depth); - } - return Utils2.newList(); - } - /** * depending on includeInherited flag, gets all the attributes of e based on * redefinition (if e is not a classifier it'll be ignored) if @@ -1284,47 +1257,6 @@ public static List findByName(Element owner, return results; } - public static Stereotype getConformStereotype(Project project) { - return (Stereotype) project.getElementByID("_11_5EAPbeta_be00301_1147420728091_674481_152"); - } - - public static Stereotype getExposeStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_5beta_17530432_1382587480303_325976_12505"); - } - - public static Stereotype getElementGroupStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_5beta_17530432_1382588727729_600191_12925"); - } - - public static Stereotype getViewStereotype(Project project) { - return (Stereotype) project.getElementByID("_11_5EAPbeta_be00301_1147420760998_43940_227"); - } - - public static Stereotype getViewpointStereotype(Project project) { - return (Stereotype) project.getElementByID("_11_5EAPbeta_be00301_1147420812402_281263_364"); - } - - public static Stereotype getCharacterizesStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_5_1_8660276_1407362513794_939259_26181"); - } - - public static Stereotype getDocumentStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_2_3_87b0275_1371477871400_792964_43374"); - } - - public static Stereotype getProductStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_1_407019f_1326996604350_494231_11646"); - } - - public static Stereotype getExpressionStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_2_3_e9f034d_1382549095816_841656_29288"); - } - - @Deprecated - public static Stereotype getViewClassStereotype(Project project) { - return (Stereotype) project.getElementByID("_17_0_1_232f03dc_1325612611695_581988_21583"); - } - public static Property getGeneratedFromViewProperty(Project project) { return (Property) project.getElementByID("_17_0_5_1_407019f_1430628276506_565_12080"); } @@ -1579,7 +1511,9 @@ public static void displayValidationWindow(Project project, Collection getSlots(Element elem) { - List slots = new ArrayList(); - InstanceSpecification localInstanceSpecification = elem.getAppliedStereotypeInstance(); - if (localInstanceSpecification != null) { - slots.addAll(localInstanceSpecification.getSlot()); - } - return slots; + public static List getTaggedValues(Element elem) { + return TagsHelper.collectVisibleTaggedValues(elem); } + /** * Get the element's matching Slots or Properties. * @@ -1908,8 +1829,8 @@ public static List getSlots(Element elem) { * @param prop the Stereotype tag or Class Property * @return a slot that matches the input property or null */ - public static Slot getStereotypeProperty(Element elem, Property prop) { - return getSlot(elem, prop); + public static TaggedValue getStereotypeProperty(Element elem, Property prop) { + return TagsHelper.getTaggedValue(elem, prop); } public static Property getClassProperty(Element elem, String propName, @@ -1953,14 +1874,14 @@ public static Property getStereotypePropertyByName(Stereotype stereotype, * * @param elem the Element with the sought Properties. * @param prop the Stereotype tag or Class Property - * @return a Property or Slot that corresponds to the input property + * @return a TaggedValue that corresponds to the input property */ public static Element getElementProperty(Element elem, Property prop) { - if (prop == null) { + if (prop == null || elem == null) { return null; } if (prop.getOwner() instanceof Stereotype) { - Slot slot = getStereotypeProperty(elem, prop); + TaggedValue slot = getTaggedValue(elem, prop); if (slot != null) { return slot; } @@ -2060,7 +1981,8 @@ public static ValueSpecification getClassPropertyValue(Element elem, Property pr public static List getStereotypePropertyValues(Element elem, Property prop, boolean useDefaultIfNoSlot) { List results = new ArrayList(); - Slot elemProp = getStereotypeProperty(elem, prop); + //TODO default values? + TaggedValue elemProp = getTaggedValue(elem, prop); if (elemProp != null) { if (elemProp.getValue() != null) { results.addAll(elemProp.getValue()); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Utils2.java b/src/main/java/org/openmbee/mdk/util/Utils2.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/Utils2.java rename to src/main/java/org/openmbee/mdk/util/Utils2.java index 695e0dc18..004aa903d 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/Utils2.java +++ b/src/main/java/org/openmbee/mdk/util/Utils2.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import java.util.*; import java.util.regex.Matcher; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/util/XMLUtil.java b/src/main/java/org/openmbee/mdk/util/XMLUtil.java similarity index 95% rename from src/main/java/gov/nasa/jpl/mbee/mdk/util/XMLUtil.java rename to src/main/java/org/openmbee/mdk/util/XMLUtil.java index 4b6979e56..ad560632c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/util/XMLUtil.java +++ b/src/main/java/org/openmbee/mdk/util/XMLUtil.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.util; +package org.openmbee.mdk.util; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -28,4 +28,4 @@ public int size() { return list.getLength(); } } -} \ No newline at end of file +} diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/GenericRuleViolationAction.java b/src/main/java/org/openmbee/mdk/validation/GenericRuleViolationAction.java similarity index 75% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/GenericRuleViolationAction.java rename to src/main/java/org/openmbee/mdk/validation/GenericRuleViolationAction.java index f86d8b327..31088c1a5 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/GenericRuleViolationAction.java +++ b/src/main/java/org/openmbee/mdk/validation/GenericRuleViolationAction.java @@ -1,8 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.actions.NMAction; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.annotation.AnnotationAction; +import com.nomagic.magicdraw.core.Application; +import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.SessionManager; import java.util.Collection; @@ -63,16 +65,18 @@ public void execute(Collection annotations) { } public void onStart() { - if (SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().closeSession(); + Project project = Application.getInstance().getProject(); + if (SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().closeSession(project); } - SessionManager.getInstance().createSession(getSessionName()); + SessionManager.getInstance().createSession(project, getSessionName()); //ProgressStatusRunner.runWithProgressStatus(progress, getProgressDescription(), false, 0); } public void onStop() { - if (SessionManager.getInstance().isSessionCreated()) { - SessionManager.getInstance().closeSession(); + Project project = Application.getInstance().getProject(); + if (SessionManager.getInstance().isSessionCreated(project)) { + SessionManager.getInstance().closeSession(project); } } diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/IRuleViolationAction.java b/src/main/java/org/openmbee/mdk/validation/IRuleViolationAction.java similarity index 88% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/IRuleViolationAction.java rename to src/main/java/org/openmbee/mdk/validation/IRuleViolationAction.java index 962bcd26f..a5656593e 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/IRuleViolationAction.java +++ b/src/main/java/org/openmbee/mdk/validation/IRuleViolationAction.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.validation.RuleViolationResult; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/IndeterminateProgressMonitorProxy.java b/src/main/java/org/openmbee/mdk/validation/IndeterminateProgressMonitorProxy.java similarity index 99% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/IndeterminateProgressMonitorProxy.java rename to src/main/java/org/openmbee/mdk/validation/IndeterminateProgressMonitorProxy.java index 74a51cba8..b26578096 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/IndeterminateProgressMonitorProxy.java +++ b/src/main/java/org/openmbee/mdk/validation/IndeterminateProgressMonitorProxy.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.core.Application; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/RuleViolationAction.java b/src/main/java/org/openmbee/mdk/validation/RuleViolationAction.java similarity index 73% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/RuleViolationAction.java rename to src/main/java/org/openmbee/mdk/validation/RuleViolationAction.java index d09ec13cb..782fcd692 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/RuleViolationAction.java +++ b/src/main/java/org/openmbee/mdk/validation/RuleViolationAction.java @@ -1,15 +1,16 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.magicdraw.actions.MDAction; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.annotation.AnnotationManager; import com.nomagic.magicdraw.core.Application; +import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.openapi.uml.ReadOnlyElementException; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.magicdraw.validation.RuleViolationResult; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; -import gov.nasa.jpl.mbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; -import gov.nasa.jpl.mbee.mdk.util.Utils; +import org.openmbee.mdk.mms.sync.local.LocalDeltaProjectEventListenerAdapter; +import org.openmbee.mdk.mms.sync.local.LocalDeltaTransactionCommitListener; +import org.openmbee.mdk.util.Utils; import javax.swing.*; import java.util.Collection; @@ -51,17 +52,23 @@ public void removeViolationAndUpdateWindow() { return; } vwr.results.remove(rvr); - AnnotationManager.getInstance().remove(annotation); - AnnotationManager.getInstance().update(); + Project project = Application.getInstance().getProject(); + if(project != null) { + AnnotationManager.getInstance(project).remove(annotation); + AnnotationManager.getInstance(project).update(); + } //ValidationResultsWindowManager.updateValidationResultsWindow(vwr.id, vwr.title, vwr.runData, vwr.results); } public void removeViolationsAndUpdateWindow(Collection annos) { - for (Annotation anno : annos) { - vwr.results.remove(vwr.mapping.get(anno)); - AnnotationManager.getInstance().remove(anno); + Project project = Application.getInstance().getProject(); + if(project != null) { + for (Annotation anno : annos) { + vwr.results.remove(vwr.mapping.get(anno)); + AnnotationManager.getInstance(project).remove(anno); + } + AnnotationManager.getInstance(project).update(); } - AnnotationManager.getInstance().update(); //ValidationResultsWindowManager.updateValidationResultsWindow(vwr.id, vwr.title, vwr.runData, vwr.results); } @@ -81,7 +88,8 @@ protected void executeMany(Collection annos, String sessionName) { if (listener != null) { listener.setDisabled(true); } - SessionManager.getInstance().createSession(sessionName); + Project project = Application.getInstance().getProject(); + SessionManager.getInstance().createSession(project, sessionName); Collection toremove = new HashSet(); try { boolean noneditable = false; @@ -93,7 +101,7 @@ protected void executeMany(Collection annos, String sessionName) { noneditable = true; } } - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); if (noneditable) { Application.getInstance().getGUILog().log("[ERROR] There were some elements couldn't be imported"); } @@ -104,7 +112,7 @@ protected void executeMany(Collection annos, String sessionName) { this.removeViolationsAndUpdateWindow(toremove); } catch (Exception ex) { - SessionManager.getInstance().cancelSession(); + SessionManager.getInstance().cancelSession(project); Utils.printException(ex); } if (listener != null) { @@ -113,25 +121,26 @@ protected void executeMany(Collection annos, String sessionName) { } protected void execute(String sessionName) { + Project project = Application.getInstance().getProject(); LocalDeltaTransactionCommitListener listener = LocalDeltaProjectEventListenerAdapter.getProjectMapping(Application.getInstance().getProject()).getLocalDeltaTransactionCommitListener(); if (listener != null) { listener.setDisabled(true); } - SessionManager.getInstance().createSession("Change Rel"); + SessionManager.getInstance().createSession(project, "Change Rel"); try { if (doAction(null)) { - SessionManager.getInstance().closeSession(); + SessionManager.getInstance().closeSession(project); saySuccess(); doAfterSuccess(); this.removeViolationAndUpdateWindow(); } else { - SessionManager.getInstance().cancelSession(); + SessionManager.getInstance().cancelSession(project); } //AnnotationManager.getInstance().remove(annotation); //AnnotationManager.getInstance().update(); } catch (Exception ex) { - SessionManager.getInstance().cancelSession(); + SessionManager.getInstance().cancelSession(project); Utils.printException(ex); } if (listener != null) { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationRule.java b/src/main/java/org/openmbee/mdk/validation/ValidationRule.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationRule.java rename to src/main/java/org/openmbee/mdk/validation/ValidationRule.java index 3e1d2cf3e..2ee14a15b 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationRule.java +++ b/src/main/java/org/openmbee/mdk/validation/ValidationRule.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationRuleViolation.java b/src/main/java/org/openmbee/mdk/validation/ValidationRuleViolation.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationRuleViolation.java rename to src/main/java/org/openmbee/mdk/validation/ValidationRuleViolation.java index a3d055ddb..f2ad46a76 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationRuleViolation.java +++ b/src/main/java/org/openmbee/mdk/validation/ValidationRuleViolation.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.actions.NMAction; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationSuite.java b/src/main/java/org/openmbee/mdk/validation/ValidationSuite.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationSuite.java rename to src/main/java/org/openmbee/mdk/validation/ValidationSuite.java index 7de15be21..a68204290 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationSuite.java +++ b/src/main/java/org/openmbee/mdk/validation/ValidationSuite.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.NamedElement; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.docgen.docbook.*; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationWindowRun.java b/src/main/java/org/openmbee/mdk/validation/ValidationWindowRun.java similarity index 94% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationWindowRun.java rename to src/main/java/org/openmbee/mdk/validation/ValidationWindowRun.java index d839ad6dd..1b08ea14a 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ValidationWindowRun.java +++ b/src/main/java/org/openmbee/mdk/validation/ValidationWindowRun.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; import com.nomagic.magicdraw.annotation.Annotation; import com.nomagic.magicdraw.validation.RuleViolationResult; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ViolationSeverity.java b/src/main/java/org/openmbee/mdk/validation/ViolationSeverity.java similarity index 63% rename from src/main/java/gov/nasa/jpl/mbee/mdk/validation/ViolationSeverity.java rename to src/main/java/org/openmbee/mdk/validation/ViolationSeverity.java index 49bc84a2f..dc9db91b6 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/validation/ViolationSeverity.java +++ b/src/main/java/org/openmbee/mdk/validation/ViolationSeverity.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.validation; +package org.openmbee.mdk.validation; public enum ViolationSeverity { WARNING, ERROR, INFO, FATAL, DEBUG diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoListVisitor.java b/src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoListVisitor.java similarity index 96% rename from src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoListVisitor.java rename to src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoListVisitor.java index 931ef6f94..ecfd62d2c 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoListVisitor.java +++ b/src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoListVisitor.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.viewedit; +package org.openmbee.mdk.viewedit; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.api.incubating.convert.Converters; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.openmbee.mdk.docgen.docbook.*; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoTableVisitor.java b/src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoTableVisitor.java similarity index 98% rename from src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoTableVisitor.java rename to src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoTableVisitor.java index 003d87ef2..307505b74 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoTableVisitor.java +++ b/src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoTableVisitor.java @@ -1,10 +1,10 @@ -package gov.nasa.jpl.mbee.mdk.viewedit; +package org.openmbee.mdk.viewedit; import com.nomagic.magicdraw.core.Project; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.api.incubating.convert.Converters; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.openmbee.mdk.docgen.docbook.*; import java.util.HashSet; import java.util.List; diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoVisitor.java b/src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoVisitor.java similarity index 97% rename from src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoVisitor.java rename to src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoVisitor.java index bf448d45d..c3d7f4977 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBAlfrescoVisitor.java +++ b/src/main/java/org/openmbee/mdk/viewedit/DBAlfrescoVisitor.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.viewedit; +package org.openmbee.mdk.viewedit; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.GUILog; @@ -6,17 +6,17 @@ import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.ElementValue; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.InstanceSpecification; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Slot; -import gov.nasa.jpl.mbee.mdk.api.docgen.uml.classes.PresentationElementClasses; -import gov.nasa.jpl.mbee.mdk.api.incubating.MDKConstants; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; -import gov.nasa.jpl.mbee.mdk.generator.PresentationElementInfo; -import gov.nasa.jpl.mbee.mdk.generator.PresentationElementInstance; -import gov.nasa.jpl.mbee.mdk.generator.PresentationElementUtils; -import gov.nasa.jpl.mbee.mdk.model.Section; +import org.openmbee.mdk.api.docgen.uml.classes.PresentationElementClasses; +import org.openmbee.mdk.api.incubating.MDKConstants; +import org.openmbee.mdk.api.incubating.convert.Converters; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.generator.PresentationElementInfo; +import org.openmbee.mdk.generator.PresentationElementInstance; +import org.openmbee.mdk.generator.PresentationElementUtils; +import org.openmbee.mdk.model.Section; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.openmbee.mdk.docgen.docbook.*; import java.util.*; @@ -51,7 +51,7 @@ public class DBAlfrescoVisitor extends DBAbstractVisitor { private Stack> currentUnusedInstances = new Stack<>(); private Stack> newpe = new Stack<>(); - private boolean main = false; //for ems 2.2 reference tree, only consider generated pe from main view and + private boolean main = false; //for ems 2.2 reference tree, only consider generated pe from main view and //not nested tables/lists since those are embedded in json blob, main is false for Table and List Visitor private PresentationElementUtils viu = new PresentationElementUtils(); diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBHTMLVisitor.java b/src/main/java/org/openmbee/mdk/viewedit/DBHTMLVisitor.java similarity index 93% rename from src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBHTMLVisitor.java rename to src/main/java/org/openmbee/mdk/viewedit/DBHTMLVisitor.java index e56b6e383..712ded5d3 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/DBHTMLVisitor.java +++ b/src/main/java/org/openmbee/mdk/viewedit/DBHTMLVisitor.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk.viewedit; +package org.openmbee.mdk.viewedit; -import gov.nasa.jpl.mbee.mdk.docgen.DocGenUtils; -import gov.nasa.jpl.mbee.mdk.docgen.docbook.*; +import org.openmbee.mdk.docgen.DocGenUtils; +import org.openmbee.mdk.docgen.docbook.*; public class DBHTMLVisitor extends DBAbstractVisitor { diff --git a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/ViewHierarchyVisitor.java b/src/main/java/org/openmbee/mdk/viewedit/ViewHierarchyVisitor.java similarity index 79% rename from src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/ViewHierarchyVisitor.java rename to src/main/java/org/openmbee/mdk/viewedit/ViewHierarchyVisitor.java index 5a0776d0e..e7c4fbd70 100644 --- a/src/main/java/gov/nasa/jpl/mbee/mdk/viewedit/ViewHierarchyVisitor.java +++ b/src/main/java/org/openmbee/mdk/viewedit/ViewHierarchyVisitor.java @@ -1,12 +1,9 @@ -package gov.nasa.jpl.mbee.mdk.viewedit; +package org.openmbee.mdk.viewedit; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.incubating.convert.Converters; -import gov.nasa.jpl.mbee.mdk.model.AbstractModelVisitor; -import gov.nasa.jpl.mbee.mdk.model.Document; -import gov.nasa.jpl.mbee.mdk.model.Section; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; +import org.openmbee.mdk.model.AbstractModelVisitor; +import org.openmbee.mdk.model.Document; +import org.openmbee.mdk.model.Section; import java.util.*; diff --git a/src/main/resources/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.css b/src/main/resources/org/openmbee/mdk/json/diff/ui/DiffView.css similarity index 100% rename from src/main/resources/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.css rename to src/main/resources/org/openmbee/mdk/json/diff/ui/DiffView.css diff --git a/src/main/resources/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.fxml b/src/main/resources/org/openmbee/mdk/json/diff/ui/DiffView.fxml similarity index 92% rename from src/main/resources/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.fxml rename to src/main/resources/org/openmbee/mdk/json/diff/ui/DiffView.fxml index ef2d24c14..790c94310 100644 --- a/src/main/resources/gov/nasa/jpl/mbee/mdk/json/diff/ui/DiffView.fxml +++ b/src/main/resources/org/openmbee/mdk/json/diff/ui/DiffView.fxml @@ -5,7 +5,7 @@ - + diff --git a/src/main/resources/gov/nasa/jpl/mbee/mdk/options/EnvironmentOptionsResources.properties b/src/main/resources/org/openmbee/mdk/options/EnvironmentOptionsResources.properties similarity index 83% rename from src/main/resources/gov/nasa/jpl/mbee/mdk/options/EnvironmentOptionsResources.properties rename to src/main/resources/org/openmbee/mdk/options/EnvironmentOptionsResources.properties index 861992ca9..1d695351b 100644 --- a/src/main/resources/gov/nasa/jpl/mbee/mdk/options/EnvironmentOptionsResources.properties +++ b/src/main/resources/org/openmbee/mdk/options/EnvironmentOptionsResources.properties @@ -10,9 +10,9 @@ CUSTOM_USER_SCRIPT_DIRECTORIES_ID=Custom User Scripts Directories CUSTOM_USER_SCRIPT_DIRECTORIES_ID_DESCRIPTION=Specifies additional directories that custom user scripts can be found in. Multiple directories can be specified, but they must be separated by ";" on Windows systems or ":" on Mac and Linux systems. SHOW_ADVANCED_OPTIONS_ID=Show Advanced Options SHOW_ADVANCED_OPTIONS_ID_DESCRIPTION=Enables advanced features in the MMS menu, such as branch validation. You must restart MagicDraw after enabling this field to see the options in the menu. +MMS_AUTHENTICATION_CHAIN=org.openmbee.mdk.tickets.TWCAcquireTicketProcessor,org.openmbee.mdk.tickets.BasicAuthAcquireTicketProcessor,org.openmbee.mdk.tickets.AuthenticationChainError +MMS_AUTHENTICATION_CHAIN_DESCRIPTION=Authentication chain used for getting ticket from MMS4 as defined in above order separated by comma. Error class must be the last. DOCBOOK_TO_PDF_STYLESHEET=DocBook to PDF Stylesheet DOCBOOK_TO_PDF_STYLESHEET_DESCRIPTION=Stores the last DocBook to PDF Stylesheet used while converting DocBook to PDF. MDK_OPTIONS_NAME=MDK GROUP=MDK -MMS_AUTHENTICATION_CHAIN=gov.nasa.jpl.mbee.mdk.tickets.TWCAcquireTicketProcessor,gov.nasa.jpl.mbee.mdk.tickets.BasicAuthAcquireTicketProcessor,gov.nasa.jpl.mbee.mdk.tickets.AuthenticationChainError -#Authentication chain used for getting ticket from MMS4 as defined in above order separated by comma. Error class must be the last. \ No newline at end of file diff --git a/src/main/resources/gov/nasa/jpl/mbee/mdk/options/ProjectOptionsResources.properties b/src/main/resources/org/openmbee/mdk/options/ProjectOptionsResources.properties similarity index 100% rename from src/main/resources/gov/nasa/jpl/mbee/mdk/options/ProjectOptionsResources.properties rename to src/main/resources/org/openmbee/mdk/options/ProjectOptionsResources.properties diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/test/elements/MDKProject.java b/src/test/java/gov/nasa/jpl/mbee/mdk/test/elements/MDKProject.java deleted file mode 100644 index 094c201bf..000000000 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/test/elements/MDKProject.java +++ /dev/null @@ -1,60 +0,0 @@ -package gov.nasa.jpl.mbee.mdk.test.elements; - -import com.nomagic.ci.persistence.IPrimaryProject; -import com.nomagic.magicdraw.uml.BaseElement; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Package; - -/** - * Created by ablack on 3/1/17. - */ -public class MDKProject extends com.nomagic.magicdraw.core.Project { - - private boolean remote; - - public MDKProject(boolean remote) { - this.remote = remote; - } - - {} - - @Override - public IPrimaryProject getPrimaryProject() { - return null; - } - - @Override - public Package getPrimaryModel() { - return null; - } - - @Override - public BaseElement getElementByID(String id) { - return null; - } - - @Override - public String getFileName() { - return null; - } - - @Override - public com.nomagic.magicdraw.utils.ExtendedFile getFile() { - return null; - } - - @Override - public String getName() { - return null; - } - - @Override - public boolean isRemote() { - return this.remote; - } - - @Override - public String getID() { - return null; - } - -} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/util/UtilsTest.java b/src/test/java/gov/nasa/jpl/mbee/mdk/util/UtilsTest.java deleted file mode 100644 index fddddfbd5..000000000 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/util/UtilsTest.java +++ /dev/null @@ -1,142 +0,0 @@ - -package gov.nasa.jpl.mbee.mdk.util; - -import com.nomagic.magicdraw.core.Application; -import com.nomagic.magicdraw.core.Project; -import com.nomagic.magicdraw.tests.MagicDrawTestRunner; -import com.nomagic.magicdraw.uml.BaseElement; -import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Property; -import com.nomagic.uml2.ext.magicdraw.mdprofiles.Stereotype; - -import gov.nasa.jpl.mbee.mdk.api.MagicDrawHelper; -import gov.nasa.jpl.mbee.mdk.http.ServerException; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; - -import org.apache.commons.io.IOUtils; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URISyntaxException; - -import org.junit.Assert; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** - * @author ablack - * @JIRA MAGICDRAW-263 - * - */ -@RunWith(MagicDrawTestRunner.class) -public class UtilsTest { - - private static Project project; - - public UtilsTest() { - } - - @BeforeClass - public static void setupProject() throws IOException, ServerException, URISyntaxException { - ClassLoader classLoader = UtilsTest.class.getClassLoader(); - File testProjectFile = File.createTempFile("prj", ".mdzip"); - IOUtils.copy(classLoader.getResourceAsStream("CSyncTest.mdzip"), new FileOutputStream(testProjectFile)); - - MDKEnvironmentOptionsGroup.getInstance().setDefaultValues(); - MDKEnvironmentOptionsGroup.getInstance().setLogJson(true); - MagicDrawHelper.openProject(testProjectFile); - project = Application.getInstance().getProject(); - } - - /********************************************** Direct Stereotype Utils **********************************************/ - - @Test - public void _utils_getConformsStereotype() { - BaseElement test = Utils.getConformStereotype(project); - Assert.assertNotNull(test); - System.out.println(((Stereotype)test).getName()); - Assert.assertTrue(((Stereotype)test).getName().equals("Conform")); - } - - @Test - public void _utils_getExposeStereotype() { - BaseElement test = Utils.getExposeStereotype(project); - Assert.assertNotNull(test); - System.out.println(((Stereotype)test).getName()); - Assert.assertTrue(((Stereotype)test).getName().equals("Expose")); - } - - @Test - public void _utils_getElementGroupStereotype() { - BaseElement test = Utils.getElementGroupStereotype(project); - Assert.assertNotNull(test); - System.out.println(((Stereotype)test).getName()); - Assert.assertTrue(((Stereotype)test).getName().equals("ElementGroup")); - } - - @Test - public void _utils_getViewStereotype() { - BaseElement test = Utils.getViewStereotype(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Stereotype)test).getName().equals("View")); - } - - @Test - public void _utils_getViewpointStereotype() { - BaseElement test = Utils.getViewpointStereotype(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Stereotype)test).getName().equals("Viewpoint")); - } - - @Test - public void _utils_getCharacterizesStereotype() { - BaseElement test = Utils.getCharacterizesStereotype(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Stereotype)test).getName().equals("characterizes")); - } - - @Test - public void _utils_getDocumentStereotype() { - BaseElement test = Utils.getDocumentStereotype(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Stereotype)test).getName().equals("Document")); - } - - @Test - public void _utils_getProductStereotype() { - BaseElement test = Utils.getProductStereotype(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Stereotype)test).getName().equals("Product")); - } - - @Test - public void _utils_getViewClassStereotype() { - BaseElement test = Utils.getViewClassStereotype(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Stereotype)test).getName().equals("view")); - } - - /********************************************** Direct Property Utils **********************************************/ - - @Test - public void _utils_getGeneratedFromViewProperty() { - BaseElement test = Utils.getGeneratedFromViewProperty(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Property)test).getName().equals("generatedFromView")); - } - - @Test - public void _utils_getGeneratedFromElementProperty() { - BaseElement test = Utils.getGeneratedFromElementProperty(project); - Assert.assertNotNull(test); - Assert.assertTrue(((Property)test).getName().equals("generatedFromElement")); - } - - @AfterClass - public static void closeProject() throws IOException { - MagicDrawHelper.closeProject(); - } - -} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/MDKPluginTest.java b/src/test/java/org/openmbee/mdk/MDKPluginTest.java similarity index 86% rename from src/test/java/gov/nasa/jpl/mbee/mdk/MDKPluginTest.java rename to src/test/java/org/openmbee/mdk/MDKPluginTest.java index 9c1242132..1223e9425 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/MDKPluginTest.java +++ b/src/test/java/org/openmbee/mdk/MDKPluginTest.java @@ -1,7 +1,7 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.magicdraw.plugins.PluginUtils; -import gov.nasa.jpl.mbee.mdk.test.framework.ApplicationStartClassRunner; +import org.openmbee.mdk.test.framework.ApplicationStartClassRunner; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -22,4 +22,4 @@ public static void setup() { public void init() { assertTrue("MDK shall be installed in MagicDraw.", plugin != null && plugin.getDescriptor().getName().equals("Model Development Kit")); } -} \ No newline at end of file +} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/MMSConfiguratorTest.java b/src/test/java/org/openmbee/mdk/MMSConfiguratorTest.java similarity index 80% rename from src/test/java/gov/nasa/jpl/mbee/mdk/MMSConfiguratorTest.java rename to src/test/java/org/openmbee/mdk/MMSConfiguratorTest.java index a06c314a6..6522d63a1 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/MMSConfiguratorTest.java +++ b/src/test/java/org/openmbee/mdk/MMSConfiguratorTest.java @@ -1,10 +1,8 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; import com.nomagic.actions.NMAction; import com.nomagic.actions.ActionsManager; -import gov.nasa.jpl.mbee.mdk.test.framework.ApplicationStartClassRunner; import org.junit.Test; -import org.junit.runner.RunWith; import static org.junit.Assert.assertTrue; @@ -19,4 +17,4 @@ public void configure() { assertTrue("MMSSyncPlugin shall return a single instance.", category != null); } -} \ No newline at end of file +} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/MMSSyncPluginTest.java b/src/test/java/org/openmbee/mdk/MMSSyncPluginTest.java similarity index 95% rename from src/test/java/gov/nasa/jpl/mbee/mdk/MMSSyncPluginTest.java rename to src/test/java/org/openmbee/mdk/MMSSyncPluginTest.java index ff26b2477..4e176965b 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/MMSSyncPluginTest.java +++ b/src/test/java/org/openmbee/mdk/MMSSyncPluginTest.java @@ -1,6 +1,6 @@ -package gov.nasa.jpl.mbee.mdk; +package org.openmbee.mdk; -import gov.nasa.jpl.mbee.mdk.test.framework.ApplicationStartClassRunner; +import org.openmbee.mdk.test.framework.ApplicationStartClassRunner; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -52,4 +52,4 @@ public void getSyncStatusProjectEventListenerAdapter() { assertTrue("MMSSyncPlugin shall return a SyncStatusProjectEventListenerAdapter.", plugin != null && MMSSyncPlugin.getInstance().getSyncStatusProjectEventListenerAdapter() != null); } -} \ No newline at end of file +} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfActionFromModelTest.java b/src/test/java/org/openmbee/mdk/mms/actions/GeneratePdfActionFromModelTest.java similarity index 92% rename from src/test/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfActionFromModelTest.java rename to src/test/java/org/openmbee/mdk/mms/actions/GeneratePdfActionFromModelTest.java index ad4408c6f..141540665 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/mms/actions/GeneratePdfActionFromModelTest.java +++ b/src/test/java/org/openmbee/mdk/mms/actions/GeneratePdfActionFromModelTest.java @@ -1,12 +1,12 @@ -package gov.nasa.jpl.mbee.mdk.mms.actions; +package org.openmbee.mdk.mms.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.core.Project; import com.nomagic.magicdraw.tests.MagicDrawTestRunner; import com.nomagic.magicdraw.uml.BaseElement; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; -import gov.nasa.jpl.mbee.mdk.api.MagicDrawHelper; -import gov.nasa.jpl.mbee.mdk.options.MDKEnvironmentOptionsGroup; +import org.openmbee.mdk.api.MagicDrawHelper; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; import org.apache.commons.io.FileUtils; import org.junit.AfterClass; import org.junit.Assert; @@ -57,7 +57,7 @@ public static void setupProject() throws Exception { project = Application.getInstance().getProject(); //ClassLoader classLoader = GeneratePDFFromMDModelTest.class.getClassLoader(); - docbookXslFo = new File(userdir + File.separator + "plugins" + File.separator + "gov.nasa.jpl.cae.magicdraw.mdk" + File.separator + "docbook-xsl" + File.separator + "fo" + File.separator + "mdk-default.xsl"); + docbookXslFo = new File(userdir + File.separator + "plugins" + File.separator + "org.openmbee.mdk" + File.separator + "docbook-xsl" + File.separator + "fo" + File.separator + "mdk-default.xsl"); if (!docbookXslFo.exists()) { throw new Exception("\"docbook.xsl\" is not found in mdk plugin."); } @@ -105,4 +105,4 @@ public void testMdkModelToPdfDocGenUsersGuide() { } -} \ No newline at end of file +} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/ApplicationStartClassRunner.java b/src/test/java/org/openmbee/mdk/test/framework/ApplicationStartClassRunner.java similarity index 95% rename from src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/ApplicationStartClassRunner.java rename to src/test/java/org/openmbee/mdk/test/framework/ApplicationStartClassRunner.java index 738623ccc..4972344ce 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/ApplicationStartClassRunner.java +++ b/src/test/java/org/openmbee/mdk/test/framework/ApplicationStartClassRunner.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.test.framework; +package org.openmbee.mdk.test.framework; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.tests.MagicDrawTestRunner; @@ -32,4 +32,4 @@ public ApplicationStartClassRunner(Class clazz) throws InitializationError { System.exit(1); } } -} \ No newline at end of file +} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/GradleMagicDrawLauncher.java b/src/test/java/org/openmbee/mdk/test/framework/GradleMagicDrawLauncher.java similarity index 97% rename from src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/GradleMagicDrawLauncher.java rename to src/test/java/org/openmbee/mdk/test/framework/GradleMagicDrawLauncher.java index 4062579a4..b6de7ccc1 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/GradleMagicDrawLauncher.java +++ b/src/test/java/org/openmbee/mdk/test/framework/GradleMagicDrawLauncher.java @@ -1,4 +1,4 @@ -package gov.nasa.jpl.mbee.mdk.test.framework; +package org.openmbee.mdk.test.framework; import com.nomagic.runtime.ApplicationExitedException; import org.gradle.process.internal.streams.EncodedStream; @@ -6,9 +6,6 @@ import java.io.DataInputStream; import java.io.File; import java.io.IOException; -import java.io.ObjectInputStream; -import java.lang.management.ManagementFactory; -import java.lang.management.RuntimeMXBean; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.*; @@ -148,4 +145,4 @@ private void parseArgs(String... args) throws IOException { private static boolean isAcceptablePath(String path) { return !path.contains("com.typesafe.akka") && !path.contains("org.scala") && !path.contains("com.nomagic.esi"); } -} \ No newline at end of file +} diff --git a/src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/MagicDrawClassLoaderWorker.java b/src/test/java/org/openmbee/mdk/test/framework/MagicDrawClassLoaderWorker.java similarity index 97% rename from src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/MagicDrawClassLoaderWorker.java rename to src/test/java/org/openmbee/mdk/test/framework/MagicDrawClassLoaderWorker.java index 6554c11b7..8657411e0 100644 --- a/src/test/java/gov/nasa/jpl/mbee/mdk/test/framework/MagicDrawClassLoaderWorker.java +++ b/src/test/java/org/openmbee/mdk/test/framework/MagicDrawClassLoaderWorker.java @@ -14,9 +14,8 @@ * limitations under the License. */ -package gov.nasa.jpl.mbee.mdk.test.framework; +package org.openmbee.mdk.test.framework; -import com.nomagic.esi.emf.a.D; import org.gradle.api.Action; import org.gradle.api.logging.LogLevel; import org.gradle.internal.UncheckedException; @@ -27,10 +26,8 @@ import org.gradle.internal.io.ClassLoaderObjectInputStream; import org.gradle.internal.logging.LoggingManagerInternal; import org.gradle.internal.logging.services.LoggingServiceRegistry; -import org.gradle.internal.remote.MessagingClient; import org.gradle.internal.remote.ObjectConnection; import org.gradle.internal.remote.internal.ConnectCompletion; -import org.gradle.internal.remote.internal.hub.MessageHubBackedClient; import org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection; import org.gradle.internal.remote.internal.inet.MultiChoiceAddress; import org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer; diff --git a/src/test/java/org/openmbee/mdk/util/UtilsTest.java b/src/test/java/org/openmbee/mdk/util/UtilsTest.java new file mode 100644 index 000000000..c960de81f --- /dev/null +++ b/src/test/java/org/openmbee/mdk/util/UtilsTest.java @@ -0,0 +1,59 @@ + +package org.openmbee.mdk.util; + +import com.nomagic.magicdraw.core.Application; +import com.nomagic.magicdraw.core.Project; +import com.nomagic.magicdraw.tests.MagicDrawTestRunner; + +import org.openmbee.mdk.api.MagicDrawHelper; +import org.openmbee.mdk.http.ServerException; +import org.openmbee.mdk.options.MDKEnvironmentOptionsGroup; + +import org.apache.commons.io.IOUtils; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URISyntaxException; + +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; + +/** + * @author ablack + * @JIRA MAGICDRAW-263 + * + */ +@RunWith(MagicDrawTestRunner.class) +public class UtilsTest { + + private static Project project; + + public UtilsTest() { + } + + @BeforeClass + public static void setupProject() throws IOException, ServerException, URISyntaxException { + ClassLoader classLoader = UtilsTest.class.getClassLoader(); + File testProjectFile = File.createTempFile("prj", ".mdzip"); + IOUtils.copy(classLoader.getResourceAsStream("CSyncTest.mdzip"), new FileOutputStream(testProjectFile)); + + MDKEnvironmentOptionsGroup.getInstance().setDefaultValues(); + MDKEnvironmentOptionsGroup.getInstance().setLogJson(true); + MagicDrawHelper.openProject(testProjectFile); + project = Application.getInstance().getProject(); + } + + /********************************************** Direct Stereotype Utils **********************************************/ + + + + + + @AfterClass + public static void closeProject() throws IOException { + MagicDrawHelper.closeProject(); + } + +} diff --git a/src/test/java/worker/org/gradle/process/internal/worker/GradleWorkerMain.java b/src/test/java/worker/org/gradle/process/internal/worker/GradleWorkerMain.java index 47e74217f..f2570d039 100644 --- a/src/test/java/worker/org/gradle/process/internal/worker/GradleWorkerMain.java +++ b/src/test/java/worker/org/gradle/process/internal/worker/GradleWorkerMain.java @@ -18,15 +18,9 @@ //import org.gradle.internal.classloader.FilteringClassLoader; import org.gradle.process.internal.streams.EncodedStream; +import org.openmbee.mdk.test.framework.GradleMagicDrawLauncher; import java.io.DataInputStream; -import java.io.File; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.List; import java.util.concurrent.Callable; /** @@ -35,7 +29,7 @@ */ /** - * Disables the Gradle dynamic classloading as its already done in {@link gov.nasa.jpl.mbee.mdk.test.framework.GradleMagicDrawLauncher}. + * Disables the Gradle dynamic classloading as its already done in {@link GradleMagicDrawLauncher}. * Additionally uses reflection to change the system class loader to the current OSGi one, since Gradle library uses it to load the JUnit test and potentially other necessary components that will not be available in the bootstrap class loader. * * @author igomes @@ -99,7 +93,7 @@ public void run() throws Exception { //Class workerClass = ClassLoader.loadClass("org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker").asSubclass(Callable.class); //Class workerClass = Class.forName("org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker", false, getClass().getClassLoader()).asSubclass(Callable.class); - Class workerClass = Class.forName("gov.nasa.jpl.mbee.mdk.test.framework.MagicDrawClassLoaderWorker", false, getClass().getClassLoader()).asSubclass(Callable.class); + Class workerClass = Class.forName("org.openmbee.mdk.test.framework.MagicDrawClassLoaderWorker", false, getClass().getClassLoader()).asSubclass(Callable.class); Callable main = workerClass.getConstructor(DataInputStream.class).newInstance(instr); main.call(); }