Merge "Bug 536464 - Add CDO'ified versions of gmfdiag.css and gmfdiag.style"
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.classpath b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.project b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.project
new file mode 100644
index 0000000..0b30027
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.project
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.gmfdiag.css.cdo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.core.resources.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.core.runtime.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.jdt.core.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1255b32
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,390 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.jdt.ui.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.pde.api.tools.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/META-INF/MANIFEST.MF b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8dc66b7
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 2.2.1.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.css.cdo;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="2.2.1",
+ org.eclipse.emf.cdo;bundle-version="4.6.0",
+ org.eclipse.emf.cdo.ecore;bundle-version="1.0.0",
+ org.eclipse.emf.cdo.gmf.notation;bundle-version="1.0.0"
+Import-Package: com.google.common.collect;version="21.0.0"
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.css.cdo
+Export-Package: org.eclipse.papyrus.infra.gmfdiag.css.cdo;version="2.2.1",
+ org.eclipse.papyrus.infra.gmfdiag.css.cdo.factory;version="2.2.1",
+ org.eclipse.papyrus.infra.gmfdiag.css.cdo.notation;version="2.2.1"
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/Migrate gmfdiag.css to CDO.launch b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/Migrate gmfdiag.css to CDO.launch
new file mode 100644
index 0000000..8b191fb
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/Migrate gmfdiag.css to CDO.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/org.eclipse.papyrus.infra.gmfdiag.css.cdo" type="4"/> </resources>}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.gmfdiag.css.cdo/migrate.ant"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.gmfdiag.css.cdo"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.papyrus.infra.gmfdiag.css.cdo/migrate.ant}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dgit.clone.papyrus=${git.clone.papyrus}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/about.html b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/about.html
new file mode 100644
index 0000000..dd3c089
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/build.properties b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/build.properties
new file mode 100644
index 0000000..26318c4
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ plugin.properties,\
+ plugin.xml
+src.includes = about.html,\
+ pom.xml
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/migrate.ant b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/migrate.ant
new file mode 100644
index 0000000..e7a153c
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/migrate.ant
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (c) 2018 CEA LIST and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+<project name="migrate" default="migrate">
+
+ <fail unless="git.clone.papyrus" message="Property 'git.clone.papyrus' is undefined! Go to Preferences -> Run/Debug -> String Substitution..." />
+ <property name="source-package" value="org/eclipse/papyrus/infra/gmfdiag/css" />
+ <property name="source-project" location="${git.clone.papyrus}/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css" />
+ <property name="source" location="${source-project}/src/${source-package}" />
+ <echo message="Source: ${source}" />
+
+ <fail message="The 'basedir' property must point to the directory that contains this script!">
+ <condition>
+ <not>
+ <available file="${basedir}/migrate.ant" type="file" />
+ </not>
+ </condition>
+ </fail>
+ <property name="target" location="${basedir}/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo" />
+ <echo message="Target: ${target}" />
+
+ <target name="migrate">
+ <delete includeemptydirs="true">
+ <fileset dir="${target}">
+ <include name="**/*.java" />
+ </fileset>
+ </delete>
+ <copy todir="${target}">
+ <fileset dir="${source}">
+ <include name="*Impl.java" />
+ <include name="factory/*.java" />
+ <include name="notation/CSSDiagramImpl.java" />
+ </fileset>
+ <filterchain>
+ <replacestring from="package org.eclipse.papyrus.infra.gmfdiag.css" to="package org.eclipse.papyrus.infra.gmfdiag.css.cdo" />
+ <replacestring from="import org.eclipse.gmf.runtime.notation.impl." to="import org.eclipse.emf.cdo.gmf.notation.impl." />
+ </filterchain>
+ </copy>
+
+ <replace file="${target}/factory/CSSNotationFactory.java" token="import org.eclipse.papyrus.infra.gmfdiag.css." value="import org.eclipse.papyrus.infra.gmfdiag.css.cdo." />
+
+ <replace file="${target}/notation/CSSDiagramImpl.java" token="implements CSSDiagram," value="implements org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram," />
+ <replace file="${target}/notation/CSSDiagramImpl.java" token="CSSStyles" value="org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSStyles" />
+ <replace file="${target}/notation/CSSDiagramImpl.java" token="ForceValueHelper" value="org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper" />
+ </target>
+
+</project>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.properties b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.properties
new file mode 100644
index 0000000..fe3b7d4
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.infra.gmfdiag.css
+pluginName = CSS Support for GMF (CDO Version)
+providerName = Eclipse Modeling Project
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml
new file mode 100644
index 0000000..9f7232e
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/plugin.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ uri="http://www.eclipse.org/gmf/runtime/1.0.2/notation"
+ class="org.eclipse.papyrus.infra.gmfdiag.css.cdo.factory.CSSNotationFactory"
+ predecessor="org.eclipse.papyrus.infra.gmfdiag.css.factory.CSSNotationFactory" />
+ </extension>
+</plugin>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/pom.xml b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/pom.xml
new file mode 100644
index 0000000..0f671cb
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <artifactId>org.eclipse.papyrus.cdo-bundles</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.css.cdo</artifactId>
+ <version>2.2.1-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSArrowStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSArrowStyleImpl.java
new file mode 100644
index 0000000..41b1aa4
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSArrowStyleImpl.java
@@ -0,0 +1,149 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.ArrowType;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.ArrowStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSArrowStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSArrowStyleDelegate;
+
+public class CSSArrowStyleImpl extends ArrowStyleImpl implements CSSArrowStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSArrowStyle arrowStyle;
+
+ protected CSSArrowStyle getArrowStyle() {
+ if (arrowStyle == null) {
+ arrowStyle = new CSSArrowStyleDelegate(this, getEngine());
+ }
+ return arrowStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public ArrowType getCSSArrowSource() {
+ ArrowType value = super.getArrowSource();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getArrowStyle_ArrowSource(), value)) {
+ return value;
+ } else {
+ return getArrowStyle().getCSSArrowSource();
+ }
+ }
+
+ @Override
+ public ArrowType getCSSArrowTarget() {
+ ArrowType value = super.getArrowTarget();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getArrowStyle_ArrowTarget(), value)) {
+ return value;
+ } else {
+ return getArrowStyle().getCSSArrowTarget();
+ }
+ }
+
+
+ @Override
+ public ArrowType getArrowSource() {
+ return getCSSArrowSource();
+ }
+
+ @Override
+ public ArrowType getArrowTarget() {
+ return getCSSArrowTarget();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setArrowSource(ArrowType value) {
+ ArrowType oldArrowSource = getArrowSource();
+
+ boolean deliver = eDeliver();
+ try {
+ // Do not rely on super implementation for sending the event. Just change the value.
+ eSetDeliver(false);
+ super.setArrowSource(value);
+ } finally {
+ eSetDeliver(deliver);
+ }
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getArrowStyle_ArrowSource();
+ ForceValueHelper.setValue(findView(), feature, value);
+
+ // Bug YYY YYY: Super implementation doesn't rely on "getArrowSource" and doesn't properly compute oldArrowSource
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, NotationPackage.ARROW_STYLE__ARROW_SOURCE, oldArrowSource, value));
+ }
+ }
+
+ @Override
+ public void setArrowTarget(ArrowType value) {
+ super.setArrowTarget(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getArrowStyle_ArrowTarget();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSBasicCompartmentImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSBasicCompartmentImpl.java
new file mode 100644
index 0000000..c6bd757
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSBasicCompartmentImpl.java
@@ -0,0 +1,192 @@
+/*****************************************************************************
+ * Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bugs 433206, 436665
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.BasicCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDrawerStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDrawerStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSBasicCompartmentImpl extends BasicCompartmentImpl implements CSSDrawerStyle, CSSView.Internal {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDrawerStyle drawerStyle;
+
+ private CSSView cssView;
+
+ protected CSSDrawerStyle getDrawerStyle() {
+ if (drawerStyle == null) {
+ drawerStyle = new CSSDrawerStyleDelegate(this, getEngine());
+ }
+ return drawerStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ @Override
+ public void resetCSS() {
+ cssView = null;
+ engine = null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCollapsed() {
+ boolean value = super.isCollapsed();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDrawerStyle_Collapsed(), value)) {
+ return value;
+ } else {
+ return getDrawerStyle().isCSSCollapsed();
+ }
+ }
+
+
+ @Override
+ public boolean isCollapsed() {
+ return isCSSCollapsed();
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setCollapsed(boolean value) {
+ super.setCollapsed(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDrawerStyle_Collapsed();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+ // ////////////////////////////////
+ // Implements the getNamedStyle //
+ // ////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSBasicSemanticCompartmentImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSBasicSemanticCompartmentImpl.java
new file mode 100644
index 0000000..4e7696d
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSBasicSemanticCompartmentImpl.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.emf.cdo.gmf.notation.impl.BasicSemanticCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDrawerStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDrawerStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSBasicSemanticCompartmentImpl extends BasicSemanticCompartmentImpl implements CSSDrawerStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDrawerStyle drawerStyle;
+
+ private CSSView cssView;
+
+ protected CSSDrawerStyle getDrawerStyle() {
+ if (drawerStyle == null) {
+ drawerStyle = new CSSDrawerStyleDelegate(this, getEngine());
+ }
+ return drawerStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCollapsed() {
+ boolean value = super.isCollapsed();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDrawerStyle_Collapsed(), value)) {
+ return value;
+ } else {
+ return getDrawerStyle().isCSSCollapsed();
+ }
+ }
+
+
+ @Override
+ public boolean isCollapsed() {
+ return isCSSCollapsed();
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setCollapsed(boolean value) {
+ super.setCollapsed(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDrawerStyle_Collapsed();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSCanonicalStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSCanonicalStyleImpl.java
new file mode 100644
index 0000000..a8ceb01
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSCanonicalStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.CanonicalStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSCanonicalStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSCanonicalStyleDelegate;
+
+public class CSSCanonicalStyleImpl extends CanonicalStyleImpl implements CSSCanonicalStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSCanonicalStyle canonicalStyle;
+
+ protected CSSCanonicalStyle getCanonicalStyle() {
+ if (canonicalStyle == null) {
+ canonicalStyle = new CSSCanonicalStyleDelegate(this, getEngine());
+ }
+ return canonicalStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCanonical() {
+ boolean value = super.isCanonical();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getCanonicalStyle_Canonical(), value)) {
+ return value;
+ } else {
+ return getCanonicalStyle().isCSSCanonical();
+ }
+ }
+
+
+ @Override
+ public boolean isCanonical() {
+ return isCSSCanonical();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setCanonical(boolean value) {
+ super.setCanonical(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getCanonicalStyle_Canonical();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSCompartmentImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSCompartmentImpl.java
new file mode 100644
index 0000000..bf3f1cc
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSCompartmentImpl.java
@@ -0,0 +1,160 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.emf.cdo.gmf.notation.impl.CompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDrawerStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDrawerStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSCompartmentImpl extends CompartmentImpl implements CSSDrawerStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDrawerStyle drawerStyle;
+
+ private CSSView cssView;
+
+ protected CSSDrawerStyle getDrawerStyle() {
+ if (drawerStyle == null) {
+ drawerStyle = new CSSDrawerStyleDelegate(this, getEngine());
+ }
+ return drawerStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCollapsed() {
+ boolean value = super.isCollapsed();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDrawerStyle_Collapsed(), value)) {
+ return value;
+ } else {
+ return getDrawerStyle().isCSSCollapsed();
+ }
+ }
+
+
+ @Override
+ public boolean isCollapsed() {
+ return isCSSCollapsed();
+ }
+
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setCollapsed(boolean value) {
+ super.setCollapsed(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDrawerStyle_Collapsed();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setCanonical(boolean value) {
+ super.setCanonical(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getCanonicalStyle_Canonical();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setShowTitle(boolean value) {
+ super.setShowTitle(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getTitleStyle_ShowTitle();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSConnectorImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSConnectorImpl.java
new file mode 100644
index 0000000..236dff2
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSConnectorImpl.java
@@ -0,0 +1,412 @@
+/*****************************************************************************
+ * Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bugs 433206, 436665
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.ConnectorImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSConnectorStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSConnectorStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSConnectorImpl extends ConnectorImpl implements CSSConnectorStyle, CSSView.Internal {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSConnectorStyle connectorStyle;
+
+ private CSSView cssView;
+
+ protected CSSConnectorStyle getConnectorStyle() {
+ if (connectorStyle == null) {
+ connectorStyle = new CSSConnectorStyleDelegate(this, getEngine());
+ }
+ return connectorStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ @Override
+ public void resetCSS() {
+ cssView = null;
+ engine = null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSRoundedBendpointsRadius() {
+ int value = super.getRoundedBendpointsRadius();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSRoundedBendpointsRadius();
+ }
+ }
+
+ @Override
+ public Routing getCSSRouting() {
+ Routing value = super.getRouting();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSRouting();
+ }
+ }
+
+ @Override
+ public Smoothness getCSSSmoothness() {
+ Smoothness value = super.getSmoothness();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_Smoothness(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSSmoothness();
+ }
+ }
+
+ @Override
+ public boolean isCSSAvoidObstructions() {
+ boolean value = super.isAvoidObstructions();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_AvoidObstructions(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().isCSSAvoidObstructions();
+ }
+ }
+
+ @Override
+ public boolean isCSSClosestDistance() {
+ boolean value = super.isClosestDistance();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_ClosestDistance(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().isCSSClosestDistance();
+ }
+ }
+
+ @Override
+ public JumpLinkStatus getCSSJumpLinkStatus() {
+ JumpLinkStatus value = super.getJumpLinkStatus();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkStatus(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSJumpLinkStatus();
+ }
+ }
+
+ @Override
+ public JumpLinkType getCSSJumpLinkType() {
+ JumpLinkType value = super.getJumpLinkType();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkType(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSJumpLinkType();
+ }
+ }
+
+ @Override
+ public boolean isCSSJumpLinksReverse() {
+ boolean value = super.isJumpLinksReverse();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinksReverse(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().isCSSJumpLinksReverse();
+ }
+ }
+
+ @Override
+ public int getCSSLineColor() {
+ int value = super.getLineColor();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getLineStyle_LineColor(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSLineColor();
+ }
+ }
+
+ @Override
+ public int getCSSLineWidth() {
+ int value = super.getLineWidth();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getLineStyle_LineWidth(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSLineWidth();
+ }
+ }
+
+
+ @Override
+ public int getRoundedBendpointsRadius() {
+ return getCSSRoundedBendpointsRadius();
+ }
+
+ @Override
+ public Routing getRouting() {
+ return getCSSRouting();
+ }
+
+ @Override
+ public Smoothness getSmoothness() {
+ return getCSSSmoothness();
+ }
+
+ @Override
+ public boolean isAvoidObstructions() {
+ return isCSSAvoidObstructions();
+ }
+
+ @Override
+ public boolean isClosestDistance() {
+ return isCSSClosestDistance();
+ }
+
+ @Override
+ public JumpLinkStatus getJumpLinkStatus() {
+ return getCSSJumpLinkStatus();
+ }
+
+ @Override
+ public JumpLinkType getJumpLinkType() {
+ return getCSSJumpLinkType();
+ }
+
+ @Override
+ public boolean isJumpLinksReverse() {
+ return isCSSJumpLinksReverse();
+ }
+
+ @Override
+ public int getLineColor() {
+ return getCSSLineColor();
+ }
+
+ @Override
+ public int getLineWidth() {
+ return getCSSLineWidth();
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setRoundedBendpointsRadius(int value) {
+ super.setRoundedBendpointsRadius(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setRouting(Routing value) {
+ super.setRouting(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_Routing();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setSmoothness(Smoothness value) {
+ super.setSmoothness(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_Smoothness();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setAvoidObstructions(boolean value) {
+ super.setAvoidObstructions(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_AvoidObstructions();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setClosestDistance(boolean value) {
+ super.setClosestDistance(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_ClosestDistance();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setJumpLinkStatus(JumpLinkStatus value) {
+ super.setJumpLinkStatus(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkStatus();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setJumpLinkType(JumpLinkType value) {
+ super.setJumpLinkType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkType();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setJumpLinksReverse(boolean value) {
+ super.setJumpLinksReverse(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinksReverse();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setLineColor(int value) {
+ super.setLineColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineColor();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setLineWidth(int value) {
+ super.setLineWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineWidth();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+ // ////////////////////////////////
+ // Implements the getNamedStyle //
+ // ////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSConnectorStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSConnectorStyleImpl.java
new file mode 100644
index 0000000..3db28ec
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSConnectorStyleImpl.java
@@ -0,0 +1,328 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.ConnectorStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSConnectorStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSConnectorStyleDelegate;
+
+public class CSSConnectorStyleImpl extends ConnectorStyleImpl implements CSSConnectorStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSConnectorStyle connectorStyle;
+
+ protected CSSConnectorStyle getConnectorStyle() {
+ if (connectorStyle == null) {
+ connectorStyle = new CSSConnectorStyleDelegate(this, getEngine());
+ }
+ return connectorStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSRoundedBendpointsRadius() {
+ int value = super.getRoundedBendpointsRadius();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSRoundedBendpointsRadius();
+ }
+ }
+
+ @Override
+ public Routing getCSSRouting() {
+ Routing value = super.getRouting();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSRouting();
+ }
+ }
+
+ @Override
+ public Smoothness getCSSSmoothness() {
+ Smoothness value = super.getSmoothness();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_Smoothness(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSSmoothness();
+ }
+ }
+
+ @Override
+ public boolean isCSSAvoidObstructions() {
+ boolean value = super.isAvoidObstructions();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_AvoidObstructions(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().isCSSAvoidObstructions();
+ }
+ }
+
+ @Override
+ public boolean isCSSClosestDistance() {
+ boolean value = super.isClosestDistance();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_ClosestDistance(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().isCSSClosestDistance();
+ }
+ }
+
+ @Override
+ public JumpLinkStatus getCSSJumpLinkStatus() {
+ JumpLinkStatus value = super.getJumpLinkStatus();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkStatus(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSJumpLinkStatus();
+ }
+ }
+
+ @Override
+ public JumpLinkType getCSSJumpLinkType() {
+ JumpLinkType value = super.getJumpLinkType();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkType(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSJumpLinkType();
+ }
+ }
+
+ @Override
+ public boolean isCSSJumpLinksReverse() {
+ boolean value = super.isJumpLinksReverse();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinksReverse(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().isCSSJumpLinksReverse();
+ }
+ }
+
+ @Override
+ public int getCSSLineColor() {
+ int value = super.getLineColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineStyle_LineColor(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSLineColor();
+ }
+ }
+
+ @Override
+ public int getCSSLineWidth() {
+ int value = super.getLineWidth();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineStyle_LineWidth(), value)) {
+ return value;
+ } else {
+ return getConnectorStyle().getCSSLineWidth();
+ }
+ }
+
+
+ @Override
+ public int getRoundedBendpointsRadius() {
+ return getCSSRoundedBendpointsRadius();
+ }
+
+ @Override
+ public Routing getRouting() {
+ return getCSSRouting();
+ }
+
+ @Override
+ public Smoothness getSmoothness() {
+ return getCSSSmoothness();
+ }
+
+ @Override
+ public boolean isAvoidObstructions() {
+ return isCSSAvoidObstructions();
+ }
+
+ @Override
+ public boolean isClosestDistance() {
+ return isCSSClosestDistance();
+ }
+
+ @Override
+ public JumpLinkStatus getJumpLinkStatus() {
+ return getCSSJumpLinkStatus();
+ }
+
+ @Override
+ public JumpLinkType getJumpLinkType() {
+ return getCSSJumpLinkType();
+ }
+
+ @Override
+ public boolean isJumpLinksReverse() {
+ return isCSSJumpLinksReverse();
+ }
+
+ @Override
+ public int getLineColor() {
+ return getCSSLineColor();
+ }
+
+ @Override
+ public int getLineWidth() {
+ return getCSSLineWidth();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setRoundedBendpointsRadius(int value) {
+ super.setRoundedBendpointsRadius(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setRouting(Routing value) {
+ super.setRouting(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_Routing();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setSmoothness(Smoothness value) {
+ super.setSmoothness(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_Smoothness();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setAvoidObstructions(boolean value) {
+ super.setAvoidObstructions(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_AvoidObstructions();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setClosestDistance(boolean value) {
+ super.setClosestDistance(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_ClosestDistance();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setJumpLinkStatus(JumpLinkStatus value) {
+ super.setJumpLinkStatus(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkStatus();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setJumpLinkType(JumpLinkType value) {
+ super.setJumpLinkType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkType();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setJumpLinksReverse(boolean value) {
+ super.setJumpLinksReverse(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinksReverse();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setLineColor(int value) {
+ super.setLineColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setLineWidth(int value) {
+ super.setLineWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineWidth();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDataTypeStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDataTypeStyleImpl.java
new file mode 100644
index 0000000..4a66fe5
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDataTypeStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.DataTypeStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDataTypeStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDataTypeStyleDelegate;
+
+public class CSSDataTypeStyleImpl extends DataTypeStyleImpl implements CSSDataTypeStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDataTypeStyle dataTypeStyle;
+
+ protected CSSDataTypeStyle getDataTypeStyle() {
+ if (dataTypeStyle == null) {
+ dataTypeStyle = new CSSDataTypeStyleDelegate(this, getEngine());
+ }
+ return dataTypeStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.String getCSSName() {
+ java.lang.String value = super.getName();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getNamedStyle_Name(), value)) {
+ return value;
+ } else {
+ return getDataTypeStyle().getCSSName();
+ }
+ }
+
+
+ @Override
+ public java.lang.String getName() {
+ return getCSSName();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setName(java.lang.String value) {
+ super.setName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getNamedStyle_Name();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDecorationNodeImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDecorationNodeImpl.java
new file mode 100644
index 0000000..cc4a4e4
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDecorationNodeImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2014, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Christian W. Damus - bugs 433206, 436665
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.DecorationNodeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CSSCustomStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CustomStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+
+public class CSSDecorationNodeImpl extends DecorationNodeImpl implements CustomStyle, CSSView.Internal {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSView cssView;
+
+ private CustomStyle customStyle;
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CustomStyle getCustomStyle() {
+ if (customStyle == null) {
+ customStyle = new CSSCustomStyleDelegate(this, getEngine());
+ }
+ return customStyle;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ @Override
+ public void resetCSS() {
+ cssView = null;
+ engine = null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+ // /////////////////////////////////
+ // Implements the custom styles //
+ // /////////////////////////////////
+
+ @Override
+ public boolean showElementIcon() {
+ return getCustomStyle().showElementIcon();
+ }
+
+ @Override
+ public int getQualifiedNameDepth() {
+ return getCustomStyle().getQualifiedNameDepth();
+ }
+
+ @Override
+ public boolean showShadow() {
+ return getCustomStyle().showShadow();
+ }
+
+ // ////////////////////////////////
+ // Implements the getNamedStyle //
+ // ////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDescriptionStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDescriptionStyleImpl.java
new file mode 100644
index 0000000..796387b
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDescriptionStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.DescriptionStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDescriptionStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDescriptionStyleDelegate;
+
+public class CSSDescriptionStyleImpl extends DescriptionStyleImpl implements CSSDescriptionStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDescriptionStyle descriptionStyle;
+
+ protected CSSDescriptionStyle getDescriptionStyle() {
+ if (descriptionStyle == null) {
+ descriptionStyle = new CSSDescriptionStyleDelegate(this, getEngine());
+ }
+ return descriptionStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.String getCSSDescription() {
+ java.lang.String value = super.getDescription();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getDescriptionStyle_Description(), value)) {
+ return value;
+ } else {
+ return getDescriptionStyle().getCSSDescription();
+ }
+ }
+
+
+ @Override
+ public java.lang.String getDescription() {
+ return getCSSDescription();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setDescription(java.lang.String value) {
+ super.setDescription(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDescriptionStyle_Description();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDiagramLinkStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDiagramLinkStyleImpl.java
new file mode 100644
index 0000000..75c70b9
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDiagramLinkStyleImpl.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.DiagramLinkStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDiagramLinkStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDiagramLinkStyleDelegate;
+
+public class CSSDiagramLinkStyleImpl extends DiagramLinkStyleImpl implements CSSDiagramLinkStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDiagramLinkStyle diagramLinkStyle;
+
+ protected CSSDiagramLinkStyle getDiagramLinkStyle() {
+ if (diagramLinkStyle == null) {
+ diagramLinkStyle = new CSSDiagramLinkStyleDelegate(this, getEngine());
+ }
+ return diagramLinkStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDiagramStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDiagramStyleImpl.java
new file mode 100644
index 0000000..bae8797
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDiagramStyleImpl.java
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.DiagramStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDiagramStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDiagramStyleDelegate;
+
+public class CSSDiagramStyleImpl extends DiagramStyleImpl implements CSSDiagramStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDiagramStyle diagramStyle;
+
+ protected CSSDiagramStyle getDiagramStyle() {
+ if (diagramStyle == null) {
+ diagramStyle = new CSSDiagramStyleDelegate(this, getEngine());
+ }
+ return diagramStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSPageX() {
+ int value = super.getPageX();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageX(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageX();
+ }
+ }
+
+ @Override
+ public int getCSSPageY() {
+ int value = super.getPageY();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageY(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageY();
+ }
+ }
+
+ @Override
+ public int getCSSPageWidth() {
+ int value = super.getPageWidth();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageWidth(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageWidth();
+ }
+ }
+
+ @Override
+ public int getCSSPageHeight() {
+ int value = super.getPageHeight();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageHeight(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageHeight();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSDescription() {
+ java.lang.String value = super.getDescription();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getDescriptionStyle_Description(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSDescription();
+ }
+ }
+
+
+ @Override
+ public int getPageX() {
+ return getCSSPageX();
+ }
+
+ @Override
+ public int getPageY() {
+ return getCSSPageY();
+ }
+
+ @Override
+ public int getPageWidth() {
+ return getCSSPageWidth();
+ }
+
+ @Override
+ public int getPageHeight() {
+ return getCSSPageHeight();
+ }
+
+ @Override
+ public java.lang.String getDescription() {
+ return getCSSDescription();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setPageX(int value) {
+ super.setPageX(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageX();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setPageY(int value) {
+ super.setPageY(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageY();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setPageWidth(int value) {
+ super.setPageWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageWidth();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setPageHeight(int value) {
+ super.setPageHeight(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageHeight();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setDescription(java.lang.String value) {
+ super.setDescription(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDescriptionStyle_Description();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDrawerStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDrawerStyleImpl.java
new file mode 100644
index 0000000..1813ca5
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSDrawerStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.DrawerStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDrawerStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDrawerStyleDelegate;
+
+public class CSSDrawerStyleImpl extends DrawerStyleImpl implements CSSDrawerStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDrawerStyle drawerStyle;
+
+ protected CSSDrawerStyle getDrawerStyle() {
+ if (drawerStyle == null) {
+ drawerStyle = new CSSDrawerStyleDelegate(this, getEngine());
+ }
+ return drawerStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCollapsed() {
+ boolean value = super.isCollapsed();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getDrawerStyle_Collapsed(), value)) {
+ return value;
+ } else {
+ return getDrawerStyle().isCSSCollapsed();
+ }
+ }
+
+
+ @Override
+ public boolean isCollapsed() {
+ return isCSSCollapsed();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setCollapsed(boolean value) {
+ super.setCollapsed(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDrawerStyle_Collapsed();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSEdgeImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSEdgeImpl.java
new file mode 100644
index 0000000..9063afb
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSEdgeImpl.java
@@ -0,0 +1,177 @@
+/*****************************************************************************
+ * Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bugs 433206, 436665
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.EdgeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CSSCustomStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CustomStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSEdgeImpl extends EdgeImpl implements CSSView.Internal, CustomStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSView cssView;
+
+ private CustomStyle customStyle;
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ @Override
+ public void resetCSS() {
+ cssView = null;
+ engine = null;
+ }
+
+ protected CustomStyle getCustomStyle() {
+ if (customStyle == null) {
+ customStyle = new CSSCustomStyleDelegate(this, getEngine());
+ }
+ return customStyle;
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+ // ////////////////////////////////
+ // Implements the getNamedStyle //
+ // ////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the custom styles //
+ // /////////////////////////////////
+
+ @Override
+ public boolean showElementIcon() {
+ return getCustomStyle().showElementIcon();
+ }
+
+ @Override
+ public int getQualifiedNameDepth() {
+ return getCustomStyle().getQualifiedNameDepth();
+ }
+
+ @Override
+ public boolean showShadow() {
+ return getCustomStyle().showShadow();
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFillStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFillStyleImpl.java
new file mode 100644
index 0000000..1d68400
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFillStyleImpl.java
@@ -0,0 +1,156 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.FillStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSFillStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSFillStyleDelegate;
+
+public class CSSFillStyleImpl extends FillStyleImpl implements CSSFillStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSFillStyle fillStyle;
+
+ protected CSSFillStyle getFillStyle() {
+ if (fillStyle == null) {
+ fillStyle = new CSSFillStyleDelegate(this, getEngine());
+ }
+ return fillStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSFillColor() {
+ int value = super.getFillColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFillStyle_FillColor(), value)) {
+ return value;
+ } else {
+ return getFillStyle().getCSSFillColor();
+ }
+ }
+
+ @Override
+ public int getCSSTransparency() {
+ int value = super.getTransparency();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFillStyle_Transparency(), value)) {
+ return value;
+ } else {
+ return getFillStyle().getCSSTransparency();
+ }
+ }
+
+ @Override
+ public org.eclipse.gmf.runtime.notation.datatype.GradientData getCSSGradient() {
+ org.eclipse.gmf.runtime.notation.datatype.GradientData value = super.getGradient();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFillStyle_Gradient(), value)) {
+ return value;
+ } else {
+ return getFillStyle().getCSSGradient();
+ }
+ }
+
+
+ @Override
+ public int getFillColor() {
+ return getCSSFillColor();
+ }
+
+ @Override
+ public int getTransparency() {
+ return getCSSTransparency();
+ }
+
+ @Override
+ public org.eclipse.gmf.runtime.notation.datatype.GradientData getGradient() {
+ return getCSSGradient();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setFillColor(int value) {
+ super.setFillColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_FillColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setTransparency(int value) {
+ super.setTransparency(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Transparency();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setGradient(org.eclipse.gmf.runtime.notation.datatype.GradientData value) {
+ super.setGradient(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Gradient();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFilteringStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFilteringStyleImpl.java
new file mode 100644
index 0000000..330514a
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFilteringStyleImpl.java
@@ -0,0 +1,133 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.FilteringStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSFilteringStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSFilteringStyleDelegate;
+
+public class CSSFilteringStyleImpl extends FilteringStyleImpl implements CSSFilteringStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSFilteringStyle filteringStyle;
+
+ protected CSSFilteringStyle getFilteringStyle() {
+ if (filteringStyle == null) {
+ filteringStyle = new CSSFilteringStyleDelegate(this, getEngine());
+ }
+ return filteringStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public Filtering getCSSFiltering() {
+ Filtering value = super.getFiltering();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFilteringStyle_Filtering(), value)) {
+ return value;
+ } else {
+ return getFilteringStyle().getCSSFiltering();
+ }
+ }
+
+ @Override
+ public java.util.List getCSSFilteringKeys() {
+ java.util.List value = super.getFilteringKeys();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFilteringStyle_FilteringKeys(), value)) {
+ return value;
+ } else {
+ return getFilteringStyle().getCSSFilteringKeys();
+ }
+ }
+
+
+ @Override
+ public Filtering getFiltering() {
+ return getCSSFiltering();
+ }
+
+ @Override
+ public java.util.List getFilteringKeys() {
+ return getCSSFilteringKeys();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setFiltering(Filtering value) {
+ super.setFiltering(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFilteringStyle_Filtering();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setFilteringKeys(java.util.List value) {
+ super.setFilteringKeys(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFilteringStyle_FilteringKeys();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFontStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFontStyleImpl.java
new file mode 100644
index 0000000..26c0308
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSFontStyleImpl.java
@@ -0,0 +1,253 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.FontStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSFontStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSFontStyleDelegate;
+
+public class CSSFontStyleImpl extends FontStyleImpl implements CSSFontStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSFontStyle fontStyle;
+
+ protected CSSFontStyle getFontStyle() {
+ if (fontStyle == null) {
+ fontStyle = new CSSFontStyleDelegate(this, getEngine());
+ }
+ return fontStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSFontColor() {
+ int value = super.getFontColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_FontColor(), value)) {
+ return value;
+ } else {
+ return getFontStyle().getCSSFontColor();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSFontName() {
+ java.lang.String value = super.getFontName();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_FontName(), value)) {
+ return value;
+ } else {
+ return getFontStyle().getCSSFontName();
+ }
+ }
+
+ @Override
+ public int getCSSFontHeight() {
+ int value = super.getFontHeight();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_FontHeight(), value)) {
+ return value;
+ } else {
+ return getFontStyle().getCSSFontHeight();
+ }
+ }
+
+ @Override
+ public boolean isCSSBold() {
+ boolean value = super.isBold();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_Bold(), value)) {
+ return value;
+ } else {
+ return getFontStyle().isCSSBold();
+ }
+ }
+
+ @Override
+ public boolean isCSSItalic() {
+ boolean value = super.isItalic();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_Italic(), value)) {
+ return value;
+ } else {
+ return getFontStyle().isCSSItalic();
+ }
+ }
+
+ @Override
+ public boolean isCSSUnderline() {
+ boolean value = super.isUnderline();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_Underline(), value)) {
+ return value;
+ } else {
+ return getFontStyle().isCSSUnderline();
+ }
+ }
+
+ @Override
+ public boolean isCSSStrikeThrough() {
+ boolean value = super.isStrikeThrough();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_StrikeThrough(), value)) {
+ return value;
+ } else {
+ return getFontStyle().isCSSStrikeThrough();
+ }
+ }
+
+
+ @Override
+ public int getFontColor() {
+ // return super.getFontColor();
+ return getCSSFontColor();
+ }
+
+ @Override
+ public java.lang.String getFontName() {
+ return getCSSFontName();
+ }
+
+ @Override
+ public int getFontHeight() {
+ return getCSSFontHeight();
+ }
+
+ @Override
+ public boolean isBold() {
+ return isCSSBold();
+ }
+
+ @Override
+ public boolean isItalic() {
+ return isCSSItalic();
+ }
+
+ @Override
+ public boolean isUnderline() {
+ return isCSSUnderline();
+ }
+
+ @Override
+ public boolean isStrikeThrough() {
+ return isCSSStrikeThrough();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setFontColor(int value) {
+ super.setFontColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setFontName(java.lang.String value) {
+ super.setFontName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontName();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setFontHeight(int value) {
+ super.setFontHeight(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontHeight();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setBold(boolean value) {
+ super.setBold(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Bold();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setItalic(boolean value) {
+ super.setItalic(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Italic();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setUnderline(boolean value) {
+ super.setUnderline(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Underline();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setStrikeThrough(boolean value) {
+ super.setStrikeThrough(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_StrikeThrough();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSGuideStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSGuideStyleImpl.java
new file mode 100644
index 0000000..a15114a
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSGuideStyleImpl.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.GuideStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSGuideStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSGuideStyleDelegate;
+
+public class CSSGuideStyleImpl extends GuideStyleImpl implements CSSGuideStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSGuideStyle guideStyle;
+
+ protected CSSGuideStyle getGuideStyle() {
+ if (guideStyle == null) {
+ guideStyle = new CSSGuideStyleDelegate(this, getEngine());
+ }
+ return guideStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSHintedDiagramLinkStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSHintedDiagramLinkStyleImpl.java
new file mode 100644
index 0000000..58bc621
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSHintedDiagramLinkStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.HintedDiagramLinkStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSHintedDiagramLinkStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSHintedDiagramLinkStyleDelegate;
+
+public class CSSHintedDiagramLinkStyleImpl extends HintedDiagramLinkStyleImpl implements CSSHintedDiagramLinkStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSHintedDiagramLinkStyle hintedDiagramLinkStyle;
+
+ protected CSSHintedDiagramLinkStyle getHintedDiagramLinkStyle() {
+ if (hintedDiagramLinkStyle == null) {
+ hintedDiagramLinkStyle = new CSSHintedDiagramLinkStyleDelegate(this, getEngine());
+ }
+ return hintedDiagramLinkStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.String getCSSHint() {
+ java.lang.String value = super.getHint();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getHintedDiagramLinkStyle_Hint(), value)) {
+ return value;
+ } else {
+ return getHintedDiagramLinkStyle().getCSSHint();
+ }
+ }
+
+
+ @Override
+ public java.lang.String getHint() {
+ return getCSSHint();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setHint(java.lang.String value) {
+ super.setHint(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getHintedDiagramLinkStyle_Hint();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSImageBufferStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSImageBufferStyleImpl.java
new file mode 100644
index 0000000..65518d2
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSImageBufferStyleImpl.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.ImageBufferStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSImageBufferStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSImageBufferStyleDelegate;
+
+public class CSSImageBufferStyleImpl extends ImageBufferStyleImpl implements CSSImageBufferStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSImageBufferStyle imageBufferStyle;
+
+ protected CSSImageBufferStyle getImageBufferStyle() {
+ if (imageBufferStyle == null) {
+ imageBufferStyle = new CSSImageBufferStyleDelegate(this, getEngine());
+ }
+ return imageBufferStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.Boolean getCSSAntiAlias() {
+ java.lang.Boolean value = super.getAntiAlias();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getImageStyle_AntiAlias(), value)) {
+ return value;
+ } else {
+ return getImageBufferStyle().getCSSAntiAlias();
+ }
+ }
+
+ @Override
+ public java.lang.Boolean getCSSMaintainAspectRatio() {
+ java.lang.Boolean value = super.getMaintainAspectRatio();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio(), value)) {
+ return value;
+ } else {
+ return getImageBufferStyle().getCSSMaintainAspectRatio();
+ }
+ }
+
+
+ @Override
+ public java.lang.Boolean getAntiAlias() {
+ return getCSSAntiAlias();
+ }
+
+ @Override
+ public java.lang.Boolean getMaintainAspectRatio() {
+ return getCSSMaintainAspectRatio();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setAntiAlias(java.lang.Boolean value) {
+ super.setAntiAlias(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getImageStyle_AntiAlias();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setMaintainAspectRatio(java.lang.Boolean value) {
+ super.setMaintainAspectRatio(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSImageStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSImageStyleImpl.java
new file mode 100644
index 0000000..70485f1
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSImageStyleImpl.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.ImageStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSImageStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSImageStyleDelegate;
+
+public class CSSImageStyleImpl extends ImageStyleImpl implements CSSImageStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSImageStyle imageStyle;
+
+ protected CSSImageStyle getImageStyle() {
+ if (imageStyle == null) {
+ imageStyle = new CSSImageStyleDelegate(this, getEngine());
+ }
+ return imageStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.Boolean getCSSAntiAlias() {
+ java.lang.Boolean value = super.getAntiAlias();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getImageStyle_AntiAlias(), value)) {
+ return value;
+ } else {
+ return getImageStyle().getCSSAntiAlias();
+ }
+ }
+
+ @Override
+ public java.lang.Boolean getCSSMaintainAspectRatio() {
+ java.lang.Boolean value = super.getMaintainAspectRatio();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio(), value)) {
+ return value;
+ } else {
+ return getImageStyle().getCSSMaintainAspectRatio();
+ }
+ }
+
+
+ @Override
+ public java.lang.Boolean getAntiAlias() {
+ return getCSSAntiAlias();
+ }
+
+ @Override
+ public java.lang.Boolean getMaintainAspectRatio() {
+ return getCSSMaintainAspectRatio();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setAntiAlias(java.lang.Boolean value) {
+ super.setAntiAlias(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getImageStyle_AntiAlias();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setMaintainAspectRatio(java.lang.Boolean value) {
+ super.setMaintainAspectRatio(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSLineStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSLineStyleImpl.java
new file mode 100644
index 0000000..d5a304a
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSLineStyleImpl.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.LineStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSLineStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSLineStyleDelegate;
+
+public class CSSLineStyleImpl extends LineStyleImpl implements CSSLineStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSLineStyle lineStyle;
+
+ protected CSSLineStyle getLineStyle() {
+ if (lineStyle == null) {
+ lineStyle = new CSSLineStyleDelegate(this, getEngine());
+ }
+ return lineStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSLineColor() {
+ int value = super.getLineColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineStyle_LineColor(), value)) {
+ return value;
+ } else {
+ return getLineStyle().getCSSLineColor();
+ }
+ }
+
+ @Override
+ public int getCSSLineWidth() {
+ int value = super.getLineWidth();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineStyle_LineWidth(), value)) {
+ return value;
+ } else {
+ return getLineStyle().getCSSLineWidth();
+ }
+ }
+
+
+ @Override
+ public int getLineColor() {
+ return getCSSLineColor();
+ }
+
+ @Override
+ public int getLineWidth() {
+ return getCSSLineWidth();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setLineColor(int value) {
+ super.setLineColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setLineWidth(int value) {
+ super.setLineWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineWidth();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSLineTypeStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSLineTypeStyleImpl.java
new file mode 100644
index 0000000..9588397
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSLineTypeStyleImpl.java
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.LineType;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.LineTypeStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSLineTypeStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSLineTypeStyleDelegate;
+
+public class CSSLineTypeStyleImpl extends LineTypeStyleImpl implements CSSLineTypeStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSLineTypeStyle lineTypeStyle;
+
+ protected CSSLineTypeStyle getLineTypeStyle() {
+ if (lineTypeStyle == null) {
+ lineTypeStyle = new CSSLineTypeStyleDelegate(this, getEngine());
+ }
+ return lineTypeStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public LineType getCSSLineType() {
+ LineType value = super.getLineType();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineTypeStyle_LineType(), value)) {
+ return value;
+ } else {
+ return getLineTypeStyle().getCSSLineType();
+ }
+ }
+
+
+ @Override
+ public LineType getLineType() {
+ return getCSSLineType();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setLineType(LineType value) {
+ super.setLineType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineTypeStyle_LineType();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSListCompartmentImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSListCompartmentImpl.java
new file mode 100644
index 0000000..476e547
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSListCompartmentImpl.java
@@ -0,0 +1,212 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Sorting;
+import org.eclipse.emf.cdo.gmf.notation.impl.ListCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDrawerStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSTitleStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDrawerStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSTitleStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSListCompartmentImpl extends ListCompartmentImpl implements CSSDrawerStyle, CSSTitleStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDrawerStyle drawerStyle;
+
+ private CSSTitleStyle titleStyle;
+
+ private CSSView cssView;
+
+ protected CSSDrawerStyle getDrawerStyle() {
+ if (drawerStyle == null) {
+ drawerStyle = new CSSDrawerStyleDelegate(this, getEngine());
+ }
+ return drawerStyle;
+ }
+
+ protected CSSTitleStyle getTitleStyle() {
+ if (titleStyle == null) {
+ titleStyle = new CSSTitleStyleDelegate(this, getEngine());
+ }
+ return titleStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCollapsed() {
+ boolean value = super.isCollapsed();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDrawerStyle_Collapsed(), value)) {
+ return value;
+ } else {
+ return getDrawerStyle().isCSSCollapsed();
+ }
+ }
+
+
+ @Override
+ public boolean isCollapsed() {
+ return isCSSCollapsed();
+ }
+
+ @Override
+ public boolean isCSSShowTitle() {
+ boolean value = super.isShowTitle();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getTitleStyle_ShowTitle(), value)) {
+ return value;
+ } else {
+ return getTitleStyle().isCSSShowTitle();
+ }
+ }
+
+ @Override
+ public boolean isShowTitle() {
+ return isCSSShowTitle();
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setCollapsed(boolean value) {
+ super.setCollapsed(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDrawerStyle_Collapsed();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setSorting(Sorting value) {
+ super.setSorting(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getSortingStyle_Sorting();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setSortingKeys(java.util.Map value) {
+ super.setSortingKeys(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getSortingStyle_SortingKeys();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFiltering(Filtering value) {
+ super.setFiltering(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFilteringStyle_Filtering();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFilteringKeys(java.util.List value) {
+ super.setFilteringKeys(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFilteringStyle_FilteringKeys();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setShowTitle(boolean value) {
+ super.setShowTitle(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getTitleStyle_ShowTitle();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSMultiDiagramLinkStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSMultiDiagramLinkStyleImpl.java
new file mode 100644
index 0000000..e6129b3
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSMultiDiagramLinkStyleImpl.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.MultiDiagramLinkStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSMultiDiagramLinkStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSMultiDiagramLinkStyleDelegate;
+
+public class CSSMultiDiagramLinkStyleImpl extends MultiDiagramLinkStyleImpl implements CSSMultiDiagramLinkStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSMultiDiagramLinkStyle multiDiagramLinkStyle;
+
+ protected CSSMultiDiagramLinkStyle getMultiDiagramLinkStyle() {
+ if (multiDiagramLinkStyle == null) {
+ multiDiagramLinkStyle = new CSSMultiDiagramLinkStyleDelegate(this, getEngine());
+ }
+ return multiDiagramLinkStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSNamedStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSNamedStyleImpl.java
new file mode 100644
index 0000000..8fb3835
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSNamedStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.NamedStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSNamedStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSNamedStyleDelegate;
+
+public class CSSNamedStyleImpl extends NamedStyleImpl implements CSSNamedStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSNamedStyle namedStyle;
+
+ protected CSSNamedStyle getNamedStyle() {
+ if (namedStyle == null) {
+ namedStyle = new CSSNamedStyleDelegate(this, getEngine());
+ }
+ return namedStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.String getCSSName() {
+ java.lang.String value = super.getName();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getNamedStyle_Name(), value)) {
+ return value;
+ } else {
+ return getNamedStyle().getCSSName();
+ }
+ }
+
+
+ @Override
+ public java.lang.String getName() {
+ return getCSSName();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setName(java.lang.String value) {
+ super.setName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getNamedStyle_Name();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSNodeImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSNodeImpl.java
new file mode 100644
index 0000000..0f216f5
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSNodeImpl.java
@@ -0,0 +1,177 @@
+/*****************************************************************************
+ * Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bugs 433206, 436665
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.NodeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CSSCustomStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CustomStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSNodeImpl extends NodeImpl implements CSSView.Internal, CustomStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSView cssView;
+
+ private CustomStyle customStyle;
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ @Override
+ public void resetCSS() {
+ cssView = null;
+ engine = null;
+ }
+
+ protected CustomStyle getCustomStyle() {
+ if (customStyle == null) {
+ customStyle = new CSSCustomStyleDelegate(this, getEngine());
+ }
+ return customStyle;
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+ // ////////////////////////////////
+ // Implements the getNamedStyle //
+ // ////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the custom styles //
+ // /////////////////////////////////
+
+ @Override
+ public boolean showElementIcon() {
+ return getCustomStyle().showElementIcon();
+ }
+
+ @Override
+ public int getQualifiedNameDepth() {
+ return getCustomStyle().getQualifiedNameDepth();
+ }
+
+ @Override
+ public boolean showShadow() {
+ return getCustomStyle().showShadow();
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSPageStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSPageStyleImpl.java
new file mode 100644
index 0000000..969c7d7
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSPageStyleImpl.java
@@ -0,0 +1,182 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.PageStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSPageStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSPageStyleDelegate;
+
+public class CSSPageStyleImpl extends PageStyleImpl implements CSSPageStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSPageStyle pageStyle;
+
+ protected CSSPageStyle getPageStyle() {
+ if (pageStyle == null) {
+ pageStyle = new CSSPageStyleDelegate(this, getEngine());
+ }
+ return pageStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSPageX() {
+ int value = super.getPageX();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageX(), value)) {
+ return value;
+ } else {
+ return getPageStyle().getCSSPageX();
+ }
+ }
+
+ @Override
+ public int getCSSPageY() {
+ int value = super.getPageY();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageY(), value)) {
+ return value;
+ } else {
+ return getPageStyle().getCSSPageY();
+ }
+ }
+
+ @Override
+ public int getCSSPageWidth() {
+ int value = super.getPageWidth();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageWidth(), value)) {
+ return value;
+ } else {
+ return getPageStyle().getCSSPageWidth();
+ }
+ }
+
+ @Override
+ public int getCSSPageHeight() {
+ int value = super.getPageHeight();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getPageStyle_PageHeight(), value)) {
+ return value;
+ } else {
+ return getPageStyle().getCSSPageHeight();
+ }
+ }
+
+
+ @Override
+ public int getPageX() {
+ // return super.getPageX();
+ return getCSSPageX();
+ }
+
+ @Override
+ public int getPageY() {
+ // return super.getPageY();
+ return getCSSPageY();
+ }
+
+ @Override
+ public int getPageWidth() {
+ return getCSSPageWidth();
+ }
+
+ @Override
+ public int getPageHeight() {
+ return getCSSPageHeight();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setPageX(int value) {
+ super.setPageX(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageX();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setPageY(int value) {
+ super.setPageY(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageY();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setPageWidth(int value) {
+ super.setPageWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageWidth();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setPageHeight(int value) {
+ super.setPageHeight(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageHeight();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSPropertiesSetStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSPropertiesSetStyleImpl.java
new file mode 100644
index 0000000..3229cdf
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSPropertiesSetStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.PropertiesSetStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSPropertiesSetStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSPropertiesSetStyleDelegate;
+
+public class CSSPropertiesSetStyleImpl extends PropertiesSetStyleImpl implements CSSPropertiesSetStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSPropertiesSetStyle propertiesSetStyle;
+
+ protected CSSPropertiesSetStyle getPropertiesSetStyle() {
+ if (propertiesSetStyle == null) {
+ propertiesSetStyle = new CSSPropertiesSetStyleDelegate(this, getEngine());
+ }
+ return propertiesSetStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public java.lang.String getCSSName() {
+ java.lang.String value = super.getName();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getNamedStyle_Name(), value)) {
+ return value;
+ } else {
+ return getPropertiesSetStyle().getCSSName();
+ }
+ }
+
+
+ @Override
+ public java.lang.String getName() {
+ return getCSSName();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setName(java.lang.String value) {
+ super.setName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getNamedStyle_Name();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSRoundedCornersStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSRoundedCornersStyleImpl.java
new file mode 100644
index 0000000..2d23315
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSRoundedCornersStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.RoundedCornersStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSRoundedCornersStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSRoundedCornersStyleDelegate;
+
+public class CSSRoundedCornersStyleImpl extends RoundedCornersStyleImpl implements CSSRoundedCornersStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSRoundedCornersStyle roundedCornersStyle;
+
+ protected CSSRoundedCornersStyle getRoundedCornersStyle() {
+ if (roundedCornersStyle == null) {
+ roundedCornersStyle = new CSSRoundedCornersStyleDelegate(this, getEngine());
+ }
+ return roundedCornersStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSRoundedBendpointsRadius() {
+ int value = super.getRoundedBendpointsRadius();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius(), value)) {
+ return value;
+ } else {
+ return getRoundedCornersStyle().getCSSRoundedBendpointsRadius();
+ }
+ }
+
+
+ @Override
+ public int getRoundedBendpointsRadius() {
+ return getCSSRoundedBendpointsRadius();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setRoundedBendpointsRadius(int value) {
+ super.setRoundedBendpointsRadius(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSRoutingStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSRoutingStyleImpl.java
new file mode 100644
index 0000000..3da067f
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSRoutingStyleImpl.java
@@ -0,0 +1,280 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.JumpLinkStatus;
+import org.eclipse.gmf.runtime.notation.JumpLinkType;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Routing;
+import org.eclipse.gmf.runtime.notation.Smoothness;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.RoutingStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSRoutingStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSRoutingStyleDelegate;
+
+public class CSSRoutingStyleImpl extends RoutingStyleImpl implements CSSRoutingStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSRoutingStyle routingStyle;
+
+ protected CSSRoutingStyle getRoutingStyle() {
+ if (routingStyle == null) {
+ routingStyle = new CSSRoutingStyleDelegate(this, getEngine());
+ }
+ return routingStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSRoundedBendpointsRadius() {
+ int value = super.getRoundedBendpointsRadius();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().getCSSRoundedBendpointsRadius();
+ }
+ }
+
+ @Override
+ public Routing getCSSRouting() {
+ Routing value = super.getRouting();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_Routing(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().getCSSRouting();
+ }
+ }
+
+ @Override
+ public Smoothness getCSSSmoothness() {
+ Smoothness value = super.getSmoothness();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_Smoothness(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().getCSSSmoothness();
+ }
+ }
+
+ @Override
+ public boolean isCSSAvoidObstructions() {
+ boolean value = super.isAvoidObstructions();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_AvoidObstructions(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().isCSSAvoidObstructions();
+ }
+ }
+
+ @Override
+ public boolean isCSSClosestDistance() {
+ boolean value = super.isClosestDistance();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_ClosestDistance(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().isCSSClosestDistance();
+ }
+ }
+
+ @Override
+ public JumpLinkStatus getCSSJumpLinkStatus() {
+ JumpLinkStatus value = super.getJumpLinkStatus();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkStatus(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().getCSSJumpLinkStatus();
+ }
+ }
+
+ @Override
+ public JumpLinkType getCSSJumpLinkType() {
+ JumpLinkType value = super.getJumpLinkType();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkType(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().getCSSJumpLinkType();
+ }
+ }
+
+ @Override
+ public boolean isCSSJumpLinksReverse() {
+ boolean value = super.isJumpLinksReverse();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoutingStyle_JumpLinksReverse(), value)) {
+ return value;
+ } else {
+ return getRoutingStyle().isCSSJumpLinksReverse();
+ }
+ }
+
+
+ @Override
+ public int getRoundedBendpointsRadius() {
+ return getCSSRoundedBendpointsRadius();
+ }
+
+ @Override
+ public Routing getRouting() {
+ return getCSSRouting();
+ }
+
+ @Override
+ public Smoothness getSmoothness() {
+ return getCSSSmoothness();
+ }
+
+ @Override
+ public boolean isAvoidObstructions() {
+ return isCSSAvoidObstructions();
+ }
+
+ @Override
+ public boolean isClosestDistance() {
+ return isCSSClosestDistance();
+ }
+
+ @Override
+ public JumpLinkStatus getJumpLinkStatus() {
+ return getCSSJumpLinkStatus();
+ }
+
+ @Override
+ public JumpLinkType getJumpLinkType() {
+ return getCSSJumpLinkType();
+ }
+
+ @Override
+ public boolean isJumpLinksReverse() {
+ return isCSSJumpLinksReverse();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setRoundedBendpointsRadius(int value) {
+ super.setRoundedBendpointsRadius(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setRouting(Routing value) {
+ super.setRouting(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_Routing();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setSmoothness(Smoothness value) {
+ super.setSmoothness(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_Smoothness();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setAvoidObstructions(boolean value) {
+ super.setAvoidObstructions(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_AvoidObstructions();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setClosestDistance(boolean value) {
+ super.setClosestDistance(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_ClosestDistance();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setJumpLinkStatus(JumpLinkStatus value) {
+ super.setJumpLinkStatus(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkStatus();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setJumpLinkType(JumpLinkType value) {
+ super.setJumpLinkType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinkType();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setJumpLinksReverse(boolean value) {
+ super.setJumpLinksReverse(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoutingStyle_JumpLinksReverse();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSSemanticListCompartmentImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSSemanticListCompartmentImpl.java
new file mode 100644
index 0000000..9fc26b3
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSSemanticListCompartmentImpl.java
@@ -0,0 +1,185 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.Filtering;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Sorting;
+import org.eclipse.emf.cdo.gmf.notation.impl.SemanticListCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDrawerStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDrawerStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSSemanticListCompartmentImpl extends SemanticListCompartmentImpl implements CSSDrawerStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDrawerStyle drawerStyle;
+
+ private CSSView cssView;
+
+ protected CSSDrawerStyle getDrawerStyle() {
+ if (drawerStyle == null) {
+ drawerStyle = new CSSDrawerStyleDelegate(this, getEngine());
+ }
+ return drawerStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSCollapsed() {
+ boolean value = super.isCollapsed();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDrawerStyle_Collapsed(), value)) {
+ return value;
+ } else {
+ return getDrawerStyle().isCSSCollapsed();
+ }
+ }
+
+
+ @Override
+ public boolean isCollapsed() {
+ return isCSSCollapsed();
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setCollapsed(boolean value) {
+ super.setCollapsed(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDrawerStyle_Collapsed();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setSorting(Sorting value) {
+ super.setSorting(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getSortingStyle_Sorting();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setSortingKeys(java.util.Map value) {
+ super.setSortingKeys(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getSortingStyle_SortingKeys();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFiltering(Filtering value) {
+ super.setFiltering(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFilteringStyle_Filtering();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFilteringKeys(java.util.List value) {
+ super.setFilteringKeys(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFilteringStyle_FilteringKeys();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setShowTitle(boolean value) {
+ super.setShowTitle(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getTitleStyle_ShowTitle();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSShapeImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSShapeImpl.java
new file mode 100644
index 0000000..884cdad
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSShapeImpl.java
@@ -0,0 +1,532 @@
+/*****************************************************************************
+ * Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bugs 433206, 436665
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.ShapeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CSSCustomStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.provider.CustomStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSShapeStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSShapeStyleDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+
+public class CSSShapeImpl extends ShapeImpl implements CSSShapeStyle, CustomStyle, CSSView.Internal {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSShapeStyle shapeStyle;
+
+ private CSSView cssView;
+
+ private CustomStyle customStyle;
+
+ protected CSSShapeStyle getShapeStyle() {
+ if (shapeStyle == null) {
+ shapeStyle = new CSSShapeStyleDelegate(this, getEngine());
+ }
+ return shapeStyle;
+ }
+
+ protected CustomStyle getCustomStyle() {
+ if (customStyle == null) {
+ customStyle = new CSSCustomStyleDelegate(this, getEngine());
+ }
+ return customStyle;
+ }
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ @Override
+ public void resetCSS() {
+ cssView = null;
+ engine = null;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSFontColor() {
+ int value = super.getFontColor();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_FontColor(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFontColor();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSFontName() {
+ java.lang.String value = super.getFontName();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_FontName(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFontName();
+ }
+ }
+
+ @Override
+ public int getCSSFontHeight() {
+ int value = super.getFontHeight();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_FontHeight(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFontHeight();
+ }
+ }
+
+ @Override
+ public boolean isCSSBold() {
+ boolean value = super.isBold();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_Bold(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSBold();
+ }
+ }
+
+ @Override
+ public boolean isCSSItalic() {
+ boolean value = super.isItalic();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_Italic(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSItalic();
+ }
+ }
+
+ @Override
+ public boolean isCSSUnderline() {
+ boolean value = super.isUnderline();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_Underline(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSUnderline();
+ }
+ }
+
+ @Override
+ public boolean isCSSStrikeThrough() {
+ boolean value = super.isStrikeThrough();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFontStyle_StrikeThrough(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSStrikeThrough();
+ }
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSDescription() {
+ java.lang.String value = super.getDescription();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDescriptionStyle_Description(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSDescription();
+ }
+ }
+
+ @Override
+ public int getCSSFillColor() {
+ int value = super.getFillColor();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFillStyle_FillColor(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFillColor();
+ }
+ }
+
+ @Override
+ public int getCSSTransparency() {
+ int value = super.getTransparency();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFillStyle_Transparency(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSTransparency();
+ }
+ }
+
+ @Override
+ public org.eclipse.gmf.runtime.notation.datatype.GradientData getCSSGradient() {
+ org.eclipse.gmf.runtime.notation.datatype.GradientData value = super.getGradient();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getFillStyle_Gradient(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSGradient();
+ }
+ }
+
+ @Override
+ public int getCSSLineColor() {
+ int value = super.getLineColor();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getLineStyle_LineColor(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSLineColor();
+ }
+ }
+
+ @Override
+ public int getCSSLineWidth() {
+ int value = super.getLineWidth();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getLineStyle_LineWidth(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSLineWidth();
+ }
+ }
+
+ @Override
+ public int getCSSRoundedBendpointsRadius() {
+ int value = super.getRoundedBendpointsRadius();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSRoundedBendpointsRadius();
+ }
+ }
+
+
+ @Override
+ public int getFontColor() {
+ return getCSSFontColor();
+ }
+
+ @Override
+ public java.lang.String getFontName() {
+ return getCSSFontName();
+ }
+
+ @Override
+ public int getFontHeight() {
+ return getCSSFontHeight();
+ }
+
+ @Override
+ public boolean isBold() {
+ return isCSSBold();
+ }
+
+ @Override
+ public boolean isItalic() {
+ return isCSSItalic();
+ }
+
+ @Override
+ public boolean isUnderline() {
+ return isCSSUnderline();
+ }
+
+ @Override
+ public boolean isStrikeThrough() {
+ return isCSSStrikeThrough();
+ }
+
+ @Override
+ public java.lang.String getDescription() {
+ return getCSSDescription();
+ }
+
+ @Override
+ public int getFillColor() {
+ return getCSSFillColor();
+ }
+
+ @Override
+ public int getTransparency() {
+ return getCSSTransparency();
+ }
+
+ @Override
+ public org.eclipse.gmf.runtime.notation.datatype.GradientData getGradient() {
+ return getCSSGradient();
+ }
+
+ @Override
+ public int getLineColor() {
+ return getCSSLineColor();
+ }
+
+ @Override
+ public int getLineWidth() {
+ return getCSSLineWidth();
+ }
+
+ @Override
+ public int getRoundedBendpointsRadius() {
+ return getCSSRoundedBendpointsRadius();
+ }
+
+ @Override
+ public boolean isVisible() {
+ return isCSSVisible();
+ }
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFontColor(int value) {
+ super.setFontColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontColor();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFontName(java.lang.String value) {
+ super.setFontName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontName();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFontHeight(int value) {
+ super.setFontHeight(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontHeight();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setBold(boolean value) {
+ super.setBold(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Bold();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setItalic(boolean value) {
+ super.setItalic(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Italic();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setUnderline(boolean value) {
+ super.setUnderline(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Underline();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setStrikeThrough(boolean value) {
+ super.setStrikeThrough(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_StrikeThrough();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setDescription(java.lang.String value) {
+ super.setDescription(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDescriptionStyle_Description();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setFillColor(int value) {
+ super.setFillColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_FillColor();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setTransparency(int value) {
+ super.setTransparency(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Transparency();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setGradient(org.eclipse.gmf.runtime.notation.datatype.GradientData value) {
+ super.setGradient(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Gradient();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setLineColor(int value) {
+ super.setLineColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineColor();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setLineWidth(int value) {
+ super.setLineWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineWidth();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setRoundedBendpointsRadius(int value) {
+ super.setRoundedBendpointsRadius(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ if (feature != null) {
+ ForceValueHelper.unsetValue(this, feature);
+ }
+ }
+
+ // /////////////////////////////////
+ // Implements the custom styles //
+ // /////////////////////////////////
+
+ @Override
+ public boolean showElementIcon() {
+ return getCustomStyle().showElementIcon();
+ }
+
+ @Override
+ public int getQualifiedNameDepth() {
+ return getCustomStyle().getQualifiedNameDepth();
+ }
+
+ @Override
+ public boolean showShadow() {
+ return getCustomStyle().showShadow();
+ }
+
+ // ////////////////////////////////
+ // Implements the getNamedStyle //
+ // ////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSShapeStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSShapeStyleImpl.java
new file mode 100644
index 0000000..067556a
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSShapeStyleImpl.java
@@ -0,0 +1,422 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.ShapeStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSShapeStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSShapeStyleDelegate;
+
+public class CSSShapeStyleImpl extends ShapeStyleImpl implements CSSShapeStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSShapeStyle shapeStyle;
+
+ protected CSSShapeStyle getShapeStyle() {
+ if (shapeStyle == null) {
+ shapeStyle = new CSSShapeStyleDelegate(this, getEngine());
+ }
+ return shapeStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSFontColor() {
+ int value = super.getFontColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_FontColor(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFontColor();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSFontName() {
+ java.lang.String value = super.getFontName();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_FontName(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFontName();
+ }
+ }
+
+ @Override
+ public int getCSSFontHeight() {
+ int value = super.getFontHeight();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_FontHeight(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFontHeight();
+ }
+ }
+
+ @Override
+ public boolean isCSSBold() {
+ boolean value = super.isBold();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_Bold(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSBold();
+ }
+ }
+
+ @Override
+ public boolean isCSSItalic() {
+ boolean value = super.isItalic();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_Italic(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSItalic();
+ }
+ }
+
+ @Override
+ public boolean isCSSUnderline() {
+ boolean value = super.isUnderline();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_Underline(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSUnderline();
+ }
+ }
+
+ @Override
+ public boolean isCSSStrikeThrough() {
+ boolean value = super.isStrikeThrough();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFontStyle_StrikeThrough(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().isCSSStrikeThrough();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSDescription() {
+ java.lang.String value = super.getDescription();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getDescriptionStyle_Description(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSDescription();
+ }
+ }
+
+ @Override
+ public int getCSSFillColor() {
+ int value = super.getFillColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFillStyle_FillColor(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSFillColor();
+ }
+ }
+
+ @Override
+ public int getCSSTransparency() {
+ int value = super.getTransparency();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFillStyle_Transparency(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSTransparency();
+ }
+ }
+
+ @Override
+ public org.eclipse.gmf.runtime.notation.datatype.GradientData getCSSGradient() {
+ org.eclipse.gmf.runtime.notation.datatype.GradientData value = super.getGradient();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getFillStyle_Gradient(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSGradient();
+ }
+ }
+
+ @Override
+ public int getCSSLineColor() {
+ int value = super.getLineColor();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineStyle_LineColor(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSLineColor();
+ }
+ }
+
+ @Override
+ public int getCSSLineWidth() {
+ int value = super.getLineWidth();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getLineStyle_LineWidth(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSLineWidth();
+ }
+ }
+
+ @Override
+ public int getCSSRoundedBendpointsRadius() {
+ int value = super.getRoundedBendpointsRadius();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius(), value)) {
+ return value;
+ } else {
+ return getShapeStyle().getCSSRoundedBendpointsRadius();
+ }
+ }
+
+
+ @Override
+ public int getFontColor() {
+ return getCSSFontColor();
+ }
+
+ @Override
+ public java.lang.String getFontName() {
+ return getCSSFontName();
+ }
+
+ @Override
+ public int getFontHeight() {
+ return getCSSFontHeight();
+ }
+
+ @Override
+ public boolean isBold() {
+ return isCSSBold();
+ }
+
+ @Override
+ public boolean isItalic() {
+ return isCSSItalic();
+ }
+
+ @Override
+ public boolean isUnderline() {
+ return isCSSUnderline();
+ }
+
+ @Override
+ public boolean isStrikeThrough() {
+ // return super.isStrikeThrough();
+ return isCSSStrikeThrough();
+ }
+
+ @Override
+ public java.lang.String getDescription() {
+ // return super.getDescription();
+ return getCSSDescription();
+ }
+
+ @Override
+ public int getFillColor() {
+ return getCSSFillColor();
+ }
+
+ @Override
+ public int getTransparency() {
+ return getCSSTransparency();
+ }
+
+ @Override
+ public org.eclipse.gmf.runtime.notation.datatype.GradientData getGradient() {
+ return getCSSGradient();
+ }
+
+ @Override
+ public int getLineColor() {
+ return getCSSLineColor();
+ }
+
+ @Override
+ public int getLineWidth() {
+ return getCSSLineWidth();
+ }
+
+ @Override
+ public int getRoundedBendpointsRadius() {
+ return getCSSRoundedBendpointsRadius();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setFontColor(int value) {
+ super.setFontColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setFontName(java.lang.String value) {
+ super.setFontName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontName();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setFontHeight(int value) {
+ super.setFontHeight(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_FontHeight();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setBold(boolean value) {
+ super.setBold(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Bold();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setItalic(boolean value) {
+ super.setItalic(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Italic();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setUnderline(boolean value) {
+ super.setUnderline(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_Underline();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setStrikeThrough(boolean value) {
+ super.setStrikeThrough(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFontStyle_StrikeThrough();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setDescription(java.lang.String value) {
+ super.setDescription(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDescriptionStyle_Description();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setFillColor(int value) {
+ super.setFillColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_FillColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setTransparency(int value) {
+ super.setTransparency(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Transparency();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setGradient(org.eclipse.gmf.runtime.notation.datatype.GradientData value) {
+ super.setGradient(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getFillStyle_Gradient();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setLineColor(int value) {
+ super.setLineColor(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineColor();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setLineWidth(int value) {
+ super.setLineWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getLineStyle_LineWidth();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setRoundedBendpointsRadius(int value) {
+ super.setRoundedBendpointsRadius(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getRoundedCornersStyle_RoundedBendpointsRadius();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSSortingStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSSortingStyleImpl.java
new file mode 100644
index 0000000..0393b71
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSSortingStyleImpl.java
@@ -0,0 +1,133 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Sorting;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.SortingStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSSortingStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSSortingStyleDelegate;
+
+public class CSSSortingStyleImpl extends SortingStyleImpl implements CSSSortingStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSSortingStyle sortingStyle;
+
+ protected CSSSortingStyle getSortingStyle() {
+ if (sortingStyle == null) {
+ sortingStyle = new CSSSortingStyleDelegate(this, getEngine());
+ }
+ return sortingStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public Sorting getCSSSorting() {
+ Sorting value = super.getSorting();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getSortingStyle_Sorting(), value)) {
+ return value;
+ } else {
+ return getSortingStyle().getCSSSorting();
+ }
+ }
+
+ @Override
+ public java.util.Map getCSSSortingKeys() {
+ java.util.Map value = super.getSortingKeys();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getSortingStyle_SortingKeys(), value)) {
+ return value;
+ } else {
+ return getSortingStyle().getCSSSortingKeys();
+ }
+ }
+
+
+ @Override
+ public Sorting getSorting() {
+ return getCSSSorting();
+ }
+
+ @Override
+ public java.util.Map getSortingKeys() {
+ return getCSSSortingKeys();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setSorting(Sorting value) {
+ super.setSorting(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getSortingStyle_Sorting();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ @Override
+ public void setSortingKeys(java.util.Map value) {
+ super.setSortingKeys(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getSortingStyle_SortingKeys();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSStandardDiagramImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSStandardDiagramImpl.java
new file mode 100644
index 0000000..5bc7d3d
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSStandardDiagramImpl.java
@@ -0,0 +1,230 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.MeasurementUnit;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.emf.cdo.gmf.notation.impl.StandardDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSDiagramStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSDiagramStyleDelegate;
+
+public class CSSStandardDiagramImpl extends StandardDiagramImpl implements CSSDiagramStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSDiagramStyle diagramStyle;
+
+ protected CSSDiagramStyle getDiagramStyle() {
+ if (diagramStyle == null) {
+ diagramStyle = new CSSDiagramStyleDelegate(this, getEngine());
+ }
+ return diagramStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagramImpl) getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public int getCSSPageX() {
+ int value = super.getPageX();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getPageStyle_PageX(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageX();
+ }
+ }
+
+ @Override
+ public int getCSSPageY() {
+ int value = super.getPageY();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getPageStyle_PageY(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageY();
+ }
+ }
+
+ @Override
+ public int getCSSPageWidth() {
+ int value = super.getPageWidth();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getPageStyle_PageWidth(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageWidth();
+ }
+ }
+
+ @Override
+ public int getCSSPageHeight() {
+ int value = super.getPageHeight();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getPageStyle_PageHeight(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSPageHeight();
+ }
+ }
+
+ @Override
+ public java.lang.String getCSSDescription() {
+ java.lang.String value = super.getDescription();
+
+ if (ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getDescriptionStyle_Description(), value)) {
+ return value;
+ } else {
+ return getDiagramStyle().getCSSDescription();
+ }
+ }
+
+
+ @Override
+ public int getPageX() {
+ return getCSSPageX();
+ }
+
+ @Override
+ public int getPageY() {
+ return getCSSPageY();
+ }
+
+ @Override
+ public int getPageWidth() {
+ return getCSSPageWidth();
+ }
+
+ @Override
+ public int getPageHeight() {
+ return getCSSPageHeight();
+ }
+
+ @Override
+ public java.lang.String getDescription() {
+ return getCSSDescription();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setVisible(boolean value) {
+ super.setVisible(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Visible();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setType(java.lang.String value) {
+ super.setType(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Type();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMutable(boolean value) {
+ super.setMutable(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getView_Mutable();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setName(java.lang.String value) {
+ super.setName(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDiagram_Name();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setMeasurementUnit(MeasurementUnit value) {
+ super.setMeasurementUnit(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDiagram_MeasurementUnit();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setPageX(int value) {
+ super.setPageX(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageX();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setPageY(int value) {
+ super.setPageY(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageY();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setPageWidth(int value) {
+ super.setPageWidth(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageWidth();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setPageHeight(int value) {
+ super.setPageHeight(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getPageStyle_PageHeight();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ @Override
+ public void setDescription(java.lang.String value) {
+ super.setDescription(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getDescriptionStyle_Description();
+ ForceValueHelper.setValue(this, feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(this, feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSTextStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSTextStyleImpl.java
new file mode 100644
index 0000000..3f3a6ae
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSTextStyleImpl.java
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.TextAlignment;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.TextStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSTextStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSTextStyleDelegate;
+
+public class CSSTextStyleImpl extends TextStyleImpl implements CSSTextStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSTextStyle textStyle;
+
+ protected CSSTextStyle getTextStyle() {
+ if (textStyle == null) {
+ textStyle = new CSSTextStyleDelegate(this, getEngine());
+ }
+ return textStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public TextAlignment getCSSTextAlignment() {
+ TextAlignment value = super.getTextAlignment();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getTextStyle_TextAlignment(), value)) {
+ return value;
+ } else {
+ return getTextStyle().getCSSTextAlignment();
+ }
+ }
+
+
+ @Override
+ public TextAlignment getTextAlignment() {
+ return getCSSTextAlignment();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setTextAlignment(TextAlignment value) {
+ super.setTextAlignment(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getTextStyle_TextAlignment();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSTitleStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSTitleStyleImpl.java
new file mode 100644
index 0000000..8a7b205
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/CSSTitleStyleImpl.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.emf.cdo.gmf.notation.impl.TitleStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSTitleStyle;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSTitleStyleDelegate;
+
+public class CSSTitleStyleImpl extends TitleStyleImpl implements CSSTitleStyle {
+
+ protected ExtendedCSSEngine engine;
+
+ private CSSTitleStyle titleStyle;
+
+ protected CSSTitleStyle getTitleStyle() {
+ if (titleStyle == null) {
+ titleStyle = new CSSTitleStyleDelegate(this, getEngine());
+ }
+ return titleStyle;
+ }
+
+ protected ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ engine = ((CSSDiagram) findView().getDiagram()).getEngine();
+ }
+ return engine;
+ }
+
+ protected View findView() {
+ EObject parent = eContainer();
+ while (!(parent instanceof View) && parent != null) {
+ parent = parent.eContainer();
+ }
+
+ if (parent != null) {
+ return (View) parent;
+ }
+
+ return null;
+ }
+
+
+ // ////////////////////////////////////////
+ // Forwards accesses to CSS properties //
+ // ////////////////////////////////////////
+
+
+ @Override
+ public boolean isCSSShowTitle() {
+ boolean value = super.isShowTitle();
+
+ if (ForceValueHelper.isSet(findView(), this, NotationPackage.eINSTANCE.getTitleStyle_ShowTitle(), value)) {
+ return value;
+ } else {
+ return getTitleStyle().isCSSShowTitle();
+ }
+ }
+
+
+ @Override
+ public boolean isShowTitle() {
+ return isCSSShowTitle();
+ }
+
+
+
+ // //////////////////////////////////////////////
+ // Implements a setter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public void setShowTitle(boolean value) {
+ super.setShowTitle(value);
+
+ EStructuralFeature feature = NotationPackage.eINSTANCE.getTitleStyle_ShowTitle();
+ ForceValueHelper.setValue(findView(), feature, value);
+ }
+
+ // ////////////////////////////////
+ // Implements the unset method //
+ // ////////////////////////////////
+
+ @Override
+ public void eUnset(int featureId) {
+ super.eUnset(featureId);
+
+ EStructuralFeature feature = eClass().getEStructuralFeature(featureId);
+ ForceValueHelper.unsetValue(findView(), feature);
+ }
+
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/factory/CSSNotationFactory.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/factory/CSSNotationFactory.java
new file mode 100644
index 0000000..1cb2228
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/factory/CSSNotationFactory.java
@@ -0,0 +1,310 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo.factory;
+
+import org.eclipse.gmf.runtime.notation.ArrowStyle;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.BasicSemanticCompartment;
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.Compartment;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.DataTypeStyle;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.DiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.DiagramStyle;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.FillStyle;
+import org.eclipse.gmf.runtime.notation.FilteringStyle;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.GuideStyle;
+import org.eclipse.gmf.runtime.notation.HintedDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.ImageBufferStyle;
+import org.eclipse.gmf.runtime.notation.ImageStyle;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.LineTypeStyle;
+import org.eclipse.gmf.runtime.notation.ListCompartment;
+import org.eclipse.gmf.runtime.notation.MultiDiagramLinkStyle;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.PageStyle;
+import org.eclipse.gmf.runtime.notation.PropertiesSetStyle;
+import org.eclipse.gmf.runtime.notation.RoundedCornersStyle;
+import org.eclipse.gmf.runtime.notation.RoutingStyle;
+import org.eclipse.gmf.runtime.notation.SemanticListCompartment;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.ShapeStyle;
+import org.eclipse.gmf.runtime.notation.SortingStyle;
+import org.eclipse.gmf.runtime.notation.StandardDiagram;
+import org.eclipse.gmf.runtime.notation.TextStyle;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.emf.cdo.gmf.notation.impl.NotationFactoryImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSArrowStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSBasicCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSBasicSemanticCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSCanonicalStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSConnectorImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSConnectorStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSDataTypeStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSDecorationNodeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSDescriptionStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSDiagramLinkStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSDiagramStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSDrawerStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSEdgeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSFillStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSFilteringStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSFontStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSGuideStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSHintedDiagramLinkStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSImageBufferStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSImageStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSLineStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSLineTypeStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSListCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSMultiDiagramLinkStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSNamedStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSNodeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSPageStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSPropertiesSetStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSRoundedCornersStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSRoutingStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSSemanticListCompartmentImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSShapeImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSShapeStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSSortingStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSStandardDiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSTextStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.CSSTitleStyleImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.cdo.notation.CSSDiagramImpl;
+
+/**
+ * This factory overrides the GMF NotationFactory for implementing the Notation model
+ *
+ * It provides a CSS-Aware implementation of the Notation model.
+ *
+ * As the only way to use a custom Metamodel Factory is to replace the singleton instance, this factory may introduce
+ * noise for all GMF-based components. However, the CSS implementation of the Notation Metamodel is built in such a way
+ * that it doesn't introduce any behavioral change for non-CSS diagrams.
+ *
+ * The CSS Support must be explicitly installed on the ResourceSet in order to activate the CSS-Aware capabilities of
+ * this implementation.
+ *
+ * @see {@link org.eclipse.papyrus.infra.gmfdiag.css.helper.CSSHelper#installCSSSupport(org.eclipse.emf.ecore.resource.ResourceSet)}
+ *
+ * @author Camille Letavernier
+ *
+ */
+public class CSSNotationFactory extends NotationFactoryImpl {
+
+ public static CSSNotationFactory eINSTANCE = new CSSNotationFactory();
+
+ @Override
+ public Diagram createDiagram() {
+ return new CSSDiagramImpl();
+ }
+
+ @Override
+ public FillStyle createFillStyle() {
+ return new CSSFillStyleImpl();
+ }
+
+ @Override
+ public LineStyle createLineStyle() {
+ return new CSSLineStyleImpl();
+ }
+
+ @Override
+ public FontStyle createFontStyle() {
+ return new CSSFontStyleImpl();
+ }
+
+ @Override
+ public TitleStyle createTitleStyle() {
+ return new CSSTitleStyleImpl();
+ }
+
+ @Override
+ public SortingStyle createSortingStyle() {
+ return new CSSSortingStyleImpl();
+ }
+
+ @Override
+ public DescriptionStyle createDescriptionStyle() {
+ return new CSSDescriptionStyleImpl();
+ }
+
+ @Override
+ public RoutingStyle createRoutingStyle() {
+ return new CSSRoutingStyleImpl();
+ }
+
+ @Override
+ public CanonicalStyle createCanonicalStyle() {
+ return new CSSCanonicalStyleImpl();
+ }
+
+ @Override
+ public ShapeStyle createShapeStyle() {
+ return new CSSShapeStyleImpl();
+ }
+
+ @Override
+ public ConnectorStyle createConnectorStyle() {
+ return new CSSConnectorStyleImpl();
+ }
+
+ @Override
+ public PageStyle createPageStyle() {
+ return new CSSPageStyleImpl();
+ }
+
+ @Override
+ public DrawerStyle createDrawerStyle() {
+ return new CSSDrawerStyleImpl();
+ }
+
+ @Override
+ public GuideStyle createGuideStyle() {
+ return new CSSGuideStyleImpl();
+ }
+
+ @Override
+ public FilteringStyle createFilteringStyle() {
+ return new CSSFilteringStyleImpl();
+ }
+
+ @Override
+ public DiagramStyle createDiagramStyle() {
+ return new CSSDiagramStyleImpl();
+ }
+
+ @Override
+ public ImageStyle createImageStyle() {
+ return new CSSImageStyleImpl();
+ }
+
+ @Override
+ public ImageBufferStyle createImageBufferStyle() {
+ return new CSSImageBufferStyleImpl();
+ }
+
+ @Override
+ public PropertiesSetStyle createPropertiesSetStyle() {
+ return new CSSPropertiesSetStyleImpl();
+ }
+
+ @Override
+ public NamedStyle createNamedStyle() {
+ return new CSSNamedStyleImpl();
+ }
+
+ @Override
+ public DataTypeStyle createDataTypeStyle() {
+ return new CSSDataTypeStyleImpl();
+ }
+
+ @Override
+ public HintedDiagramLinkStyle createHintedDiagramLinkStyle() {
+ return new CSSHintedDiagramLinkStyleImpl();
+ }
+
+ @Override
+ public DiagramLinkStyle createDiagramLinkStyle() {
+ return new CSSDiagramLinkStyleImpl();
+ }
+
+ @Override
+ public MultiDiagramLinkStyle createMultiDiagramLinkStyle() {
+ return new CSSMultiDiagramLinkStyleImpl();
+ }
+
+ @Override
+ public TextStyle createTextStyle() {
+ return new CSSTextStyleImpl();
+ }
+
+ @Override
+ public LineTypeStyle createLineTypeStyle() {
+ return new CSSLineTypeStyleImpl();
+ }
+
+ @Override
+ public ArrowStyle createArrowStyle() {
+ return new CSSArrowStyleImpl();
+ }
+
+ @Override
+ public Shape createShape() {
+ return new CSSShapeImpl();
+ }
+
+ @Override
+ public Compartment createCompartment() {
+ return new CSSCompartmentImpl();
+ }
+
+ @Override
+ public ListCompartment createListCompartment() {
+ return new CSSListCompartmentImpl();
+ }
+
+ @Override
+ public Connector createConnector() {
+ return new CSSConnectorImpl();
+ }
+
+ @Override
+ public StandardDiagram createStandardDiagram() {
+ return new CSSStandardDiagramImpl();
+ }
+
+ @Override
+ public BasicCompartment createBasicCompartment() {
+ return new CSSBasicCompartmentImpl();
+ }
+
+ @Override
+ public BasicSemanticCompartment createBasicSemanticCompartment() {
+ return new CSSBasicSemanticCompartmentImpl();
+ }
+
+ @Override
+ public SemanticListCompartment createSemanticListCompartment() {
+ return new CSSSemanticListCompartmentImpl();
+ }
+
+ @Override
+ public RoundedCornersStyle createRoundedCornersStyle() {
+ return new CSSRoundedCornersStyleImpl();
+ }
+
+ @Override
+ public DecorationNode createDecorationNode() {
+ return new CSSDecorationNodeImpl();
+ }
+
+ @Override
+ public Edge createEdge() {
+ return new CSSEdgeImpl();
+ }
+
+ @Override
+ public Node createNode() {
+ return new CSSNodeImpl();
+ }
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/notation/CSSDiagramImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/notation/CSSDiagramImpl.java
new file mode 100644
index 0000000..441ae6d
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.css.cdo/src/org/eclipse/papyrus/infra/gmfdiag/css/cdo/notation/CSSDiagramImpl.java
@@ -0,0 +1,191 @@
+/*****************************************************************************
+ * Copyright (c) 2012, 2017 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus (CEA) - support adapter instead of custom resource impl for CSS (CDO)
+ * Christian W. Damus - bugs 433206, 464443, 436665
+ * Camille Letavernier (EclipseSource) - Bug 519412
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.cdo.notation;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.gmf.runtime.notation.EObjectListValueStyle;
+import org.eclipse.gmf.runtime.notation.NamedStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.emf.cdo.gmf.notation.impl.DiagramImpl;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.DiagramCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ViewpointCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.resource.CSSNotationResource;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSView;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.impl.CSSViewDelegate;
+import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StyleSheet;
+
+/**
+ * Default implementation for CSSDiagram
+ *
+ * @author Camille letavernier
+ */
+@SuppressWarnings("restriction")
+public class CSSDiagramImpl extends DiagramImpl implements org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram, CSSView.Internal {
+
+ protected ExtendedCSSEngine engine;
+ private ExtendedCSSEngine viewpointEngine;
+
+ private CSSView cssView;
+
+ @Override
+ public ExtendedCSSEngine getEngine() {
+ if (engine == null) {
+ ExtendedCSSEngine modelEngine = getModelEngine();
+ viewpointEngine = new ViewpointCSSEngine(modelEngine, this);
+ engine = new DiagramCSSEngine(viewpointEngine, this);
+ }
+ return engine;
+ }
+
+ @Override
+ public void resetCSS() {
+ if (engine != null) {
+ cssView = null;
+
+ engine.dispose();
+ engine = null;
+ viewpointEngine.dispose();
+ viewpointEngine = null;
+
+ // And walk our contents to make all views forget their engine
+ eAllContents().forEachRemaining(o -> {
+ if (o instanceof CSSView.Internal) {
+ ((CSSView.Internal) o).resetCSS();
+ }
+ });
+ }
+ }
+
+ @Override
+ protected void eSetDirectResource(Resource.Internal resource) {
+ Resource.Internal oldResource = eInternalResource();
+
+ super.eSetDirectResource(resource);
+
+ if (oldResource != resource) {
+ // My engine is now invalid because my resource is different than before,
+ // which makes its parent engine is obsolete
+ resetCSS();
+ }
+ }
+
+ protected ExtendedCSSEngine getModelEngine() {
+ Resource resource = eResource();
+ return (resource == null) ? null : CSSNotationResource.getEngine(resource);
+ }
+
+ @Override
+ public List<StyleSheet> getStyleSheets() {
+ List<StyleSheet> result = new LinkedList<StyleSheet>();
+
+ for (Object styleObject : getStyles()) {
+ if (styleObject instanceof NamedStyle) {
+
+ NamedStyle style = (NamedStyle) styleObject;
+
+ if (org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY.equals(style.getName())) {
+ if (style instanceof EObjectListValueStyle) {
+
+ EObjectListValueStyle stylesheetsStyle = (EObjectListValueStyle) style;
+
+ for (Object eObjectValue : stylesheetsStyle.getEObjectListValue()) {
+ if (eObjectValue instanceof StyleSheet) {
+ result.add((StyleSheet) eObjectValue);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+
+
+ protected CSSView getCSSView() {
+ if (cssView == null) {
+ cssView = new CSSViewDelegate(this, getEngine());
+ }
+ return cssView;
+ }
+
+ // //////////////////////////////////
+ // Implements the isVisible method //
+ // //////////////////////////////////
+
+ @Override
+ public boolean isVisible() {
+ // return super.isVisible();
+ return isCSSVisible();
+ }
+
+ @Override
+ public boolean isCSSVisible() {
+ boolean value = super.isVisible();
+
+ if (org.eclipse.papyrus.infra.gmfdiag.css.notation.ForceValueHelper.isSet(this, NotationPackage.eINSTANCE.getView_Visible(), value)) {
+ return value;
+ } else {
+ return getCSSView().isCSSVisible();
+ }
+ }
+
+ // //////////////////////////////////////
+ // Implements the getNamedStyle method //
+ // //////////////////////////////////////
+
+ @Override
+ public NamedStyle getNamedStyle(EClass eClass, String name) {
+ return getCSSNamedStyle(eClass, name);
+ }
+
+ @Override
+ public NamedStyle getCSSNamedStyle(EClass eClass, String name) {
+ NamedStyle userStyle = super.getNamedStyle(eClass, name);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSNamedStyle(eClass, name);
+ }
+
+ // /////////////////////////////////
+ // Implements the getStyle method //
+ // /////////////////////////////////
+
+ @Override
+ public Style getStyle(EClass eClass) {
+ return getCSSStyle(eClass);
+ }
+
+ @Override
+ public Style getCSSStyle(EClass eClass) {
+ Style userStyle = super.getStyle(eClass);
+ if (userStyle != null) {
+ return userStyle;
+ }
+
+ return getCSSView().getCSSStyle(eClass);
+ }
+
+}
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.classpath b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.classpath
new file mode 100644
index 0000000..26e67d6
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.project b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.project
new file mode 100644
index 0000000..7b6f238
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.gmfdiag.style.cdo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1396938000000</id>
+ <name></name>
+ <type>10</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-true-false-target</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.core.resources.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.core.runtime.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.jdt.core.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8ddd9a8
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,296 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.jdt.ui.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.pde.api.tools.prefs b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/META-INF/MANIFEST.MF b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..691dfc3
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.style.cdo;singleton:=true
+Bundle-Version: 2.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl;version="1.0.0"
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.infra.gmfdiag.style;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.6.0,5.0.0)"
+Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.style.cdo
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/Migrate gmfdiag.style to CDO.launch b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/Migrate gmfdiag.style to CDO.launch
new file mode 100644
index 0000000..2654f4c
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/Migrate gmfdiag.style to CDO.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/org.eclipse.papyrus.infra.gmfdiag.style" type="4"/> <item path="/org.eclipse.papyrus.infra.gmfdiag.style.cdo" type="4"/> </resources>}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.gmfdiag.style.cdo/migrate.ant"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.gmfdiag.style.cdo"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.papyrus.infra.gmfdiag.style.cdo/migrate.ant}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dgit.clone.papyrus=${git.clone.papyrus}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/about.html b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/about.html
new file mode 100644
index 0000000..6e189dc
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 1, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/build.properties b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/build.properties
new file mode 100644
index 0000000..c579c6c
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/build.properties
@@ -0,0 +1,23 @@
+# Copyright (c) 2013 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
+#
+#
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
+src.includes = Migrate gmfdiag.style to CDO.launch,\
+ migrate.ant,\
+ pom.xml
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/migrate.ant b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/migrate.ant
new file mode 100644
index 0000000..89de3e2
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/migrate.ant
@@ -0,0 +1,110 @@
+<?xml version="1.0"?>
+<!--
+ Copyright (c) 2018 CEA LIST and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Eike Stepper - initial API and implementation
+-->
+<project name="migrate" default="migrate">
+
+ <!--
+ The migration of the Style model to CDO is completely automated.
+ The 'org.eclipse.emf.cdo.migrator' plugin must be installed into the Eclipse IDE!!!
+
+ Then execute the following tasks:
+ -->
+ <fail unless="git.clone.papyrus" message="Property 'git.clone.papyrus' is undefined! Go to Preferences -> Run/Debug -> String Substitution..." />
+ <property name="project.name" value="org.eclipse.papyrus.infra.gmfdiag.style" />
+ <property name="style" location="${git.clone.papyrus}/plugins/infra/gmfdiag/${project.name}" />
+ <fail message="The directory '${style}' does not exist!">
+ <condition>
+ <not>
+ <available file="${style}" type="dir" />
+ </not>
+ </condition>
+ </fail>
+
+ <property name="style.tmp" location="${basedir}/target/${project.name}" />
+ <echo message="Source: ${style}" />
+ <echo message="Temp: ${style.tmp}" />
+ <echo message="Target: ${basedir}" />
+
+ <target name="migrate">
+ <!--
+ Copy the entire 'org.eclipse.papyrus.infra.gmfdiag.style' project
+ into the 'target' folder of the 'org.eclipse.papyrus.infra.gmfdiag.style.cdo' plugin to
+ be able to revert the changes that are applied below.
+ -->
+ <echo message="Backing up project ${project.name} to ${style.tmp}" />
+ <delete failonerror="false" includeemptydirs="true">
+ <fileset dir="${style.tmp}">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <copy todir="${style.tmp}" verbose="false" failonerror="true" overwrite="true" includeemptydirs="true" preservelastmodified="true">
+ <fileset dir="${style}" defaultexcludes="true">
+ <include name="**/*" />
+ </fileset>
+ </copy>
+
+ <!--
+ Migrate the 'style.genmodel' to CDO and regenerate the model in-place.
+ -->
+ <property name="model.path" value="/${project.name}/model/style.genmodel" />
+ <echo message="Migrating ${model.path} in ${style} ..." />
+ <cdo.migrateModel modelpath="${model.path}" dynamicfeaturedelegation="true" />
+ <cdo.generateModel modelpath="${model.path}" />
+
+ <!--
+ Copy all Java files from the generated 'impl' folder to the 'impl' folder of the
+ 'org.eclipse.papyrus.infra.gmfdiag.style.cdo' project. Apply the following refactorings:
+
+ 1. Rename the Java package to 'org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl'.
+ 2. Replace the eAnnotations field accesses that the generator has left in some
+ eIsSet() methods with calls to the getEAnnotations() method.
+ -->
+ <property name="impl" location="${basedir}/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl" />
+ <delete>
+ <fileset dir="${impl}">
+ <include name="*.java" />
+ </fileset>
+ </delete>
+ <copy todir="${impl}" verbose="true">
+ <fileset dir="${style}/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/impl">
+ <include name="*.java" />
+ <exclude name="StylePackageImpl.java" />
+ </fileset>
+ <filterchain>
+ <replacestring from="${project.name}.impl" to="${project.name}.cdo.impl" />
+ <replacestring from="eAnnotations != null && !eAnnotations.isEmpty()" to="!getEAnnotations().isEmpty()" />
+ </filterchain>
+ </copy>
+
+ <!--
+ Apply source cleanup to the 'org.eclipse.papyrus.infra.gmfdiag.style.cdo' project.
+ This ensures that only relevant changes appear in the Git history.
+ -->
+ <cdo.cleanupProject projectname="${project.name}.cdo" />
+
+ <!--
+ Copy the entire 'org.eclipse.papyrus.infra.gmfdiag.style' project back
+ from the 'target' folder of the 'org.eclipse.papyrus.infra.gmfdiag.style.cdo' plugin.
+ -->
+ <echo message="Restoring project ${project.name} from ${style.tmp}" />
+ <delete failonerror="true" includeemptydirs="true">
+ <fileset dir="${style}">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <copy todir="${style}" verbose="false" failonerror="true" overwrite="true" includeemptydirs="true" preservelastmodified="true">
+ <fileset dir="${style.tmp}" defaultexcludes="true">
+ <include name="**/*" />
+ </fileset>
+ </copy>
+ </target>
+
+</project>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/plugin.properties b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/plugin.properties
new file mode 100644
index 0000000..2c3cbe0
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/plugin.properties
@@ -0,0 +1,14 @@
+# Copyright (c) 2013 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
+#
+#
+
+pluginName = GMF Style Model (CDO Version)
+providerName = Eclipse Modeling Project
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/plugin.xml b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/plugin.xml
new file mode 100644
index 0000000..6f84f04
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2018 CEA LIST.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Eike Stepper - Initial API and implementation
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl.StyleFactoryImpl"
+ uri="http://www.eclipse.org/papyrus/infra/gmfdiag/style">
+ </factory>
+ </extension>
+
+</plugin>
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/pom.xml b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/pom.xml
new file mode 100644
index 0000000..7d1d6c0
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/pom.xml
@@ -0,0 +1,13 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.cdo</groupId>
+ <artifactId>org.eclipse.papyrus.cdo-bundles</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.style.cdo</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl/PapyrusDiagramStyleImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl/PapyrusDiagramStyleImpl.java
new file mode 100644
index 0000000..e6b4386
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl/PapyrusDiagramStyleImpl.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.gmfdiag.style.PapyrusDiagramStyle;
+import org.eclipse.papyrus.infra.gmfdiag.style.StylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Papyrus Diagram Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl.PapyrusDiagramStyleImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl.PapyrusDiagramStyleImpl#getDiagramKindId <em>Diagram Kind Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PapyrusDiagramStyleImpl extends CDOObjectImpl implements PapyrusDiagramStyle {
+ /**
+ * The default value of the '{@link #getDiagramKindId() <em>Diagram Kind Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiagramKindId()
+ * @generated
+ * @ordered
+ */
+ protected static final String DIAGRAM_KIND_ID_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PapyrusDiagramStyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return StylePackage.Literals.PAPYRUS_DIAGRAM_STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount() {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject getOwner() {
+ return (EObject)eDynamicGet(StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER, StylePackage.Literals.PAPYRUS_DIAGRAM_STYLE__OWNER, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetOwner() {
+ return (EObject)eDynamicGet(StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER, StylePackage.Literals.PAPYRUS_DIAGRAM_STYLE__OWNER, false, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setOwner(EObject newOwner) {
+ eDynamicSet(StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER, StylePackage.Literals.PAPYRUS_DIAGRAM_STYLE__OWNER, newOwner);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getDiagramKindId() {
+ return (String)eDynamicGet(StylePackage.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID, StylePackage.Literals.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDiagramKindId(String newDiagramKindId) {
+ eDynamicSet(StylePackage.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID, StylePackage.Literals.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID, newDiagramKindId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER:
+ if (resolve) {
+ return getOwner();
+ }
+ return basicGetOwner();
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID:
+ return getDiagramKindId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER:
+ setOwner((EObject)newValue);
+ return;
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID:
+ setDiagramKindId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER:
+ setOwner((EObject)null);
+ return;
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID:
+ setDiagramKindId(DIAGRAM_KIND_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__OWNER:
+ return basicGetOwner() != null;
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE__DIAGRAM_KIND_ID:
+ return DIAGRAM_KIND_ID_EDEFAULT == null ? getDiagramKindId() != null : !DIAGRAM_KIND_ID_EDEFAULT.equals(getDiagramKindId());
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PapyrusDiagramStyleImpl
diff --git a/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl/StyleFactoryImpl.java b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl/StyleFactoryImpl.java
new file mode 100644
index 0000000..1611ccc
--- /dev/null
+++ b/plugins/cdo/bundles/org.eclipse.papyrus.infra.gmfdiag.style.cdo/src-gen/org/eclipse/papyrus/infra/gmfdiag/style/cdo/impl/StyleFactoryImpl.java
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.gmfdiag.style.cdo.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.eclipse.papyrus.infra.gmfdiag.style.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StyleFactoryImpl extends EFactoryImpl implements StyleFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static StyleFactory init() {
+ try {
+ StyleFactory theStyleFactory = (StyleFactory)EPackage.Registry.INSTANCE.getEFactory(StylePackage.eNS_URI);
+ if (theStyleFactory != null) {
+ return theStyleFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StyleFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StyleFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case StylePackage.PAPYRUS_DIAGRAM_STYLE: return createPapyrusDiagramStyle();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PapyrusDiagramStyle createPapyrusDiagramStyle() {
+ PapyrusDiagramStyleImpl papyrusDiagramStyle = new PapyrusDiagramStyleImpl();
+ return papyrusDiagramStyle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public StylePackage getStylePackage() {
+ return (StylePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StylePackage getPackage() {
+ return StylePackage.eINSTANCE;
+ }
+
+} //StyleFactoryImpl
diff --git a/plugins/cdo/bundles/pom.xml b/plugins/cdo/bundles/pom.xml
index d1e481a..3326adb 100755
--- a/plugins/cdo/bundles/pom.xml
+++ b/plugins/cdo/bundles/pom.xml
@@ -25,6 +25,11 @@
<module>org.eclipse.papyrus.cdo.uml.ui</module>
<module>org.eclipse.papyrus.cdo.validation.problems</module>
<module>org.eclipse.papyrus.cdo.validation.problems.edit</module>
+
+
+ <module>org.eclipse.papyrus.infra.gmfdiag.css.cdo</module>
+ <module>org.eclipse.papyrus.infra.gmfdiag.style.cdo</module>
+
</modules>
</project>
\ No newline at end of file
diff --git a/plugins/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target b/plugins/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target
index 5c55a1f..e618767 100755
--- a/plugins/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target
+++ b/plugins/cdo/releng/targetplatforms/eclipse/org.eclipse.papyrus.cdo.targetplatform.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="CollaborativeModeling CDO - Photon" sequenceNumber="1533219115">
+<target name="CollaborativeModeling CDO - 2018-09" sequenceNumber="1537962638">
<locations>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
@@ -14,8 +14,8 @@
<repository id="papyrusMasterToolsmithsN" location="https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Toolsmiths/lastSuccessfulBuild/artifact/repository/"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
- <unit id="org.eclipse.sdk.feature.group" version="4.8.0.v20180611-0826"/>
- <repository id="eclipse-photon" location="file:/home/data/httpd/download.eclipse.org/releases/photon/"/>
+ <unit id="org.eclipse.sdk.feature.group" version="4.9.0.v20180906-1121"/>
+ <repository id="eclipse-2018-09" location="file:/home/data/httpd/download.eclipse.org/releases/2018-09"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.emf.cdo.explorer" version="4.5.200.v20180529-1130"/>
@@ -25,6 +25,8 @@
<unit id="org.eclipse.emf.cdo.explorer.ui" version="4.4.300.v20180529-1130"/>
<unit id="org.eclipse.emf.cdo.ui.admin" version="4.1.500.v20180529-1130"/>
<unit id="org.eclipse.emf.cdo.server.ocl" version="4.2.300.v20180529-1130"/>
+ <unit id="org.eclipse.emf.cdo.ecore" version="0.0.0"/>
+ <unit id="org.eclipse.emf.cdo.gmf.notation" version="0.0.0"/>
<repository id="cdo" location="file:/home/data/httpd/download.eclipse.org/modeling/emf/cdo/drops/R20180613-0111"/>
</location>
</locations>
diff --git a/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target b/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target
index 5f02319..b2b480b 100755
--- a/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target
+++ b/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.target
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="CollaborativeModeling CDO - Photon" sequenceNumber="1533219115">
+<target name="CollaborativeModeling CDO - 2018-09" sequenceNumber="1537962638">
<locations>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
@@ -14,8 +14,8 @@
<repository id="papyrusMasterToolsmithsN" location="https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Toolsmiths/lastSuccessfulBuild/artifact/repository/"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
- <unit id="org.eclipse.sdk.feature.group" version="4.8.0.v20180611-0826"/>
- <repository id="eclipse-photon" location="http://download.eclipse.org/releases/photon/"/>
+ <unit id="org.eclipse.sdk.feature.group" version="4.9.0.v20180906-1121"/>
+ <repository id="eclipse-2018-09" location="http://download.eclipse.org/releases/2018-09"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.emf.cdo.explorer" version="4.5.200.v20180529-1130"/>
@@ -25,6 +25,8 @@
<unit id="org.eclipse.emf.cdo.explorer.ui" version="4.4.300.v20180529-1130"/>
<unit id="org.eclipse.emf.cdo.ui.admin" version="4.1.500.v20180529-1130"/>
<unit id="org.eclipse.emf.cdo.server.ocl" version="4.2.300.v20180529-1130"/>
+ <unit id="org.eclipse.emf.cdo.ecore" version="0.0.0"/>
+ <unit id="org.eclipse.emf.cdo.gmf.notation" version="0.0.0"/>
<repository id="cdo" location="http://download.eclipse.org/modeling/emf/cdo/drops/R20180613-0111"/>
</location>
</locations>
diff --git a/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd b/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd
index 4a65dad..fa07876 100755
--- a/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd
+++ b/plugins/cdo/releng/targetplatforms/org.eclipse.papyrus.cdo.targetplatform/org.eclipse.papyrus.cdo.targetplatform.tpd
@@ -1,4 +1,4 @@
-target "CollaborativeModeling CDO - Photon" with source requirements
+target "CollaborativeModeling CDO - 2018-09" with source requirements
@@ -16,7 +16,7 @@
org.eclipse.papyrus.toolsmiths.feature.feature.group lazy
}
-location "http://download.eclipse.org/releases/photon/" eclipse-photon {
+location "http://download.eclipse.org/releases/2018-09" eclipse-2018-09 {
org.eclipse.sdk.feature.group
}
@@ -32,4 +32,6 @@
org.eclipse.emf.cdo.explorer.ui
org.eclipse.emf.cdo.ui.admin
org.eclipse.emf.cdo.server.ocl
+ org.eclipse.emf.cdo.ecore lazy
+ org.eclipse.emf.cdo.gmf.notation lazy
}
\ No newline at end of file