diff options
Diffstat (limited to 'eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui')
24 files changed, 2389 insertions, 0 deletions
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.classpath b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.classpath new file mode 100755 index 000000000..3f9cdd2ca --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry excluding="oracle/toplink/essentials/emf/ui/preferencepages/CopyOfBasicDatabasePreferencePage.java" kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.project b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.project new file mode 100755 index 000000000..7e92e0ac2 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.emf.teneo.eclipselink.common.ui</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/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.core.resources.prefs b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.core.resources.prefs new file mode 100755 index 000000000..03710d336 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Tue Oct 12 14:12:28 CEST 2004 +eclipse.preferences.version=1 + diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.jdt.core.prefs b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100755 index 000000000..04f616f7e --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,332 @@ +#Mon Feb 08 06:56:39 CET 2010 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.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=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +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=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_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=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_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.jdt.ui.prefs b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.jdt.ui.prefs new file mode 100755 index 000000000..5b2edb475 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,58 @@ +#Wed Jan 21 22:44:02 CET 2009 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Teneo +formatter_settings_version=11 +internal.default.compliance=default +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=true +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=true +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/META-INF/MANIFEST.MF b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/META-INF/MANIFEST.MF new file mode 100755 index 000000000..21d11ca6f --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.emf.teneo.eclipselink.common.ui;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Localization: plugin +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", + org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)", + org.eclipse.emf.edit.ui;bundle-version="[2.5.0,3.0.0)" +Bundle-ActivationPolicy: lazy +Bundle-Vendor: %providerName +Export-Package: org.eclipse.emf.teneo.eclipselink.common.ui, + org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages;x-internal:=true, + org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages, + org.eclipse.emf.teneo.eclipselink.common.ui.wizards, + org.eclipse.emf.teneo.eclipselink.common.ui.wizards.pages +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-Activator: org.eclipse.emf.teneo.eclipselink.common.ui.Activator diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.html b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.html new file mode 100755 index 000000000..5a279453c --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.html @@ -0,0 +1,24 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"><head> + + +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head><body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007, 2008</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body></html>
\ No newline at end of file diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.ini b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.ini new file mode 100755 index 000000000..1d17e5539 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.ini @@ -0,0 +1,17 @@ +# 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=modeling32.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/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.properties new file mode 100755 index 000000000..f99905d28 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/about.properties @@ -0,0 +1,46 @@ +#/** +# * <copyright> +# * +# * Copyright (c) 2008-2009 Oracle and Geensys. +# * 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: +# * Oracle and Geensys - initial API and implementation +# * +# * </copyright> +# * +# * $Id: about.properties,v 1.1 2009/01/23 21:51:31 mtaal Exp $ +# */ + +# 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. +# ============================================================================== + +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. + +featureName=EMF Teneo EclipseLink Common UI Plug-in + +featureText=EMF Teneo EclipseLink Common UI Plug-in \n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright (c) 2008-2009 Oracle and Geensys. All rights reserved.\n\ +\n\ +Visit http://www.eclipse.org/emf + +# ============================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# The above properties have been shipped for translation. +# ============================================================================== diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/build.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/build.properties new file mode 100755 index 000000000..6b96042e4 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/build.properties @@ -0,0 +1,19 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + epl-v10.html,\ + modeling32.png,\ + about.ini,\ + about.properties,\ + copyright.txt,\ + about.html,\ + .,\ + plugin.properties,\ + plugin.xml +src.includes = about.html,\ + about.properties,\ + about.ini,\ + copyright.txt,\ + epl-v10.html,\ + license.html,\ + modeling32.png diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/copyright.txt b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/copyright.txt new file mode 100755 index 000000000..a37ef444a --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2008-2009 Oracle and Geensys. +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: + Oracle and Geensys - initial API and implementation diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/epl-v10.html b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/epl-v10.html new file mode 100755 index 000000000..62b1f6f04 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/epl-v10.html @@ -0,0 +1,320 @@ +<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]--> <!--[endif]--><o:p></o:p></p> + +</div> + +</body></html>
\ No newline at end of file diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/license.html b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/license.html new file mode 100755 index 000000000..d7b88e941 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/license.html @@ -0,0 +1,319 @@ +<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]--> <!--[endif]--><o:p></o:p></p> + +</div> + +</body></html>
\ No newline at end of file diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/modeling32.png b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/modeling32.png Binary files differnew file mode 100755 index 000000000..6b08de2ad --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/modeling32.png diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/plugin.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/plugin.properties new file mode 100755 index 000000000..737e54c38 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/plugin.properties @@ -0,0 +1,16 @@ +# ==================================================================== +# To code developer: +# Do NOT change the properties between this line and the +# "%%% END OF TRANSLATED PROPERTIES %%%" line. +# Make a new property name, append to the end of the file and change +# the code to use the new property. +# ==================================================================== + +# ==================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# ==================================================================== + +pluginName = EMF Teneo EclipseLink Common UI Plug-in +providerName = Eclipse Modeling Project + +importWizards.category.teneo.name=Teneo diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/plugin.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/plugin.xml new file mode 100755 index 000000000..433787920 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/plugin.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension + point="org.eclipse.ui.importWizards"> + <category + id="org.eclipse.emf.teneo.eclipselink.common.ui.importWizards.category.teneo" + name="%importWizards.category.teneo.name"> + </category> + </extension> +</plugin> diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/Activator.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/Activator.java new file mode 100755 index 000000000..5cf98ad7d --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/Activator.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle and Geensys. + * 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: + * Oracle and Geensys - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.teneo.eclipselink.common.ui; + +import org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages.IDatabasePreferenceConstants; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.emf.teneo.eclipselink.common.ui"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + plugin = this; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns the database settings which will show up when Preference dialog opens up for the first time. + */ + @Override + protected void initializeDefaultPreferences(IPreferenceStore store) { + store.setDefault(IDatabasePreferenceConstants.USE_LOGIN_FROM, + IDatabasePreferenceConstants.USE_LOGIN_FROM_DEFAULT); + store.setDefault(IDatabasePreferenceConstants.DATABASE_URL, IDatabasePreferenceConstants.DATABASE_URL_DEFAULT); + store.setDefault(IDatabasePreferenceConstants.JDBC_DRIVER, IDatabasePreferenceConstants.JDBC_DRIVER_DEFAULT); + store.setDefault(IDatabasePreferenceConstants.USER_NAME, IDatabasePreferenceConstants.USER_NAME_DEFAULT); + store.setDefault(IDatabasePreferenceConstants.PASSWORD, IDatabasePreferenceConstants.PASSWORD_DEFAULT); + } +} diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/internal/messages/Messages.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/internal/messages/Messages.java new file mode 100755 index 000000000..12485709f --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/internal/messages/Messages.java @@ -0,0 +1,55 @@ +package org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + private static final String BUNDLE_NAME = "org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages.messages"; //$NON-NLS-1$ + public static String button_fromPersistenceUnit; + public static String button_fromUserPreferences; + public static String error_databaseContainsNo$0Objects; + public static String error_databaseURLMissing; + public static String error_editorIDMissing; + public static String error_editorIDMustIdentifyExistingEditor; + public static String error_failedToOpenDatabase; + public static String error_jdbcDriverMissing; + public static String error_packageNamespaceURIMissing; + public static String error_packageNamespaceURIMustIdentifyExistingEcorePackage; + public static String error_passwordMissing; + public static String error_persistenceUnitNameMissing; + public static String error_persistenceUnitNameMustIdentifyExistingPersistenceUnit; + public static String error_rootObjectMissing; + public static String error_rootObjectMustBeExistingRootObjectCandidate; + public static String error_rootObjectMustBeInEcorePackage$0; + public static String error_rootObjectTypeMissing; + public static String error_userNameMissing; + public static String group_databaseLogin; + public static String label_DatabaseURL; + public static String label_editorID; + public static String label_jdbcDriver; + public static String label_packageNamespaceURI; + public static String label_password; + public static String label_persistenceUnitName; + public static String label_rootObject; + public static String label_rootObjectType; + public static String label_userName; + public static String message_loadsModelFromDatabaseUsingURI$0; + public static String page_emfModelAndDatabase_description; + public static String page_emfModelAndDatabase_title; + public static String page_rootObjectAndEMFModelEditor_description; + public static String page_rootObjectAndEMFModelEditor_title; + public static String value_databaseLogin; + public static String value_databaseURL; + public static String value_fromPersistenceUnit; + public static String value_fromUserPreferences; + public static String value_jdbcDriver; + public static String value_password; + public static String value_userName; + public static String wizard_loadEMFModelFromDatabase_title; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/internal/messages/messages.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/internal/messages/messages.properties new file mode 100755 index 000000000..2563550cb --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/internal/messages/messages.properties @@ -0,0 +1,53 @@ +# ==================================================================== +# To code developer: +# Do NOT change the properties between this line and the +# "%%% END OF TRANSLATED PROPERTIES %%%" line. +# Make a new property name, append to the end of the file and change +# the code to use the new property. +# ==================================================================== + +# ==================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# ==================================================================== + +button_fromPersistenceUnit=from Persistence Unit +button_fromUserPreferences=from user preferences +error_databaseContainsNo$0Objects=Database contains no "{0}" objects. Go back and select another EMF model package and/or root object type. +error_databaseURLMissing=Database URL name must be specified. +error_editorIDMissing=Editor ID must be specified. +error_editorIDMustIdentifyExistingEditor=Editor ID must identify existing database-enabled editor. +error_failedToOpenDatabase=Failed to open database. Go back and make sure that model and database access parameters are correct. See Error Log for details if this problem still occurs. +error_jdbcDriverMissing=JDBC driver must be specified. +error_packageNamespaceURIMissing=Package namespace URI must be specified. +error_packageNamespaceURIMustIdentifyExistingEcorePackage=Package namespace URI must identify existing Ecore package registred in global Ecore package registry. +error_passwordMissing=Password must be specified. +error_persistenceUnitNameMissing=Persistence Unit name must be specified. +error_persistenceUnitNameMustIdentifyExistingPersistenceUnit=Persistence Unit name must identify existing Persistence Unit. +error_rootObjectMissing=Root object must be specified. +error_rootObjectMustBeExistingRootObjectCandidate=Root object must be member of existing root object candidates. +error_rootObjectMustBeInEcorePackage$0=Root object type must be member of Ecore package "{0}". +error_rootObjectTypeMissing=Root object type must be specified. +error_userNameMissing=User name must be specified. +group_databaseLogin=Database login: +label_DatabaseURL=Database URL: +label_editorID=Editor ID: +label_jdbcDriver=JDBC driver: +label_packageNamespaceURI=Package namespace URI: +label_password=Password: +label_persistenceUnitName=Persistence Unit name: +label_rootObject=Root object: +label_rootObjectType=Root object type: +label_userName=User name: +message_loadsModelFromDatabaseUsingURI$0=Loads model from database using following URI:\n{0} +page_emfModelAndDatabase_description=Set access parameters for EMF model and database. +page_emfModelAndDatabase_title=EMF Model and Database +page_rootObjectAndEMFModelEditor_description=Select root object and database-enabled EMF model editor. +page_rootObjectAndEMFModelEditor_title=Root Object and EMF Model Editor +value_databaseLogin=Database login: +value_databaseURL=Database URL: +value_fromPersistenceUnit=from Persistence Unit +value_fromUserPreferences=from user preferences +value_jdbcDriver=JDBC driver: +value_password=Password: +value_userName=User name: +wizard_loadEMFModelFromDatabase_title=Load EMF Model from Database diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/preferencepages/BasicDatabasePreferencePage.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/preferencepages/BasicDatabasePreferencePage.java new file mode 100755 index 000000000..9cb90046b --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/preferencepages/BasicDatabasePreferencePage.java @@ -0,0 +1,138 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle and Geensys. + * 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: + * Oracle and Geensys - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages; + +import org.eclipse.emf.teneo.eclipselink.common.ui.Activator; +import org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages.Messages; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.RadioGroupFieldEditor; +import org.eclipse.jface.preference.StringFieldEditor; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class BasicDatabasePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + + protected RadioGroupFieldEditor useLoginFromEditor; + protected Composite useLoginFromEditorComposite; + + protected StringFieldEditor databaseURLEditor; + protected StringFieldEditor jdbcDriverEditor; + protected StringFieldEditor userNameEditor; + protected StringFieldEditor passwordEditor; + + public BasicDatabasePreferencePage() { + super("", GRID); //$NON-NLS-1$ + } + + public BasicDatabasePreferencePage(String title) { + super(title, GRID); + } + + public BasicDatabasePreferencePage(String title, ImageDescriptor image) { + super(title, image, GRID); + } + + public void init(IWorkbench workbench) { + + } + + @Override + protected void createFieldEditors() { + // create use login from selection widgets + useLoginFromEditor = new RadioGroupFieldEditor(IDatabasePreferenceConstants.USE_LOGIN_FROM, + Messages.value_databaseLogin, 1, new String[][] { + { Messages.value_fromPersistenceUnit, + IDatabasePreferenceConstants.USE_LOGIN_FROM_PERSISTENCE_UNIT }, + { Messages.value_fromUserPreferences, + IDatabasePreferenceConstants.USE_LOGIN_FROM_USER_PREFERENCES } }, + getFieldEditorParent(), true); + addField(useLoginFromEditor); + useLoginFromEditorComposite = useLoginFromEditor.getRadioBoxControl(getFieldEditorParent()); + + // create database URL selection widgets + databaseURLEditor = new StringFieldEditor(IDatabasePreferenceConstants.DATABASE_URL, + Messages.value_databaseURL, useLoginFromEditorComposite); + databaseURLEditor.setEnabled(false, useLoginFromEditorComposite); + addField(databaseURLEditor); + + // create JDBC driver selection widgets + jdbcDriverEditor = new StringFieldEditor(IDatabasePreferenceConstants.JDBC_DRIVER, Messages.value_jdbcDriver, + useLoginFromEditorComposite); + addField(jdbcDriverEditor); + + // create user name widgets + userNameEditor = new StringFieldEditor(IDatabasePreferenceConstants.USER_NAME, Messages.value_userName, + useLoginFromEditorComposite); + addField(userNameEditor); + + // create password name widgets + passwordEditor = new StringFieldEditor(IDatabasePreferenceConstants.PASSWORD, Messages.value_password, + useLoginFromEditorComposite); + Text passwordField = passwordEditor.getTextControl(useLoginFromEditorComposite); + passwordField.setEchoChar('*'); + addField(passwordEditor); + + // adjust layout of use login from selection widgets + GridLayout layout = (GridLayout) useLoginFromEditorComposite.getLayout(); + layout.marginWidth = 5; + layout.marginHeight = 5; + + // set the field editors's enabled state + IPreferenceStore store = getPreferenceStore(); + setFieldEditorsEnabled(store.getString(IDatabasePreferenceConstants.USE_LOGIN_FROM)); + } + + @Override + protected IPreferenceStore doGetPreferenceStore() { + return Activator.getDefault().getPreferenceStore(); + } + + @Override + public void propertyChange(PropertyChangeEvent event) { + super.propertyChange(event); + // event originating from use login from selection widgets? + if (event.getSource() == useLoginFromEditor) { + // set the field editors's enabled state + setFieldEditorsEnabled((String) event.getNewValue()); + } + } + + protected void setFieldEditorsEnabled(String useLoginFromValue) { + if (IDatabasePreferenceConstants.USE_LOGIN_FROM_USER_PREFERENCES.equals(useLoginFromValue)) { + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + databaseURLEditor.setStringValue(store.getString(IDatabasePreferenceConstants.DATABASE_URL)); + jdbcDriverEditor.setStringValue(store.getString(IDatabasePreferenceConstants.JDBC_DRIVER)); + userNameEditor.setStringValue(store.getString(IDatabasePreferenceConstants.USER_NAME)); + passwordEditor.setStringValue(store.getString(IDatabasePreferenceConstants.PASSWORD)); + + databaseURLEditor.setEnabled(true, useLoginFromEditorComposite); + jdbcDriverEditor.setEnabled(true, useLoginFromEditorComposite); + userNameEditor.setEnabled(true, useLoginFromEditorComposite); + passwordEditor.setEnabled(true, useLoginFromEditorComposite); + } else { + databaseURLEditor.setStringValue(null); + jdbcDriverEditor.setStringValue(null); + userNameEditor.setStringValue(null); + passwordEditor.setStringValue(null); + + databaseURLEditor.setEnabled(false, useLoginFromEditorComposite); + jdbcDriverEditor.setEnabled(false, useLoginFromEditorComposite); + userNameEditor.setEnabled(false, useLoginFromEditorComposite); + passwordEditor.setEnabled(false, useLoginFromEditorComposite); + } + } +} diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/preferencepages/IDatabasePreferenceConstants.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/preferencepages/IDatabasePreferenceConstants.java new file mode 100755 index 000000000..08e7d7da5 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/preferencepages/IDatabasePreferenceConstants.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle and Geensys. + * 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: + * Oracle and Geensys - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages; + +public interface IDatabasePreferenceConstants { + + String USE_LOGIN_FROM = "USE_LOGIN_FROM"; //$NON-NLS-1$ + String USE_LOGIN_FROM_PERSISTENCE_UNIT = "from_persistence_unit"; //$NON-NLS-1$ + String USE_LOGIN_FROM_USER_PREFERENCES = "from_user_preferences"; //$NON-NLS-1$ + String USE_LOGIN_FROM_DEFAULT = USE_LOGIN_FROM_PERSISTENCE_UNIT; + + String DATABASE_URL = "DATABASE_URL"; //$NON-NLS-1$ + String DATABASE_URL_DEFAULT = "jdbc:derby://localhost:1527/sample;create=true"; //$NON-NLS-1$ + + String JDBC_DRIVER = "JDBC_DRIVER"; //$NON-NLS-1$ + String JDBC_DRIVER_DEFAULT = "org.apache.derby.jdbc.ClientDriver"; //$NON-NLS-1$ + + String USER_NAME = "USER_NAME"; //$NON-NLS-1$ + String USER_NAME_DEFAULT = ""; //$NON-NLS-1$ + + String PASSWORD = "PASSWORD"; //$NON-NLS-1$ + String PASSWORD_DEFAULT = ""; //$NON-NLS-1$ +} diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/AbstractLoadModelFromDatabaseWizard.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/AbstractLoadModelFromDatabaseWizard.java new file mode 100755 index 000000000..aed743db4 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/AbstractLoadModelFromDatabaseWizard.java @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle and Geensys. + * 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: + * Oracle and Geensys - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.teneo.eclipselink.common.ui.wizards; + +import org.eclipse.emf.common.ui.URIEditorInput; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.teneo.eclipselink.common.ui.Activator; +import org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages.Messages; +import org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages.IDatabasePreferenceConstants; +import org.eclipse.emf.teneo.eclipselink.common.ui.wizards.pages.AbstractRootObjectAndModelEditorPage; +import org.eclipse.emf.teneo.eclipselink.common.ui.wizards.pages.BasicModelAndDatabaseAccessParametersPage; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; + +public abstract class AbstractLoadModelFromDatabaseWizard extends Wizard { + + protected BasicModelAndDatabaseAccessParametersPage modelAndDatabaseAccessParametersPage; + protected AbstractRootObjectAndModelEditorPage rootObjectAndModelEditorPage; + + public AbstractLoadModelFromDatabaseWizard() { + setWindowTitle(Messages.wizard_loadEMFModelFromDatabase_title); + } + + @Override + public void addPages() { + modelAndDatabaseAccessParametersPage = createModelAndDatabaseAccessParametersPage("Page1"); //$NON-NLS-1$ + modelAndDatabaseAccessParametersPage.setTitle(Messages.page_emfModelAndDatabase_title); + modelAndDatabaseAccessParametersPage.setDescription(Messages.page_emfModelAndDatabase_description); + addPage(modelAndDatabaseAccessParametersPage); + + rootObjectAndModelEditorPage = createRootObjectAndModelEditorPage("Page2"); //$NON-NLS-1$ + rootObjectAndModelEditorPage.setTitle(Messages.page_rootObjectAndEMFModelEditor_title); + rootObjectAndModelEditorPage.setDescription(Messages.page_rootObjectAndEMFModelEditor_description); + addPage(rootObjectAndModelEditorPage); + } + + @Override + public boolean performFinish() { + // update database settings in user preferences as far as required + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + store.setValue(IDatabasePreferenceConstants.USE_LOGIN_FROM, modelAndDatabaseAccessParametersPage + .getUseLoginFrom()); + if (IDatabasePreferenceConstants.USE_LOGIN_FROM_USER_PREFERENCES.equals(modelAndDatabaseAccessParametersPage + .getUseLoginFrom())) { + store.setValue(IDatabasePreferenceConstants.DATABASE_URL, modelAndDatabaseAccessParametersPage + .getDatabaseURL()); + store.setValue(IDatabasePreferenceConstants.JDBC_DRIVER, modelAndDatabaseAccessParametersPage + .getJDBCDriver()); + store.setValue(IDatabasePreferenceConstants.USER_NAME, modelAndDatabaseAccessParametersPage.getUserName()); + store.setValue(IDatabasePreferenceConstants.PASSWORD, modelAndDatabaseAccessParametersPage.getPassword()); + } + + // create database URI for selected root object + URI uri = createDatabaseURI(modelAndDatabaseAccessParametersPage.getPersistenceUnitName(), + rootObjectAndModelEditorPage.getRootObject()); + + // open editor on new database URI + IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + try { + page.openEditor(new URIEditorInput(uri), rootObjectAndModelEditorPage.getEditorId()); + } catch (PartInitException piex) { + MessageDialog.openError(workbenchWindow.getShell(), getWindowTitle(), piex.getMessage()); + return false; + } + + return true; + } + + protected abstract BasicModelAndDatabaseAccessParametersPage createModelAndDatabaseAccessParametersPage( + String pageName); + + protected abstract AbstractRootObjectAndModelEditorPage createRootObjectAndModelEditorPage(String pageName); + + protected abstract URI createDatabaseURI(String persistenceUnitName, EObject rootObject); +} diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/pages/AbstractRootObjectAndModelEditorPage.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/pages/AbstractRootObjectAndModelEditorPage.java new file mode 100755 index 000000000..df29a23f5 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/pages/AbstractRootObjectAndModelEditorPage.java @@ -0,0 +1,265 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle and Geensys. + * 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: + * Oracle and Geensys - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.teneo.eclipselink.common.ui.wizards.pages; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.QualifiedName; +import org.eclipse.core.runtime.Status; +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; +import org.eclipse.emf.teneo.eclipselink.common.ui.Activator; +import org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages.Messages; +import org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages.IDatabasePreferenceConstants; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +public abstract class AbstractRootObjectAndModelEditorPage extends WizardPage { + + protected static QualifiedName rootObjectName = new QualifiedName(Activator.getDefault().getBundle() + .getSymbolicName(), "rootObject"); //$NON-NLS-1$ + protected static QualifiedName editorIdName = new QualifiedName(Activator.getDefault().getBundle() + .getSymbolicName(), "editorId"); //$NON-NLS-1$ + + protected Combo rootObjectField; + protected Combo editorIdField; + + protected AdapterFactoryItemDelegator adapterFactoryItemDelegator; + protected List<EObject> rootObjectCandidates = new ArrayList<EObject>(); + + public AbstractRootObjectAndModelEditorPage(String pageName) { + super(pageName); + AdapterFactory adapterFactory = new ReflectiveItemProviderAdapterFactory(); + adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(adapterFactory); + } + + public EObject getRootObject() { + EObject result = null; + for (EObject eObject : rootObjectCandidates) { + String name = adapterFactoryItemDelegator.getText(eObject); + if (name.equals(rootObjectField.getText())) { + result = eObject; + } + } + return result; + } + + public String getEditorId() { + return editorIdField.getText(); + } + + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(new GridLayout(2, false)); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + new Label(composite, SWT.LEFT).setText(Messages.label_rootObject); + + rootObjectField = new Combo(composite, SWT.BORDER); + rootObjectField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + rootObjectField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + + EObject rootObject = getRootObject(); + if (rootObject != null) { + URI uri = createDatabaseURI(getTypedPreviousPage().getPersistenceUnitName(), rootObject); + setMessage(NLS.bind(Messages.message_loadsModelFromDatabaseUsingURI$0, uri)); + } + } + }); + + new Label(composite, SWT.LEFT).setText(Messages.label_editorID); + + editorIdField = new Combo(composite, SWT.BORDER); + editorIdField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + initEditorIdField(); + editorIdField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + setPageComplete(validatePage()); + setControl(composite); + } + + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + updateRootObjectField(); + } else { + persistWidgets(); + } + } + + @Override + public void dispose() { + persistWidgets(); + super.dispose(); + } + + protected void initEditorIdField() { + for (String editorId : getEditorIds()) { + editorIdField.add(editorId); + } + int index = 0; + try { + String lastEditorId = ResourcesPlugin.getWorkspace().getRoot().getPersistentProperty(editorIdName); + index = Arrays.asList(editorIdField.getItems()).indexOf(lastEditorId); + index = index != -1 ? index : 0; + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + editorIdField.select(index); + } + + protected void updateRootObjectField() { + rootObjectField.removeAll(); + + rootObjectCandidates = loadRootObjectCandidates(); + for (EObject eObject : rootObjectCandidates) { + String label = adapterFactoryItemDelegator.getText(eObject); + rootObjectField.add(label); + } + int index = 0; + try { + String lastRootObject = ResourcesPlugin.getWorkspace().getRoot().getPersistentProperty(rootObjectName); + index = Arrays.asList(rootObjectField.getItems()).indexOf(lastRootObject); + index = index != -1 ? index : 0; + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + rootObjectField.select(index); + } + + protected boolean validatePage() { + setErrorMessage(null); + if (isBlank(rootObjectField.getText())) { + setErrorMessage(Messages.error_rootObjectMissing); + return false; + } + if (!Arrays.asList(rootObjectField.getItems()).contains(rootObjectField.getText())) { + setErrorMessage(Messages.error_rootObjectMustBeExistingRootObjectCandidate); + return false; + } + if (isBlank(editorIdField.getText())) { + setErrorMessage(Messages.error_editorIDMissing); + return false; + } + if (!Arrays.asList(editorIdField.getItems()).contains(editorIdField.getText())) { + setErrorMessage(Messages.error_editorIDMustIdentifyExistingEditor); + return false; + } + return true; + } + + protected void persistWidgets() { + try { + ResourcesPlugin.getWorkspace().getRoot().setPersistentProperty(rootObjectName, rootObjectField.getText()); + ResourcesPlugin.getWorkspace().getRoot().setPersistentProperty(editorIdName, editorIdField.getText()); + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + } + + protected abstract URI createDatabaseURI(String persistenceUnitName, EClass eClass); + + protected abstract URI createDatabaseURI(String persistenceUnitName, EObject eObject); + + protected abstract Map<String, Object> getPersistenceUnitProperties(); + + protected abstract Map<String, Object> getDatabaseLoginOptionsFromPreviousPage(); + + protected boolean isBlank(String string) { + return string == null || string.trim().length() == 0; + } + + protected BasicModelAndDatabaseAccessParametersPage getTypedPreviousPage() { + return (BasicModelAndDatabaseAccessParametersPage) getPreviousPage(); + } + + protected List<EObject> loadRootObjectCandidates() { + List<EObject> result = new ArrayList<EObject>(); + EPackage ePackage = EPackage.Registry.INSTANCE.getEPackage(getTypedPreviousPage().getPackageNsURI()); + EClass eRootClass = (EClass) ePackage.getEClassifier(getTypedPreviousPage().getRootObjectTypeName()); + URI uri = createDatabaseURI(getTypedPreviousPage().getPersistenceUnitName(), eRootClass); + + ResourceSet resourceSet = new ResourceSetImpl(); + resourceSet.getLoadOptions().putAll(getPersistenceUnitProperties()); + if (IDatabasePreferenceConstants.USE_LOGIN_FROM_USER_PREFERENCES.equals(getTypedPreviousPage() + .getUseLoginFrom())) { + resourceSet.getLoadOptions().putAll(getDatabaseLoginOptionsFromPreviousPage()); + } + Resource resource = null; + try { + resource = resourceSet.getResource(uri, true); + EList<EObject> contents = resource.getContents(); + if (contents.size() > 0) { + result.addAll(contents); + } else { + setErrorMessage(NLS.bind(Messages.error_databaseContainsNo$0Objects, eRootClass.getName())); + } + } catch (Exception exception) { + setErrorMessage(Messages.error_failedToOpenDatabase); + Activator.getDefault().getLog().log( + new Status(IStatus.ERROR, Activator.PLUGIN_ID, exception.getMessage(), exception)); + } finally { + if (resource != null) { + resource.unload(); + } + } + + return result; + } + + protected List<String> getEditorIds() { + List<String> result = new ArrayList<String>(); + IExtensionRegistry registry = Platform.getExtensionRegistry(); + IConfigurationElement[] elements = registry.getConfigurationElementsFor("org.eclipse.ui.editors"); //$NON-NLS-1$ + if (elements != null) { + for (IConfigurationElement element : elements) { + String extensions = element.getAttribute("extensions"); //$NON-NLS-1$ + if (extensions != null && extensions.indexOf("database") != -1) { //$NON-NLS-1$ + result.add(element.getAttribute("id")); //$NON-NLS-1$ + } + } + } + return result; + } +} diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/pages/BasicModelAndDatabaseAccessParametersPage.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/pages/BasicModelAndDatabaseAccessParametersPage.java new file mode 100755 index 000000000..07add6064 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.common.ui/src/org/eclipse/emf/teneo/eclipselink/common/ui/wizards/pages/BasicModelAndDatabaseAccessParametersPage.java @@ -0,0 +1,453 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle and Geensys. + * 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: + * Oracle and Geensys - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.teneo.eclipselink.common.ui.wizards.pages; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.QualifiedName; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.teneo.eclipselink.common.ui.Activator; +import org.eclipse.emf.teneo.eclipselink.common.ui.internal.messages.Messages; +import org.eclipse.emf.teneo.eclipselink.common.ui.preferencepages.IDatabasePreferenceConstants; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; + +public class BasicModelAndDatabaseAccessParametersPage extends WizardPage { + + protected static QualifiedName packageNsURIName = new QualifiedName(Activator.getDefault().getBundle() + .getSymbolicName(), "packageNsURI"); //$NON-NLS-1$ + protected static QualifiedName rootObjectTypeName = new QualifiedName(Activator.getDefault().getBundle() + .getSymbolicName(), "rootObjectType"); //$NON-NLS-1$ + protected static QualifiedName persistenceUnitNameName = new QualifiedName(Activator.getDefault().getBundle() + .getSymbolicName(), "persistenceUnitName"); //$NON-NLS-1$ + + protected Combo packageNsURIField; + protected Combo rootObjectTypeField; + protected Combo persistenceUnitNameField; + + protected Button useLoginFromPersistenceUnitButton; + protected Button useLoginFromUserPreferencesButton; + private Label databaseURLLabel; + protected Combo databaseURLField; + private Label jdbcDriverLabel; + protected Combo jdbcDriverField; + private Label userNameLabel; + protected Text userNameField; + private Label passwordLabel; + protected Text passwordField; + + public BasicModelAndDatabaseAccessParametersPage(String pageName) { + super(pageName); + } + + public String getPackageNsURI() { + return packageNsURIField.getText(); + } + + public String getRootObjectTypeName() { + return rootObjectTypeField.getText(); + } + + public String getPersistenceUnitName() { + return persistenceUnitNameField.getText(); + } + + public String getUseLoginFrom() { + String result; + if (useLoginFromUserPreferencesButton.getSelection()) { + result = IDatabasePreferenceConstants.USE_LOGIN_FROM_USER_PREFERENCES; + } else { + result = IDatabasePreferenceConstants.USE_LOGIN_FROM_PERSISTENCE_UNIT; + } + return result; + } + + public String getDatabaseURL() { + return databaseURLField.getText(); + } + + public String getJDBCDriver() { + return jdbcDriverField.getText(); + } + + public String getUserName() { + return userNameField.getText(); + } + + public String getPassword() { + return passwordField.getText(); + } + + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(new GridLayout()); + composite.setLayoutData(new GridData(GridData.FILL_BOTH)); + + createModelAndPersistenceUnitGroup(composite); + createDatabaseLoginGroup(composite); + + setPageComplete(validatePage()); + setControl(composite); + } + + private void createModelAndPersistenceUnitGroup(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(new GridLayout(2, false)); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + // create Ecore package namespace URI selection widgets + new Label(composite, SWT.LEFT).setText(Messages.label_packageNamespaceURI); + + packageNsURIField = new Combo(composite, SWT.BORDER); + packageNsURIField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + initPackageNsURIField(); + packageNsURIField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + updateRootObjectTypeField(); + setPageComplete(validatePage()); + } + }); + + // create root object type selection widgets + new Label(composite, SWT.LEFT).setText(Messages.label_rootObjectType); + + rootObjectTypeField = new Combo(composite, SWT.BORDER); + rootObjectTypeField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + rootObjectTypeField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + // create persistence unit name selection widgets + new Label(composite, SWT.LEFT).setText(Messages.label_persistenceUnitName); + + persistenceUnitNameField = new Combo(composite, SWT.BORDER); + persistenceUnitNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + initPersistenceUnitNameField(); + persistenceUnitNameField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + updateRootObjectTypeField(); + } + + private void createDatabaseLoginGroup(Composite parent) { + Group group = new Group(parent, SWT.NONE); + group.setText(Messages.group_databaseLogin); + group.setLayout(new GridLayout(2, false)); + group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + // create use login from selection widgets + useLoginFromPersistenceUnitButton = new Button(group, SWT.RADIO); + useLoginFromPersistenceUnitButton.setText(Messages.button_fromPersistenceUnit); + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.horizontalSpan = 2; + useLoginFromPersistenceUnitButton.setLayoutData(gridData); + useLoginFromUserPreferencesButton = new Button(group, SWT.RADIO); + useLoginFromUserPreferencesButton.setText(Messages.button_fromUserPreferences); + gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.horizontalSpan = 2; + useLoginFromUserPreferencesButton.setLayoutData(gridData); + initUseLoginFromButtons(); + useLoginFromUserPreferencesButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent event) { + updateDatabaseLoginFields(); + setPageComplete(validatePage()); + } + }); + + // create database URL selection widgets + databaseURLLabel = new Label(group, SWT.LEFT); + databaseURLLabel.setText(Messages.label_DatabaseURL); + + databaseURLField = new Combo(group, SWT.BORDER); + databaseURLField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + initDatabaseURLField(); + databaseURLField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + // create JDBC driver selection widgets + jdbcDriverLabel = new Label(group, SWT.LEFT); + jdbcDriverLabel.setText(Messages.label_jdbcDriver); + + jdbcDriverField = new Combo(group, SWT.BORDER); + jdbcDriverField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + initJDBCDriverField(); + jdbcDriverField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + // create user name widgets + userNameLabel = new Label(group, SWT.LEFT); + userNameLabel.setText(Messages.label_userName); + + userNameField = new Text(group, SWT.BORDER); + userNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + userNameField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + // create password name widgets + passwordLabel = new Label(group, SWT.LEFT); + passwordLabel.setText(Messages.label_password); + + passwordField = new Text(group, SWT.BORDER); + passwordField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + passwordField.setEchoChar('*'); + passwordField.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }); + + updateDatabaseLoginFields(); + } + + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (!visible) { + persistWidgets(); + } + } + + protected void initPackageNsURIField() { + for (String nsURI : getModelNsURIs()) { + packageNsURIField.add(nsURI); + } + int index = 0; + try { + String lastPackageNsURI = ResourcesPlugin.getWorkspace().getRoot().getPersistentProperty(packageNsURIName); + index = Arrays.asList(packageNsURIField.getItems()).indexOf(lastPackageNsURI); + index = index != -1 ? index : 0; + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + packageNsURIField.select(index); + } + + protected void initPersistenceUnitNameField() { + for (String name : getPersistenceUnitNames()) { + persistenceUnitNameField.add(name); + } + int index = 0; + try { + String lastPersistenceUnitName = ResourcesPlugin.getWorkspace().getRoot().getPersistentProperty( + persistenceUnitNameName); + index = Arrays.asList(persistenceUnitNameField.getItems()).indexOf(lastPersistenceUnitName); + index = index != -1 ? index : 0; + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + persistenceUnitNameField.select(index); + } + + protected void initUseLoginFromButtons() { + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + String useLoginFrom = store.getString(IDatabasePreferenceConstants.USE_LOGIN_FROM); + useLoginFromPersistenceUnitButton.setSelection(IDatabasePreferenceConstants.USE_LOGIN_FROM_PERSISTENCE_UNIT + .equals(useLoginFrom)); + useLoginFromUserPreferencesButton.setSelection(IDatabasePreferenceConstants.USE_LOGIN_FROM_USER_PREFERENCES + .equals(useLoginFrom)); + } + + protected void initDatabaseURLField() { + databaseURLField.add("jdbc:derby://localhost:1527/sample;create=true"); //$NON-NLS-1$ + databaseURLField.add("jdbc:oracle:thin:@localhost:1521:XE"); //$NON-NLS-1$ + databaseURLField.add("jdbc:oracle:thin:@localhost:1521:ORCL"); //$NON-NLS-1$ + } + + protected void initJDBCDriverField() { + jdbcDriverField.add("org.apache.derby.jdbc.ClientDriver"); //$NON-NLS-1$ + jdbcDriverField.add("oracle.jdbc.OracleDriver"); //$NON-NLS-1$ + jdbcDriverField.add("com.mysql.jdbc.Driver"); //$NON-NLS-1$ + } + + protected void updateRootObjectTypeField() { + rootObjectTypeField.removeAll(); + + for (String name : getModelObjectTypeNames(packageNsURIField.getText())) { + rootObjectTypeField.add(name); + } + int index = 0; + try { + String lastRootObjectType = ResourcesPlugin.getWorkspace().getRoot().getPersistentProperty( + rootObjectTypeName); + index = Arrays.asList(rootObjectTypeField.getItems()).indexOf(lastRootObjectType); + index = index != -1 ? index : 0; + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + rootObjectTypeField.select(index); + } + + protected void updateDatabaseLoginFields() { + + if (useLoginFromUserPreferencesButton.getSelection()) { + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + databaseURLField.setText(store.getString(IDatabasePreferenceConstants.DATABASE_URL)); + jdbcDriverField.setText(store.getString(IDatabasePreferenceConstants.JDBC_DRIVER)); + userNameField.setText(store.getString(IDatabasePreferenceConstants.USER_NAME)); + passwordField.setText(store.getString(IDatabasePreferenceConstants.PASSWORD)); + + databaseURLLabel.setEnabled(true); + databaseURLField.setEnabled(true); + jdbcDriverLabel.setEnabled(true); + jdbcDriverField.setEnabled(true); + userNameLabel.setEnabled(true); + userNameField.setEnabled(true); + passwordLabel.setEnabled(true); + passwordField.setEnabled(true); + } else { + updateDatabaseLoginFieldsFromPersistenceUnit(); + + databaseURLLabel.setEnabled(false); + databaseURLField.setEnabled(false); + jdbcDriverLabel.setEnabled(false); + jdbcDriverField.setEnabled(false); + userNameLabel.setEnabled(false); + userNameField.setEnabled(false); + passwordLabel.setEnabled(false); + passwordField.setEnabled(false); + } + } + + protected boolean validatePage() { + setErrorMessage(null); + if (isBlank(packageNsURIField.getText())) { + setErrorMessage(Messages.error_packageNamespaceURIMissing); + return false; + } + if (!Arrays.asList(packageNsURIField.getItems()).contains(packageNsURIField.getText())) { + setErrorMessage(Messages.error_packageNamespaceURIMustIdentifyExistingEcorePackage); + return false; + } + if (isBlank(rootObjectTypeField.getText())) { + setErrorMessage(Messages.error_rootObjectTypeMissing); + return false; + } + if (!Arrays.asList(rootObjectTypeField.getItems()).contains(rootObjectTypeField.getText())) { + setErrorMessage(NLS.bind(Messages.error_rootObjectMustBeInEcorePackage$0, packageNsURIField.getText())); + return false; + } + if (isBlank(persistenceUnitNameField.getText())) { + setErrorMessage(Messages.error_persistenceUnitNameMissing); + return false; + } + if (!Arrays.asList(persistenceUnitNameField.getItems()).contains(persistenceUnitNameField.getText())) { + setErrorMessage(Messages.error_persistenceUnitNameMustIdentifyExistingPersistenceUnit); + return false; + } + if (useLoginFromUserPreferencesButton != null && useLoginFromUserPreferencesButton.getSelection()) { + if (isBlank(databaseURLField.getText())) { + setErrorMessage(Messages.error_databaseURLMissing); + return false; + } + if (isBlank(jdbcDriverField.getText())) { + setErrorMessage(Messages.error_jdbcDriverMissing); + return false; + } + if (isBlank(userNameField.getText())) { + setErrorMessage(Messages.error_userNameMissing); + return false; + } + if (isBlank(passwordField.getText())) { + setErrorMessage(Messages.error_passwordMissing); + return false; + } + } + return true; + } + + protected void persistWidgets() { + try { + ResourcesPlugin.getWorkspace().getRoot().setPersistentProperty(packageNsURIName, + packageNsURIField.getText()); + ResourcesPlugin.getWorkspace().getRoot().setPersistentProperty(rootObjectTypeName, + rootObjectTypeField.getText()); + ResourcesPlugin.getWorkspace().getRoot().setPersistentProperty(persistenceUnitNameName, + persistenceUnitNameField.getText()); + } catch (CoreException cex) { + Activator.getDefault().getLog().log(cex.getStatus()); + } + } + + protected Set<String> getPersistenceUnitNames() { + return Collections.emptySet(); + } + + protected void updateDatabaseLoginFieldsFromPersistenceUnit() { + databaseURLField.setText(""); //$NON-NLS-1$ + jdbcDriverField.setText(""); //$NON-NLS-1$ + userNameField.setText(""); //$NON-NLS-1$ + passwordField.setText(""); //$NON-NLS-1$ + } + + protected boolean isBlank(String string) { + return string == null || string.trim().length() == 0; + } + + protected List<String> getModelNsURIs() { + List<String> result = new ArrayList<String>(EPackage.Registry.INSTANCE.keySet()); + Collections.sort(result, java.text.Collator.getInstance()); + return result; + } + + protected List<String> getModelObjectTypeNames(String nsURI) { + List<String> result = new ArrayList<String>(); + EPackage ePackage = EPackage.Registry.INSTANCE.getEPackage(nsURI); + if (ePackage != null) { + for (EClassifier eClassifier : ePackage.getEClassifiers()) { + if (eClassifier instanceof EClass) { + EClass eClass = (EClass) eClassifier; + if (!eClass.isAbstract()) { + result.add(eClass.getName()); + } + } + } + } + Collections.sort(result, java.text.Collator.getInstance()); + return result; + } +} |