Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-05-25 09:33:40 +0000
committerEike Stepper2012-05-25 09:33:40 +0000
commit3b2739c54db63f060472c2172f81312225220d9e (patch)
treee45ded7d3854123c3f6be76ead461a8f6158fbb0 /plugins/org.eclipse.emf.cdo.security
parent5d3e0af4e24dc25c08fbccd491bd5deed675213d (diff)
downloadcdo-3b2739c54db63f060472c2172f81312225220d9e.tar.gz
cdo-3b2739c54db63f060472c2172f81312225220d9e.tar.xz
cdo-3b2739c54db63f060472c2172f81312225220d9e.zip
[380629] Design a default Security model
https://bugs.eclipse.org/bugs/show_bug.cgi?id=380629
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.security')
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.options3
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.project44
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.core.prefs413
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.launching.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.ui.prefs119
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.ltk.core.refactoring.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.tasks.ui.prefs4
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.team.ui.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.api.tools.prefs94
-rw-r--r--plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.security/META-INF/MANIFEST.MF15
-rw-r--r--plugins/org.eclipse.emf.cdo.security/about.html28
-rw-r--r--plugins/org.eclipse.emf.cdo.security/build.properties14
-rw-r--r--plugins/org.eclipse.emf.cdo.security/copyright.txt8
-rw-r--r--plugins/org.eclipse.emf.cdo.security/model/security.ecore51
-rw-r--r--plugins/org.eclipse.emf.cdo.security/model/security.ecorediag326
-rw-r--r--plugins/org.eclipse.emf.cdo.security/model/security.genmodel53
-rw-r--r--plugins/org.eclipse.emf.cdo.security/plugin.properties11
-rw-r--r--plugins/org.eclipse.emf.cdo.security/plugin.xml23
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Assignee.java78
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Directory.java76
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Group.java89
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Realm.java76
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Role.java105
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityElement.java35
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityFactory.java96
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityItem.java25
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityPackage.java1085
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/User.java186
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/UserPassword.java60
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/AssigneeImpl.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/DirectoryImpl.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/GroupImpl.java91
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java94
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RoleImpl.java109
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityElementImpl.java69
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityFactoryImpl.java186
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityItemImpl.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityPackageImpl.java682
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserImpl.java173
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserPasswordImpl.java87
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecurityAdapterFactory.java336
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecuritySwitch.java469
45 files changed, 5690 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.security/.classpath b/plugins/org.eclipse.emf.cdo.security/.classpath
new file mode 100644
index 0000000000..64c5e31b7a
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.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/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.security/.options b/plugins/org.eclipse.emf.cdo.security/.options
new file mode 100644
index 0000000000..0d1228fbd6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.options
@@ -0,0 +1,3 @@
+# Debugging and tracing options
+
+org.eclipse.emf.cdo.security/debug = true
diff --git a/plugins/org.eclipse.emf.cdo.security/.project b/plugins/org.eclipse.emf.cdo.security/.project
new file mode 100644
index 0000000000..0db6821506
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.project
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.cdo.security</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.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.emf.cdo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..8085bb7dc7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
+encoding//model/security.ecore=UTF-8
+encoding//model/security.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..1fa0d45db9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,413 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.ucls,doc-files/,package.html,package-info.java
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+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.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+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.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+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=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+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=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+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=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+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.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.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+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.syntheticAccessEmulation=ignore
+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=ignore
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+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.unusedImport=warning
+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.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED
+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=1
+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=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+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=false
+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=120
+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=2
+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_member=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_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=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=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=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=do not 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_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_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=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+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=120
+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=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+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
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.launching.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000000..556ed07a3c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,3 @@
+#Fri Sep 02 05:38:34 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000..4343e2f963
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,119 @@
+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=true
+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_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=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=true
+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=false
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=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_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_EMFT
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_EMFT
+formatter_settings_version=12
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+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\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><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"/><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">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><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"/><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"/><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}\r\n${package_declaration}\r\n\r\n${typecomment}\r\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">\r\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">\r\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">\r\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">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" 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}</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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=false
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000000..864e30fe5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000000..b050639a54
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Feb 04 09:44:24 CET 2010
+eclipse.preferences.version=1
+project.repository.kind=bugzilla
+project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.team.ui.prefs
new file mode 100644
index 0000000000..2f50f36c0c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.mylyn.team.ui.prefs
@@ -0,0 +1,3 @@
+#Thu Feb 04 09:44:24 CET 2010
+commit.comment.template=[${task.id}] ${task.description} \r\n${task.url}
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000000..f8d0a0660e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,94 @@
+#Thu Feb 04 09:44:24 CET 2010
+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=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+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=Error
+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=Error
+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_FIELD=Error
+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_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
+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=Ignore
+automatically_removed_unused_problem_filters=Disabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+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/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.security/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.security/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..a0024849f6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.cdo.security;singleton:=true
+Bundle-Version: 4.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.cdo.security;version="4.1.0",
+ org.eclipse.emf.cdo.security.impl;version="4.1.0",
+ org.eclipse.emf.cdo.security.util;version="4.1.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.1.0,5.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.security/about.html b/plugins/org.eclipse.emf.cdo.security/about.html
new file mode 100644
index 0000000000..d35d5aed64
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/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 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
diff --git a/plugins/org.eclipse.emf.cdo.security/build.properties b/plugins/org.eclipse.emf.cdo.security/build.properties
new file mode 100644
index 0000000000..7113f16d6d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/build.properties
@@ -0,0 +1,14 @@
+#
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ copyright.txt
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ copyright.txt
diff --git a/plugins/org.eclipse.emf.cdo.security/copyright.txt b/plugins/org.eclipse.emf.cdo.security/copyright.txt
new file mode 100644
index 0000000000..0a0f67e6d7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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 \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.security/model/security.ecore b/plugins/org.eclipse.emf.cdo.security/model/security.ecore
new file mode 100644
index 0000000000..ac6b3d4d68
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/model/security.ecore
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="security" nsURI="http://www.eclipse.org/emf/CDO/security/4.1.0"
+ nsPrefix="security">
+ <eClassifiers xsi:type="ecore:EClass" name="SecurityElement" abstract="true" eSuperTypes="../../org.eclipse.emf.cdo/model/etypes.ecore#//ModelElement">
+ <eOperations name="getRealm" lowerBound="1" eType="#//Realm"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SecurityItem" abstract="true" eSuperTypes="#//SecurityElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Realm" eSuperTypes="#//SecurityElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
+ eType="#//SecurityItem" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Directory" eSuperTypes="#//SecurityItem">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
+ eType="#//SecurityItem" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Role" eSuperTypes="#//SecurityItem">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignees" upperBound="-1"
+ eType="#//Assignee" eOpposite="#//Assignee/roles"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Assignee" abstract="true" eSuperTypes="#//SecurityItem">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="roles" upperBound="-1"
+ eType="#//Role" eOpposite="#//Role/assignees"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//Assignee">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedGroups" upperBound="-1"
+ eType="#//Group" eOpposite="#//Group/inheritingGroups"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritingGroups" upperBound="-1"
+ eType="#//Group" eOpposite="#//Group/inheritedGroups"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="users" upperBound="-1"
+ eType="#//User" eOpposite="#//User/groups"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="User" eSuperTypes="#//Assignee">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="groups" upperBound="-1"
+ eType="#//Group" eOpposite="#//Group/users"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="locked" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="password" eType="#//UserPassword"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UserPassword">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="encrypted" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.cdo.security/model/security.ecorediag b/plugins/org.eclipse.emf.cdo.security/model/security.ecorediag
new file mode 100644
index 0000000000..9fdfc768a2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/model/security.ecorediag
@@ -0,0 +1,326 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_LqfpMaYxEeGAP_kHrioTcA" type="EcoreTools" name="security" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_RJPJ0KYxEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_RLvrQKYxEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_RLzVoKYxEeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RLzVoaYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RLzVoqYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RLzVo6YxEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_RL0jwKYxEeGAP_kHrioTcA" type="5002">
+ <children xmi:type="notation:Node" xmi:id="_4mfh4KYyEeGAP_kHrioTcA" type="2002">
+ <element xmi:type="ecore:EOperation" href="security.ecore#//SecurityElement/getRealm"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4mfh4aYyEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_RL0jwaYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RL0jwqYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RL0jw6YxEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_RJPw4KYxEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//SecurityElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RJPw4aYxEeGAP_kHrioTcA" x="145" y="30" width="198" height="63"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_glO9wKYxEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_glSBEKYxEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_glSoIKYxEeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_glSoIaYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_glSoIqYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_glSoI6YxEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_glSoJKYxEeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_glTPMKYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_glTPMaYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_glTPMqYxEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_glO9waYxEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//Realm"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_glO9wqYxEeGAP_kHrioTcA" x="77" y="151" width="126"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kzdRsKYxEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_kzgVAKYxEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_kzg8EKYxEeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kzg8EaYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kzg8EqYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kzg8E6YxEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_kzhjIKYxEeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_kzhjIaYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kzhjIqYxEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kzhjI6YxEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_kzdRsaYxEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//User"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kzdRsqYxEeGAP_kHrioTcA" x="214" y="391"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0ZWzEKYyEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_0ZcSoKYyEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_0Zc5sKYyEeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0Zc5saYyEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0Zc5sqYyEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Zc5s6YyEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_0ZdgwKYyEeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_0ZdgwaYyEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0ZdgwqYyEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Zdgw6YyEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_0ZWzEaYyEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//Group"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0ZWzEqYyEeGAP_kHrioTcA" x="451" y="420"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vaiTMKYzEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_vajhUKYzEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_vakIYKYzEeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vakIYaYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vakIYqYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vakIY6YzEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_vakvcKYzEeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_vakvcaYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vakvcqYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vakvc6YzEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_vaiTMaYzEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//Assignee"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vaiTMqYzEeGAP_kHrioTcA" x="294" y="279" width="124"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_x4_SoKYzEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_x5AgwKYzEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_x5BH0KYzEeGAP_kHrioTcA" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_JG0xkKY8EeGAP_kHrioTcA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="security.ecore#//Role/id"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JG0xkaY8EeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_nrLEsKY8EeGAP_kHrioTcA" type="2001">
+ <element xmi:type="ecore:EAttribute" href="security.ecore#//Role/type"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nrLEsaY8EeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_x5BH0aYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x5BH0qYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x5BH06YzEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_x5Bu4KYzEeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_x5Bu4aYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x5Bu4qYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x5Bu46YzEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_x4_SoaYzEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//Role"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4_SoqYzEeGAP_kHrioTcA" x="45" y="271"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_2WagMKYzEeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_2WbuUKYzEeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_2WcVYKYzEeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_2WcVYaYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2WcVYqYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2WcVY6YzEeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_2Wc8cKYzEeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_2Wc8caYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2Wc8cqYzEeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2Wc8c6YzEeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_2WagMaYzEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//Directory"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2WagMqYzEeGAP_kHrioTcA" x="464" y="279" width="119"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_btGCwKY0EeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_btHQ4KY0EeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_btHQ4aY0EeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_btHQ4qY0EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_btH38KY0EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_btH38aY0EeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_btIfAKY0EeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_btIfAaY0EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_btIfAqY0EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_btIfA6Y0EeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_btGCwaY0EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//SecurityItem"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_btGCwqY0EeGAP_kHrioTcA" x="292" y="151" width="128"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_L9EJcKY9EeGAP_kHrioTcA" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_L9EwgKY9EeGAP_kHrioTcA" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_L9FXkKY9EeGAP_kHrioTcA" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_L9FXkaY9EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L9FXkqY9EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L9FXk6Y9EeGAP_kHrioTcA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_L9F-oKY9EeGAP_kHrioTcA" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_L9F-oaY9EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_L9F-oqY9EeGAP_kHrioTcA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_L9F-o6Y9EeGAP_kHrioTcA"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_L9EJcaY9EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="security.ecore#//UserPassword"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L9EJcqY9EeGAP_kHrioTcA" x="203" y="545" width="162"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Lqg3UKYxEeGAP_kHrioTcA"/>
+ <element xmi:type="ecore:EPackage" href="security.ecore#/"/>
+ <edges xmi:type="notation:Edge" xmi:id="_ix63wKYxEeGAP_kHrioTcA" type="3003" source="_glO9wKYxEeGAP_kHrioTcA" target="_RJPJ0KYxEeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ix63waYxEeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ix63wqYxEeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ix63w6YxEeGAP_kHrioTcA" points="[0, -24, -98, 71]$[0, -49, -98, 46]$[103, -49, 5, 46]$[103, -84, 5, 11]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_olgfoKY0EeGAP_kHrioTcA" id="(0.4696969696969697,0.8356164383561644)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_ux6-kKY0EeGAP_kHrioTcA" type="3003" source="_kzdRsKYxEeGAP_kHrioTcA" target="_vaiTMKYzEeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_ux6-kaY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ux6-kqY0EeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ux6-k6Y0EeGAP_kHrioTcA" points="[-1, -50, -73, 88]$[-1, -75, -73, 63]$[86, -75, 14, 63]$[86, -113, 14, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_vUUhAKY0EeGAP_kHrioTcA" type="3003" source="_0ZWzEKYyEeGAP_kHrioTcA" target="_vaiTMKYzEeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_vUUhAaY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vUVIEKY0EeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vUVIEaY0EeGAP_kHrioTcA" points="[-1, -20, 145, 117]$[-1, -74, 145, 63]$[-132, -74, 14, 63]$[-132, -112, 14, 25]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wQRL4KY0EeGAP_kHrioTcA" type="3003" source="_x4_SoKYzEeGAP_kHrioTcA" target="_btGCwKY0EeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wQRL4aY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wQRL4qY0EeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wQRL46Y0EeGAP_kHrioTcA" points="[10, -33, -247, 100]$[10, -71, -247, 62]$[256, -71, -1, 62]$[256, -112, -1, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_wrH74KY0EeGAP_kHrioTcA" type="3003" source="_vaiTMKYzEeGAP_kHrioTcA" target="_btGCwKY0EeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_wrH74aY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wrH74qY0EeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wrH746Y0EeGAP_kHrioTcA" points="[-1, -24, -1, 108]$[-1, -111, -1, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_5rz5QKY0EeGAP_kHrioTcA" type="3003" source="_2WagMKYzEeGAP_kHrioTcA" target="_btGCwKY0EeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_5rz5QaY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5rz5QqY0EeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5rz5Q6Y0EeGAP_kHrioTcA" points="[4, -20, 171, 90]$[4, -55, 171, 55]$[-168, -55, -1, 55]$[-168, -89, -1, 21]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_6OjZ8KY0EeGAP_kHrioTcA" type="3003" source="_btGCwKY0EeGAP_kHrioTcA" target="_RJPJ0KYxEeGAP_kHrioTcA">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_6OjZ8aY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6OjZ8qY0EeGAP_kHrioTcA" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6OjZ86Y0EeGAP_kHrioTcA" points="[2, -20, 35, 96]$[2, -45, 35, 71]$[-113, -45, -80, 71]$[-113, -80, -80, 36]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6OnrYKY0EeGAP_kHrioTcA" id="(0.9040404040404041,0.4246575342465753)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="__CXuQKY0EeGAP_kHrioTcA" type="3002" source="_glO9wKYxEeGAP_kHrioTcA" target="_btGCwKY0EeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="__CY8YKY0EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__CY8YaY0EeGAP_kHrioTcA" x="-15" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="__CY8YqY0EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__CY8Y6Y0EeGAP_kHrioTcA" x="-6" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="__CXuQaY0EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="__CXuQqY0EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Realm/items"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__CXuQ6Y0EeGAP_kHrioTcA" points="[56, 0, -166, 0]$[159, 0, -63, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_DAH9QKY1EeGAP_kHrioTcA" type="3002" source="_2WagMKYzEeGAP_kHrioTcA" target="_btGCwKY0EeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_DAJLYKY1EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DAJLYaY1EeGAP_kHrioTcA" x="25" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_DAJLYqY1EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DAJLY6Y1EeGAP_kHrioTcA" x="33" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_DAH9QaY1EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_DAH9QqY1EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Directory/items"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DAH9Q6Y1EeGAP_kHrioTcA" points="[59, 0, 226, 132]$[88, 0, 255, 132]$[88, -132, 255, 0]$[-104, -132, 63, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_JwmLgKY1EeGAP_kHrioTcA" type="3002" source="_x4_SoKYzEeGAP_kHrioTcA" target="_vaiTMKYzEeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_JwpO0KY1EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JwpO0aY1EeGAP_kHrioTcA" x="-17" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Jwp14KY1EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Jwp14aY1EeGAP_kHrioTcA" x="-1" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_JwmLgaY1EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_JwmLgqY1EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Role/assignees"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JwmLg6Y1EeGAP_kHrioTcA" points="[53, -1, -204, 0]$[196, -1, -61, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2vdEKY1EeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M2vdEaY1EeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Ll0nwKY1EeGAP_kHrioTcA" type="3002" source="_vaiTMKYzEeGAP_kHrioTcA" target="_x4_SoKYzEeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_Ll114KY1EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ll114aY1EeGAP_kHrioTcA" x="-2" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Ll114qY1EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ll1146Y1EeGAP_kHrioTcA" x="3" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ll0nwaY1EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ll0nwqY1EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Assignee/roles"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ll0nw6Y1EeGAP_kHrioTcA" points="[-61, 0, 196, -1]$[-204, 0, 53, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__CxjoKZEEeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__CxjoaZEEeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Vog_QKY2EeGAP_kHrioTcA" type="3002" source="_kzdRsKYxEeGAP_kHrioTcA" target="_0ZWzEKYyEeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_VoiNYKY2EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VoiNYaY2EeGAP_kHrioTcA" x="-10" y="-10"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Voi0cKY2EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Voi0caY2EeGAP_kHrioTcA" x="3" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vog_QaY2EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VohmUKY2EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//User/groups"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VohmUaY2EeGAP_kHrioTcA" points="[69, -1, -149, 0]$[168, -1, -50, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iv_HoKY9EeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iv_usKY9EeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_XSueUKY2EeGAP_kHrioTcA" type="3002" source="_0ZWzEKYyEeGAP_kHrioTcA" target="_kzdRsKYxEeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_XSvFYKY2EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XSvFYaY2EeGAP_kHrioTcA" x="-2" y="-12"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_XSvscKY2EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XSvscaY2EeGAP_kHrioTcA" x="4" y="12"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_XSueUaY2EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XSueUqY2EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Group/users"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XSueU6Y2EeGAP_kHrioTcA" points="[-50, 0, 168, -1]$[-149, 0, 69, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ynl_gKY2EeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ynl_gaY2EeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_b7R5oKY9EeGAP_kHrioTcA" type="3002" source="_kzdRsKYxEeGAP_kHrioTcA" target="_L9EJcKY9EeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_b7R5pKY9EeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_b7R5paY9EeGAP_kHrioTcA" x="-9" y="-31"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_b7SgsKY9EeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_b7SgsaY9EeGAP_kHrioTcA" x="-9" y="16"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_b7R5oaY9EeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_b7R5oqY9EeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//User/password"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_b7R5o6Y9EeGAP_kHrioTcA" points="[51, 52, -1, -78]$[51, 106, -1, -24]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b7UV4KY9EeGAP_kHrioTcA" id="(0.12857142857142856,0.4803921568627451)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_v-aXIKZFEeGAP_kHrioTcA" type="3002" source="_0ZWzEKYyEeGAP_kHrioTcA" target="_0ZWzEKYyEeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_v-blQKZFEeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v-blQaZFEeGAP_kHrioTcA" x="31" y="52"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_v-blQqZFEeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v-blQ6ZFEeGAP_kHrioTcA" x="31" y="-11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_v-aXIaZFEeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_v-aXIqZFEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Group/inheritedGroups"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v-aXI6ZFEeGAP_kHrioTcA" points="[50, 1, 50, 1]$[114, 1, 114, 1]$[114, 83, 114, 83]$[-1, 83, -1, 83]$[-1, 21, -1, 21]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4r0zMKZFEeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4r0zMaZFEeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_z6Tk8KZFEeGAP_kHrioTcA" type="3002" source="_0ZWzEKYyEeGAP_kHrioTcA" target="_0ZWzEKYyEeGAP_kHrioTcA">
+ <children xmi:type="notation:Node" xmi:id="_z6UMA6ZFEeGAP_kHrioTcA" type="4011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_z6UMBKZFEeGAP_kHrioTcA" x="-4" y="13"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_z6UMBaZFEeGAP_kHrioTcA" type="4012">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_z6UMBqZFEeGAP_kHrioTcA" x="35" y="-11"/>
+ </children>
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_z6UMAKZFEeGAP_kHrioTcA" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_z6UMAaZFEeGAP_kHrioTcA" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+ <element xmi:type="ecore:EReference" href="security.ecore#//Group/inheritingGroups"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_z6UMAqZFEeGAP_kHrioTcA" points="[-1, 21, -1, 21]$[-1, 83, -1, 83]$[114, 83, 114, 83]$[114, 1, 114, 1]$[50, 1, 50, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1vZeUKZFEeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1vZeUaZFEeGAP_kHrioTcA" id="(0.5,0.5)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.cdo.security/model/security.genmodel b/plugins/org.eclipse.emf.cdo.security/model/security.genmodel
new file mode 100644
index 0000000000..70b371c761
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/model/security.genmodel
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.cdo.security/src" creationIcons="false"
+ modelPluginID="org.eclipse.emf.cdo.security" modelName="Security" nonNLSMarkers="true"
+ rootExtendsInterface="org.eclipse.emf.cdo.CDOObject" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+ reflectiveDelegation="true" codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.cdo"
+ featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" optimizedHasChildren="true"
+ tableProviders="true" colorProviders="true" fontProviders="true" runtimeVersion="2.6"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.emf.cdo/model/etypes.genmodel#//etypes">
+ <foreignModel>security.ecore</foreignModel>
+ <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
+ <genPackages prefix="Security" basePackage="org.eclipse.emf.cdo" disposableProviderFactory="true"
+ multipleEditorPages="false" extensibleProviderFactory="true" childCreationExtenders="true"
+ ecorePackage="security.ecore#/">
+ <genClasses image="false" ecoreClass="security.ecore#//SecurityElement">
+ <genOperations ecoreOperation="security.ecore#//SecurityElement/getRealm"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="security.ecore#//SecurityItem"/>
+ <genClasses ecoreClass="security.ecore#//Realm">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference security.ecore#//Realm/items"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//Realm/name"/>
+ </genClasses>
+ <genClasses ecoreClass="security.ecore#//Directory">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference security.ecore#//Directory/items"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//Directory/name"/>
+ </genClasses>
+ <genClasses ecoreClass="security.ecore#//Role">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference security.ecore#//Role/assignees"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//Role/id"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//Role/type"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="security.ecore#//Assignee">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference security.ecore#//Assignee/roles"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//Assignee/id"/>
+ </genClasses>
+ <genClasses ecoreClass="security.ecore#//Group">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference security.ecore#//Group/users"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference security.ecore#//Group/inheritedGroups"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference security.ecore#//Group/inheritingGroups"/>
+ </genClasses>
+ <genClasses ecoreClass="security.ecore#//User">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference security.ecore#//User/groups"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//User/firstName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//User/lastName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//User/email"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//User/locked"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference security.ecore#//User/password"/>
+ </genClasses>
+ <genClasses ecoreClass="security.ecore#//UserPassword">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute security.ecore#//UserPassword/encrypted"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.security/plugin.properties b/plugins/org.eclipse.emf.cdo.security/plugin.properties
new file mode 100644
index 0000000000..b9a01a047e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/plugin.properties
@@ -0,0 +1,11 @@
+# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+
+pluginName = CDO Model Repository Security Model
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.emf.cdo.security/plugin.xml b/plugins/org.eclipse.emf.cdo.security/plugin.xml
new file mode 100644
index 0000000000..21903db04b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/plugin.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/CDO/security/4.1.0"
+ class="org.eclipse.emf.cdo.security.SecurityPackage"
+ genModel="model/security.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Assignee.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Assignee.java
new file mode 100644
index 0000000000..f9b94d6f8b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Assignee.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignee</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.Assignee#getRoles <em>Roles</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Assignee#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getAssignee()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Assignee extends SecurityItem
+{
+ /**
+ * Returns the value of the '<em><b>Roles</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.Role}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.security.Role#getAssignees <em>Assignees</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Roles</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Roles</em>' reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getAssignee_Roles()
+ * @see org.eclipse.emf.cdo.security.Role#getAssignees
+ * @model opposite="assignees"
+ * @generated
+ */
+ EList<Role> getRoles();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getAssignee_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.Assignee#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // Assignee
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Directory.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Directory.java
new file mode 100644
index 0000000000..cad5a7dbf5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Directory.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.Directory#getItems <em>Items</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Directory#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getDirectory()
+ * @model
+ * @generated
+ */
+public interface Directory extends SecurityItem
+{
+ /**
+ * Returns the value of the '<em><b>Items</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.SecurityItem}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Items</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Items</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getDirectory_Items()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SecurityItem> getItems();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getDirectory_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.Directory#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // Container
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Group.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Group.java
new file mode 100644
index 0000000000..32f7e31e93
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Group.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.Group#getInheritedGroups <em>Inherited Groups</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Group#getInheritingGroups <em>Inheriting Groups</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Group#getUsers <em>Users</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getGroup()
+ * @model
+ * @generated
+ */
+public interface Group extends Assignee
+{
+ /**
+ * Returns the value of the '<em><b>Users</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.User}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.security.User#getGroups <em>Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Users</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Users</em>' reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getGroup_Users()
+ * @see org.eclipse.emf.cdo.security.User#getGroups
+ * @model opposite="groups"
+ * @generated
+ */
+ EList<User> getUsers();
+
+ /**
+ * Returns the value of the '<em><b>Inherited Groups</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.Group}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.security.Group#getInheritingGroups <em>Inheriting Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Inherited Groups</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inherited Groups</em>' reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getGroup_InheritedGroups()
+ * @see org.eclipse.emf.cdo.security.Group#getInheritingGroups
+ * @model opposite="inheritingGroups"
+ * @generated
+ */
+ EList<Group> getInheritedGroups();
+
+ /**
+ * Returns the value of the '<em><b>Inheriting Groups</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.Group}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.security.Group#getInheritedGroups <em>Inherited Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Inheriting Groups</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inheriting Groups</em>' reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getGroup_InheritingGroups()
+ * @see org.eclipse.emf.cdo.security.Group#getInheritedGroups
+ * @model opposite="inheritedGroups"
+ * @generated
+ */
+ EList<Group> getInheritingGroups();
+
+} // Group
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Realm.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Realm.java
new file mode 100644
index 0000000000..312e694bd2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Realm.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Realm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.Realm#getItems <em>Items</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Realm#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm()
+ * @model
+ * @generated
+ */
+public interface Realm extends SecurityElement
+{
+ /**
+ * Returns the value of the '<em><b>Items</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.SecurityItem}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Items</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Items</em>' containment reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_Items()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SecurityItem> getItems();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRealm_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.Realm#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // SecurityRealm
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Role.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Role.java
new file mode 100644
index 0000000000..7fdbf89aab
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/Role.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Role</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.Role#getAssignees <em>Assignees</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Role#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.Role#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRole()
+ * @model
+ * @generated
+ */
+public interface Role extends SecurityItem
+{
+ /**
+ * Returns the value of the '<em><b>Assignees</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.Assignee}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.security.Assignee#getRoles <em>Roles</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assignees</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assignees</em>' reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRole_Assignees()
+ * @see org.eclipse.emf.cdo.security.Assignee#getRoles
+ * @model opposite="roles"
+ * @generated
+ */
+ EList<Assignee> getAssignees();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRole_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.Role#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getRole_Type()
+ * @model
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.Role#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // Role
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityElement.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityElement.java
new file mode 100644
index 0000000000..770a05179d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityElement.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.cdo.etypes.ModelElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getSecurityElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SecurityElement extends ModelElement
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ Realm getRealm();
+
+} // SecurityElement
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityFactory.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityFactory.java
new file mode 100644
index 0000000000..78297dda13
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityFactory.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.SecurityPackage
+ * @generated
+ */
+public interface SecurityFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SecurityFactory eINSTANCE = org.eclipse.emf.cdo.security.impl.SecurityFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Realm</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Realm</em>'.
+ * @generated
+ */
+ Realm createRealm();
+
+ /**
+ * Returns a new object of class '<em>Directory</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Directory</em>'.
+ * @generated
+ */
+ Directory createDirectory();
+
+ /**
+ * Returns a new object of class '<em>Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Role</em>'.
+ * @generated
+ */
+ Role createRole();
+
+ /**
+ * Returns a new object of class '<em>Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Group</em>'.
+ * @generated
+ */
+ Group createGroup();
+
+ /**
+ * Returns a new object of class '<em>User</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User</em>'.
+ * @generated
+ */
+ User createUser();
+
+ /**
+ * Returns a new object of class '<em>User Password</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User Password</em>'.
+ * @generated
+ */
+ UserPassword createUserPassword();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SecurityPackage getSecurityPackage();
+
+} // SecurityFactory
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityItem.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityItem.java
new file mode 100644
index 0000000000..9be64271d9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityItem.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getSecurityItem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SecurityItem extends SecurityElement
+{
+} // SecurityItem
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityPackage.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityPackage.java
new file mode 100644
index 0000000000..b4390870fb
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/SecurityPackage.java
@@ -0,0 +1,1085 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.SecurityFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SecurityPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "security"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/CDO/security/4.1.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "security"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SecurityPackage eINSTANCE = org.eclipse.emf.cdo.security.impl.SecurityPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.SecurityElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.SecurityElementImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getSecurityElement()
+ * @generated
+ */
+ int SECURITY_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_ELEMENT__ANNOTATIONS = EtypesPackage.MODEL_ELEMENT__ANNOTATIONS;
+
+ /**
+ * The number of structural features of the '<em>Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_ELEMENT_FEATURE_COUNT = EtypesPackage.MODEL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.RealmImpl <em>Realm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.RealmImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getRealm()
+ * @generated
+ */
+ int REALM = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.DirectoryImpl <em>Directory</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.DirectoryImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getDirectory()
+ * @generated
+ */
+ int DIRECTORY = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.SecurityItemImpl <em>Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.SecurityItemImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getSecurityItem()
+ * @generated
+ */
+ int SECURITY_ITEM = 1;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_ITEM__ANNOTATIONS = SECURITY_ELEMENT__ANNOTATIONS;
+
+ /**
+ * The number of structural features of the '<em>Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_ITEM_FEATURE_COUNT = SECURITY_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALM__ANNOTATIONS = SECURITY_ELEMENT__ANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALM__ITEMS = SECURITY_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALM__NAME = SECURITY_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Realm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALM_FEATURE_COUNT = SECURITY_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECTORY__ANNOTATIONS = SECURITY_ITEM__ANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Items</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECTORY__ITEMS = SECURITY_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECTORY__NAME = SECURITY_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Directory</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECTORY_FEATURE_COUNT = SECURITY_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.RoleImpl <em>Role</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.RoleImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getRole()
+ * @generated
+ */
+ int ROLE = 4;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__ANNOTATIONS = SECURITY_ITEM__ANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Assignees</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__ASSIGNEES = SECURITY_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__ID = SECURITY_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__TYPE = SECURITY_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE_FEATURE_COUNT = SECURITY_ITEM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.AssigneeImpl <em>Assignee</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.AssigneeImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getAssignee()
+ * @generated
+ */
+ int ASSIGNEE = 5;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNEE__ANNOTATIONS = SECURITY_ITEM__ANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNEE__ROLES = SECURITY_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNEE__ID = SECURITY_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Assignee</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNEE_FEATURE_COUNT = SECURITY_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.GroupImpl <em>Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.GroupImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getGroup()
+ * @generated
+ */
+ int GROUP = 6;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__ANNOTATIONS = ASSIGNEE__ANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__ROLES = ASSIGNEE__ROLES;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__ID = ASSIGNEE__ID;
+
+ /**
+ * The feature id for the '<em><b>Inherited Groups</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__INHERITED_GROUPS = ASSIGNEE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inheriting Groups</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__INHERITING_GROUPS = ASSIGNEE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Users</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__USERS = ASSIGNEE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP_FEATURE_COUNT = ASSIGNEE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.UserImpl <em>User</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.UserImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getUser()
+ * @generated
+ */
+ int USER = 7;
+
+ /**
+ * The feature id for the '<em><b>Annotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__ANNOTATIONS = ASSIGNEE__ANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__ROLES = ASSIGNEE__ROLES;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__ID = ASSIGNEE__ID;
+
+ /**
+ * The feature id for the '<em><b>Groups</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__GROUPS = ASSIGNEE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__FIRST_NAME = ASSIGNEE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__LAST_NAME = ASSIGNEE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Email</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__EMAIL = ASSIGNEE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Locked</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__LOCKED = ASSIGNEE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Password</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER__PASSWORD = ASSIGNEE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>User</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_FEATURE_COUNT = ASSIGNEE_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.security.impl.UserPasswordImpl <em>User Password</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.UserPasswordImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getUserPassword()
+ * @generated
+ */
+ int USER_PASSWORD = 8;
+
+ /**
+ * The feature id for the '<em><b>Encrypted</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_PASSWORD__ENCRYPTED = 0;
+
+ /**
+ * The number of structural features of the '<em>User Password</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_PASSWORD_FEATURE_COUNT = 1;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.SecurityElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Element</em>'.
+ * @see org.eclipse.emf.cdo.security.SecurityElement
+ * @generated
+ */
+ EClass getSecurityElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.Realm <em>Realm</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Realm</em>'.
+ * @see org.eclipse.emf.cdo.security.Realm
+ * @generated
+ */
+ EClass getRealm();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.security.Realm#getItems <em>Items</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Items</em>'.
+ * @see org.eclipse.emf.cdo.security.Realm#getItems()
+ * @see #getRealm()
+ * @generated
+ */
+ EReference getRealm_Items();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.Realm#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.security.Realm#getName()
+ * @see #getRealm()
+ * @generated
+ */
+ EAttribute getRealm_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.Directory <em>Directory</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Directory</em>'.
+ * @see org.eclipse.emf.cdo.security.Directory
+ * @generated
+ */
+ EClass getDirectory();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.security.Directory#getItems <em>Items</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Items</em>'.
+ * @see org.eclipse.emf.cdo.security.Directory#getItems()
+ * @see #getDirectory()
+ * @generated
+ */
+ EReference getDirectory_Items();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.Directory#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.security.Directory#getName()
+ * @see #getDirectory()
+ * @generated
+ */
+ EAttribute getDirectory_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.SecurityItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item</em>'.
+ * @see org.eclipse.emf.cdo.security.SecurityItem
+ * @generated
+ */
+ EClass getSecurityItem();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.Role <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Role</em>'.
+ * @see org.eclipse.emf.cdo.security.Role
+ * @generated
+ */
+ EClass getRole();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.security.Role#getAssignees <em>Assignees</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Assignees</em>'.
+ * @see org.eclipse.emf.cdo.security.Role#getAssignees()
+ * @see #getRole()
+ * @generated
+ */
+ EReference getRole_Assignees();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.Role#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.emf.cdo.security.Role#getId()
+ * @see #getRole()
+ * @generated
+ */
+ EAttribute getRole_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.Role#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.emf.cdo.security.Role#getType()
+ * @see #getRole()
+ * @generated
+ */
+ EAttribute getRole_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.Assignee <em>Assignee</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Assignee</em>'.
+ * @see org.eclipse.emf.cdo.security.Assignee
+ * @generated
+ */
+ EClass getAssignee();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.security.Assignee#getRoles <em>Roles</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Roles</em>'.
+ * @see org.eclipse.emf.cdo.security.Assignee#getRoles()
+ * @see #getAssignee()
+ * @generated
+ */
+ EReference getAssignee_Roles();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.Assignee#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.emf.cdo.security.Assignee#getId()
+ * @see #getAssignee()
+ * @generated
+ */
+ EAttribute getAssignee_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.Group <em>Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Group</em>'.
+ * @see org.eclipse.emf.cdo.security.Group
+ * @generated
+ */
+ EClass getGroup();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.security.Group#getUsers <em>Users</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Users</em>'.
+ * @see org.eclipse.emf.cdo.security.Group#getUsers()
+ * @see #getGroup()
+ * @generated
+ */
+ EReference getGroup_Users();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.security.Group#getInheritedGroups <em>Inherited Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Inherited Groups</em>'.
+ * @see org.eclipse.emf.cdo.security.Group#getInheritedGroups()
+ * @see #getGroup()
+ * @generated
+ */
+ EReference getGroup_InheritedGroups();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.security.Group#getInheritingGroups <em>Inheriting Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Inheriting Groups</em>'.
+ * @see org.eclipse.emf.cdo.security.Group#getInheritingGroups()
+ * @see #getGroup()
+ * @generated
+ */
+ EReference getGroup_InheritingGroups();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.User <em>User</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User</em>'.
+ * @see org.eclipse.emf.cdo.security.User
+ * @generated
+ */
+ EClass getUser();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.cdo.security.User#getGroups <em>Groups</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Groups</em>'.
+ * @see org.eclipse.emf.cdo.security.User#getGroups()
+ * @see #getUser()
+ * @generated
+ */
+ EReference getUser_Groups();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.User#getFirstName <em>First Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>First Name</em>'.
+ * @see org.eclipse.emf.cdo.security.User#getFirstName()
+ * @see #getUser()
+ * @generated
+ */
+ EAttribute getUser_FirstName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.User#getLastName <em>Last Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Last Name</em>'.
+ * @see org.eclipse.emf.cdo.security.User#getLastName()
+ * @see #getUser()
+ * @generated
+ */
+ EAttribute getUser_LastName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.User#getEmail <em>Email</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Email</em>'.
+ * @see org.eclipse.emf.cdo.security.User#getEmail()
+ * @see #getUser()
+ * @generated
+ */
+ EAttribute getUser_Email();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.User#isLocked <em>Locked</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Locked</em>'.
+ * @see org.eclipse.emf.cdo.security.User#isLocked()
+ * @see #getUser()
+ * @generated
+ */
+ EAttribute getUser_Locked();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.security.User#getPassword <em>Password</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Password</em>'.
+ * @see org.eclipse.emf.cdo.security.User#getPassword()
+ * @see #getUser()
+ * @generated
+ */
+ EReference getUser_Password();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.security.UserPassword <em>User Password</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User Password</em>'.
+ * @see org.eclipse.emf.cdo.security.UserPassword
+ * @generated
+ */
+ EClass getUserPassword();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.security.UserPassword#getEncrypted <em>Encrypted</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Encrypted</em>'.
+ * @see org.eclipse.emf.cdo.security.UserPassword#getEncrypted()
+ * @see #getUserPassword()
+ * @generated
+ */
+ EAttribute getUserPassword_Encrypted();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ SecurityFactory getSecurityFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.SecurityElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.SecurityElementImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getSecurityElement()
+ * @generated
+ */
+ EClass SECURITY_ELEMENT = eINSTANCE.getSecurityElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.RealmImpl <em>Realm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.RealmImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getRealm()
+ * @generated
+ */
+ EClass REALM = eINSTANCE.getRealm();
+
+ /**
+ * The meta object literal for the '<em><b>Items</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REALM__ITEMS = eINSTANCE.getRealm_Items();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REALM__NAME = eINSTANCE.getRealm_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.DirectoryImpl <em>Directory</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.DirectoryImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getDirectory()
+ * @generated
+ */
+ EClass DIRECTORY = eINSTANCE.getDirectory();
+
+ /**
+ * The meta object literal for the '<em><b>Items</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIRECTORY__ITEMS = eINSTANCE.getDirectory_Items();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DIRECTORY__NAME = eINSTANCE.getDirectory_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.SecurityItemImpl <em>Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.SecurityItemImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getSecurityItem()
+ * @generated
+ */
+ EClass SECURITY_ITEM = eINSTANCE.getSecurityItem();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.RoleImpl <em>Role</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.RoleImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getRole()
+ * @generated
+ */
+ EClass ROLE = eINSTANCE.getRole();
+
+ /**
+ * The meta object literal for the '<em><b>Assignees</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ROLE__ASSIGNEES = eINSTANCE.getRole_Assignees();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROLE__ID = eINSTANCE.getRole_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROLE__TYPE = eINSTANCE.getRole_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.AssigneeImpl <em>Assignee</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.AssigneeImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getAssignee()
+ * @generated
+ */
+ EClass ASSIGNEE = eINSTANCE.getAssignee();
+
+ /**
+ * The meta object literal for the '<em><b>Roles</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ASSIGNEE__ROLES = eINSTANCE.getAssignee_Roles();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ASSIGNEE__ID = eINSTANCE.getAssignee_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.GroupImpl <em>Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.GroupImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getGroup()
+ * @generated
+ */
+ EClass GROUP = eINSTANCE.getGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Users</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GROUP__USERS = eINSTANCE.getGroup_Users();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited Groups</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GROUP__INHERITED_GROUPS = eINSTANCE.getGroup_InheritedGroups();
+
+ /**
+ * The meta object literal for the '<em><b>Inheriting Groups</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GROUP__INHERITING_GROUPS = eINSTANCE.getGroup_InheritingGroups();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.UserImpl <em>User</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.UserImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getUser()
+ * @generated
+ */
+ EClass USER = eINSTANCE.getUser();
+
+ /**
+ * The meta object literal for the '<em><b>Groups</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER__GROUPS = eINSTANCE.getUser_Groups();
+
+ /**
+ * The meta object literal for the '<em><b>First Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER__FIRST_NAME = eINSTANCE.getUser_FirstName();
+
+ /**
+ * The meta object literal for the '<em><b>Last Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER__LAST_NAME = eINSTANCE.getUser_LastName();
+
+ /**
+ * The meta object literal for the '<em><b>Email</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER__EMAIL = eINSTANCE.getUser_Email();
+
+ /**
+ * The meta object literal for the '<em><b>Locked</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER__LOCKED = eINSTANCE.getUser_Locked();
+
+ /**
+ * The meta object literal for the '<em><b>Password</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER__PASSWORD = eINSTANCE.getUser_Password();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.security.impl.UserPasswordImpl <em>User Password</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.impl.UserPasswordImpl
+ * @see org.eclipse.emf.cdo.security.impl.SecurityPackageImpl#getUserPassword()
+ * @generated
+ */
+ EClass USER_PASSWORD = eINSTANCE.getUserPassword();
+
+ /**
+ * The meta object literal for the '<em><b>Encrypted</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER_PASSWORD__ENCRYPTED = eINSTANCE.getUserPassword_Encrypted();
+
+ }
+
+} // SecurityPackage
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/User.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/User.java
new file mode 100644
index 0000000000..5090f476d6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/User.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.User#getGroups <em>Groups</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.User#getFirstName <em>First Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.User#getLastName <em>Last Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.User#getEmail <em>Email</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.User#isLocked <em>Locked</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.User#getPassword <em>Password</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser()
+ * @model
+ * @generated
+ */
+public interface User extends Assignee
+{
+ /**
+ * Returns the value of the '<em><b>Groups</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.cdo.security.Group}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.cdo.security.Group#getUsers <em>Users</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Groups</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Groups</em>' reference list.
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser_Groups()
+ * @see org.eclipse.emf.cdo.security.Group#getUsers
+ * @model opposite="users"
+ * @generated
+ */
+ EList<Group> getGroups();
+
+ /**
+ * Returns the value of the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>First Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>First Name</em>' attribute.
+ * @see #setFirstName(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser_FirstName()
+ * @model
+ * @generated
+ */
+ String getFirstName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.User#getFirstName <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>First Name</em>' attribute.
+ * @see #getFirstName()
+ * @generated
+ */
+ void setFirstName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Last Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Last Name</em>' attribute.
+ * @see #setLastName(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser_LastName()
+ * @model
+ * @generated
+ */
+ String getLastName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.User#getLastName <em>Last Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Last Name</em>' attribute.
+ * @see #getLastName()
+ * @generated
+ */
+ void setLastName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Email</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Email</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Email</em>' attribute.
+ * @see #setEmail(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser_Email()
+ * @model
+ * @generated
+ */
+ String getEmail();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.User#getEmail <em>Email</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Email</em>' attribute.
+ * @see #getEmail()
+ * @generated
+ */
+ void setEmail(String value);
+
+ /**
+ * Returns the value of the '<em><b>Locked</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Locked</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Locked</em>' attribute.
+ * @see #setLocked(boolean)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser_Locked()
+ * @model
+ * @generated
+ */
+ boolean isLocked();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.User#isLocked <em>Locked</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Locked</em>' attribute.
+ * @see #isLocked()
+ * @generated
+ */
+ void setLocked(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Password</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Password</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Password</em>' containment reference.
+ * @see #setPassword(UserPassword)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUser_Password()
+ * @model containment="true"
+ * @generated
+ */
+ UserPassword getPassword();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.User#getPassword <em>Password</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Password</em>' containment reference.
+ * @see #getPassword()
+ * @generated
+ */
+ void setPassword(UserPassword value);
+
+} // User
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/UserPassword.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/UserPassword.java
new file mode 100644
index 0000000000..6ee2cc958f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/UserPassword.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security;
+
+import org.eclipse.emf.cdo.CDOObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User Password</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.UserPassword#getEncrypted <em>Encrypted</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUserPassword()
+ * @model
+ * @extends CDOObject
+ * @generated
+ */
+public interface UserPassword extends CDOObject
+{
+ /**
+ * Returns the value of the '<em><b>Encrypted</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Encrypted</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Encrypted</em>' attribute.
+ * @see #setEncrypted(String)
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#getUserPassword_Encrypted()
+ * @model
+ * @generated
+ */
+ String getEncrypted();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.security.UserPassword#getEncrypted <em>Encrypted</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Encrypted</em>' attribute.
+ * @see #getEncrypted()
+ * @generated
+ */
+ void setEncrypted(String value);
+
+} // UserPassword
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/AssigneeImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/AssigneeImpl.java
new file mode 100644
index 0000000000..752bfe3895
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/AssigneeImpl.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Assignee;
+import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignee</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.AssigneeImpl#getRoles <em>Roles</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.AssigneeImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AssigneeImpl extends SecurityItemImpl implements Assignee
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssigneeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.ASSIGNEE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Role> getRoles()
+ {
+ return (EList<Role>)eGet(SecurityPackage.Literals.ASSIGNEE__ROLES, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return (String)eGet(SecurityPackage.Literals.ASSIGNEE__ID, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ eSet(SecurityPackage.Literals.ASSIGNEE__ID, newId);
+ }
+
+} // AssigneeImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/DirectoryImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/DirectoryImpl.java
new file mode 100644
index 0000000000..0f3e9538cf
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/DirectoryImpl.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Directory;
+import org.eclipse.emf.cdo.security.SecurityItem;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.DirectoryImpl#getItems <em>Items</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.DirectoryImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DirectoryImpl extends SecurityItemImpl implements Directory
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DirectoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.DIRECTORY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<SecurityItem> getItems()
+ {
+ return (EList<SecurityItem>)eGet(SecurityPackage.Literals.DIRECTORY__ITEMS, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eGet(SecurityPackage.Literals.DIRECTORY__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eSet(SecurityPackage.Literals.DIRECTORY__NAME, newName);
+ }
+
+} // ContainerImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/GroupImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/GroupImpl.java
new file mode 100644
index 0000000000..ca4a5b30ca
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/GroupImpl.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Group;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.User;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.GroupImpl#getInheritedGroups <em>Inherited Groups</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.GroupImpl#getInheritingGroups <em>Inheriting Groups</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.GroupImpl#getUsers <em>Users</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GroupImpl extends AssigneeImpl implements Group
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GroupImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<User> getUsers()
+ {
+ return (EList<User>)eGet(SecurityPackage.Literals.GROUP__USERS, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Group> getInheritedGroups()
+ {
+ return (EList<Group>)eGet(SecurityPackage.Literals.GROUP__INHERITED_GROUPS, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Group> getInheritingGroups()
+ {
+ return (EList<Group>)eGet(SecurityPackage.Literals.GROUP__INHERITING_GROUPS, true);
+ }
+
+} // GroupImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java
new file mode 100644
index 0000000000..d9fff79b5e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RealmImpl.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Realm;
+import org.eclipse.emf.cdo.security.SecurityItem;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Realm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getItems <em>Items</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RealmImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RealmImpl extends SecurityElementImpl implements Realm
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RealmImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.REALM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<SecurityItem> getItems()
+ {
+ return (EList<SecurityItem>)eGet(SecurityPackage.Literals.REALM__ITEMS, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return (String)eGet(SecurityPackage.Literals.REALM__NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ eSet(SecurityPackage.Literals.REALM__NAME, newName);
+ }
+
+ @Override
+ public Realm getRealm()
+ {
+ return this;
+ }
+
+} // SecurityRealmImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RoleImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RoleImpl.java
new file mode 100644
index 0000000000..091bb3bac6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/RoleImpl.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Assignee;
+import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Role</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RoleImpl#getAssignees <em>Assignees</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RoleImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.RoleImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RoleImpl extends SecurityItemImpl implements Role
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RoleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.ROLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Assignee> getAssignees()
+ {
+ return (EList<Assignee>)eGet(SecurityPackage.Literals.ROLE__ASSIGNEES, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return (String)eGet(SecurityPackage.Literals.ROLE__ID, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ eSet(SecurityPackage.Literals.ROLE__ID, newId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType()
+ {
+ return (String)eGet(SecurityPackage.Literals.ROLE__TYPE, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ eSet(SecurityPackage.Literals.ROLE__TYPE, newType);
+ }
+
+} // RoleImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityElementImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityElementImpl.java
new file mode 100644
index 0000000000..a9743eb100
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityElementImpl.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.etypes.impl.ModelElementImpl;
+import org.eclipse.emf.cdo.security.Realm;
+import org.eclipse.emf.cdo.security.SecurityElement;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SecurityElementImpl extends ModelElementImpl implements SecurityElement
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecurityElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.SECURITY_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Realm getRealm()
+ {
+ EObject container = eContainer();
+ if (container instanceof SecurityElement)
+ {
+ return ((SecurityElement)container).getRealm();
+ }
+
+ return null;
+ }
+
+} // SecurityElementImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityFactoryImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityFactoryImpl.java
new file mode 100644
index 0000000000..3b0f840b83
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityFactoryImpl.java
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Directory;
+import org.eclipse.emf.cdo.security.Group;
+import org.eclipse.emf.cdo.security.Realm;
+import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityFactory;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.User;
+import org.eclipse.emf.cdo.security.UserPassword;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SecurityFactoryImpl extends EFactoryImpl implements SecurityFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SecurityFactory init()
+ {
+ try
+ {
+ SecurityFactory theSecurityFactory = (SecurityFactory)EPackage.Registry.INSTANCE
+ .getEFactory("http://www.eclipse.org/emf/CDO/security/4.1.0"); //$NON-NLS-1$
+ if (theSecurityFactory != null)
+ {
+ return theSecurityFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SecurityFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case SecurityPackage.REALM:
+ return createRealm();
+ case SecurityPackage.DIRECTORY:
+ return createDirectory();
+ case SecurityPackage.ROLE:
+ return createRole();
+ case SecurityPackage.GROUP:
+ return createGroup();
+ case SecurityPackage.USER:
+ return createUser();
+ case SecurityPackage.USER_PASSWORD:
+ return createUserPassword();
+ 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
+ */
+ public Realm createRealm()
+ {
+ RealmImpl realm = new RealmImpl();
+ return realm;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Directory createDirectory()
+ {
+ DirectoryImpl directory = new DirectoryImpl();
+ return directory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Role createRole()
+ {
+ RoleImpl role = new RoleImpl();
+ return role;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Group createGroup()
+ {
+ GroupImpl group = new GroupImpl();
+ return group;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public User createUser()
+ {
+ UserImpl user = new UserImpl();
+ return user;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserPassword createUserPassword()
+ {
+ UserPasswordImpl userPassword = new UserPasswordImpl();
+ return userPassword;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityPackage getSecurityPackage()
+ {
+ return (SecurityPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SecurityPackage getPackage()
+ {
+ return SecurityPackage.eINSTANCE;
+ }
+
+} // SecurityFactoryImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityItemImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityItemImpl.java
new file mode 100644
index 0000000000..4f4975bdf2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityItemImpl.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.SecurityItem;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SecurityItemImpl extends SecurityElementImpl implements SecurityItem
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecurityItemImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.SECURITY_ITEM;
+ }
+
+} // SecurityItemImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityPackageImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityPackageImpl.java
new file mode 100644
index 0000000000..f6c2e83ec0
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/SecurityPackageImpl.java
@@ -0,0 +1,682 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.etypes.EtypesPackage;
+import org.eclipse.emf.cdo.security.Assignee;
+import org.eclipse.emf.cdo.security.Directory;
+import org.eclipse.emf.cdo.security.Group;
+import org.eclipse.emf.cdo.security.Realm;
+import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityElement;
+import org.eclipse.emf.cdo.security.SecurityFactory;
+import org.eclipse.emf.cdo.security.SecurityItem;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.User;
+import org.eclipse.emf.cdo.security.UserPassword;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SecurityPackageImpl extends EPackageImpl implements SecurityPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securityElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass realmEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass directoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securityItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass roleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass assigneeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass groupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userPasswordEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.cdo.security.SecurityPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SecurityPackageImpl()
+ {
+ super(eNS_URI, SecurityFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link SecurityPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static SecurityPackage init()
+ {
+ if (isInited)
+ {
+ return (SecurityPackage)EPackage.Registry.INSTANCE.getEPackage(SecurityPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ SecurityPackageImpl theSecurityPackage = (SecurityPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SecurityPackageImpl ? EPackage.Registry.INSTANCE
+ .get(eNS_URI) : new SecurityPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EtypesPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theSecurityPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSecurityPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSecurityPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SecurityPackage.eNS_URI, theSecurityPackage);
+ return theSecurityPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecurityElement()
+ {
+ return securityElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRealm()
+ {
+ return realmEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRealm_Items()
+ {
+ return (EReference)realmEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRealm_Name()
+ {
+ return (EAttribute)realmEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDirectory()
+ {
+ return directoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDirectory_Items()
+ {
+ return (EReference)directoryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDirectory_Name()
+ {
+ return (EAttribute)directoryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecurityItem()
+ {
+ return securityItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRole()
+ {
+ return roleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRole_Assignees()
+ {
+ return (EReference)roleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRole_Id()
+ {
+ return (EAttribute)roleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRole_Type()
+ {
+ return (EAttribute)roleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssignee()
+ {
+ return assigneeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssignee_Roles()
+ {
+ return (EReference)assigneeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAssignee_Id()
+ {
+ return (EAttribute)assigneeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGroup()
+ {
+ return groupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGroup_Users()
+ {
+ return (EReference)groupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGroup_InheritedGroups()
+ {
+ return (EReference)groupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGroup_InheritingGroups()
+ {
+ return (EReference)groupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUser()
+ {
+ return userEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUser_Groups()
+ {
+ return (EReference)userEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUser_FirstName()
+ {
+ return (EAttribute)userEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUser_LastName()
+ {
+ return (EAttribute)userEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUser_Email()
+ {
+ return (EAttribute)userEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUser_Locked()
+ {
+ return (EAttribute)userEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUser_Password()
+ {
+ return (EReference)userEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUserPassword()
+ {
+ return userPasswordEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUserPassword_Encrypted()
+ {
+ return (EAttribute)userPasswordEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityFactory getSecurityFactory()
+ {
+ return (SecurityFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated)
+ {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ securityElementEClass = createEClass(SECURITY_ELEMENT);
+
+ securityItemEClass = createEClass(SECURITY_ITEM);
+
+ realmEClass = createEClass(REALM);
+ createEReference(realmEClass, REALM__ITEMS);
+ createEAttribute(realmEClass, REALM__NAME);
+
+ directoryEClass = createEClass(DIRECTORY);
+ createEReference(directoryEClass, DIRECTORY__ITEMS);
+ createEAttribute(directoryEClass, DIRECTORY__NAME);
+
+ roleEClass = createEClass(ROLE);
+ createEReference(roleEClass, ROLE__ASSIGNEES);
+ createEAttribute(roleEClass, ROLE__ID);
+ createEAttribute(roleEClass, ROLE__TYPE);
+
+ assigneeEClass = createEClass(ASSIGNEE);
+ createEReference(assigneeEClass, ASSIGNEE__ROLES);
+ createEAttribute(assigneeEClass, ASSIGNEE__ID);
+
+ groupEClass = createEClass(GROUP);
+ createEReference(groupEClass, GROUP__INHERITED_GROUPS);
+ createEReference(groupEClass, GROUP__INHERITING_GROUPS);
+ createEReference(groupEClass, GROUP__USERS);
+
+ userEClass = createEClass(USER);
+ createEReference(userEClass, USER__GROUPS);
+ createEAttribute(userEClass, USER__FIRST_NAME);
+ createEAttribute(userEClass, USER__LAST_NAME);
+ createEAttribute(userEClass, USER__EMAIL);
+ createEAttribute(userEClass, USER__LOCKED);
+ createEReference(userEClass, USER__PASSWORD);
+
+ userPasswordEClass = createEClass(USER_PASSWORD);
+ createEAttribute(userPasswordEClass, USER_PASSWORD__ENCRYPTED);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized)
+ {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EtypesPackage theEtypesPackage = (EtypesPackage)EPackage.Registry.INSTANCE.getEPackage(EtypesPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ securityElementEClass.getESuperTypes().add(theEtypesPackage.getModelElement());
+ securityItemEClass.getESuperTypes().add(getSecurityElement());
+ realmEClass.getESuperTypes().add(getSecurityElement());
+ directoryEClass.getESuperTypes().add(getSecurityItem());
+ roleEClass.getESuperTypes().add(getSecurityItem());
+ assigneeEClass.getESuperTypes().add(getSecurityItem());
+ groupEClass.getESuperTypes().add(getAssignee());
+ userEClass.getESuperTypes().add(getAssignee());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(securityElementEClass, SecurityElement.class,
+ "SecurityElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ addEOperation(securityElementEClass, getRealm(), "getRealm", 1, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(securityItemEClass, SecurityItem.class,
+ "SecurityItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(realmEClass, Realm.class, "Realm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getRealm_Items(),
+ getSecurityItem(),
+ null,
+ "items", null, 0, -1, Realm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getRealm_Name(),
+ theEcorePackage.getEString(),
+ "name", null, 0, 1, Realm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(directoryEClass, Directory.class, "Directory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getDirectory_Items(),
+ getSecurityItem(),
+ null,
+ "items", null, 0, -1, Directory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getDirectory_Name(),
+ theEcorePackage.getEString(),
+ "name", null, 0, 1, Directory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(roleEClass, Role.class, "Role", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getRole_Assignees(),
+ getAssignee(),
+ getAssignee_Roles(),
+ "assignees", null, 0, -1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getRole_Id(),
+ theEcorePackage.getEString(),
+ "id", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getRole_Type(),
+ theEcorePackage.getEString(),
+ "type", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(assigneeEClass, Assignee.class, "Assignee", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getAssignee_Roles(),
+ getRole(),
+ getRole_Assignees(),
+ "roles", null, 0, -1, Assignee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getAssignee_Id(),
+ theEcorePackage.getEString(),
+ "id", null, 0, 1, Assignee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(groupEClass, Group.class, "Group", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getGroup_InheritedGroups(),
+ getGroup(),
+ getGroup_InheritingGroups(),
+ "inheritedGroups", null, 0, -1, Group.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getGroup_InheritingGroups(),
+ getGroup(),
+ getGroup_InheritedGroups(),
+ "inheritingGroups", null, 0, -1, Group.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getGroup_Users(),
+ getUser(),
+ getUser_Groups(),
+ "users", null, 0, -1, Group.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(userEClass, User.class, "User", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(
+ getUser_Groups(),
+ getGroup(),
+ getGroup_Users(),
+ "groups", null, 0, -1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getUser_FirstName(),
+ theEcorePackage.getEString(),
+ "firstName", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getUser_LastName(),
+ theEcorePackage.getEString(),
+ "lastName", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getUser_Email(),
+ theEcorePackage.getEString(),
+ "email", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(
+ getUser_Locked(),
+ theEcorePackage.getEBoolean(),
+ "locked", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(
+ getUser_Password(),
+ getUserPassword(),
+ null,
+ "password", null, 0, 1, User.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(userPasswordEClass, UserPassword.class,
+ "UserPassword", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(
+ getUserPassword_Encrypted(),
+ theEcorePackage.getEString(),
+ "encrypted", null, 0, 1, UserPassword.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // SecurityPackageImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserImpl.java
new file mode 100644
index 0000000000..bca8da5863
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserImpl.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.Group;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.User;
+import org.eclipse.emf.cdo.security.UserPassword;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserImpl#getGroups <em>Groups</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserImpl#getFirstName <em>First Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserImpl#getLastName <em>Last Name</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserImpl#getEmail <em>Email</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserImpl#isLocked <em>Locked</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserImpl#getPassword <em>Password</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UserImpl extends AssigneeImpl implements User
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.USER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EList<Group> getGroups()
+ {
+ return (EList<Group>)eGet(SecurityPackage.Literals.USER__GROUPS, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFirstName()
+ {
+ return (String)eGet(SecurityPackage.Literals.USER__FIRST_NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirstName(String newFirstName)
+ {
+ eSet(SecurityPackage.Literals.USER__FIRST_NAME, newFirstName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLastName()
+ {
+ return (String)eGet(SecurityPackage.Literals.USER__LAST_NAME, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLastName(String newLastName)
+ {
+ eSet(SecurityPackage.Literals.USER__LAST_NAME, newLastName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEmail()
+ {
+ return (String)eGet(SecurityPackage.Literals.USER__EMAIL, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEmail(String newEmail)
+ {
+ eSet(SecurityPackage.Literals.USER__EMAIL, newEmail);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isLocked()
+ {
+ return (Boolean)eGet(SecurityPackage.Literals.USER__LOCKED, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocked(boolean newLocked)
+ {
+ eSet(SecurityPackage.Literals.USER__LOCKED, newLocked);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserPassword getPassword()
+ {
+ return (UserPassword)eGet(SecurityPackage.Literals.USER__PASSWORD, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPassword(UserPassword newPassword)
+ {
+ eSet(SecurityPackage.Literals.USER__PASSWORD, newPassword);
+ }
+
+} // UserImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserPasswordImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserPasswordImpl.java
new file mode 100644
index 0000000000..2face8f5d3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/UserPasswordImpl.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.impl;
+
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.UserPassword;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User Password</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.security.impl.UserPasswordImpl#getEncrypted <em>Encrypted</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UserPasswordImpl extends CDOObjectImpl implements UserPassword
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserPasswordImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return SecurityPackage.Literals.USER_PASSWORD;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncrypted()
+ {
+ return (String)eGet(SecurityPackage.Literals.USER_PASSWORD__ENCRYPTED, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEncrypted(String newEncrypted)
+ {
+ eSet(SecurityPackage.Literals.USER_PASSWORD__ENCRYPTED, newEncrypted);
+ }
+
+} // UserPasswordImpl
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecurityAdapterFactory.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecurityAdapterFactory.java
new file mode 100644
index 0000000000..33737ed051
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecurityAdapterFactory.java
@@ -0,0 +1,336 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.util;
+
+import org.eclipse.emf.cdo.etypes.ModelElement;
+import org.eclipse.emf.cdo.security.Assignee;
+import org.eclipse.emf.cdo.security.Directory;
+import org.eclipse.emf.cdo.security.Group;
+import org.eclipse.emf.cdo.security.Realm;
+import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityElement;
+import org.eclipse.emf.cdo.security.SecurityItem;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.User;
+import org.eclipse.emf.cdo.security.UserPassword;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.SecurityPackage
+ * @generated
+ */
+public class SecurityAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SecurityPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecurityAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = SecurityPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecuritySwitch<Adapter> modelSwitch = new SecuritySwitch<Adapter>()
+ {
+ @Override
+ public Adapter caseSecurityElement(SecurityElement object)
+ {
+ return createSecurityElementAdapter();
+ }
+
+ @Override
+ public Adapter caseSecurityItem(SecurityItem object)
+ {
+ return createSecurityItemAdapter();
+ }
+
+ @Override
+ public Adapter caseRealm(Realm object)
+ {
+ return createRealmAdapter();
+ }
+
+ @Override
+ public Adapter caseDirectory(Directory object)
+ {
+ return createDirectoryAdapter();
+ }
+
+ @Override
+ public Adapter caseRole(Role object)
+ {
+ return createRoleAdapter();
+ }
+
+ @Override
+ public Adapter caseAssignee(Assignee object)
+ {
+ return createAssigneeAdapter();
+ }
+
+ @Override
+ public Adapter caseGroup(Group object)
+ {
+ return createGroupAdapter();
+ }
+
+ @Override
+ public Adapter caseUser(User object)
+ {
+ return createUserAdapter();
+ }
+
+ @Override
+ public Adapter caseUserPassword(UserPassword object)
+ {
+ return createUserPasswordAdapter();
+ }
+
+ @Override
+ public Adapter caseModelElement(ModelElement object)
+ {
+ return createModelElementAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.SecurityElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.SecurityElement
+ * @generated
+ */
+ public Adapter createSecurityElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.Realm <em>Realm</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.Realm
+ * @generated
+ */
+ public Adapter createRealmAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.Directory <em>Directory</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.Directory
+ * @generated
+ */
+ public Adapter createDirectoryAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.SecurityItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.SecurityItem
+ * @generated
+ */
+ public Adapter createSecurityItemAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.Role <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.Role
+ * @generated
+ */
+ public Adapter createRoleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.Assignee <em>Assignee</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.Assignee
+ * @generated
+ */
+ public Adapter createAssigneeAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.Group <em>Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.Group
+ * @generated
+ */
+ public Adapter createGroupAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.User <em>User</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.User
+ * @generated
+ */
+ public Adapter createUserAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.security.UserPassword <em>User Password</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.security.UserPassword
+ * @generated
+ */
+ public Adapter createUserPasswordAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.etypes.ModelElement <em>Model Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.etypes.ModelElement
+ * @generated
+ */
+ public Adapter createModelElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} // SecurityAdapterFactory
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecuritySwitch.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecuritySwitch.java
new file mode 100644
index 0000000000..0ffc6fb0d9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/util/SecuritySwitch.java
@@ -0,0 +1,469 @@
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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
+ */
+package org.eclipse.emf.cdo.security.util;
+
+import org.eclipse.emf.cdo.etypes.ModelElement;
+import org.eclipse.emf.cdo.security.Assignee;
+import org.eclipse.emf.cdo.security.Directory;
+import org.eclipse.emf.cdo.security.Group;
+import org.eclipse.emf.cdo.security.Realm;
+import org.eclipse.emf.cdo.security.Role;
+import org.eclipse.emf.cdo.security.SecurityElement;
+import org.eclipse.emf.cdo.security.SecurityItem;
+import org.eclipse.emf.cdo.security.SecurityPackage;
+import org.eclipse.emf.cdo.security.User;
+import org.eclipse.emf.cdo.security.UserPassword;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.security.SecurityPackage
+ * @generated
+ */
+public class SecuritySwitch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SecurityPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecuritySwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = SecurityPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject)
+ {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject)
+ {
+ if (theEClass.eContainer() == modelPackage)
+ {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else
+ {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case SecurityPackage.SECURITY_ELEMENT:
+ {
+ SecurityElement securityElement = (SecurityElement)theEObject;
+ T result = caseSecurityElement(securityElement);
+ if (result == null)
+ {
+ result = caseModelElement(securityElement);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.SECURITY_ITEM:
+ {
+ SecurityItem securityItem = (SecurityItem)theEObject;
+ T result = caseSecurityItem(securityItem);
+ if (result == null)
+ {
+ result = caseSecurityElement(securityItem);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(securityItem);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.REALM:
+ {
+ Realm realm = (Realm)theEObject;
+ T result = caseRealm(realm);
+ if (result == null)
+ {
+ result = caseSecurityElement(realm);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(realm);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.DIRECTORY:
+ {
+ Directory directory = (Directory)theEObject;
+ T result = caseDirectory(directory);
+ if (result == null)
+ {
+ result = caseSecurityItem(directory);
+ }
+ if (result == null)
+ {
+ result = caseSecurityElement(directory);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(directory);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.ROLE:
+ {
+ Role role = (Role)theEObject;
+ T result = caseRole(role);
+ if (result == null)
+ {
+ result = caseSecurityItem(role);
+ }
+ if (result == null)
+ {
+ result = caseSecurityElement(role);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(role);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.ASSIGNEE:
+ {
+ Assignee assignee = (Assignee)theEObject;
+ T result = caseAssignee(assignee);
+ if (result == null)
+ {
+ result = caseSecurityItem(assignee);
+ }
+ if (result == null)
+ {
+ result = caseSecurityElement(assignee);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(assignee);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.GROUP:
+ {
+ Group group = (Group)theEObject;
+ T result = caseGroup(group);
+ if (result == null)
+ {
+ result = caseAssignee(group);
+ }
+ if (result == null)
+ {
+ result = caseSecurityItem(group);
+ }
+ if (result == null)
+ {
+ result = caseSecurityElement(group);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(group);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.USER:
+ {
+ User user = (User)theEObject;
+ T result = caseUser(user);
+ if (result == null)
+ {
+ result = caseAssignee(user);
+ }
+ if (result == null)
+ {
+ result = caseSecurityItem(user);
+ }
+ if (result == null)
+ {
+ result = caseSecurityElement(user);
+ }
+ if (result == null)
+ {
+ result = caseModelElement(user);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case SecurityPackage.USER_PASSWORD:
+ {
+ UserPassword userPassword = (UserPassword)theEObject;
+ T result = caseUserPassword(userPassword);
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecurityElement(SecurityElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Realm</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Realm</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRealm(Realm object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Directory</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Directory</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDirectory(Directory object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecurityItem(SecurityItem object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Role</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Role</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRole(Role object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignee</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assignee</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignee(Assignee object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGroup(Group object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>User</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUser(User object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User Password</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>User Password</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUserPassword(UserPassword object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelElement(ModelElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} // SecuritySwitch

Back to the top