summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2007-06-30 04:24:59 (EDT)
committerEike Stepper2007-06-30 04:24:59 (EDT)
commit6ddb6a19ed676bf6cb762864113df08a7f16a064 (patch)
tree9926a8147b86ec72fdb6d4ab0100b6da53b8b670
parent463b6934877e925bcf32ba7885dded61267302c3 (diff)
downloadcdo-6ddb6a19ed676bf6cb762864113df08a7f16a064.zip
cdo-6ddb6a19ed676bf6cb762864113df08a7f16a064.tar.gz
cdo-6ddb6a19ed676bf6cb762864113df08a7f16a064.tar.bz2
task 1: Develop 0.8.0
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.classpath7
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.cvsignore7
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.options4
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.project28
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.core.prefs261
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.ui.prefs20
-rw-r--r--plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.pde.prefs12
-rw-r--r--plugins/org.eclipse.emf.cdo.server/META-INF/MANIFEST.MF17
-rw-r--r--plugins/org.eclipse.emf.cdo.server/about.html42
-rw-r--r--plugins/org.eclipse.emf.cdo.server/build.properties14
-rw-r--r--plugins/org.eclipse.emf.cdo.server/copyright.txt8
-rw-r--r--plugins/org.eclipse.emf.cdo.server/epl-v10.html319
-rw-r--r--plugins/org.eclipse.emf.cdo.server/license.html319
-rw-r--r--plugins/org.eclipse.emf.cdo.server/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.server/plugin.xml5
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/AttributeInfo.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ClassInfo.java46
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ColumnConverter.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/DatabaseInconsistencyException.java45
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/Mapper.java117
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageInfo.java28
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageListener.java20
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageManager.java37
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceInfo.java24
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceManager.java26
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceNotFoundException.java45
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOProtocol.java31
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOResProtocol.java82
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/AttributeInfoImpl.java66
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ClassInfoImpl.java169
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ColumnConverterImpl.java68
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/MapperImpl.java1315
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageInfoImpl.java69
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageManagerImpl.java130
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceInfoImpl.java75
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceManagerImpl.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/SQLConstants.java226
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/Activator.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/CDOServer.java42
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/AnnouncePackageIndication.java91
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/CommitTransactionIndication.java663
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DeleteResourcesIndication.java169
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DescribePackageIndication.java137
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/InvalidationNotificationRequest.java69
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadObjectIndication.java64
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadResourceIndication.java68
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryAllResourcesIndication.java52
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryExtentIndication.java71
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryXRefsIndication.java68
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/RemovalNotificationRequest.java69
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcePathIndication.java87
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourceRIDIndication.java85
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcesChangedRequest.java71
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOProtocolImpl.java254
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOResProtocolImpl.java211
-rw-r--r--plugins/org.eclipse.emf.cdo/.project22
-rw-r--r--plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF8
-rw-r--r--plugins/org.eclipse.emf.cdo/about.html29
-rw-r--r--plugins/org.eclipse.emf.cdo/about.ini17
-rw-r--r--plugins/org.eclipse.emf.cdo/about.mappings6
-rw-r--r--plugins/org.eclipse.emf.cdo/about.properties12
-rw-r--r--plugins/org.eclipse.emf.cdo/build.properties11
-rw-r--r--plugins/org.eclipse.emf.cdo/eclipse32.pngbin4594 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo/license.html319
-rw-r--r--plugins/org.eclipse.emf.cdo/plugin.properties33
-rw-r--r--plugins/org.eclipse.emf.cdo/plugin.xml3
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/CDOAdapter.java60
67 files changed, 60 insertions, 6665 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/.classpath b/plugins/org.eclipse.emf.cdo.server/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <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="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.emf.cdo.server/.cvsignore b/plugins/org.eclipse.emf.cdo.server/.cvsignore
deleted file mode 100644
index cf7758d..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-doc
-bin
-dist
-build
-runtime
-tmp
-*.tmp
diff --git a/plugins/org.eclipse.emf.cdo.server/.options b/plugins/org.eclipse.emf.cdo.server/.options
deleted file mode 100644
index 55f755f..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-org.eclipse.emf.cdo.server/debug = true
-org.eclipse.emf.cdo.server/debug.mapper = true
-org.eclipse.emf.cdo.server/debug.resource = true
-org.eclipse.emf.cdo.server/debug.protocol = true
diff --git a/plugins/org.eclipse.emf.cdo.server/.project b/plugins/org.eclipse.emf.cdo.server/.project
deleted file mode 100644
index 9ea6a8c..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.cdo.server</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>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 90fd9b2..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,261 +0,0 @@
-#Sun Dec 17 20:32:25 CET 2006
-eclipse.preferences.version=1
-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.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-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_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_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_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.blank_lines_after_imports=2
-org.eclipse.jdt.core.formatter.blank_lines_after_package=2
-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=2
-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_type_declarations=2
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=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=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_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=false
-org.eclipse.jdt.core.formatter.comment.format_comments=false
-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_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=100
-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.format_guardian_clause_on_one_line=false
-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=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=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=do not 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=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_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_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_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=do not 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_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_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=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_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.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=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-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_tabs_only_for_leading_indentations=false
diff --git a/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 166555c..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,20 +0,0 @@
-#Mon Mar 13 08:16:17 CET 2006
-comment_clear_blank_lines=false
-comment_format_comments=false
-comment_format_header=false
-comment_format_html=true
-comment_format_source_code=true
-comment_indent_parameter_description=true
-comment_indent_root_tags=true
-comment_line_length=100
-comment_new_line_for_parameter=true
-comment_separate_root_tags=true
-eclipse.preferences.version=1
-formatter_settings_version=10
-internal.default.compliance=default
-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.net4j;org.eclipse.emf;org.eclipse;org.apache;org;com;java.lang;java.util;java.io;java.nio;java.net;java;javax;
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=99
diff --git a/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 7aff9bc..0000000
--- a/plugins/org.eclipse.emf.cdo.server/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Mar 14 22:44:16 CET 2005
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.server/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server/META-INF/MANIFEST.MF
deleted file mode 100644
index daf2574..0000000
--- a/plugins/org.eclipse.emf.cdo.server/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emf.cdo.server
-Bundle-Version: 0.8.0.qualifier
-Bundle-Activator: org.eclipse.emf.cdo.server.internal.Activator
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.cdo.core;visibility:=reexport,
- org.eclipse.emf.cdo.dbgen;visibility:=reexport
-Export-Package: org.eclipse.emf.cdo.server,
- org.eclipse.emf.cdo.server.impl,
- org.eclipse.emf.cdo.server.internal,
- org.eclipse.emf.cdo.server.protocol
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.emf.cdo.server/about.html b/plugins/org.eclipse.emf.cdo.server/about.html
deleted file mode 100644
index 373f387..0000000
--- a/plugins/org.eclipse.emf.cdo.server/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-
- <head>
-
- <meta content="text/html; charset=ISO-8859-1"
- http-equiv="Content-Type"/>
-
- <title>About</title>
-
- </head>
-
- <body lang="EN-US">
-
- <h2>About This Content</h2>
-
- <p>Januaray 22, 2006</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&apos;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.</p>
-
- </body>
-
-</html>
-
diff --git a/plugins/org.eclipse.emf.cdo.server/build.properties b/plugins/org.eclipse.emf.cdo.server/build.properties
deleted file mode 100644
index 101d260..0000000
--- a/plugins/org.eclipse.emf.cdo.server/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# NLS_MESSAGEFORMAT_VAR
-bin.includes = plugin.xml,\
- META-INF/,\
- plugin.properties,\
- epl-v10.html,\
- copyright.txt,\
- about.html,\
- .,\
- license.html,\
- .options
-jars.compile.order = .
-source.. = src/
-output.. = bin/
-src.includes = about.html
diff --git a/plugins/org.eclipse.emf.cdo.server/copyright.txt b/plugins/org.eclipse.emf.cdo.server/copyright.txt
deleted file mode 100644
index 3487e62..0000000
--- a/plugins/org.eclipse.emf.cdo.server/copyright.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
-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.server/epl-v10.html b/plugins/org.eclipse.emf.cdo.server/epl-v10.html
deleted file mode 100644
index d7b88e9..0000000
--- a/plugins/org.eclipse.emf.cdo.server/epl-v10.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<meta name="ProgId" content="Word.Document">
-<meta name="Generator" content="Microsoft Word 9">
-<meta name="Originator" content="Microsoft Word 9">
-<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-
-
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style></head>
-
-<body style="" lang="EN-US">
-
-<div class="Section1">
-
-<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
-
-<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear="left">
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
-changes to the Program, and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
-additions to the Program;</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style="font-size: 10pt;">"Contributor" means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style="font-size: 10pt;">"Program" means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style="font-size: 10pt;">"Recipient" means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
-
-<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
-its license agreement:</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
-
-<p><span style="font-size: 10pt;">When the Program is made available in source
-code form:</span> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-it must be made available under this Agreement; and </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style="font-size: 10pt;">Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style="font-size: 10pt;">Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style="font-size: 10pt;">For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
-
-<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
-
-<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
-
-</div>
-
-</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.server/license.html b/plugins/org.eclipse.emf.cdo.server/license.html
deleted file mode 100644
index d7b88e9..0000000
--- a/plugins/org.eclipse.emf.cdo.server/license.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<meta name="ProgId" content="Word.Document">
-<meta name="Generator" content="Microsoft Word 9">
-<meta name="Originator" content="Microsoft Word 9">
-<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-
-
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style></head>
-
-<body style="" lang="EN-US">
-
-<div class="Section1">
-
-<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
-
-<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear="left">
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
-changes to the Program, and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
-additions to the Program;</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style="font-size: 10pt;">"Contributor" means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style="font-size: 10pt;">"Program" means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style="font-size: 10pt;">"Recipient" means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
-
-<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
-its license agreement:</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
-
-<p><span style="font-size: 10pt;">When the Program is made available in source
-code form:</span> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-it must be made available under this Agreement; and </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style="font-size: 10pt;">Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style="font-size: 10pt;">Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style="font-size: 10pt;">For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
-
-<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
-
-<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
-
-</div>
-
-</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.server/plugin.properties b/plugins/org.eclipse.emf.cdo.server/plugin.properties
deleted file mode 100644
index 770be02..0000000
--- a/plugins/org.eclipse.emf.cdo.server/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = CDO Server Framework
-providerName = Eclipse.org
diff --git a/plugins/org.eclipse.emf.cdo.server/plugin.xml b/plugins/org.eclipse.emf.cdo.server/plugin.xml
deleted file mode 100644
index 8e49b52..0000000
--- a/plugins/org.eclipse.emf.cdo.server/plugin.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-</plugin>
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/AttributeInfo.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/AttributeInfo.java
deleted file mode 100644
index fcd9c17..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/AttributeInfo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-/**
- * @author Eike Stepper
- */
-public interface AttributeInfo
-{
- public String getName();
-
- public int getFeatureID();
-
- public int getDataType();
-
- public String getColumnName();
-
- public int getColumnType();
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ClassInfo.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ClassInfo.java
deleted file mode 100644
index d190a7e..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ClassInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import java.util.List;
-
-
-/**
- * @author Eike Stepper
- */
-public interface ClassInfo
-{
- public int getCID();
-
- public String getName();
-
- public String getParentName();
-
- public String getTableName();
-
- public PackageInfo getPackageInfo();
-
- public AttributeInfo addAttribute(String name, int featureID, int dataType, String columnName,
- int columnType);
-
- public AttributeInfo getAttributeInfo(int feature);
-
- public AttributeInfo[] getAttributeInfos();
-
- public ClassInfo getParent();
-
- public boolean isParentOf(ClassInfo derived);
-
- public List<ClassInfo> getSubClasses();
-
- public String getColumnNames();
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ColumnConverter.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ColumnConverter.java
deleted file mode 100644
index ab8eb1f..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ColumnConverter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import org.eclipse.net4j.util.stream.ExtendedDataInput;
-import org.eclipse.net4j.util.stream.ExtendedDataOutput;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public interface ColumnConverter
-{
- public Object fromChannel(ExtendedDataInput channel, int dataType) throws IOException;
-
- public void toChannel(ExtendedDataOutput channel, int dataType, Object value) throws IOException;
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/DatabaseInconsistencyException.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/DatabaseInconsistencyException.java
deleted file mode 100644
index b21f582..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/DatabaseInconsistencyException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import org.eclipse.emf.cdo.core.CDOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class DatabaseInconsistencyException extends CDOException
-{
- /**
- * Needed for serialization.<p>
- */
- private static final long serialVersionUID = 1L;
-
- public DatabaseInconsistencyException()
- {
- }
-
- public DatabaseInconsistencyException(String message)
- {
- super(message);
- }
-
- public DatabaseInconsistencyException(Throwable cause)
- {
- super(cause);
- }
-
- public DatabaseInconsistencyException(String message, Throwable cause)
- {
- super(message, cause);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/Mapper.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/Mapper.java
deleted file mode 100644
index e8d4eec..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/Mapper.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import org.eclipse.net4j.util.stream.ExtendedDataOutput;
-
-import org.eclipse.emf.cdo.core.OID;
-import org.eclipse.emf.cdo.core.OIDEncoder;
-import org.eclipse.emf.cdo.core.RID;
-
-import java.util.Set;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public interface Mapper
-{
- public int getNextPid();
-
- public int getNextCID();
-
- public int getNextRID();
-
- public long getNextOID(int rid);
-
- public void sql(String sql);
-
- public void sql(String sql, Object[] args);
-
- public void sql(String sql, Object[] args, int[] types);
-
- public int getCollectionCount(long oid, int feature);
-
- public boolean lock(long oid, int oca);
-
- public void insertPackage(final PackageInfo packageInfo);
-
- public void insertClass(final ClassInfo classInfo);
-
- public void insertAttribute(final AttributeInfo attributeInfo, final int cid);
-
- public ResourceInfo createResource(String resourcePath);
-
- public ResourceInfo selectResourceInfo(String path);
-
- public ResourceInfo selectResourceInfo(int rid);
-
- public void insertReference(long oid, int feature, int ordinal, long target, boolean content);
-
- public void removeReference(long oid, int feature, int ordinal);
-
- public void moveReferenceAbsolute(long oid, int feature, int toIndex, int fromIndex);
-
- public void moveReferencesRelative(long oid, int feature, int startIndex, int endIndex, int offset);
-
- public void insertObject(long oid, int cid);
-
- public void insertContent(long oid);
-
- public void removeObject(long oid);
-
- public void removeContent(long oid);
-
- public void transmitContent(ExtendedDataOutput out, ResourceInfo resourceInfo) throws IOException;
-
- public void transmitObject(ExtendedDataOutput out, long oid) throws IOException;
-
- public void transmitAttributes(ExtendedDataOutput out, long oid, ClassInfo classInfo)
- throws IOException;
-
- public void transmitReferences(ExtendedDataOutput out, long oid) throws IOException;
-
- public void transmitAllResources(ExtendedDataOutput out) throws IOException;
-
- public void transmitExtent(ExtendedDataOutput out, int cid, boolean exactMatch, int rid)
- throws IOException;
-
- public void transmitXRefs(ExtendedDataOutput out, long oid, int rid) throws IOException;
-
- /**
- * Deletes the given resource within a transaction.<p>
- *
- * @param rid The {@link RID} of the resource to be deleted.<p>
- */
- public void deleteResource(int rid);
-
- /**
- * Removes all references with missing target objects.<p>
- *
- * @return The {@link Set} of modified {@link OID}s.<p>
- */
- public Set<Long> removeStaleReferences();
-
- public void createAttributeTables(PackageInfo packageInfo);
-
- public void insertResource(int rid, String path);
-
- public OIDEncoder getOidEncoder(); // Don't change case! Spring will be irritated
-
- public PackageManager getPackageManager();
-
- public ResourceManager getResourceManager();
-
- public ColumnConverter getColumnConverter();
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageInfo.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageInfo.java
deleted file mode 100644
index 8d1f354..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageInfo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-/**
- * @author Eike Stepper
- */
-public interface PackageInfo
-{
- public int getPid();
-
- public String getName();
-
- public PackageManager getPackageManager();
-
- public ClassInfo addClass(int cid, String name, String parentName, String tableName);
-
- public ClassInfo[] getClasses();
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageListener.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageListener.java
deleted file mode 100644
index f3e348f..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-/**
- * @author Eike Stepper
- */
-public interface PackageListener
-{
- public void notifyAddedPackage();
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageManager.java
deleted file mode 100644
index ce7fee1..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/PackageManager.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import java.util.List;
-
-
-/**
- * @author Eike Stepper
- */
-public interface PackageManager
-{
- public void addPackageListener(PackageListener listener);
-
- public void removePackageListener(PackageListener listener);
-
- public PackageInfo addPackage(int pid, String name);
-
- public PackageInfo getPackageInfo(String name);
-
- public void registerClassInfo(ClassInfo classInfo);
-
- public ClassInfo getClassInfo(int cid);
-
- public ClassInfo getClassInfo(String name);
-
- public List<ClassInfo> getSubClassInfos(ClassInfo base);
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceInfo.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceInfo.java
deleted file mode 100644
index 2a6a751..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceInfo.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-/**
- * @author Eike Stepper
- */
-public interface ResourceInfo
-{
- public long getNextOIDFragment();
-
- public String getPath();
-
- public int getRID();
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceManager.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceManager.java
deleted file mode 100644
index e6f840f..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceManager.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-/**
- * @author Eike Stepper
- */
-public interface ResourceManager
-{
- public void registerResourceInfo(ResourceInfo resourceInfo);
-
- public ResourceInfo registerResourceInfo(String resourcePath, int rid, long nextOIDFragment);
-
- public ResourceInfo getResourceInfo(int rid, Mapper mapper);
-
- public ResourceInfo getResourceInfo(String path, Mapper mapper);
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceNotFoundException.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceNotFoundException.java
deleted file mode 100644
index 1d66de7..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ResourceNotFoundException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import org.eclipse.emf.cdo.core.CDOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class ResourceNotFoundException extends CDOException
-{
- /**
- * Needed for serialization.<p>
- */
- private static final long serialVersionUID = 1L;
-
- public ResourceNotFoundException()
- {
- }
-
- public ResourceNotFoundException(String message)
- {
- super(message);
- }
-
- public ResourceNotFoundException(Throwable cause)
- {
- super(cause);
- }
-
- public ResourceNotFoundException(String message, Throwable cause)
- {
- super(message, cause);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOProtocol.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOProtocol.java
deleted file mode 100644
index 6e25365..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOProtocol.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import org.eclipse.net4j.transport.Channel;
-
-import org.eclipse.emf.cdo.core.CDOProtocol;
-
-import java.util.Collection;
-
-
-/**
- * @author Eike Stepper
- */
-public interface ServerCDOProtocol extends CDOProtocol
-{
- public ServerCDOResProtocol getServerCDOResProtocol();
-
- public void fireRemovalNotification(Collection<Integer> rids);
-
- public void fireInvalidationNotification(Channel initiator, Collection<Long> changedObjectIds);
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOResProtocol.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOResProtocol.java
deleted file mode 100644
index b142124..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/ServerCDOResProtocol.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server;
-
-
-import org.eclipse.emf.cdo.core.CDOResProtocol;
-import org.eclipse.emf.cdo.core.OID;
-import org.eclipse.emf.cdo.core.RID;
-import org.eclipse.emf.cdo.core.protocol.ResourceChangeInfo;
-
-import java.util.Collection;
-import java.util.List;
-
-
-/**
- * @author Eike Stepper
- */
-public interface ServerCDOResProtocol extends CDOResProtocol
-{
- public void fireResourcesChangedNotification(List<ResourceChangeInfo> resourceChanges);
-
- public void fireInvalidationNotification(Collection<Long> modifiedOIDs);
-
- public void fireRemovalNotification(Collection<Integer> rids);
-
- /**
- * Adds a {@link Listener} to the list of listeners to be notified about
- * removed resources and invalidated obejcts in the scope of this
- * {@link ServerCDOResProtocol}.<p>
- *
- * @param listener The {@link Listener} to be added.<p>
- */
- public void addListener(Listener listener);
-
- /**
- * Removes a {@link Listener} from the list of listeners to be notified about
- * removed resources and invalidated obejcts in the scope of this
- * {@link ServerCDOResProtocol}.<p>
- *
- * @param listener The {@link Listener} to be removed.<p>
- */
- public void removeListener(Listener listener);
-
-
- /**
- * Can be registered with a {@link ServerCDOResProtocol} to be subsequently
- * notified about removed resources and invalidated objects.<p>
- *
- * @author Eike Stepper
- */
- public interface Listener
- {
- /**
- * Called by the {@link ServerCDOResProtocol} this {@link Listener} is
- * registered with to notify about removed resources.<p>
- *
- * @param protocol The {@link ServerCDOResProtocol} this {@link Listener} is
- * registered with.<p>
- * @param rids A {@link Collection} of {@link RID}s which have been removed.<p>
- */
- public void notifyRemoval(ServerCDOResProtocol protocol, Collection<Integer> rids);
-
- /**
- * Called by the {@link ServerCDOResProtocol} this {@link Listener} is
- * registered with to notify about invalidated objects.<p>
- *
- * @param protocol The {@link ServerCDOResProtocol} this {@link Listener} is
- * registered with.<p>
- * @param modifiedOIDs A {@link Collection} of {@link OID}s which have been
- * invalidated.<p>
- */
- public void notifyInvalidation(ServerCDOResProtocol protocol, Collection<Long> modifiedOIDs);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/AttributeInfoImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/AttributeInfoImpl.java
deleted file mode 100644
index db04ef9..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/AttributeInfoImpl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.emf.cdo.server.AttributeInfo;
-
-
-/**
- * @author Eike Stepper
- */
-public class AttributeInfoImpl implements AttributeInfo
-{
- protected String name;
-
- protected int featureID;
-
- protected int dataType;
-
- protected String columnName;
-
- protected int columnType;
-
- public AttributeInfoImpl(String name, int featureID, int dataType, String columnName,
- int columnType)
- {
- this.name = name;
- this.featureID = featureID;
- this.dataType = dataType;
- this.columnName = columnName;
- this.columnType = columnType;
- }
-
- public String getName()
- {
- return name;
- }
-
- public int getFeatureID()
- {
- return featureID;
- }
-
- public int getDataType()
- {
- return dataType;
- }
-
- public String getColumnName()
- {
- return columnName;
- }
-
- public int getColumnType()
- {
- return columnType;
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ClassInfoImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ClassInfoImpl.java
deleted file mode 100644
index 76279a0..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ClassInfoImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.emf.cdo.server.AttributeInfo;
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.PackageInfo;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-
-/**
- * @author Eike Stepper
- */
-public class ClassInfoImpl implements ClassInfo
-{
- protected int cid;
-
- protected String name;
-
- protected String parentName;
-
- protected String tableName;
-
- protected PackageInfo packageInfo;
-
- protected List<AttributeInfo> attributeInfos = new ArrayList<AttributeInfo>();
-
- private ClassInfo cachedParent;
-
- private String cachedColumnNames;
-
- public ClassInfoImpl(int cid, String name, String parentName, String tableName,
- PackageInfo packageInfo)
- {
- this.cid = cid;
- this.cid = cid;
- this.name = name;
- this.parentName = parentName;
- this.tableName = tableName;
- this.packageInfo = packageInfo;
- }
-
- public int getCID()
- {
- return cid;
- }
-
- public String getName()
- {
- return name;
- }
-
- public String getParentName()
- {
- return parentName;
- }
-
- public String getTableName()
- {
- return tableName;
- }
-
- public PackageInfo getPackageInfo()
- {
- return packageInfo;
- }
-
- public AttributeInfo addAttribute(String name, int featureID, int dataType, String columnName,
- int columnType)
- {
- AttributeInfo attributeInfo = new AttributeInfoImpl(name, featureID, dataType, columnName,
- columnType);
- attributeInfos.add(attributeInfo);
- return attributeInfo;
- }
-
- public AttributeInfo getAttributeInfo(int feature)
- {
- for (Iterator<AttributeInfo> iter = attributeInfos.iterator(); iter.hasNext();)
- {
- AttributeInfo attributeInfo = iter.next();
-
- if (attributeInfo.getFeatureID() == feature)
- {
- return attributeInfo;
- }
- }
-
- ClassInfo parentInfo = getParent();
- if (parentInfo != null)
- {
- return parentInfo.getAttributeInfo(feature);
- }
-
- return null;
- }
-
- public AttributeInfo[] getAttributeInfos()
- {
- return attributeInfos.toArray(new AttributeInfo[attributeInfos.size()]);
- }
-
- public ClassInfo getParent()
- {
- if (cachedParent == null && parentName != null)
- {
- cachedParent = packageInfo.getPackageManager().getClassInfo(parentName);
- }
-
- return cachedParent;
- }
-
- public boolean isParentOf(ClassInfo derived)
- {
- if (derived == null)
- {
- return false;
- }
-
- ClassInfo parent = derived.getParent();
- return parent == this || isParentOf(parent);
- }
-
- public List<ClassInfo> getSubClasses()
- {
- return packageInfo.getPackageManager().getSubClassInfos(this);
- }
-
- public String getColumnNames()
- {
- if (cachedColumnNames == null)
- {
- StringBuffer buffer = new StringBuffer();
- boolean first = true;
-
- for (Iterator<AttributeInfo> iter = attributeInfos.iterator(); iter.hasNext();)
- {
- AttributeInfo attributeInfo = iter.next();
-
- if (first)
- {
- first = false;
- }
- else
- {
- buffer.append(", ");
- }
-
- buffer.append(attributeInfo.getColumnName());
- }
-
- cachedColumnNames = buffer.toString();
- }
-
- return cachedColumnNames;
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ColumnConverterImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ColumnConverterImpl.java
deleted file mode 100644
index 30caa83..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ColumnConverterImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.net4j.util.stream.ExtendedDataInput;
-import org.eclipse.net4j.util.stream.ExtendedDataOutput;
-
-import org.eclipse.emf.cdo.core.impl.AbstractConverter;
-import org.eclipse.emf.cdo.server.ColumnConverter;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class ColumnConverterImpl extends AbstractConverter implements ColumnConverter
-{
- public Object fromChannel(ExtendedDataInput channel, int dataType) throws IOException
- {
- if (dataType > MIN_PRIMITIVE)
- {
- boolean isNull = channel.readBoolean();
-
- if (isNull)
- {
- return null;
- }
-
- if (dataType < MAX_PRIMITIVE)
- {
- dataType = -dataType;
- }
- }
-
- return dispatchFromChannel(channel, dataType);
- }
-
- public void toChannel(ExtendedDataOutput channel, int dataType, Object value) throws IOException
- {
- if (dataType > MIN_PRIMITIVE)
- {
- boolean isNull = value == null;
- channel.writeBoolean(isNull);
-
- if (isNull)
- {
- return;
- }
-
- if (dataType < MAX_PRIMITIVE)
- {
- dataType = -dataType;
- }
- }
-
- dispatchToChannel(channel, dataType, value);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/MapperImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/MapperImpl.java
deleted file mode 100644
index 3b73159..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/MapperImpl.java
+++ /dev/null
@@ -1,1315 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.net4j.util.lifecycle.AbstractLifecycle;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataOutput;
-
-import org.eclipse.emf.cdo.core.CDOProtocol;
-import org.eclipse.emf.cdo.core.CDOResProtocol;
-import org.eclipse.emf.cdo.core.ImplementationError;
-import org.eclipse.emf.cdo.core.OIDEncoder;
-import org.eclipse.emf.cdo.core.WrappedIOException;
-import org.eclipse.emf.cdo.core.util.StringHelper;
-import org.eclipse.emf.cdo.dbgen.ColumnType;
-import org.eclipse.emf.cdo.dbgen.DBGenFactory;
-import org.eclipse.emf.cdo.dbgen.Database;
-import org.eclipse.emf.cdo.dbgen.IndexType;
-import org.eclipse.emf.cdo.dbgen.SQLDialect;
-import org.eclipse.emf.cdo.dbgen.Table;
-import org.eclipse.emf.cdo.server.AttributeInfo;
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.ColumnConverter;
-import org.eclipse.emf.cdo.server.DatabaseInconsistencyException;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.PackageInfo;
-import org.eclipse.emf.cdo.server.PackageManager;
-import org.eclipse.emf.cdo.server.ResourceInfo;
-import org.eclipse.emf.cdo.server.ResourceManager;
-import org.eclipse.emf.cdo.server.ResourceNotFoundException;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import org.springframework.dao.IncorrectResultSizeDataAccessException;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowCallbackHandler;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import java.io.IOException;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import javax.sql.DataSource;
-
-
-/**
- * @author Eike Stepper
- */
-public class MapperImpl extends AbstractLifecycle implements Mapper, SQLConstants
-{
- protected static final int OBJECT_NOT_FOUND_IN_DB = 0;
-
- protected static final long OBJECT_NOT_REFERENCED_IN_DB = 0;
-
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_MAPPER,
- MapperImpl.class);
-
- protected ColumnConverter columnConverter;
-
- protected PackageManager packageManager;
-
- protected ResourceManager resourceManager;
-
- protected DataSource dataSource;
-
- protected JdbcTemplate jdbcTemplate;
-
- protected String sqlDialectName;
-
- protected OIDEncoder oidEncoder;
-
- private int nextPid;
-
- private int nextRID;
-
- private int nextCID;
-
- private transient SQLDialect cachedSqlDialect;
-
- /**
- * @return Returns the packageManager.
- */
- public PackageManager getPackageManager()
- {
- return packageManager;
- }
-
- /**
- * @param packageManager The packageManager to set.
- */
- public void setPackageManager(PackageManager packageManager)
- {
- this.packageManager = packageManager;
- }
-
- /**
- * @return Returns the columnConverter.
- */
- public ColumnConverter getColumnConverter()
- {
- return columnConverter;
- }
-
- /**
- * @param columnConverter The columnConverter to set.
- */
- public void setColumnConverter(ColumnConverter columnConverter)
- {
- this.columnConverter = columnConverter;
- }
-
- public ResourceManager getResourceManager()
- {
- return resourceManager;
- }
-
- public void setResourceManager(ResourceManager resourceManager)
- {
- this.resourceManager = resourceManager;
- }
-
- /**
- * @return Returns the dataSource.
- */
- public DataSource getDataSource()
- {
- return dataSource;
- }
-
- /**
- * @param dataSource The dataSource to set.
- */
- public void setDataSource(DataSource dataSource)
- {
- this.dataSource = dataSource;
- }
-
- /**
- * @return Returns the sqlDialect.
- */
- public SQLDialect getSqlDialect()
- {
- if (cachedSqlDialect == null)
- {
- cachedSqlDialect = DBGenFactory.eINSTANCE.createDialect(sqlDialectName);
- }
-
- return cachedSqlDialect;
- }
-
- public String getSqlDialectName()
- {
- return sqlDialectName;
- }
-
- /**
- * @param sqlDialectName The sqlDialectName to set.
- */
- public void setSqlDialectName(String sqlDialectName)
- {
- this.sqlDialectName = sqlDialectName;
- }
-
- /**
- * @return Returns the oidEncoder.
- */
- public OIDEncoder getOidEncoder() // Don't change case! Spring will be irritated
- {
- return oidEncoder;
- }
-
- /**
- * @param oidEncoder The oidEncoder to set.
- */
- public void setOidEncoder(OIDEncoder oidEncoder) // Don't change case! Spring will be irritated
- {
- this.oidEncoder = oidEncoder;
- }
-
- /**
- * @return Returns the jdbcTemplate.
- */
- public JdbcTemplate getJdbcTemplate()
- {
- return jdbcTemplate;
- }
-
- /**
- * @param jdbcTemplate The jdbcTemplate to set.
- */
- public void setJdbcTemplate(JdbcTemplate jdbcTemplate)
- {
- this.jdbcTemplate = jdbcTemplate;
- }
-
- public int getNextPid()
- {
- return nextPid++;
- }
-
- public int getNextCID()
- {
- return nextCID++;
- }
-
- public int getNextRID()
- {
- return nextRID++;
- }
-
- public long getNextOID(int rid)
- {
- ResourceInfo resourceInfo = resourceManager.getResourceInfo(rid, this);
- if (resourceInfo == null)
- {
- throw new ResourceNotFoundException("Unknown RID: " + rid);
- }
-
- long nextOIDFragment = resourceInfo.getNextOIDFragment();
- return oidEncoder.getOID(rid, nextOIDFragment);
- }
-
- @Override
- protected void onAboutToActivate() throws Exception
- {
- super.onAboutToActivate();
- if (columnConverter == null)
- {
- throw new IllegalStateException("columnConverter == null");
- }
-
- if (packageManager == null)
- {
- throw new IllegalStateException("packageManager == null");
- }
-
- if (resourceManager == null)
- {
- throw new IllegalStateException("resourceManager == null");
- }
-
- if (dataSource == null)
- {
- throw new IllegalStateException("dataSource == null");
- }
-
- if (oidEncoder == null)
- {
- throw new IllegalStateException("oidEncoder == null");
- }
-
- if (jdbcTemplate == null)
- {
- throw new IllegalStateException("jdbcTemplate == null");
- }
-
- initTables();
- initPackages();
-
- nextPid = selectMaxPid() + 1;
- nextCID = selectMaxCID() + 1;
- nextRID = selectMaxRID() + 1;
- }
-
- @Override
- protected void onDeactivate() throws Exception
- {
- columnConverter = null;
- dataSource = null;
- jdbcTemplate = null;
- oidEncoder = null;
- packageManager = null;
- resourceManager = null;
- sqlDialectName = null;
- cachedSqlDialect = null;
- super.onDeactivate();
- }
-
- protected void initTables()
- {
- Database database = DBGenFactory.eINSTANCE.createDatabase();
-
- // Table systemTable = database.addTable(SYSTEM_TABLE);
- // systemTable.addColumn(SYSTEM_SID_COLUMN, ColumnType.VARCHAR_LITERAL, 63);
- // systemTable.addColumn(SYSTEM_STARTED_COLUMN, ColumnType.BOOLEAN_LITERAL);
- // systemTable.addSimpleIndex(SYSTEM_SID_COLUMN, IndexType.PRIMARY_LITERAL);
-
- Table packageTable = database.addTable(PACKAGE_TABLE);
- packageTable.addColumn(PACKAGE_PID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- packageTable.addColumn(PACKAGE_NAME_COLUMN, ColumnType.VARCHAR_LITERAL, 255, "NOT NULL");
- packageTable.addSimpleIndex(PACKAGE_PID_COLUMN, IndexType.PRIMARY_LITERAL);
- packageTable.addSimpleIndex(PACKAGE_NAME_COLUMN, IndexType.UNIQUE_LITERAL);
-
- Table classTable = database.addTable(CLASS_TABLE);
- classTable.addColumn(CLASS_CID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- classTable.addColumn(CLASS_NAME_COLUMN, ColumnType.VARCHAR_LITERAL, 255, "NOT NULL");
- classTable.addColumn(CLASS_PARENTNAME_COLUMN, ColumnType.VARCHAR_LITERAL, 255);
- classTable.addColumn(CLASS_TABLENAME_COLUMN, ColumnType.VARCHAR_LITERAL, 127, "NOT NULL");
- classTable.addColumn(CLASS_PID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- classTable.addSimpleIndex(CLASS_CID_COLUMN, IndexType.PRIMARY_LITERAL);
- classTable.addSimpleIndex(CLASS_NAME_COLUMN, IndexType.UNIQUE_LITERAL);
- classTable.addSimpleIndex(CLASS_PID_COLUMN, IndexType.NON_UNIQUE_LITERAL);
-
- Table columnTable = database.addTable(ATTRIBUTE_TABLE);
- columnTable.addColumn(ATTRIBUTE_NAME_COLUMN, ColumnType.VARCHAR_LITERAL, 127, "NOT NULL");
- columnTable.addColumn(ATTRIBUTE_FEATUREID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- columnTable.addColumn(ATTRIBUTE_DATATYPE_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- columnTable.addColumn(ATTRIBUTE_COLUMNNAME_COLUMN, ColumnType.VARCHAR_LITERAL, 127, "NOT NULL");
- columnTable.addColumn(ATTRIBUTE_COLUMNTYPE_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- columnTable.addColumn(ATTRIBUTE_CID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- columnTable.addSimpleIndex(ATTRIBUTE_CID_COLUMN, IndexType.NON_UNIQUE_LITERAL);
-
- Table objectTable = database.addTable(OBJECT_TABLE);
- objectTable.addColumn(OBJECT_OID_COLUMN, ColumnType.BIGINT_LITERAL, "NOT NULL");
- objectTable.addColumn(OBJECT_OCA_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- objectTable.addColumn(OBJECT_CID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- objectTable.addSimpleIndex(OBJECT_OID_COLUMN, IndexType.PRIMARY_LITERAL);
- objectTable.addSimpleIndex(OBJECT_CID_COLUMN, IndexType.NON_UNIQUE_LITERAL);
-
- Table resourceTable = database.addTable(RESOURCE_TABLE);
- resourceTable.addColumn(RESOURCE_RID_COLUMN, ColumnType.INTEGER_LITERAL, "NOT NULL");
- resourceTable.addColumn(RESOURCE_PATH_COLUMN, ColumnType.VARCHAR_LITERAL, 255, "NOT NULL");
- resourceTable.addSimpleIndex(RESOURCE_RID_COLUMN, IndexType.PRIMARY_LITERAL);
- resourceTable.addSimpleIndex(RESOURCE_PATH_COLUMN, IndexType.UNIQUE_LITERAL);
-
- Table contentTable = database.addTable(CONTENT_TABLE);
- contentTable.addColumn(CONTENT_OID_COLUMN, ColumnType.BIGINT_LITERAL, "NOT NULL");
- contentTable.addSimpleIndex(CONTENT_OID_COLUMN, IndexType.PRIMARY_LITERAL);
-
- Table referenceTable = database.addTable(REFERENCE_TABLE);
- referenceTable.addColumn(REFERENCE_OID_COLUMN, ColumnType.BIGINT_LITERAL);
- referenceTable.addColumn(REFERENCE_FEATUREID_COLUMN, ColumnType.INTEGER_LITERAL);
- referenceTable.addColumn(REFERENCE_ORDINAL_COLUMN, ColumnType.BIGINT_LITERAL);
- referenceTable.addColumn(REFERENCE_TARGET_COLUMN, ColumnType.BIGINT_LITERAL, 0, "NOT NULL");
- referenceTable.addColumn(REFERENCE_CONTAINMENT_COLUMN, ColumnType.BOOLEAN_LITERAL);
- referenceTable.addSimpleIndex(REFERENCE_TARGET_COLUMN, IndexType.NON_UNIQUE_LITERAL);
-
- // TODO Check if this compound index generally makes preceding simple index superfluous
- referenceTable.addCompoundIndex(new String[] { REFERENCE_TARGET_COLUMN,
- REFERENCE_CONTAINMENT_COLUMN,}, IndexType.NON_UNIQUE_LITERAL);
-
- // This index can not be a real PK (UNIQUE), since during movement of allReferences
- // it temporarily holds duplicate entries!!!
- referenceTable.addCompoundIndex(new String[] { REFERENCE_OID_COLUMN,
- REFERENCE_FEATUREID_COLUMN, REFERENCE_ORDINAL_COLUMN}, IndexType.NON_UNIQUE_LITERAL);
-
- getSqlDialect().save(dataSource, database, false);
- }
-
- protected void initPackages()
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(SELECT_PACKAGES);
- }
-
- jdbcTemplate.query(SELECT_PACKAGES, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- int pid = resultSet.getInt(1);
- String name = resultSet.getString(2);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Initializing package: pid=" + pid + ", name=" + name);
- }
- PackageInfo packageInfo = packageManager.addPackage(pid, name);
- initClasses(packageInfo);
- }
- });
- }
-
- protected void initClasses(final PackageInfo packageInfo)
- {
- // TODO This is NOT necessary!
- // Important to create a new template instance to handle nested select
- JdbcTemplate nestedTemplate = new JdbcTemplate(dataSource);
-
- Object[] args = { new Integer(packageInfo.getPid())};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_CLASSES, "?", args));
- }
-
- nestedTemplate.query(SELECT_CLASSES, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- int cid = resultSet.getInt(1);
- String name = resultSet.getString(2);
- String parentName = resultSet.getString(3);
- String tableName = resultSet.getString(4);
-
- if (parentName != null && parentName.length() == 0)
- {
- parentName = null;
- }
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Initializing class: cid=" + cid + ", name=" + name + ", parentName="
- + parentName + ", tableName=" + tableName);
- }
- ClassInfo classInfo = packageInfo.addClass(cid, name, parentName, tableName);
- initAttributes(classInfo);
-
- if (cid > nextCID)
- {
- nextCID = cid;
- }
- }
- });
-
- ++nextCID;
- }
-
- protected void initAttributes(final ClassInfo classInfo)
- {
- // Important to create a new template instance to handle nested select
- JdbcTemplate nestedTemplate = new JdbcTemplate(dataSource);
-
- Object[] args = { new Integer(classInfo.getCID())};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_ATTRIBUTES, "?", args));
- }
-
- nestedTemplate.query(SELECT_ATTRIBUTES, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- String name = resultSet.getString(1);
- int featureId = resultSet.getInt(2);
- int dataType = resultSet.getInt(3);
- String columnName = resultSet.getString(4);
- int columnType = resultSet.getInt(5);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Initializing attribute: name=" + name + ", featureId=" + featureId
- + ", dataType=" + dataType + ", columnName=" + columnName + ", columnType="
- + columnType);
- }
- classInfo.addAttribute(name, featureId, dataType, columnName, columnType);
- }
- });
- }
-
- public void insertPackage(final PackageInfo packageInfo)
- {
- sql(INSERT_PACKAGE, new Object[] { packageInfo.getPid(), packageInfo.getName()});
- }
-
- public void insertClass(final ClassInfo classInfo)
- {
- String parentName = classInfo.getParentName() == null ? "" : classInfo.getParentName();
- sql(INSERT_CLASS, new Object[] { classInfo.getCID(), classInfo.getName(), parentName,
- classInfo.getTableName(), classInfo.getPackageInfo().getPid()});
- }
-
- public void insertAttribute(final AttributeInfo attributeInfo, final int cid)
- {
- sql(INSERT_ATTRIBUTE, new Object[] { attributeInfo.getName(), attributeInfo.getFeatureID(),
- attributeInfo.getDataType(), attributeInfo.getColumnName(), attributeInfo.getColumnType(),
- cid});
- }
-
- public ResourceInfo selectResourceInfo(String path)
- {
- Object[] args = { path};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_RID_OF_RESOURCE, "?", args));
- }
-
- final int[] rows = new int[1];
- final ResourceInfoImpl result = new ResourceInfoImpl();
- result.setPath(path);
-
- jdbcTemplate.query(SELECT_RID_OF_RESOURCE, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- result.setRID(resultSet.getInt(1));
- ++rows[0];
- }
- });
-
- if (rows[0] != 1)
- {
- return null;
- }
-
- long nextOIDFragment = selectMaxOIDFragment(result.getRID()) + 1;
- result.setNextOIDFragment(nextOIDFragment);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Selected " + result);
- }
- return result;
- }
-
- public ResourceInfo selectResourceInfo(int rid)
- {
- Object[] args = { new Integer(rid)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_PATH_OF_RESOURCE, "?", args));
- }
-
- final int[] rows = new int[1];
- final ResourceInfoImpl result = new ResourceInfoImpl();
- result.setRID(rid);
-
- jdbcTemplate.query(SELECT_PATH_OF_RESOURCE, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- result.setPath(resultSet.getString(1));
- ++rows[0];
- }
- });
-
- if (rows[0] != 1)
- {
- return null;
- }
-
- long nextOIDFragment = selectMaxOIDFragment(result.getRID()) + 1;
- result.setNextOIDFragment(nextOIDFragment);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Selected " + result);
- }
- return result;
- }
-
- protected long selectMaxOIDFragment(int rid)
- {
- Object[] args = ridBounds(rid);
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_MAX_OID_FRAGMENT, "?", args));
- }
- long oid = jdbcTemplate.queryForLong(SELECT_MAX_OID_FRAGMENT, args);
- return oidEncoder.getOIDFragment(oid);
- }
-
- private Object[] ridBounds(int rid)
- {
- long lowerBound = oidEncoder.getOID(rid, 1);
- long upperBound = oidEncoder.getOID(rid + 1, 1) - 1;
- return new Object[] { new Long(lowerBound), new Long(upperBound)};
- }
-
- private int selectMaxPid()
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(SELECT_MAX_PID);
- }
- return jdbcTemplate.queryForInt(SELECT_MAX_PID);
- }
-
- private int selectMaxCID()
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(SELECT_MAX_CID);
- }
- return jdbcTemplate.queryForInt(SELECT_MAX_CID);
- }
-
- private int selectMaxRID()
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(SELECT_MAX_RID);
- }
- return jdbcTemplate.queryForInt(SELECT_MAX_RID);
- }
-
- public ResourceInfo createResource(String resourcePath)
- {
- int rid = getNextRID();
- sql(INSERT_RESOURCE, new Object[] { rid, resourcePath});
- return resourceManager.registerResourceInfo(resourcePath, rid, 1);
- }
-
- public int getCollectionCount(long oid, int feature)
- {
- Object[] args = { new Long(oid), new Integer(feature)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_COLLECTION_COUNT, "?", args));
- }
-
- return jdbcTemplate.queryForInt(SELECT_COLLECTION_COUNT, args);
- }
-
- public boolean lock(long oid, int oca)
- {
- Object[] args = { new Long(oid), new Integer(oca)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(DO_OPTIMISTIC_CONTROL, "?", args));
- }
-
- int changed = jdbcTemplate.update(DO_OPTIMISTIC_CONTROL, args);
- return changed == 1;
- }
-
- public void insertResource(int rid, String path)
- {
- sql(INSERT_RESOURCE, new Object[] { rid, path});
- }
-
- public void insertReference(long oid, int feature, int ordinal, long target, boolean containment)
- {
- sql(INSERT_REFERENCE, new Object[] { oid, feature, ordinal, target, containment});
- }
-
- public void removeReference(long oid, int feature, int ordinal)
- {
- sql(REMOVE_REFERENCE, new Object[] { oid, feature, ordinal});
- }
-
- public void moveReferenceAbsolute(long oid, int feature, int toIndex, int fromIndex)
- {
- sql(MOVE_REFERENCE_ABSOLUTE, new Object[] { toIndex, oid, feature, fromIndex});
- }
-
- public void moveReferencesRelative(long oid, int feature, int startIndex, int endIndex, int offset)
- {
- Object[] args = { new Integer(offset), new Long(oid), new Integer(feature),
- new Integer(startIndex), new Integer(endIndex)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(MOVE_REFERENCES_RELATIVE, "?", args));
- }
-
- // ignore number of affected rows
- jdbcTemplate.update(MOVE_REFERENCES_RELATIVE, args);
- }
-
- public void insertObject(long oid, int cid)
- {
- sql(INSERT_OBJECT, new Object[] { new Long(oid), new Integer(cid)});
- }
-
- protected void removeReferences(long oid)
- {
- Object[] args = { oid};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(REMOVE_REFERENCES, "?", args));
- }
-
- jdbcTemplate.update(REMOVE_REFERENCES, args);
- }
-
- public void removeObject(long oid, int cid)
- {
- ClassInfo classInfo = packageManager.getClassInfo(cid);
- while (classInfo != null)
- {
- removeUserSegment(oid, classInfo.getTableName());
- classInfo = classInfo.getParent();
- }
-
- removeSegment(oid);
- removeReferences(oid); // TODO optimize for objects with no refs
- }
-
- public void removeObject(long oid)
- {
- int cid = selectCIDOfObject(oid);
- removeObject(oid, cid);
- }
-
- protected int selectCIDOfObject(long oid)
- {
- Object[] args = { new Long(oid)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_CID_OF_OBJECT, "?", args));
- }
-
- try
- {
- return jdbcTemplate.queryForInt(SELECT_CID_OF_OBJECT, args);
- }
- catch (IncorrectResultSizeDataAccessException ex)
- {
- return OBJECT_NOT_FOUND_IN_DB;
- }
- }
-
- protected void removeSegment(long oid)
- {
- StringBuffer query = new StringBuffer("DELETE FROM ");
- query.append(OBJECT_TABLE);
- query.append(" WHERE ");
- query.append(OBJECT_OID_COLUMN);
- query.append("=");
- query.append(oid);
-
- sql(query.toString());
- }
-
- protected void removeUserSegment(long oid, String tableName)
- {
- StringBuffer query = new StringBuffer("DELETE FROM ");
- query.append(tableName);
- query.append(" WHERE ");
- query.append(USER_OID_COLUMN);
- query.append("=");
- query.append(oid);
-
- sql(query.toString());
- }
-
- public void insertContent(long oid)
- {
- sql(INSERT_CONTENT, new Object[] { oid});
- }
-
- public void removeContent(long oid)
- {
- sql(REMOVE_CONTENT, new Object[] { oid});
- }
-
- public void sql(String sql)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(sql);
- }
-
- int rows = jdbcTemplate.update(sql);
-
- if (rows != 1)
- {
- throw new DatabaseInconsistencyException(sql);
- }
- }
-
- public void sql(String sql, Object[] args)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(sql, "?", args));
- }
-
- int rows = jdbcTemplate.update(sql, args);
-
- if (rows != 1)
- {
- throw new DatabaseInconsistencyException(sql);
- }
- }
-
- public void sql(String sql, Object[] args, int[] types)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(sql, "?", args));
- }
-
- int rows = jdbcTemplate.update(sql, args, types);
- if (rows != 1)
- {
- throw new DatabaseInconsistencyException(sql);
- }
- }
-
- public void transmitContent(final ExtendedDataOutput out, ResourceInfo resourceInfo)
- throws IOException
- {
- if (resourceInfo != null)
- {
- Object[] args = ridBounds(resourceInfo.getRID());
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(TRANSMIT_CONTENT, "?", args));
- }
-
- try
- {
- jdbcTemplate.query(TRANSMIT_CONTENT, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- long oid = resultSet.getLong(1);
- int oca = resultSet.getInt(2);
- int cid = resultSet.getInt(3);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Object: oid=" + oidEncoder.toString(oid) + ", oca=" + oca + ", cid="
- + cid);
- }
-
- out.writeLong(oid);
- out.writeInt(oca);
- out.writeInt(cid);
-
- ClassInfo classInfo = packageManager.getClassInfo(cid);
- if (classInfo == null)
- {
- throw new ImplementationError("Unknown cid " + cid);
- }
-
- transmitAttributes(out, oid, classInfo);
- transmitReferences(out, oid);
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
- }
-
- out.writeLong(0);
- }
-
- public void transmitObject(final ExtendedDataOutput out, final long oid) throws IOException
- {
- Object[] args = { new Long(oid)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(TRANSMIT_OBJECT, "?", args));
- }
-
- try
- {
- jdbcTemplate.query(TRANSMIT_OBJECT, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- int oca = resultSet.getInt(1);
- int cid = resultSet.getInt(2);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Object: oid=" + oidEncoder.toString(oid) + ", oca=" + oca + ", cid="
- + cid);
- }
-
- out.writeLong(oid);
- out.writeInt(oca);
- out.writeInt(cid);
-
- ClassInfo classInfo = packageManager.getClassInfo(cid);
- if (classInfo == null)
- {
- throw new ImplementationError("Unknown cid " + cid);
- }
-
- transmitContainers(out, oid);
- transmitAttributes(out, oid, classInfo);
- transmitReferences(out, oid);
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
-
- out.writeLong(0);
- }
-
- public void transmitContainers(final ExtendedDataOutput out, long oid) throws IOException
- {
- class Container
- {
- public long oid;
-
- public int cid;
-
- public Container(long oid, int cid)
- {
- this.oid = oid;
- this.cid = cid;
- }
- }
-
- final List containers = new LinkedList();
- final long[] child = { oid};
- while (child[0] != 0)
- {
- Object[] args = { new Long(child[0]), Boolean.TRUE};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_CONTAINER_OF_OBJECT, "?", args));
- }
-
- child[0] = 0;
- jdbcTemplate.query(SELECT_CONTAINER_OF_OBJECT, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- long oid = resultSet.getLong(1);
- int cid = resultSet.getInt(2);
- containers.add(0, new Container(oid, cid));
- child[0] = oid;
- }
- });
- }
-
- out.writeInt(containers.size());
- for (Iterator it = containers.iterator(); it.hasNext();)
- {
- Container container = (Container) it.next();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Container: oid=" + oidEncoder.toString(container.oid) + ", cid="
- + container.cid);
- }
-
- out.writeLong(container.oid);
- out.writeInt(container.cid);
- }
- }
-
- public void transmitReferences(final ExtendedDataOutput out, long oid) throws IOException
- {
- Object[] args = { new Long(oid)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(TRANSMIT_REFERENCES, "?", args));
- }
-
- try
- {
- jdbcTemplate.query(TRANSMIT_REFERENCES, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- int feature = resultSet.getInt(1);
- long target = resultSet.getLong(2);
- int cid = resultSet.getInt(3);
- if (TRACER.isEnabled())
- {
- TRACER.trace("Reference: feature=" + feature + ", target="
- + oidEncoder.toString(target) + ", cid=" + cid);
- }
-
- out.writeInt(feature);
- out.writeLong(target);
- out.writeInt(cid);
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
-
- out.writeInt(-1);
- }
-
- public void transmitAttributes(final ExtendedDataOutput out, long oid, ClassInfo classInfo)
- throws IOException
- {
- while (classInfo != null)
- {
- String columnNames = classInfo.getColumnNames();
- if (columnNames != null && columnNames.length() > 0)
- {
- final ClassInfo finalClassInfo = classInfo;
- String sql = "SELECT " + columnNames + " FROM " + classInfo.getTableName() + " WHERE "
- + USER_OID_COLUMN + "=?";
-
- Object[] args = { new Long(oid)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(sql, "?", args));
- }
-
- try
- {
- jdbcTemplate.query(sql, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- AttributeInfo[] attributeInfos = finalClassInfo.getAttributeInfos();
- for (int i = 0; i < attributeInfos.length; i++)
- {
- AttributeInfo attributeInfo = attributeInfos[i];
-
- Object value = resultSet.getObject(i + 1);
- columnConverter.toChannel(out, attributeInfo.getDataType(), value);
- }
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
- }
-
- classInfo = classInfo.getParent();
- }
- }
-
- public void transmitAllResources(final ExtendedDataOutput out) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Querying all resources");
- TRACER.trace(SELECT_ALL_RESOURCES);
- }
-
- try
- {
- jdbcTemplate.query(SELECT_ALL_RESOURCES, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- int rid = resultSet.getInt(1);
- String path = resultSet.getString(2);
- out.writeInt(rid);
- out.writeString(path);
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
-
- out.writeInt(CDOResProtocol.NO_MORE_RESOURCES);
- }
-
- public void deleteResource(int rid)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Deleting resource: rid=" + rid);
- }
-
- sql(DELETE_RESOURCE, new Object[] { rid});
-
- Object[] args = ridBounds(rid);
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_ALL_OBJECTS_OF_RESOURCE, "?", args));
- }
-
- jdbcTemplate.query(SELECT_ALL_OBJECTS_OF_RESOURCE, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- long oid = resultSet.getLong(1);
- int cid = resultSet.getInt(2);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Deleting object: oid=" + oidEncoder.toString(oid) + ", cid=" + cid);
- }
-
- removeObject(oid, cid);
- }
- });
- }
-
- public Set<Long> removeStaleReferences()
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Removing stale references");
- }
-
- final Set<Long> modifiedOIDs = new HashSet<Long>();
- jdbcTemplate.query(SELECT_ALL_STALE_REFERENCES, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- long oid = resultSet.getLong(1);
- int feature = resultSet.getInt(2);
- int ordinal = resultSet.getInt(3);
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Reference: oid=" + oidEncoder.toString(oid) + ", feature=" + feature
- + ", ordinal=" + ordinal);
- }
-
- removeReference(oid, feature, ordinal);
- modifiedOIDs.add(oid);
- }
- });
-
- return modifiedOIDs;
- }
-
- public void transmitExtent(final ExtendedDataOutput out, final int context,
- final boolean exactMatch, int rid) throws IOException
- {
- StringBuffer buffer = new StringBuffer();
- buffer.append("SELECT ");
- buffer.append(OBJECT_OID_COLUMN);
- buffer.append(exactMatch ? "" : ", " + OBJECT_CID_COLUMN);
- buffer.append(" FROM ");
- buffer.append(OBJECT_TABLE);
- buffer.append(" WHERE ");
- buffer.append(OBJECT_CID_COLUMN);
- buffer.append(" IN (");
- buffer.append(context);
- if (!exactMatch)
- {
- ClassInfo classInfo = packageManager.getClassInfo(context);
- List<ClassInfo> subClasses = classInfo.getSubClasses();
- for (ClassInfo info : subClasses)
- {
- buffer.append(", ");
- buffer.append(info.getCID());
- }
- }
-
- buffer.append(")");
- if (rid != CDOProtocol.GLOBAL_EXTENT)
- {
- Object[] bounds = ridBounds(rid);
- buffer.append(" AND ");
- buffer.append(OBJECT_OID_COLUMN);
- buffer.append(" BETWEEN ");
- buffer.append(bounds[0]);
- buffer.append(" AND ");
- buffer.append(bounds[1]);
- }
-
- buffer.append(" ORDER BY ");
- buffer.append(OBJECT_OID_COLUMN);
- String sql = buffer.toString();
- if (TRACER.isEnabled())
- {
- TRACER.trace(sql);
- }
-
- try
- {
- jdbcTemplate.query(sql, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- long oid = resultSet.getLong(1);
- int cid = exactMatch ? context : resultSet.getInt(2);
- if (TRACER.isEnabled())
- {
- TRACER.trace("Extent: oid=" + oidEncoder.toString(oid)
- + (exactMatch ? "" : ", cid=" + cid));
- }
-
- out.writeLong(oid);
- if (!exactMatch)
- {
- out.writeInt(cid);
- }
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
-
- out.writeLong(CDOProtocol.NO_MORE_OBJECTS);
- }
-
- public void transmitXRefs(final ExtendedDataOutput out, final long oid, int rid)
- throws IOException
- {
- Object[] args = { new Long(oid)};
- if (TRACER.isEnabled())
- {
- TRACER.trace(StringHelper.replaceWildcards(SELECT_XREFS_OF_OBJECT, "?", args));
- }
-
- try
- {
- jdbcTemplate.query(SELECT_XREFS_OF_OBJECT, args, new RowCallbackHandler()
- {
- public void processRow(ResultSet resultSet) throws SQLException
- {
- try
- {
- long referer = resultSet.getLong(1);
- int feature = resultSet.getInt(2);
- int cid = resultSet.getInt(3);
- if (TRACER.isEnabled())
- {
- TRACER.trace("XRef: referer=" + oidEncoder.toString(referer) + ", feature=" + feature
- + ", cid=" + cid);
- }
-
- out.writeLong(referer);
- out.writeInt(feature);
- out.writeInt(cid);
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
-
- out.writeLong(CDOProtocol.NO_MORE_OBJECTS);
- }
-
- public void createAttributeTables(PackageInfo packageInfo)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Creating attribute tables");
- }
-
- Database database = DBGenFactory.eINSTANCE.createDatabase();
- ClassInfo[] classes = packageInfo.getClasses();
-
- for (int i = 0; i < classes.length; i++)
- {
- ClassInfo classInfo = classes[i];
- createAttributeTable(classInfo, database);
- }
-
- getSqlDialect().save(dataSource, database, false);
- }
-
- private void createAttributeTable(ClassInfo classInfo, Database database)
- {
- Table segmentTable = database.addTable(classInfo.getTableName());
- segmentTable.addColumn(USER_OID_COLUMN, ColumnType.BIGINT_LITERAL, "NOT NULL");
-
- AttributeInfo[] attributeInfos = classInfo.getAttributeInfos();
- for (int i = 0; i < attributeInfos.length; i++)
- {
- AttributeInfo attributeInfo = attributeInfos[i];
-
- String columnName = attributeInfo.getColumnName();
- ColumnType columnType = ColumnType.get(attributeInfo.getColumnType());
- segmentTable.addColumn(columnName, columnType);
- }
-
- segmentTable.addSimpleIndex(USER_OID_COLUMN, IndexType.PRIMARY_LITERAL);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageInfoImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageInfoImpl.java
deleted file mode 100644
index e4036e3..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageInfoImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.PackageInfo;
-import org.eclipse.emf.cdo.server.PackageManager;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- * @author Eike Stepper
- */
-public class PackageInfoImpl implements PackageInfo
-{
- protected int pid;
-
- protected String name;
-
- protected PackageManager packageManager;
-
- protected List<ClassInfo> classes = new ArrayList<ClassInfo>();
-
- public PackageInfoImpl(int pid, String name, PackageManager packageManager)
- {
- this.pid = pid;
- this.name = name;
- this.packageManager = packageManager;
- }
-
- public PackageManager getPackageManager()
- {
- return packageManager;
- }
-
- public int getPid()
- {
- return pid;
- }
-
- public String getName()
- {
- return name;
- }
-
- public ClassInfo addClass(int cid, String name, String parentName, String tableName)
- {
- ClassInfo classInfo = new ClassInfoImpl(cid, name, parentName, tableName, this);
- classes.add(classInfo);
- packageManager.registerClassInfo(classInfo);
- return classInfo;
- }
-
- public ClassInfo[] getClasses()
- {
- return classes.toArray(new ClassInfo[classes.size()]);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageManagerImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageManagerImpl.java
deleted file mode 100644
index 0f6c175..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/PackageManagerImpl.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.net4j.util.lifecycle.AbstractLifecycle;
-
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.PackageInfo;
-import org.eclipse.emf.cdo.server.PackageListener;
-import org.eclipse.emf.cdo.server.PackageManager;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * @author Eike Stepper
- */
-public class PackageManagerImpl extends AbstractLifecycle implements PackageManager
-{
- protected Map<Integer, ClassInfo> cidToClassInfoMap = new HashMap<Integer, ClassInfo>(2111);
-
- protected Map<String, ClassInfo> nameToClassInfoMap = new HashMap<String, ClassInfo>(2111);
-
- protected Map<ClassInfo, List<ClassInfo>> subClassInfoMap;
-
- protected Map<String, PackageInfo> packages = new HashMap<String, PackageInfo>();
-
- protected List<PackageListener> listeners = new ArrayList<PackageListener>();
-
- public PackageInfo getPackageInfo(String name)
- {
- return packages.get(name);
- }
-
- public PackageInfo addPackage(int pid, String name)
- {
- PackageInfo packageInfo = new PackageInfoImpl(pid, name, this);
- packages.put(name, packageInfo);
- notifyPackageListeners(); // TODO Not useful here because classes are not registered yet
- return packageInfo;
- }
-
- public void addPackageListener(PackageListener listener)
- {
- listeners.add(listener);
- }
-
- public void removePackageListener(PackageListener listener)
- {
- listeners.remove(listener);
- }
-
- public void registerClassInfo(ClassInfo classInfo)
- {
- cidToClassInfoMap.put(new Integer(classInfo.getCID()), classInfo);
- nameToClassInfoMap.put(classInfo.getName(), classInfo);
- subClassInfoMap = null;
- }
-
- public ClassInfo getClassInfo(int cid)
- {
- return cidToClassInfoMap.get(new Integer(cid));
- }
-
- public ClassInfo getClassInfo(String name)
- {
- return nameToClassInfoMap.get(name);
- }
-
- public List<ClassInfo> getSubClassInfos(ClassInfo base)
- {
- if (subClassInfoMap == null)
- {
- subClassInfoMap = new HashMap<ClassInfo, List<ClassInfo>>();
- Collection<ClassInfo> values = cidToClassInfoMap.values();
- ClassInfo[] array = (ClassInfo[]) values.toArray(new ClassInfo[values.size()]);
- for (int i = 0; i < array.length; i++)
- {
- ClassInfo parent = array[i];
- List<ClassInfo> subClasses = new ArrayList<ClassInfo>();
- for (int j = 0; j < array.length; j++)
- {
- ClassInfo derived = array[j];
- if (parent.isParentOf(derived))
- {
- subClasses.add(derived);
- }
- }
-
- subClassInfoMap.put(parent, subClasses);
- }
- }
-
- return subClassInfoMap.get(base);
- }
-
- protected void notifyPackageListeners()
- {
- for (Iterator<PackageListener> iter = listeners.iterator(); iter.hasNext();)
- {
- PackageListener listener = iter.next();
- listener.notifyAddedPackage();
- }
- }
-
- @Override
- protected void onDeactivate() throws Exception
- {
- cidToClassInfoMap = null;
- listeners = null;
- nameToClassInfoMap = null;
- packages = null;
- subClassInfoMap = null;
- super.onDeactivate();
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceInfoImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceInfoImpl.java
deleted file mode 100644
index 9245a92..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceInfoImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.emf.cdo.server.ResourceInfo;
-
-
-/**
- * @author Eike Stepper
- */
-public class ResourceInfoImpl implements ResourceInfo
-{
- private String path;
-
- private int rid;
-
- private long nextOIDFragment;
-
- public ResourceInfoImpl()
- {
- }
-
- public ResourceInfoImpl(String path, int rid, long nextOIDFragment)
- {
- this.path = path;
- this.rid = rid;
- this.nextOIDFragment = nextOIDFragment;
- }
-
- public String getPath()
- {
- return path;
- }
-
- public void setPath(String path)
- {
- this.path = path;
- }
-
- public int getRID()
- {
- return rid;
- }
-
- public void setRID(int rid)
- {
- this.rid = rid;
- }
-
- public long getNextOIDFragment()
- {
- return nextOIDFragment++;
- }
-
- public void setNextOIDFragment(long nextOIDFragment)
- {
- this.nextOIDFragment = nextOIDFragment;
- }
-
- @Override
- public String toString()
- {
- return "ResourceInfo(rid=" + rid + ", path=" + path + ", nextOIDFragment=" + nextOIDFragment
- + ")";
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceManagerImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceManagerImpl.java
deleted file mode 100644
index 4f965c1..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/ResourceManagerImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-import org.eclipse.net4j.util.lifecycle.AbstractLifecycle;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ResourceInfo;
-import org.eclipse.emf.cdo.server.ResourceManager;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-/**
- * @author Eike Stepper
- */
-public class ResourceManagerImpl extends AbstractLifecycle implements ResourceManager
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_RESOURCE,
- ResourceManagerImpl.class);
-
- private Map<Integer, ResourceInfo> ridToResourceMap = new HashMap<Integer, ResourceInfo>();
-
- private Map<String, ResourceInfo> pathToResourceMap = new HashMap<String, ResourceInfo>();
-
- public void registerResourceInfo(ResourceInfo resourceInfo)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Registering " + resourceInfo);
- }
-
- ridToResourceMap.put(resourceInfo.getRID(), resourceInfo);
- pathToResourceMap.put(resourceInfo.getPath(), resourceInfo);
- }
-
- public ResourceInfo registerResourceInfo(String resourcePath, int rid, long nextOIDFragment)
- {
- ResourceInfo resourceInfo = new ResourceInfoImpl(resourcePath, rid, nextOIDFragment);
- registerResourceInfo(resourceInfo);
- return resourceInfo;
- }
-
- public ResourceInfo getResourceInfo(String path, Mapper mapper)
- {
- ResourceInfo resourceInfo = pathToResourceMap.get(path);
- if (resourceInfo == null)
- {
- resourceInfo = mapper.selectResourceInfo(path);
- if (resourceInfo == null)
- {
- return null;
- }
-
- registerResourceInfo(resourceInfo);
- }
-
- return resourceInfo;
- }
-
- public ResourceInfo getResourceInfo(int rid, Mapper mapper)
- {
- ResourceInfo resourceInfo = ridToResourceMap.get(new Integer(rid));
- if (resourceInfo == null)
- {
- resourceInfo = mapper.selectResourceInfo(rid);
- if (resourceInfo == null)
- {
- return null;
- }
-
- registerResourceInfo(resourceInfo);
- }
-
- return resourceInfo;
- }
-
- @Override
- protected void onDeactivate() throws Exception
- {
- pathToResourceMap = null;
- ridToResourceMap = null;
- super.onDeactivate();
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/SQLConstants.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/SQLConstants.java
deleted file mode 100644
index 29aeb62..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/impl/SQLConstants.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.impl;
-
-
-/**
- * @author Eike Stepper
- */
-public interface SQLConstants
-{
- //--------------------------------------------------------------------
- public static final String SYSTEM_TABLE = "CDO_SYSTEM";
-
- public static final String SYSTEM_SID_COLUMN = "SID";
-
- public static final String SYSTEM_STARTED_COLUMN = "STARTED";
-
- //--------------------------------------------------------------------
- public static final String PACKAGE_TABLE = "CDO_PACKAGE";
-
- public static final String PACKAGE_PID_COLUMN = "PID";
-
- public static final String PACKAGE_NAME_COLUMN = "NAME";
-
- //--------------------------------------------------------------------
- public static final String CLASS_TABLE = "CDO_CLASS";
-
- public static final String CLASS_CID_COLUMN = "CID";
-
- public static final String CLASS_NAME_COLUMN = "NAME";
-
- public static final String CLASS_PARENTNAME_COLUMN = "PARENT" + CLASS_NAME_COLUMN;
-
- public static final String CLASS_TABLENAME_COLUMN = "TABLENAME";
-
- public static final String CLASS_PID_COLUMN = PACKAGE_PID_COLUMN;
-
- //--------------------------------------------------------------------
- public static final String ATTRIBUTE_TABLE = "CDO_ATTRIBUTE";
-
- public static final String ATTRIBUTE_NAME_COLUMN = "NAME";
-
- public static final String ATTRIBUTE_FEATUREID_COLUMN = "FEATUREID";
-
- public static final String ATTRIBUTE_DATATYPE_COLUMN = "DATATYPE";
-
- public static final String ATTRIBUTE_COLUMNNAME_COLUMN = "COLUMNNAME";
-
- public static final String ATTRIBUTE_COLUMNTYPE_COLUMN = "COLUMNTYPE";
-
- public static final String ATTRIBUTE_CID_COLUMN = CLASS_CID_COLUMN;
-
- //--------------------------------------------------------------------
- public static final String OBJECT_TABLE = "CDO_OBJECT";
-
- public static final String OBJECT_OID_COLUMN = "OID";
-
- public static final String OBJECT_OCA_COLUMN = "OCA";
-
- public static final String OBJECT_CID_COLUMN = CLASS_CID_COLUMN;
-
- //--------------------------------------------------------------------
- public static final String RESOURCE_TABLE = "CDO_RESOURCE";
-
- public static final String RESOURCE_RID_COLUMN = "RID";
-
- public static final String RESOURCE_PATH_COLUMN = "PATH";
-
- //--------------------------------------------------------------------
- public static final String CONTENT_TABLE = "CDO_CONTENT";
-
- public static final String CONTENT_OID_COLUMN = OBJECT_OID_COLUMN;
-
- //--------------------------------------------------------------------
- public static final String REFERENCE_TABLE = "CDO_REFERENCE";
-
- public static final String REFERENCE_OID_COLUMN = "SOURCE" + OBJECT_OID_COLUMN;
-
- public static final String REFERENCE_FEATUREID_COLUMN = "FEATUREID";
-
- public static final String REFERENCE_CONTAINMENT_COLUMN = "CONTENT";
-
- public static final String REFERENCE_ORDINAL_COLUMN = "ORDINAL";
-
- public static final String REFERENCE_TARGET_COLUMN = "TARGET" + OBJECT_OID_COLUMN;
-
- //--------------------------------------------------------------------
- public static final String USER_OID_COLUMN = "CDO_" + OBJECT_OID_COLUMN;
-
- //--------------------------------------------------------------------
- public static final String SELECT_PACKAGES = "SELECT " + PACKAGE_PID_COLUMN + ", "
- + PACKAGE_NAME_COLUMN + " FROM " + PACKAGE_TABLE;
-
- public static final String SELECT_CLASSES = "SELECT " + CLASS_CID_COLUMN + ", "
- + CLASS_NAME_COLUMN + ", " + CLASS_PARENTNAME_COLUMN + ", " + CLASS_TABLENAME_COLUMN
- + " FROM " + CLASS_TABLE + " WHERE " + CLASS_PID_COLUMN + "=?";
-
- public static final String SELECT_ATTRIBUTES = "SELECT " + ATTRIBUTE_NAME_COLUMN + ", "
- + ATTRIBUTE_FEATUREID_COLUMN + ", " + ATTRIBUTE_DATATYPE_COLUMN + ", "
- + ATTRIBUTE_COLUMNNAME_COLUMN + ", " + ATTRIBUTE_COLUMNTYPE_COLUMN + " FROM "
- + ATTRIBUTE_TABLE + " WHERE " + ATTRIBUTE_CID_COLUMN + "=?";
-
- public static final String INSERT_PACKAGE = "INSERT INTO " + PACKAGE_TABLE + " VALUES (?, ?)";
-
- public static final String INSERT_CLASS = "INSERT INTO " + CLASS_TABLE
- + " VALUES (?, ?, ?, ?, ?)";
-
- public static final String INSERT_ATTRIBUTE = "INSERT INTO " + ATTRIBUTE_TABLE
- + " VALUES (?, ?, ?, ?, ?, ?)";
-
- public static final String SELECT_MAX_PID = "SELECT MAX(" + PACKAGE_PID_COLUMN + ") FROM "
- + PACKAGE_TABLE;
-
- public static final String SELECT_MAX_CID = "SELECT MAX(" + CLASS_CID_COLUMN + ") FROM "
- + CLASS_TABLE;
-
- public static final String SELECT_MAX_RID = "SELECT MAX(" + RESOURCE_RID_COLUMN + ") FROM "
- + RESOURCE_TABLE;
-
- public static final String SELECT_MAX_OID_FRAGMENT = "SELECT MAX(" + OBJECT_OID_COLUMN
- + ") FROM " + OBJECT_TABLE + " WHERE " + OBJECT_OID_COLUMN + " BETWEEN ? AND ?";
-
- public static final String SELECT_CID_OF_OBJECT = "SELECT " + OBJECT_CID_COLUMN + " FROM "
- + OBJECT_TABLE + " WHERE " + OBJECT_OID_COLUMN + "=?";
-
- public static final String SELECT_CONTAINER_OF_OBJECT = "SELECT " + REFERENCE_TABLE + "."
- + REFERENCE_OID_COLUMN + ", " + OBJECT_TABLE + "." + OBJECT_CID_COLUMN + " FROM "
- + REFERENCE_TABLE + ", " + OBJECT_TABLE + " WHERE " + REFERENCE_TABLE + "."
- + REFERENCE_TARGET_COLUMN + "=? AND " + REFERENCE_TABLE + "." + REFERENCE_CONTAINMENT_COLUMN
- + "=? AND " + REFERENCE_TABLE + "." + REFERENCE_OID_COLUMN + "=" + OBJECT_TABLE + "."
- + OBJECT_OID_COLUMN;
-
- public static final String SELECT_XREFS_OF_OBJECT = "SELECT " + REFERENCE_TABLE + "."
- + REFERENCE_OID_COLUMN + ", " + REFERENCE_TABLE + "." + REFERENCE_FEATUREID_COLUMN + ", "
- + OBJECT_TABLE + "." + OBJECT_CID_COLUMN + " FROM " + REFERENCE_TABLE + ", " + OBJECT_TABLE
- + " WHERE " + REFERENCE_TABLE + "." + REFERENCE_TARGET_COLUMN + "=? AND " + REFERENCE_TABLE
- + "." + REFERENCE_CONTAINMENT_COLUMN + "=FALSE AND " + REFERENCE_TABLE + "."
- + REFERENCE_OID_COLUMN + "=" + OBJECT_TABLE + "." + OBJECT_OID_COLUMN;
-
- public static final String SELECT_ALL_OBJECTS_OF_RESOURCE = "SELECT " + OBJECT_OID_COLUMN + ", "
- + OBJECT_CID_COLUMN + " FROM " + OBJECT_TABLE + " WHERE " + OBJECT_OID_COLUMN
- + " BETWEEN ? AND ?";
-
- public static final String SELECT_ALL_STALE_REFERENCES = "SELECT " + REFERENCE_TABLE + "."
- + REFERENCE_OID_COLUMN + ", " + REFERENCE_TABLE + "." + REFERENCE_FEATUREID_COLUMN + ", "
- + REFERENCE_TABLE + "." + REFERENCE_ORDINAL_COLUMN + " FROM " + REFERENCE_TABLE
- + " LEFT JOIN " + OBJECT_TABLE + " ON " + REFERENCE_TABLE + "." + REFERENCE_TARGET_COLUMN
- + "=" + OBJECT_TABLE + "." + OBJECT_OID_COLUMN + " WHERE " + OBJECT_TABLE + "."
- + OBJECT_OID_COLUMN + " IS NULL";
-
- public static final String SELECT_ALL_RESOURCES = "SELECT " + RESOURCE_RID_COLUMN + ", "
- + RESOURCE_PATH_COLUMN + " FROM " + RESOURCE_TABLE;
-
- public static final String SELECT_RID_OF_RESOURCE = "SELECT " + RESOURCE_RID_COLUMN + " FROM "
- + RESOURCE_TABLE + " WHERE " + RESOURCE_PATH_COLUMN + "=?";
-
- public static final String SELECT_PATH_OF_RESOURCE = "SELECT " + RESOURCE_PATH_COLUMN + " FROM "
- + RESOURCE_TABLE + " WHERE " + RESOURCE_RID_COLUMN + "=?";
-
- public static final String SELECT_COLLECTION_COUNT = "SELECT COUNT(" + REFERENCE_OID_COLUMN
- + ") FROM " + REFERENCE_TABLE + " WHERE " + REFERENCE_OID_COLUMN + "=? AND "
- + REFERENCE_FEATUREID_COLUMN + "=?";
-
- public static final String INSERT_RESOURCE = "INSERT INTO " + RESOURCE_TABLE + " VALUES (?, ?)";
-
- public static final String DELETE_RESOURCE = "DELETE FROM " + RESOURCE_TABLE + " WHERE "
- + RESOURCE_RID_COLUMN + "=?";
-
- public static final String INSERT_REFERENCE = "INSERT INTO " + REFERENCE_TABLE
- + " VALUES (?, ?, ?, ?, ?)";
-
- public static final String REMOVE_REFERENCES = "DELETE FROM " + REFERENCE_TABLE + " WHERE "
- + REFERENCE_OID_COLUMN + "=?";
-
- public static final String REMOVE_REFERENCE = "DELETE FROM " + REFERENCE_TABLE + " WHERE "
- + REFERENCE_OID_COLUMN + "=? AND " + REFERENCE_FEATUREID_COLUMN + "=? AND "
- + REFERENCE_ORDINAL_COLUMN + "=?";
-
- public static final String MOVE_REFERENCE_ABSOLUTE = "UPDATE " + REFERENCE_TABLE + " SET "
- + REFERENCE_ORDINAL_COLUMN + "=? WHERE " + REFERENCE_OID_COLUMN + "=? AND "
- + REFERENCE_FEATUREID_COLUMN + "=? AND " + REFERENCE_ORDINAL_COLUMN + "=?";
-
- public static final String MOVE_REFERENCES_RELATIVE = "UPDATE " + REFERENCE_TABLE + " SET "
- + REFERENCE_ORDINAL_COLUMN + "=" + REFERENCE_ORDINAL_COLUMN + "+? WHERE "
- + REFERENCE_OID_COLUMN + "=? AND " + REFERENCE_FEATUREID_COLUMN + "=? AND "
- + REFERENCE_ORDINAL_COLUMN + " BETWEEN ? AND ?";
-
- public static final String TRANSMIT_REFERENCES = "SELECT "
- + (REFERENCE_TABLE + "." + REFERENCE_FEATUREID_COLUMN) + ", "
- + (REFERENCE_TABLE + "." + REFERENCE_TARGET_COLUMN) + ", "
- + (OBJECT_TABLE + "." + OBJECT_CID_COLUMN) + " FROM " + REFERENCE_TABLE + ", " + OBJECT_TABLE
- + " WHERE " + (REFERENCE_TABLE + "." + REFERENCE_OID_COLUMN) + "=? AND "
- + (REFERENCE_TABLE + "." + REFERENCE_TARGET_COLUMN) + "="
- + (OBJECT_TABLE + "." + OBJECT_OID_COLUMN) + " ORDER BY "
- + (REFERENCE_TABLE + "." + REFERENCE_FEATUREID_COLUMN) + ", "
- + (REFERENCE_TABLE + "." + REFERENCE_ORDINAL_COLUMN);
-
- public static final String INSERT_OBJECT = "INSERT INTO " + OBJECT_TABLE + " VALUES (?, 1, ?)";
-
- public static final String INSERT_CONTENT = "INSERT INTO " + CONTENT_TABLE + " VALUES (?)";
-
- public static final String REMOVE_CONTENT = "DELETE FROM " + CONTENT_TABLE + " WHERE "
- + CONTENT_OID_COLUMN + "=?";
-
- public static final String TRANSMIT_CONTENT = "SELECT "
- + (OBJECT_TABLE + "." + OBJECT_OID_COLUMN) + ", " + (OBJECT_TABLE + "." + OBJECT_OCA_COLUMN)
- + ", " + (OBJECT_TABLE + "." + OBJECT_CID_COLUMN) + " FROM " + CONTENT_TABLE + ", "
- + OBJECT_TABLE + " WHERE " + (OBJECT_TABLE + "." + OBJECT_OID_COLUMN) + "="
- + (CONTENT_TABLE + "." + CONTENT_OID_COLUMN) + " AND "
- + (OBJECT_TABLE + "." + OBJECT_OID_COLUMN) + " BETWEEN ? AND ?";
-
- public static final String TRANSMIT_OBJECT = "SELECT " + OBJECT_OCA_COLUMN + ", "
- + OBJECT_CID_COLUMN + " FROM " + OBJECT_TABLE + " WHERE " + OBJECT_OID_COLUMN + "=?";
-
- public static final String DO_OPTIMISTIC_CONTROL = "UPDATE " + OBJECT_TABLE + " SET "
- + OBJECT_OCA_COLUMN + "=" + OBJECT_OCA_COLUMN + "+1 WHERE " + OBJECT_OID_COLUMN + "=?"
- + " AND " + OBJECT_OCA_COLUMN + "=?";
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/Activator.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/Activator.java
deleted file mode 100644
index 93af00b..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/Activator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.internal;
-
-
-import org.eclipse.emf.cdo.core.util.extensions.Element;
-import org.eclipse.emf.cdo.core.util.extensions.ListExtensionParser;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-import java.util.List;
-
-
-/**
- * @author Eike Stepper
- */
-public class Activator implements BundleActivator
-{
- public Activator()
- {
- }
-
- public void start(BundleContext context) throws Exception
- {
- CDOServer.BUNDLE.setBundleContext(context);
- }
-
- public void stop(BundleContext context) throws Exception
- {
- CDOServer.BUNDLE.setBundleContext(null);
- }
-
-
- /**
- * @author Eike Stepper
- */
- public class MappingElement extends Element
- {
- protected String uri;
-
- protected String map;
-
- public String getMap()
- {
- return map;
- }
-
- public void setMap(String map)
- {
- this.map = map;
- }
-
- public String getUri()
- {
- return uri;
- }
-
- public void setUri(String url)
- {
- this.uri = url;
- }
-
- public String toString()
- {
- return "Mapping(" + uri + ", " + map + ")";
- }
- }
-
-
- /**
- * @author Eike Stepper
- */
- public class MappingExtensionParser extends ListExtensionParser
- {
- public MappingExtensionParser(List list)
- {
- super(list);
-
- addFactory("mapping", new Element.Factory()
- {
- public Element createElementData()
- {
- return new MappingElement();
- }
- });
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/CDOServer.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/CDOServer.java
deleted file mode 100644
index a933b05..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/internal/CDOServer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.internal;
-
-
-import org.eclipse.net4j.util.om.OMBundle;
-import org.eclipse.net4j.util.om.OMLogger;
-import org.eclipse.net4j.util.om.OMPlatform;
-import org.eclipse.net4j.util.om.OMTracer;
-
-
-/**
- * @author Eike Stepper
- */
-public final class CDOServer
-{
- public static final String BUNDLE_ID = "org.eclipse.emf.cdo.server"; //$NON-NLS-1$
-
- public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, CDOServer.class);
-
- public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$
-
- public static final OMTracer DEBUG_MAPPER = DEBUG.tracer("mapper"); //$NON-NLS-1$
-
- public static final OMTracer DEBUG_RESOURCE = DEBUG.tracer("resource"); //$NON-NLS-1$
-
- public static final OMTracer DEBUG_PROTOCOL = DEBUG.tracer("protocol"); //$NON-NLS-1$
-
- public static final OMLogger LOG = BUNDLE.logger();
-
- private CDOServer()
- {
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/AnnouncePackageIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/AnnouncePackageIndication.java
deleted file mode 100644
index e4335ca..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/AnnouncePackageIndication.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.PackageInfo;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class AnnouncePackageIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- AnnouncePackageIndication.class);
-
- private Mapper mapper;
-
- private String packageName;
-
- public AnnouncePackageIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.ANNOUNCE_PACKAGE;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- packageName = in.readString();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Announced package " + packageName);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- PackageInfo packageInfo = mapper.getPackageManager().getPackageInfo(packageName);
- if (packageInfo == null)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Unknown package " + packageName);
- }
-
- out.writeInt(-1);
- }
- else
- {
- ClassInfo[] classInfos = packageInfo.getClasses();
- out.writeInt(classInfos.length);
- for (int i = 0; i < classInfos.length; i++)
- {
- ClassInfo classInfo = classInfos[i];
- if (TRACER.isEnabled())
- {
- TRACER.trace("Responding class " + classInfo.getName() + " = " + classInfo.getCID());
- }
-
- out.writeInt(classInfo.getCID());
- out.writeString(classInfo.getName());
- }
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/CommitTransactionIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/CommitTransactionIndication.java
deleted file mode 100644
index 7e45064..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/CommitTransactionIndication.java
+++ /dev/null
@@ -1,663 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOProtocol;
-import org.eclipse.emf.cdo.core.ImplementationError;
-import org.eclipse.emf.cdo.core.OIDEncoder;
-import org.eclipse.emf.cdo.core.WrappedIOException;
-import org.eclipse.emf.cdo.core.protocol.ResourceChangeInfo;
-import org.eclipse.emf.cdo.server.AttributeInfo;
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.ColumnConverter;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ResourceInfo;
-import org.eclipse.emf.cdo.server.ServerCDOProtocol;
-import org.eclipse.emf.cdo.server.impl.SQLConstants;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import org.springframework.transaction.TransactionException;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallbackWithoutResult;
-import org.springframework.transaction.support.TransactionTemplate;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import java.io.IOException;
-
-import java.sql.Types;
-
-
-/**
- * @author Eike Stepper
- */
-public class CommitTransactionIndication extends IndicationWithResponse
-{
- public static final int CAPACITY_tempIdtoPersistentIdMap = 499;
-
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- CommitTransactionIndication.class);
-
- private Mapper mapper;
-
- private TransactionTemplate transactionTemplate;
-
- private Map<Long, Long> tempOIDs = new HashMap<Long, Long>(CAPACITY_tempIdtoPersistentIdMap);
-
- private List<Long> changedObjectIds = new ArrayList<Long>();
-
- private Map<Long, Integer> changedObjectOIDOCA = new HashMap<Long, Integer>();
-
- private List<Long> oidList = new ArrayList<Long>();
-
- private boolean optimisticControlException = false;
-
- private List<ResourceChangeInfo> newResources = new ArrayList<ResourceChangeInfo>();
-
- public CommitTransactionIndication(Mapper mapper, TransactionTemplate transactionTemplate)
- {
- this.mapper = mapper;
- this.transactionTemplate = transactionTemplate;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOProtocol.COMMIT_TRANSACTION;
- }
-
- @Override
- protected void indicating(final ExtendedDataInputStream in) throws IOException
- {
- try
- {
- transactionTemplate.execute(new TransactionCallbackWithoutResult()
- {
- public void doInTransactionWithoutResult(TransactionStatus status)
- {
- try
- {
- receiveObjectsToDetach(in);
- receiveObjectsToAttach(in);
- receiveObjectChanges(in);
- receiveNewResources(in);
- if (optimisticControlException)
- {
- status.setRollbackOnly();
- }
- }
- catch (IOException ex)
- {
- throw new WrappedIOException(ex);
- }
- }
- });
- }
- catch (WrappedIOException ex)
- {
- ex.reThrow();
- }
- catch (TransactionException ex)
- {
- CDOServer.LOG.error("Error while committing transaction to database", ex);
- }
-
- if (!optimisticControlException)
- {
- transmitInvalidations();
- transmitResourceChanges();
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- if (optimisticControlException)
- {
- out.writeBoolean(false);
- return;
- }
- else
- {
- out.writeBoolean(true);
- }
-
- out.writeInt(oidList.size());
- for (Iterator<Long> iter = oidList.iterator(); iter.hasNext();)
- {
- Long id = iter.next();
- out.writeLong(id.longValue());
- }
-
- out.writeInt(changedObjectIds.size());
- for (Iterator<Long> iter = changedObjectIds.iterator(); iter.hasNext();)
- {
- Long id = iter.next();
- Integer oca = changedObjectOIDOCA.get(id);
- out.writeLong(id.longValue());
- out.writeInt(oca.intValue());
- }
- }
-
- private void receiveNewResources(ExtendedDataInputStream in) throws IOException
- {
- int rid;
- while ((rid = in.readInt()) != 0)
- {
- String path = in.readString();
- mapper.insertResource(rid, path);
- newResources.add(new ResourceChangeInfo(ResourceChangeInfo.ADDED, rid, path));
- }
- }
-
- private void receiveObjectsToDetach(ExtendedDataInputStream in) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("receiveObjectsToDetach()");
- }
-
- for (;;)
- {
- long oid = in.readLong();
- if (oid == CDOProtocol.NO_MORE_OBJECTS)
- {
- break;
- }
-
- mapper.removeObject(oid);
- }
- }
-
- private void receiveObjectsToAttach(ExtendedDataInputStream in) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("receiveObjectsToAttach()");
- }
-
- int count = in.readInt();
- for (int i = 0; i < count; i++)
- {
- long oid = in.readLong();
- if (oid < 0)
- {
- oid = registerTempOID(oid);
- }
-
- ClassInfo info = receiveClassInfo(in);
- mapper.insertObject(oid, info.getCID());
- boolean isContent = in.readBoolean();
- if (isContent)
- {
- mapper.insertContent(oid);
- }
-
- receiveObjectsToAttachAttributes(in, info, oid);
- }
-
- receiveObjectsToAttachReferences(in);
- }
-
- private void receiveObjectsToAttachReferences(ExtendedDataInputStream in) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("receiveObjectsToAttachReferences()");
- }
-
- int count = in.readInt();
- for (int i = 0; i < count; i++)
- {
- long oid = in.readLong();
- int feature = in.readInt();
- int ordinal = in.readInt();
- long target = in.readLong();
- boolean containment = in.readBoolean();
- if (oid < 0)
- {
- oid = resolveTempOID(oid);
- }
-
- if (target < 0)
- {
- target = resolveTempOID(target);
- }
-
- mapper.insertReference(oid, feature, ordinal, target, containment);
- }
- }
-
- /**
- * @param in
- * @return
- * @throws IOException
- */
- private ClassInfo receiveClassInfo(ExtendedDataInputStream in) throws IOException
- {
- int cid = in.readInt();
- ClassInfo classInfo = mapper.getPackageManager().getClassInfo(cid);
- if (classInfo == null)
- {
- throw new ImplementationError("Unknown cid " + cid);
- }
-
- return classInfo;
- }
-
- /**
- * @param tempOID
- * @return
- */
- private long registerTempOID(long tempOID)
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- int rid = oidEncoder.getRID(-tempOID);
- ResourceInfo resourceInfo = mapper.getResourceManager().getResourceInfo(rid, mapper);
- long oidFragment = resourceInfo.getNextOIDFragment();
-
- Long key = new Long(tempOID);
- long oid = oidEncoder.getOID(rid, oidFragment);
- Long val = new Long(oid);
-
- tempOIDs.put(key, val);
- oidList.add(val);
- if (TRACER.isEnabled())
- {
- TRACER.trace("Mapping oid " + oidEncoder.toString(key) + " --> " + oidEncoder.toString(val));
- }
-
- return oid;
- }
-
- /**
- * @param tempOID
- * @return
- */
- private long resolveTempOID(long tempOID)
- {
- Long sourceVal = tempOIDs.get(new Long(tempOID));
- if (sourceVal == null)
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- throw new ImplementationError("no mapping for temporary oid " + oidEncoder.toString(tempOID));
- }
-
- return sourceVal.longValue();
- }
-
- private void receiveObjectChanges(ExtendedDataInputStream in) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("receiveObjectChanges()");
- }
-
- for (;;)
- {
- long oid = in.readLong();
- if (oid == CDOProtocol.NO_MORE_OBJECT_CHANGES)
- {
- break;
- }
-
- int oca = in.readInt();
- int newOCA = lock(oid, oca);
- receiveReferenceChanges(in);
- receiveAttributeChanges(in, oid);
- rememberChangedObject(oid, newOCA);
- }
- }
-
- private void receiveReferenceChanges(ExtendedDataInputStream in) throws IOException
- {
- for (;;)
- {
- byte changeKind = in.readByte();
- if (changeKind == CDOProtocol.NO_MORE_REFERENCE_CHANGES)
- {
- break;
- }
-
- switch (changeKind)
- {
- case CDOProtocol.FEATURE_SET:
- receiveReferenceSet(in);
- break;
- case CDOProtocol.FEATURE_UNSET:
- receiveReferenceUnset(in);
- break;
- case CDOProtocol.LIST_ADD:
- receiveReferenceAdd(in);
- break;
- case CDOProtocol.LIST_REMOVE:
- receiveReferenceRemove(in);
- break;
- case CDOProtocol.LIST_MOVE:
- receiveReferenceMove(in);
- break;
- default:
- throw new ImplementationError("invalid changeKind: " + changeKind);
- }
- }
- }
-
- /**
- * @param in
- * @param oid
- * @param feature
- * @throws IOException
- */
- private void receiveReferenceSet(ExtendedDataInputStream in) throws IOException
- {
- // oid is not mapped for changes!
- long oid = in.readLong();
- int feature = in.readInt();
- long target = in.readLong();
- boolean containment = in.readBoolean();
- if (target < 0)
- {
- target = resolveTempOID(target);
- }
-
- if (TRACER.isEnabled())
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- TRACER.trace("received reference set: oid=" + oidEncoder.toString(oid) + ", feature="
- + feature + ", target=" + oidEncoder.toString(target) + ", containment=" + containment);
- }
-
- mapper.insertReference(oid, feature, 0, target, containment);
- }
-
- /**
- * @param in
- * @throws IOException
- *
- */
- private void receiveReferenceUnset(ExtendedDataInputStream in) throws IOException
- {
- // oid is not mapped for changes!
- long oid = in.readLong();
- int feature = in.readInt();
- if (TRACER.isEnabled())
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- TRACER.trace("received reference unset: oid=" + oidEncoder.toString(oid) + ", feature="
- + feature);
- }
-
- mapper.removeReference(oid, feature, 0);
- }
-
- /**
- * @param in
- * @throws IOException
- *
- */
- private void receiveReferenceAdd(ExtendedDataInputStream in) throws IOException
- {
- // oid is not mapped for changes!
- long oid = in.readLong();
- int feature = in.readInt();
- int ordinal = in.readInt() + 1;
- long target = in.readLong();
- boolean containment = in.readBoolean();
- if (target < 0)
- {
- target = resolveTempOID(target);
- }
-
- if (TRACER.isEnabled())
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- TRACER.trace("received reference add: oid=" + oidEncoder.toString(oid) + ", feature="
- + feature + ", ordinal=" + ordinal + ", target=" + oidEncoder.toString(target)
- + ", containment=" + containment);
- }
-
- if (ordinal == 0)
- {
- ordinal = mapper.getCollectionCount(oid, feature);
- }
-
- mapper.moveReferencesRelative(oid, feature, ordinal, Integer.MAX_VALUE, 1);
- mapper.insertReference(oid, feature, ordinal, target, containment);
- }
-
- /**
- * @param in
- * @throws IOException
- *
- */
- private void receiveReferenceRemove(ExtendedDataInputStream in) throws IOException
- {
- // oid is not mapped for changes!
- long oid = in.readLong();
- int feature = in.readInt();
- int ordinal = in.readInt() + 1;
- if (TRACER.isEnabled())
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- TRACER.trace("receiveObjectChangesReferences(REMOVE, sourceId=" + oidEncoder.toString(oid)
- + ", featureId=" + feature + ", sourceOrdinal=" + ordinal + ")");
- }
-
- mapper.removeReference(oid, feature, ordinal);
- mapper.moveReferencesRelative(oid, feature, ordinal, Integer.MAX_VALUE, -1);
- }
-
- /**
- * @param in
- * @throws IOException
- *
- */
- private void receiveReferenceMove(ExtendedDataInputStream in) throws IOException
- {
- // oid is not mapped for changes!
- long oid = in.readLong();
- int feature = in.readInt();
- int ordinal = in.readInt();
- int moveToIndex = in.readInt();
- if (TRACER.isEnabled())
- {
- OIDEncoder oidEncoder = mapper.getOidEncoder();
- TRACER.trace("received reference move: oid=" + oidEncoder.toString(oid) + ", feature="
- + feature + ", ordinal=" + ordinal + ", moveToIndex=" + moveToIndex);
- }
-
- ordinal++;
- moveToIndex++;
- mapper.moveReferenceAbsolute(oid, feature, -1, ordinal);
- if (moveToIndex > ordinal)
- {
- mapper.moveReferencesRelative(oid, feature, ordinal + 1, moveToIndex, -1);
- }
- else if (moveToIndex < ordinal)
- {
- mapper.moveReferencesRelative(oid, feature, moveToIndex, ordinal - 1, 1);
- }
-
- mapper.moveReferenceAbsolute(oid, feature, moveToIndex, -1);
- }
-
- /**
- *
- * @param oid
- * @param oca
- */
- private int lock(long oid, int oca)
- {
- boolean ok = mapper.lock(oid, oca);
- if (!ok)
- {
- optimisticControlException = true;
- if (TRACER.isEnabled())
- {
- TRACER.trace("");
- TRACER.trace("============================");
- TRACER.trace("OPTIMISTIC CONTROL EXCEPTION");
- TRACER.trace("============================");
- TRACER.trace("");
- }
-
- return oca;
- }
-
- return oca + 1;
- }
-
- /**
- * @param oid
- */
- private void rememberChangedObject(long oid, int oca)
- {
- Long key = new Long(oid);
- changedObjectIds.add(key);
- changedObjectOIDOCA.put(key, new Integer(oca));
- }
-
- /**
- * @param in
- * @param info
- * @param oid
- * @throws IOException
- * @throws InterruptedException
- */
- private void receiveAttributeChanges(ExtendedDataInputStream in, long oid) throws IOException
- {
- ClassInfo classInfo = null;
- for (;;)
- {
- int cid = in.readInt();
- if (cid == CDOProtocol.NO_MORE_SEGMENTS)
- {
- break;
- }
-
- classInfo = mapper.getPackageManager().getClassInfo(cid);
- receiveAttributeChangeSegment(in, oid, classInfo);
- }
- }
-
- /**
- * @param in
- * @throws IOException
- *
- */
- private void receiveAttributeChangeSegment(ExtendedDataInputStream in, long oid,
- ClassInfo classInfo) throws IOException
- {
- int count = in.readInt();
- Object[] args = new Object[count + 1]; // last element is the oid
- args[count] = oid;
- int[] types = new int[count + 1];
- types[count] = Types.BIGINT;
-
- StringBuffer sql = new StringBuffer("UPDATE ");
- sql.append(classInfo.getTableName());
- sql.append(" SET ");
-
- for (int i = 0; i < count; i++)
- {
- int feature = in.readInt();
- AttributeInfo attributeInfo = classInfo.getAttributeInfo(feature);
- ColumnConverter converter = mapper.getColumnConverter();
-
- args[i] = converter.fromChannel(in, attributeInfo.getDataType());
- types[i] = attributeInfo.getColumnType();
-
- if (i > 0)
- {
- sql.append(", ");
- }
-
- sql.append(attributeInfo.getColumnName());
- sql.append("=?");
- }
-
- sql.append(" WHERE ");
- sql.append(SQLConstants.USER_OID_COLUMN);
- sql.append("=?");
- mapper.sql(sql.toString(), args, types);
- }
-
- private void receiveObjectsToAttachAttributes(ExtendedDataInputStream in, ClassInfo classInfo,
- long oid) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("receiveObjectsToAttachAttributes()");
- }
-
- while (classInfo != null)
- {
- AttributeInfo[] attributeInfos = classInfo.getAttributeInfos();
- Object[] args = new Object[attributeInfos.length + 1]; // the first element is the oid
- args[0] = oid;
-
- int[] types = new int[attributeInfos.length + 1];
- types[0] = Types.BIGINT;
-
- StringBuffer sql = new StringBuffer("INSERT INTO ");
- sql.append(classInfo.getTableName());
- sql.append(" VALUES(?");
- for (int i = 0; i < attributeInfos.length; i++)
- {
- AttributeInfo attributeInfo = attributeInfos[i];
- if (TRACER.isEnabled())
- {
- TRACER.trace("Receiving attribute " + attributeInfo.getName());
- }
-
- ColumnConverter converter = mapper.getColumnConverter();
- args[i + 1] = converter.fromChannel(in, attributeInfo.getDataType());
- types[i + 1] = attributeInfo.getColumnType();
- sql.append(", ?");
- }
-
- sql.append(")");
- mapper.sql(sql.toString(), args, types);
- classInfo = classInfo.getParent();
- }
- }
-
- private void transmitInvalidations()
- {
- if (!changedObjectIds.isEmpty())
- {
- ServerCDOProtocol cdo = (ServerCDOProtocol) getProtocol();
- cdo.fireInvalidationNotification(cdo.getChannel(), changedObjectIds);
- }
- }
-
- private void transmitResourceChanges()
- {
- CDOServer.LOG.warn("NOT IMPLEMENTED");
- //XXX
- // if (!newResources.isEmpty())
- // {
- // ServerCDOProtocol cdo = (ServerCDOProtocol) getProtocol();
- // ServerCDOResProtocol cdores = cdo.getServerCDOResProtocol();
- // cdores.fireResourcesChangedNotification(newResources);
- // }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DeleteResourcesIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DeleteResourcesIndication.java
deleted file mode 100644
index daddd1a..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DeleteResourcesIndication.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOResProtocol;
-import org.eclipse.emf.cdo.core.CDOResSignals;
-import org.eclipse.emf.cdo.core.protocol.ResourceChangeInfo;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ServerCDOResProtocol;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import org.springframework.transaction.TransactionException;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallback;
-import org.springframework.transaction.support.TransactionTemplate;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class DeleteResourcesIndication extends IndicationWithResponse implements CDOResSignals
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- DeleteResourcesIndication.class);
-
- private boolean ok;
-
- private Mapper mapper;
-
- private TransactionTemplate transactionTemplate;
-
- public DeleteResourcesIndication(Mapper mapper, TransactionTemplate transactionTemplate)
- {
- this.mapper = mapper;
- this.transactionTemplate = transactionTemplate;
- }
-
- @Override
- protected short getSignalID()
- {
- return DELETE_RESOURCES;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- Set<Integer> rids = new HashSet<Integer>();
- for (;;)
- {
- int rid = in.readInt();
- if (rid == CDOResProtocol.NO_MORE_RESOURCES)
- {
- break;
- }
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Deleting rid " + rid);
- }
-
- rids.add(rid);
- }
-
- Set<Long> modifiedOIDs = deleteResources(rids);
- if (modifiedOIDs != null)
- {
- ok = true;
- transmitInvalidations(modifiedOIDs);
- transmitResourceChanges(rids);
- transmitRemovals(rids);
- }
- else
- {
- ok = false;
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Deleted resources: " + ok);
- }
-
- out.writeBoolean(ok);
- }
-
- private Set<Long> deleteResources(final Set<Integer> rids)
- {
- try
- {
- return (Set<Long>) transactionTemplate.execute(new TransactionCallback()
- {
- public Object doInTransaction(TransactionStatus status)
- {
- for (Integer rid : rids)
- {
- mapper.deleteResource(rid);
- }
-
- return mapper.removeStaleReferences();
- }
- });
- }
- catch (TransactionException ex)
- {
- CDOServer.LOG.error("Error while committing transaction to database", ex);
- }
-
- return null;
- }
-
- private void transmitInvalidations(Collection<Long> changedObjectIds)
- {
- if (!changedObjectIds.isEmpty())
- {
- ServerCDOResProtocol cdores = (ServerCDOResProtocol) getProtocol();
- cdores.fireInvalidationNotification(changedObjectIds);
- }
- }
-
- private void transmitRemovals(Collection<Integer> rids)
- {
- if (!rids.isEmpty())
- {
- ServerCDOResProtocol cdores = (ServerCDOResProtocol) getProtocol();
- cdores.fireRemovalNotification(rids);
- }
- }
-
- private void transmitResourceChanges(Collection<Integer> rids)
- {
- if (!rids.isEmpty())
- {
- List<ResourceChangeInfo> resourceChanges = new ArrayList<ResourceChangeInfo>();
- for (Integer rid : rids)
- {
- ResourceChangeInfo info = new ResourceChangeInfo(ResourceChangeInfo.REMOVED, rid, null);
- resourceChanges.add(info);
- }
-
- ServerCDOResProtocol cdores = (ServerCDOResProtocol) getProtocol();
- cdores.fireResourcesChangedNotification(resourceChanges);
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DescribePackageIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DescribePackageIndication.java
deleted file mode 100644
index d5005a7..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/DescribePackageIndication.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.AttributeInfo;
-import org.eclipse.emf.cdo.server.ClassInfo;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.PackageInfo;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class DescribePackageIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- DescribePackageIndication.class);
-
- private Mapper mapper;
-
- private List<ClassInfo> infos;
-
- public DescribePackageIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.DESCRIBE_PACKAGE;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- int pid = mapper.getNextPid();
- String packageName = in.readString();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Described package " + packageName);
- }
-
- PackageInfo packageInfo = mapper.getPackageManager().addPackage(pid, packageName);
- mapper.insertPackage(packageInfo);
-
- infos = receiveClasses(in, packageInfo);
- mapper.createAttributeTables(packageInfo);
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- out.writeInt(infos.size());
- for (Iterator<ClassInfo> iter = infos.iterator(); iter.hasNext();)
- {
- ClassInfo classInfo = iter.next();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Responding class " + classInfo.getName() + " = " + classInfo.getCID());
- }
-
- out.writeInt(classInfo.getCID());
- out.writeString(classInfo.getName());
- }
- }
-
- private List<ClassInfo> receiveClasses(ExtendedDataInputStream in, PackageInfo packageInfo)
- throws IOException
- {
- List<ClassInfo> result = new ArrayList<ClassInfo>();
- int count = in.readInt();
- for (int i = 0; i < count; i++)
- {
- int cid = mapper.getNextCID();
- String name = in.readString();
- String parentName = in.readString();
- String tableName = in.readString();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Described class " + name);
- }
-
- ClassInfo classInfo = packageInfo.addClass(cid, name, parentName, tableName);
- mapper.insertClass(classInfo);
- receiveAttributes(in, classInfo);
-
- result.add(classInfo);
- }
-
- return result;
- }
-
- private void receiveAttributes(ExtendedDataInputStream in, ClassInfo classInfo)
- throws IOException
- {
- int count = in.readInt();
- for (int i = 0; i < count; i++)
- {
- String name = in.readString();
- int featureId = in.readInt();
- int dataType = in.readInt();
- String columnName = in.readString();
- int columnType = in.readInt();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Described attribute " + name);
- }
-
- AttributeInfo attributeInfo = classInfo.addAttribute(name, featureId, dataType, columnName,
- columnType);
- mapper.insertAttribute(attributeInfo, classInfo.getCID());
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/InvalidationNotificationRequest.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/InvalidationNotificationRequest.java
deleted file mode 100644
index fb82a66..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/InvalidationNotificationRequest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.transport.Channel;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.util.Collection;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class InvalidationNotificationRequest extends Request
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- InvalidationNotificationRequest.class);
-
- private Collection<Long> changedObjectIds;
-
- public InvalidationNotificationRequest(Channel channel, Collection<Long> changedObjectIds)
- {
- super(channel);
- this.changedObjectIds = changedObjectIds;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.INVALIDATION_NOTIFICATION;
- }
-
- @Override
- protected void requesting(ExtendedDataOutputStream out) throws IOException
- {
- int size = changedObjectIds.size();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Transmitting " + size + " invalidations");
- }
-
- out.writeInt(size);
- for (Long oid : changedObjectIds)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Transmitting oid " + oid);
- }
-
- out.writeLong(oid);
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadObjectIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadObjectIndication.java
deleted file mode 100644
index 9abe732..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadObjectIndication.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class LoadObjectIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- LoadObjectIndication.class);
-
- private Mapper mapper;
-
- private long oid;
-
- public LoadObjectIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.LOAD_OBJECT;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- oid = in.readLong();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Loading object " + mapper.getOidEncoder().toString(oid));
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- mapper.transmitObject(out, oid);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadResourceIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadResourceIndication.java
deleted file mode 100644
index 301a57b..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/LoadResourceIndication.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ResourceInfo;
-import org.eclipse.emf.cdo.server.ResourceManager;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class LoadResourceIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- LoadResourceIndication.class);
-
- private Mapper mapper;
-
- private int rid;
-
- public LoadResourceIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.LOAD_RESOURCE;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- rid = in.readInt();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Loading rid " + rid);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- ResourceManager resourceManager = mapper.getResourceManager();
- ResourceInfo resourceInfo = resourceManager.getResourceInfo(rid, mapper);
- mapper.transmitContent(out, resourceInfo);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryAllResourcesIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryAllResourcesIndication.java
deleted file mode 100644
index 6c5b577..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryAllResourcesIndication.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOResSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class QueryAllResourcesIndication extends IndicationWithResponse implements CDOResSignals
-{
- private Mapper mapper;
-
- public QueryAllResourcesIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return QUERY_ALL_RESOURCES;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- mapper.transmitAllResources(out);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryExtentIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryExtentIndication.java
deleted file mode 100644
index d748d8d..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryExtentIndication.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class QueryExtentIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- QueryExtentIndication.class);
-
- private Mapper mapper;
-
- private int cid;
-
- private boolean exactMatch;
-
- private int rid;
-
- public QueryExtentIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.QUERY_EXTENT;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- cid = in.readInt();
- exactMatch = in.readBoolean();
- rid = in.readInt();
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Received cid=" + cid + ", exactMatch=" + exactMatch + ", rid=" + rid);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- mapper.transmitExtent(out, cid, exactMatch, rid);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryXRefsIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryXRefsIndication.java
deleted file mode 100644
index 56edc33..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/QueryXRefsIndication.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class QueryXRefsIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- QueryXRefsIndication.class);
-
- private Mapper mapper;
-
- private long oid;
-
- private int rid;
-
- public QueryXRefsIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.QUERY_EXTENT;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- oid = in.readLong();
- rid = in.readInt();
-
- if (TRACER.isEnabled())
- {
- TRACER.trace("Received oid=" + oid + ", rid=" + rid);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- mapper.transmitXRefs(out, oid, rid);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/RemovalNotificationRequest.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/RemovalNotificationRequest.java
deleted file mode 100644
index 8fdd08f..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/RemovalNotificationRequest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.transport.Channel;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.util.Collection;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class RemovalNotificationRequest extends Request
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- RemovalNotificationRequest.class);
-
- private Collection<Integer> rids;
-
- public RemovalNotificationRequest(Channel channel, Collection<Integer> rids)
- {
- super(channel);
- this.rids = rids;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.REMOVAL_NOTIFICATION;
- }
-
- @Override
- protected void requesting(ExtendedDataOutputStream out) throws IOException
- {
- int size = rids.size();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Transmitting " + size + " removals");
- }
-
- out.writeInt(size);
- for (Integer rid : rids)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Transmitting rid " + rid);
- }
-
- out.writeInt(rid);
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcePathIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcePathIndication.java
deleted file mode 100644
index 59bd948..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcePathIndication.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ResourceInfo;
-import org.eclipse.emf.cdo.server.ResourceManager;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class ResourcePathIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- ResourcePathIndication.class);
-
- private Mapper mapper;
-
- private String path;
-
- public ResourcePathIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.RESOURCE_PATH;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- path = in.readString();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Requested path " + path);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- ResourceManager resourceManager = mapper.getResourceManager();
- ResourceInfo info = resourceManager.getResourceInfo(path, mapper);
- if (info == null)
- {
- int rid = mapper.getNextRID();
- resourceManager.registerResourceInfo(path, rid, 1);
- if (TRACER.isEnabled())
- {
- TRACER.trace("No resource with path " + path + " - reserving rid " + rid);
- }
-
- out.writeInt(-rid);
- }
- else
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Responding rid " + info.getRID());
- }
-
- out.writeInt(info.getRID());
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourceRIDIndication.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourceRIDIndication.java
deleted file mode 100644
index 6ac4ff3..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourceRIDIndication.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.IndicationWithResponse;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataInputStream;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOSignals;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ResourceInfo;
-import org.eclipse.emf.cdo.server.ResourceManager;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class ResourceRIDIndication extends IndicationWithResponse
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- ResourceRIDIndication.class);
-
- private Mapper mapper;
-
- private int rid;
-
- public ResourceRIDIndication(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOSignals.RESOURCE_RID;
- }
-
- @Override
- protected void indicating(ExtendedDataInputStream in) throws IOException
- {
- rid = in.readInt();
- if (TRACER.isEnabled())
- {
- TRACER.trace("Requested rid " + rid);
- }
- }
-
- @Override
- protected void responding(ExtendedDataOutputStream out) throws IOException
- {
- ResourceManager resourceManager = mapper.getResourceManager();
- ResourceInfo info = resourceManager.getResourceInfo(rid, mapper);
- if (info == null)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("No resource with rid " + rid);
- }
-
- out.writeString(null);
- }
- else
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Responding path " + info.getPath());
- }
-
- out.writeString(info.getPath());
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcesChangedRequest.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcesChangedRequest.java
deleted file mode 100644
index 5e821b7..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ResourcesChangedRequest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.transport.Channel;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.stream.ExtendedDataOutputStream;
-
-import org.eclipse.emf.cdo.core.CDOResSignals;
-import org.eclipse.emf.cdo.core.protocol.ResourceChangeInfo;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import java.util.List;
-
-import java.io.IOException;
-
-
-/**
- * @author Eike Stepper
- */
-public class ResourcesChangedRequest extends Request
-{
- private static final ContextTracer TRACER = new ContextTracer(CDOServer.DEBUG_PROTOCOL,
- ResourcesChangedRequest.class);
-
- private List<ResourceChangeInfo> infos;
-
- public ResourcesChangedRequest(Channel channel, List<ResourceChangeInfo> infos)
- {
- super(channel);
- this.infos = infos;
- }
-
- @Override
- protected short getSignalID()
- {
- return CDOResSignals.RESOURCES_CHANGED;
- }
-
- @Override
- protected void requesting(ExtendedDataOutputStream out) throws IOException
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Transmitting " + infos.size() + " resource changes");
- }
-
- for (ResourceChangeInfo info : infos)
- {
- if (TRACER.isEnabled())
- {
- TRACER.trace("Transmitting changeKind=" + info.getChangeKind() + ", rid=" + info.getRID()
- + ". path=" + info.getPath());
- }
-
- info.transmit(out);
- }
-
- out.writeByte(ResourceChangeInfo.NONE);
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOProtocolImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOProtocolImpl.java
deleted file mode 100644
index f26695c..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOProtocolImpl.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.signal.SignalReactor;
-import org.eclipse.net4j.transport.Channel;
-import org.eclipse.net4j.transport.Protocol;
-import org.eclipse.net4j.transport.ProtocolFactory;
-import org.eclipse.net4j.transport.Connector.Type;
-import org.eclipse.net4j.util.Net4jUtil;
-
-import org.eclipse.emf.cdo.core.CDOProtocol;
-import org.eclipse.emf.cdo.core.ImplementationError;
-import org.eclipse.emf.cdo.core.protocol.AbstractCDOProtocol;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ServerCDOProtocol;
-import org.eclipse.emf.cdo.server.ServerCDOResProtocol;
-import org.eclipse.emf.cdo.server.ServerCDOResProtocol.Listener;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import org.eclipse.internal.net4j.transport.AbstractProtocolFactory;
-
-import org.springframework.transaction.support.TransactionTemplate;
-
-import java.util.Collection;
-import java.util.Set;
-
-
-/**
- * @author Eike Stepper
- */
-public class ServerCDOProtocolImpl extends AbstractCDOProtocol implements ServerCDOProtocol,
- Listener
-{
- protected Mapper mapper;
-
- protected TransactionTemplate transactionTemplate;
-
- protected ServerCDOResProtocol serverCDOResProtocol;
-
- public ServerCDOProtocolImpl(Channel channel)
- {
- super(channel);
- }
-
- @Override
- protected SignalReactor createSignalReactor(short signalID)
- {
- switch (signalID)
- {
- case ANNOUNCE_PACKAGE:
- return new AnnouncePackageIndication(mapper);
- case DESCRIBE_PACKAGE:
- return new DescribePackageIndication(mapper);
- case RESOURCE_RID:
- return new ResourceRIDIndication(mapper);
- case RESOURCE_PATH:
- return new ResourcePathIndication(mapper);
- case LOAD_RESOURCE:
- return new LoadResourceIndication(mapper);
- case LOAD_OBJECT:
- return new LoadObjectIndication(mapper);
- case COMMIT_TRANSACTION:
- return new CommitTransactionIndication(mapper, transactionTemplate);
- case QUERY_EXTENT:
- return new QueryExtentIndication(mapper);
- case QUERY_XREFS:
- return new QueryXRefsIndication(mapper);
- default:
- throw new ImplementationError("Invalid " + CDOProtocol.PROTOCOL_NAME + " signalID: "
- + signalID);
- }
- }
-
- public Mapper getMapper()
- {
- return mapper;
- }
-
- public void setMapper(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- public TransactionTemplate getTransactionTemplate()
- {
- return transactionTemplate;
- }
-
- public void setTransactionTemplate(TransactionTemplate transactionTemplate)
- {
- this.transactionTemplate = transactionTemplate;
- }
-
- public ServerCDOResProtocol getServerCDOResProtocol()
- {
- return serverCDOResProtocol;
- }
-
- public void setServerCDOResProtocol(ServerCDOResProtocol serverCDOResProtocol)
- {
- this.serverCDOResProtocol = serverCDOResProtocol;
- }
-
- public void notifyRemoval(ServerCDOResProtocol protocol, Collection<Integer> rids)
- {
- fireRemovalNotification(rids);
- }
-
- public void notifyInvalidation(ServerCDOResProtocol protocol, Collection<Long> modifiedOIDs)
- {
- fireInvalidationNotification(null, modifiedOIDs);
- }
-
- public void fireRemovalNotification(Collection<Integer> rids)
- {
- for (Channel channel : getCDOServerChannels())
- {
- try
- {
- Request signal = new RemovalNotificationRequest(channel, rids);
- signal.send();
- }
- catch (Exception ex)
- {
- CDOServer.LOG.error("Error while transmitting removal notifications for rids " + rids, ex);
- }
- }
- }
-
- public void fireInvalidationNotification(Channel initiator, Collection<Long> changedObjectIds)
- {
- for (Channel channel : getCDOServerChannels())
- {
- if (initiator == null || channel != initiator
- && channel.getConnector().getType() == initiator.getConnector().getType())
- {
- try
- {
- Request signal = new InvalidationNotificationRequest(channel, changedObjectIds);
- signal.send();
- }
- catch (Exception ex)
- {
- CDOServer.LOG.error("Error while transmitting invalidation notifications for oids "
- + changedObjectIds, ex);
- }
- }
- }
- }
-
- protected Collection<Channel> getCDOServerChannels()
- {
- return Net4jUtil.getChannels(getProtocolID(), ProtocolFactory.FOR_SERVERS);
- }
-
- @Override
- protected void onAboutToActivate() throws Exception
- {
- super.onAboutToActivate();
- if (mapper == null)
- {
- throw new IllegalStateException("mapper == null");
- }
-
- if (transactionTemplate == null)
- {
- throw new IllegalStateException("transactionTemplate == null");
- }
- }
-
- @Override
- protected void onActivate() throws Exception
- {
- super.onActivate();
- if (serverCDOResProtocol != null)
- {
- serverCDOResProtocol.addListener(this);
- }
- }
-
- @Override
- protected void onDeactivate() throws Exception
- {
- if (serverCDOResProtocol != null)
- {
- serverCDOResProtocol.removeListener(this);
- serverCDOResProtocol = null;
- }
-
- mapper = null;
- transactionTemplate = null;
- super.onDeactivate();
- }
-
-
- /**
- * @author Eike Stepper
- */
- public static final class Factory extends AbstractProtocolFactory
- {
- private Mapper mapper;
-
- private TransactionTemplate transactionTemplate;
-
- public Factory(Mapper mapper, TransactionTemplate transactionTemplate)
- {
- this.mapper = mapper;
- this.transactionTemplate = transactionTemplate;
- }
-
- public Protocol createProtocol(Channel channel, Object protocolData)
- {
- try
- {
- ServerCDOProtocolImpl protocol = new ServerCDOProtocolImpl(channel);
- protocol.setMapper(mapper);
- protocol.setTransactionTemplate(transactionTemplate);
- protocol.activate();
- return protocol;
- }
- catch (Exception ex)
- {
- CDOServer.LOG.error(ex);
- return null;
- }
- }
-
- public String getProtocolID()
- {
- return "cdo";
- }
-
- public Set<Type> getConnectorTypes()
- {
- return ProtocolFactory.FOR_SERVERS;
- }
-
- public String getID()
- {
- return PROTOCOL_NAME;
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOResProtocolImpl.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOResProtocolImpl.java
deleted file mode 100644
index c685e54..0000000
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/protocol/ServerCDOResProtocolImpl.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
- * 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.server.protocol;
-
-
-import org.eclipse.net4j.signal.Request;
-import org.eclipse.net4j.signal.SignalReactor;
-import org.eclipse.net4j.transport.Channel;
-import org.eclipse.net4j.transport.Protocol;
-import org.eclipse.net4j.transport.ProtocolFactory;
-import org.eclipse.net4j.transport.Connector.Type;
-import org.eclipse.net4j.util.Net4jUtil;
-
-import org.eclipse.emf.cdo.core.ImplementationError;
-import org.eclipse.emf.cdo.core.protocol.AbstractCDOResProtocol;
-import org.eclipse.emf.cdo.core.protocol.ResourceChangeInfo;
-import org.eclipse.emf.cdo.server.Mapper;
-import org.eclipse.emf.cdo.server.ServerCDOResProtocol;
-import org.eclipse.emf.cdo.server.internal.CDOServer;
-
-import org.eclipse.internal.net4j.transport.AbstractProtocolFactory;
-
-import org.springframework.transaction.support.TransactionTemplate;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-
-
-/**
- * @author Eike Stepper
- */
-public class ServerCDOResProtocolImpl extends AbstractCDOResProtocol implements
- ServerCDOResProtocol
-{
- protected Mapper mapper;
-
- protected TransactionTemplate transactionTemplate;
-
- protected transient List<Listener> listeners = new ArrayList<Listener>();
-
- public ServerCDOResProtocolImpl(Channel channel)
- {
- super(channel);
- }
-
- @Override
- protected SignalReactor createSignalReactor(short signalID)
- {
- switch (signalID)
- {
- case QUERY_ALL_RESOURCES:
- return new QueryAllResourcesIndication(mapper);
- case DELETE_RESOURCES:
- return new DeleteResourcesIndication(mapper, transactionTemplate);
- default:
- throw new ImplementationError("Invalid " + PROTOCOL_NAME + " signalID: " + signalID);
- }
- }
-
- public Mapper getMapper()
- {
- return mapper;
- }
-
- public void setMapper(Mapper mapper)
- {
- this.mapper = mapper;
- }
-
- public TransactionTemplate getTransactionTemplate()
- {
- return transactionTemplate;
- }
-
- public void setTransactionTemplate(TransactionTemplate transactionTemplate)
- {
- this.transactionTemplate = transactionTemplate;
- }
-
- public void fireResourcesChangedNotification(List<ResourceChangeInfo> resourceChanges)
- {
- for (Channel channel : getCDOResServerChannels())
- {
- try
- {
- Request signal = new ResourcesChangedRequest(channel, resourceChanges);
- signal.send();
- }
- catch (Exception ex)
- {
- CDOServer.LOG.error("Error while notifying resource changes " + resourceChanges, ex);
- }
- }
- }
-
- public void fireInvalidationNotification(Collection<Long> modifiedOIDs)
- {
- Listener[] array = listeners.toArray(new Listener[listeners.size()]);
- for (Listener listener : array)
- {
- listener.notifyInvalidation(this, modifiedOIDs);
- }
- }
-
- public void fireRemovalNotification(Collection<Integer> rids)
- {
- Listener[] array = listeners.toArray(new Listener[listeners.size()]);
- for (Listener listener : array)
- {
- listener.notifyRemoval(this, rids);
- }
- }
-
- public void addListener(Listener listener)
- {
- listeners.add(listener);
- }
-
- public void removeListener(Listener listener)
- {
- listeners.remove(listener);
- }
-
- protected Collection<Channel> getCDOResServerChannels()
- {
- return Net4jUtil.getChannels(getProtocolID(), ProtocolFactory.FOR_SERVERS);
- }
-
- @Override
- protected void onAboutToActivate() throws Exception
- {
- super.onAboutToActivate();
- if (mapper == null)
- {
- throw new IllegalStateException("mapper == null");
- }
-
- if (transactionTemplate == null)
- {
- throw new IllegalStateException("transactionTemplate == null");
- }
- }
-
- @Override
- protected void onDeactivate() throws Exception
- {
- listeners = null;
- mapper = null;
- transactionTemplate = null;
- super.onDeactivate();
- }
-
-
- /**
- * @author Eike Stepper
- */
- public static final class Factory extends AbstractProtocolFactory
- {
- private Mapper mapper;
-
- private TransactionTemplate transactionTemplate;
-
- public Factory(Mapper mapper, TransactionTemplate transactionTemplate)
- {
- this.mapper = mapper;
- this.transactionTemplate = transactionTemplate;
- }
-
- public Protocol createProtocol(Channel channel, Object protocolData)
- {
- try
- {
- ServerCDOResProtocolImpl protocol = new ServerCDOResProtocolImpl(channel);
- protocol.setMapper(mapper);
- protocol.setTransactionTemplate(transactionTemplate);
- protocol.activate();
- return protocol;
- }
- catch (Exception ex)
- {
- CDOServer.LOG.error(ex);
- return null;
- }
- }
-
- public String getProtocolID()
- {
- return "cdores";
- }
-
- public Set<Type> getConnectorTypes()
- {
- return ProtocolFactory.FOR_SERVERS;
- }
-
- public String getID()
- {
- return PROTOCOL_NAME;
- }
- }
-}
diff --git a/plugins/org.eclipse.emf.cdo/.project b/plugins/org.eclipse.emf.cdo/.project
deleted file mode 100644
index 4d421db..0000000
--- a/plugins/org.eclipse.emf.cdo/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.emf.cdo</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF
deleted file mode 100644
index b084cbc..0000000
--- a/plugins/org.eclipse.emf.cdo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emf.cdo
-Bundle-Version: 0.7.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.emf.cdo/about.html b/plugins/org.eclipse.emf.cdo/about.html
deleted file mode 100644
index 8e06e65..0000000
--- a/plugins/org.eclipse.emf.cdo/about.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!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>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.emf.cdo/about.ini b/plugins/org.eclipse.emf.cdo/about.ini
deleted file mode 100644
index c96a946..0000000
--- a/plugins/org.eclipse.emf.cdo/about.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%featureText
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "appName" contains name of the application (translated)
-appName=%featureName
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-welcomePage=$nl$/welcome.xml
diff --git a/plugins/org.eclipse.emf.cdo/about.mappings b/plugins/org.eclipse.emf.cdo/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/plugins/org.eclipse.emf.cdo/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/plugins/org.eclipse.emf.cdo/about.properties b/plugins/org.eclipse.emf.cdo/about.properties
deleted file mode 100644
index 4e9031e..0000000
--- a/plugins/org.eclipse.emf.cdo/about.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-# NLS_MESSAGEFORMAT_VAR
-
-featureName=CDO
-
-featureText=CDO \n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany. All rights reserved.\n\
-\n\
-Visit http://www.eclipse.org/emft/projects/cdo
-
diff --git a/plugins/org.eclipse.emf.cdo/build.properties b/plugins/org.eclipse.emf.cdo/build.properties
deleted file mode 100644
index 5428b7f..0000000
--- a/plugins/org.eclipse.emf.cdo/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- plugin.xml,\
- plugin.properties,\
- eclipse32.png,\
- META-INF/,\
- license.html
-src.includes = about.html
- \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo/eclipse32.png b/plugins/org.eclipse.emf.cdo/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/plugins/org.eclipse.emf.cdo/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo/license.html b/plugins/org.eclipse.emf.cdo/license.html
deleted file mode 100644
index d7b88e9..0000000
--- a/plugins/org.eclipse.emf.cdo/license.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<meta name="ProgId" content="Word.Document">
-<meta name="Generator" content="Microsoft Word 9">
-<meta name="Originator" content="Microsoft Word 9">
-<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-
-
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style></head>
-
-<body style="" lang="EN-US">
-
-<div class="Section1">
-
-<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
-
-<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear="left">
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
-changes to the Program, and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
-additions to the Program;</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style="font-size: 10pt;">"Contributor" means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style="font-size: 10pt;">"Program" means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style="font-size: 10pt;">"Recipient" means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
-
-<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
-its license agreement:</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
-
-<p><span style="font-size: 10pt;">When the Program is made available in source
-code form:</span> </p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
-it must be made available under this Agreement; and </span></p>
-
-<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style="font-size: 10pt;">Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style="font-size: 10pt;">Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style="font-size: 10pt;">For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
-
-<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
-
-<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
-
-</div>
-
-</body></html> \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo/plugin.properties b/plugins/org.eclipse.emf.cdo/plugin.properties
deleted file mode 100644
index 12e6f67..0000000
--- a/plugins/org.eclipse.emf.cdo/plugin.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-# /**
-# * <copyright>
-# *
-# * Copyright (c) 2004, 2005, 2006 Eike Stepper, Germany.
-# * 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
-# *
-# * </copyright>
-# *
-# * $Id$
-# */
-
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-pluginName=CDO
-providerName=Eclipse.org
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/plugins/org.eclipse.emf.cdo/plugin.xml b/plugins/org.eclipse.emf.cdo/plugin.xml
deleted file mode 100644
index 347e730..0000000
--- a/plugins/org.eclipse.emf.cdo/plugin.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin />
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/CDOAdapter.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/CDOAdapter.java
new file mode 100644
index 0000000..6f21b26
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/CDOAdapter.java
@@ -0,0 +1,60 @@
+/***************************************************************************
+ * Copyright (c) 2004-2007 Eike Stepper, Germany.
+ * 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;
+
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.protocol.event.CDOEventSource;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+/**
+ * @author Eike Stepper
+ */
+public interface CDOAdapter extends CDOEventSource, Adapter
+{
+ public ResourceSet getResourceSet();
+
+ public CDOSession getSession();
+
+ public CDOView getView();
+
+ public CDOTransaction getTransaction();
+
+ public boolean isHistorical();
+
+ public boolean isActual();
+
+ public boolean isReadOnly();
+
+ /**
+ * @see CDOTransaction#commit()
+ */
+ public void commit();
+
+ /**
+ * @see CDOTransaction#rollback()
+ */
+ public void rollback();
+
+ public void detach();
+
+ /**
+ * @see ResourceSet#createResource(URI)
+ */
+ public CDOResource createResource(String path);
+
+ /**
+ * @see ResourceSet#getResource(URI, boolean)
+ */
+ public CDOResource getResource(String path);
+}