diff options
author | Eike Stepper | 2012-06-11 17:26:02 +0000 |
---|---|---|
committer | Eike Stepper | 2012-06-11 17:26:02 +0000 |
commit | db5ea347d0c2daa6751393da9f005531845b86ce (patch) | |
tree | bc11470480dbdc31ab5b6a7fd2b6947d11ba9df8 | |
parent | e14126c827d9333146f95b039e05b345c7dfca74 (diff) | |
download | cdo-db5ea347d0c2daa6751393da9f005531845b86ce.tar.gz cdo-db5ea347d0c2daa6751393da9f005531845b86ce.tar.xz cdo-db5ea347d0c2daa6751393da9f005531845b86ce.zip |
[382278] Provide Net4j example installers
https://bugs.eclipse.org/bugs/show_bug.cgi?id=382278
521 files changed, 39046 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.examples.installer/.classpath b/plugins/org.eclipse.net4j.examples.installer/.classpath new file mode 100644 index 0000000000..c83506765b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/.project b/plugins/org.eclipse.net4j.examples.installer/.project new file mode 100644 index 0000000000..4f65191249 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.examples.installer</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..90b20414ac --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:57:50 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..e05bd49a20 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..458319cb24 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/META-INF/MANIFEST.MF @@ -0,0 +1,11 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.net4j.examples.installer;singleton:=true +Bundle-Version: 4.1.0.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.emf.common.ui;bundle-version="[2.5.0,3.0.0)" diff --git a/plugins/org.eclipse.net4j.examples.installer/Update Net4j Example Installers.launch b/plugins/org.eclipse.net4j.examples.installer/Update Net4j Example Installers.launch new file mode 100644 index 0000000000..3b62a35f70 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/Update Net4j Example Installers.launch @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType"> +<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/> +<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/org.eclipse.emf.cdo.examples.installer" type="4"/> <item path="/org.eclipse.emf.cdo.examples.installer.client" type="4"/> <item path="/org.eclipse.emf.cdo.examples.installer.clone" type="4"/> <item path="/org.eclipse.emf.cdo.examples.installer.master" type="4"/> <item path="/org.eclipse.net4j.examples.installer" type="4"/> </resources>}"/> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/org.eclipse.net4j.examples.installer/update.ant"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.ui.externaltools.launchGroup"/> +</listAttribute> +<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_31"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.launching.remote.InternalAntRunner"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.net4j.examples.installer"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.net4j.examples.installer/update.ant}"/> +<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/about.html b/plugins/org.eclipse.net4j.examples.installer/about.html new file mode 100644 index 0000000000..f2decc3a0d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/about.html @@ -0,0 +1,70 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("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> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> + + <head> + + <meta content="text/html; charset=ISO-8859-1" + http-equiv="Content-Type"/> + + <title>About</title> + + </head> + + <body lang="EN-US"> + + <h2>About This Content</h2> + + <p>May 17, 2007</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.</p> + + </body> + +</html> + diff --git a/plugins/org.eclipse.net4j.examples.installer/build.properties b/plugins/org.eclipse.net4j.examples.installer/build.properties new file mode 100644 index 0000000000..c88c83f06f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/build.properties @@ -0,0 +1,24 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +bin.includes = META-INF/,\ + plugin.properties,\ + about.html,\ + copyright.txt,\ + examples/,\ + plugin.xml,\ + icons/ +src.includes = about.html,\ + copyright.txt,\ + Update Net4j Example Installers.launch,\ + update.ant + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.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 kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.options b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.options new file mode 100644 index 0000000000..497a5c463f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.buddies.chat.ui/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.project b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.project new file mode 100644 index 0000000000..3a31d916a0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.buddies.chat.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> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..6e65a3ac61 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:53:43 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..9cf8670416 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.buddies.chat.ui;singleton:=true +Bundle-Version: 4.0.100.qualifier +Bundle-Activator: org.eclipse.net4j.buddies.chat.internal.ui.bundle.OM$Activator +Bundle-Vendor: %providerName +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.buddies.ui;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.buddies.chat;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.ui;bundle-version="[4.0.0,5.0.0)", + org.eclipse.net4j.ui.shared;bundle-version="[4.0.0,5.0.0)" +Export-Package: org.eclipse.net4j.buddies.chat.internal.ui;version="4.0.100", + org.eclipse.net4j.buddies.chat.internal.ui.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.chat.internal.ui.messages;version="4.0.100";x-internal:=true +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/build.properties new file mode 100644 index 0000000000..6e23842920 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/build.properties @@ -0,0 +1,24 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + .options,\ + about.html,\ + copyright.txt +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/plugin.properties new file mode 100644 index 0000000000..e0bb419787 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Buddies Chat UI +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/plugin.xml b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/plugin.xml new file mode 100644 index 0000000000..3773c1fc44 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/plugin.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> + +<plugin> + + <extension + point="org.eclipse.net4j.buddies.ui.facilityPaneCreators"> + <facilityPaneCreator + class="org.eclipse.net4j.buddies.chat.internal.ui.ChatPaneCreator" + icon="platform:/plugin/org.eclipse.net4j.ui.shared/icons/full/obj16/chat.gif" + type="chat"/> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/ChatPane.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/ChatPane.java new file mode 100644 index 0000000000..a47ebf2f6f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/ChatPane.java @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat.internal.ui; + +import org.eclipse.net4j.buddies.chat.IChat; +import org.eclipse.net4j.buddies.chat.IComment; +import org.eclipse.net4j.buddies.chat.internal.ui.messages.Messages; +import org.eclipse.net4j.buddies.internal.chat.CommentEvent; +import org.eclipse.net4j.buddies.internal.ui.views.CollaborationsPane; +import org.eclipse.net4j.buddies.internal.ui.views.FacilityPane; +import org.eclipse.net4j.ui.shared.SharedIcons; +import org.eclipse.net4j.util.StringUtil; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.ui.actions.SafeAction; +import org.eclipse.net4j.util.ui.widgets.SashComposite; + +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Text; + +/** + * @author Eike Stepper + */ +public class ChatPane extends FacilityPane +{ + private SashComposite sashComposite; + + private Text input; + + private Text output; + + public ChatPane(CollaborationsPane collaborationsPane, int style) + { + super(collaborationsPane, style); + } + + @Override + protected void handleEvent(IEvent event) throws Exception + { + if (event instanceof CommentEvent) + { + CommentEvent e = (CommentEvent)event; + IComment comment = e.getComment(); + String text = comment.getText(); + output.append(comment.getSenderID() + ": " + text + StringUtil.NL); //$NON-NLS-1$ + } + } + + @Override + protected Control createUI(Composite parent) + { + sashComposite = new SashComposite(parent, SWT.NONE, 16, 80) + { + @Override + protected Control createControl1(Composite parent) + { + output = new Text(parent, SWT.MULTI); + return output; + } + + @Override + protected Control createControl2(Composite parent) + { + input = new Text(parent, SWT.MULTI); + input.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent e) + { + if ((e.character == SWT.CR || e.character == SWT.LF) && e.stateMask == 0) + { + ((IChat)getFacility()).sendComment(input.getText()); + input.setText(""); //$NON-NLS-1$ + e.doit = false; + } + } + }); + + return input; + } + }; + + sashComposite.setVertical(true); + return sashComposite; + } + + @Override + protected void fillCoolBar(IContributionManager manager) + { + manager.add(new SafeAction(Messages.getString("ChatPane.2"), Messages.getString("ChatPane.3"), SharedIcons //$NON-NLS-1$ //$NON-NLS-2$ + .getDescriptor(SharedIcons.ETOOL_VERTICAL)) + { + @Override + protected void safeRun() throws Exception + { + sashComposite.setVertical(true); + } + }); + + manager.add(new SafeAction(Messages.getString("ChatPane.4"), Messages.getString("ChatPane.5"), SharedIcons //$NON-NLS-1$ //$NON-NLS-2$ + .getDescriptor(SharedIcons.ETOOL_HORIZONTAL)) + { + @Override + protected void safeRun() throws Exception + { + sashComposite.setVertical(false); + } + }); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/ChatPaneCreator.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/ChatPaneCreator.java new file mode 100644 index 0000000000..200501b041 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/ChatPaneCreator.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat.internal.ui; + +import org.eclipse.net4j.buddies.chat.IChat; +import org.eclipse.net4j.buddies.internal.ui.views.CollaborationsPane; +import org.eclipse.net4j.buddies.internal.ui.views.FacilityPane; +import org.eclipse.net4j.buddies.ui.IFacilityPaneCreator; +import org.eclipse.net4j.ui.shared.SharedIcons; + +import org.eclipse.jface.resource.ImageDescriptor; + +/** + * @author Eike Stepper + */ +public class ChatPaneCreator implements IFacilityPaneCreator +{ + public ChatPaneCreator() + { + } + + public String getType() + { + return IChat.TYPE; + } + + public ImageDescriptor getImageDescriptor() + { + return SharedIcons.getDescriptor(SharedIcons.OBJ_CHAT); + } + + public FacilityPane createPane(CollaborationsPane collaborationsPane, int style) + { + return new ChatPane(collaborationsPane, style); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/bundle/OM.java new file mode 100644 index 0000000000..31b045b5e0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/bundle/OM.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat.internal.ui.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; +import org.eclipse.net4j.util.ui.UIActivator; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.buddies.chat.ui"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends UIActivator + { + public static Activator INSTANCE; + + public Activator() + { + super(BUNDLE); + INSTANCE = this; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/messages/Messages.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/messages/Messages.java new file mode 100644 index 0000000000..1e2a08cdc1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/messages/Messages.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Victor Roldan Betancort - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.net4j.buddies.chat.internal.ui.messages; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * @author Victor Roldan Betancort + */ +public class Messages +{ + private static final String BUNDLE_NAME = "org.eclipse.net4j.buddies.chat.internal.ui.messages.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/messages/messages.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/messages/messages.properties new file mode 100644 index 0000000000..d6582f39bc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat.ui/src/org/eclipse/net4j/buddies/chat/internal/ui/messages/messages.properties @@ -0,0 +1,14 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Victor Roldan Betancort - initial API and implementation +# Eike Stepper - maintenance + +ChatPane.2=Vertical Layout +ChatPane.3=Vertical Layout +ChatPane.4=Horizontal Layout +ChatPane.5=Horizontal Layout diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.options b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.options new file mode 100644 index 0000000000..1b6c9cb649 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.buddies.chat/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.project b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.project new file mode 100644 index 0000000000..0f1368c402 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.buddies.chat</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..2e8471f207 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:54:17 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..ad09c12c26 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.buddies.chat;singleton:=true +Bundle-Version: 4.0.100.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-Activator: org.eclipse.net4j.buddies.internal.chat.bundle.OM$Activator +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.buddies.common;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Export-Package: org.eclipse.net4j.buddies.chat;version="4.0.100", + org.eclipse.net4j.buddies.internal.chat;version="4.0.100", + org.eclipse.net4j.buddies.internal.chat.bundle;version="4.0.100";x-internal:=true +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.ini b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.ini new file mode 100644 index 0000000000..b7e87ca285 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.ini @@ -0,0 +1,15 @@ +# 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 + diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.mappings b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.mappings new file mode 100644 index 0000000000..bddaab4310 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.properties new file mode 100644 index 0000000000..f116ab5dbf --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/about.properties @@ -0,0 +1,31 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# 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. +# ============================================================================== + +featureName = Net4j Buddies Chat +featureText = Net4j Buddies Chat\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. All rights reserved.\n\ +\n\ +Visit http://wiki.eclipse.org/Net4j + +# ============================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# The above properties have been shipped for translation. +# ============================================================================== diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/build.properties new file mode 100644 index 0000000000..7fc5e88ba9 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/build.properties @@ -0,0 +1,29 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +bin.includes = .,\ + META-INF/,\ + plugin.properties,\ + .options,\ + about.html,\ + copyright.txt,\ + plugin.xml,\ + about.ini,\ + about.mappings,\ + about.properties,\ + modeling32.png +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/modeling32.png b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/modeling32.png Binary files differnew file mode 100644 index 0000000000..6b08de2ada --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/modeling32.png diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/plugin.properties new file mode 100644 index 0000000000..88a1f16582 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Buddies Chat +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/plugin.xml b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/plugin.xml new file mode 100644 index 0000000000..06cc6db4dc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/plugin.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> + +<plugin> + + <extension + point="org.eclipse.net4j.util.factories"> + <factory + class="org.eclipse.net4j.buddies.internal.chat.ChatFactory" + productGroup="org.eclipse.net4j.buddies.clientFacilities" + type="chat"/> + <factory + class="org.eclipse.net4j.buddies.internal.chat.ChatRoomFactory" + productGroup="org.eclipse.net4j.buddies.serverFacilities" + type="chat"/> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IChat.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IChat.java new file mode 100644 index 0000000000..258db7ca21 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IChat.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat; + +import org.eclipse.net4j.buddies.common.IFacility; + +/** + * @author Eike Stepper + */ +public interface IChat extends IFacility +{ + public static final String TYPE = "chat"; //$NON-NLS-1$ + + public IComment[] getComments(); + + public void sendComment(String text); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java new file mode 100644 index 0000000000..e0c239caa4 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IChatRoom.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat; + +/** + * @author Eike Stepper + */ +public interface IChatRoom extends IChat +{ +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IComment.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IComment.java new file mode 100644 index 0000000000..08144701dd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/IComment.java @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat; + +/** + * @author Eike Stepper + */ +public interface IComment +{ + public long getReceiveTime(); + + public String getSenderID(); + + public String getText(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/ICommentEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/ICommentEvent.java new file mode 100644 index 0000000000..5c5943bc01 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/chat/ICommentEvent.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.chat; + +import org.eclipse.net4j.util.event.IEvent; + +/** + * @author Eike Stepper + */ +public interface ICommentEvent extends IEvent +{ + /** + * @since 3.0 + */ + public IChat getSource(); + + public IComment getComment(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/Chat.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/Chat.java new file mode 100644 index 0000000000..6f75253a0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/Chat.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.chat.IChat; +import org.eclipse.net4j.buddies.chat.IComment; +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.buddies.spi.common.Facility; +import org.eclipse.net4j.util.event.IListener; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Eike Stepper + */ +public class Chat extends Facility implements IChat +{ + private List<IComment> comments = new ArrayList<IComment>(); + + public Chat() + { + super(TYPE); + } + + public IComment[] getComments() + { + synchronized (comments) + { + return comments.toArray(new IComment[comments.size()]); + } + } + + public void sendComment(String text) + { + TextMessage message = new TextMessage(text); + sendMessage(message); + addComment(message.getSenderID(), text); + } + + @Override + public void handleMessage(IMessage message) + { + if (message instanceof TextMessage) + { + addComment(message.getSenderID(), ((TextMessage)message).getText()); + } + } + + protected void addComment(String senderID, String text) + { + Comment comment = new Comment(System.currentTimeMillis(), senderID, text); + synchronized (comments) + { + comments.add(comment); + } + + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new CommentEvent(this, comment), listeners); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatFactory.java new file mode 100644 index 0000000000..f22be39d81 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatFactory.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.chat.IChat; +import org.eclipse.net4j.buddies.spi.common.ClientFacilityFactory; +import org.eclipse.net4j.util.factory.ProductCreationException; + +/** + * @author Eike Stepper + */ +public class ChatFactory extends ClientFacilityFactory +{ + public ChatFactory() + { + super(IChat.TYPE); + } + + public Chat create(String description) throws ProductCreationException + { + return new Chat(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatRoom.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatRoom.java new file mode 100644 index 0000000000..d1325ccdaa --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatRoom.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.chat.IChatRoom; +import org.eclipse.net4j.buddies.common.IMessage; + +/** + * @author Eike Stepper + */ +public class ChatRoom extends Chat implements IChatRoom +{ + public ChatRoom() + { + } + + @Override + public void sendComment(String text) + { + throw new UnsupportedOperationException(); + } + + @Override + public void handleMessage(IMessage message) + { + sendMessage(message); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatRoomFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatRoomFactory.java new file mode 100644 index 0000000000..4676e76799 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/ChatRoomFactory.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.spi.common.ServerFacilityFactory; +import org.eclipse.net4j.util.factory.ProductCreationException; + +/** + * @author Eike Stepper + */ +public class ChatRoomFactory extends ServerFacilityFactory +{ + public static final String TYPE = "chat"; //$NON-NLS-1$ + + public ChatRoomFactory() + { + super(TYPE); + } + + public ChatRoom create(String description) throws ProductCreationException + { + return new ChatRoom(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/Comment.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/Comment.java new file mode 100644 index 0000000000..a56fa81eb3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/Comment.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.chat.IComment; + +import java.io.Serializable; + +/** + * @author Eike Stepper + */ +public class Comment implements IComment, Serializable +{ + private static final long serialVersionUID = 1L; + + private long receiveTime; + + private String senderID; + + private String text; + + public Comment(long receiveTime, String senderID, String text) + { + this.receiveTime = receiveTime; + this.senderID = senderID; + this.text = text; + } + + public long getReceiveTime() + { + return receiveTime; + } + + public String getSenderID() + { + return senderID; + } + + public String getText() + { + return text; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/CommentEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/CommentEvent.java new file mode 100644 index 0000000000..6045ff4204 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/CommentEvent.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.chat.IChat; +import org.eclipse.net4j.buddies.chat.IComment; +import org.eclipse.net4j.buddies.chat.ICommentEvent; +import org.eclipse.net4j.util.event.Event; + +/** + * @author Eike Stepper + */ +public class CommentEvent extends Event implements ICommentEvent +{ + private static final long serialVersionUID = 1L; + + private IComment comment; + + public CommentEvent(IChat chat, IComment comment) + { + super(chat); + this.comment = comment; + } + + /** + * @since 3.0 + */ + @Override + public IChat getSource() + { + return (IChat)super.getSource(); + } + + public IComment getComment() + { + return comment; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/TextMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/TextMessage.java new file mode 100644 index 0000000000..8f74e4624e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/TextMessage.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat; + +import org.eclipse.net4j.buddies.spi.common.Message; + +/** + * @author Eike Stepper + */ +public class TextMessage extends Message +{ + private static final long serialVersionUID = 1L; + + private String text; + + public TextMessage(String text) + { + this.text = encode(text); + } + + protected TextMessage() + { + } + + public String getText() + { + return decode(text); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/bundle/OM.java new file mode 100644 index 0000000000..7a19b9a749 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.chat/src/org/eclipse/net4j/buddies/internal/chat/bundle/OM.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.chat.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.buddies.chat"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.options b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.options new file mode 100644 index 0000000000..d5862c214b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.buddies.common/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.project b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.project new file mode 100644 index 0000000000..1afa56bf3e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.buddies.common</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/.api_filters b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/.api_filters new file mode 100644 index 0000000000..82f488a67a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/.api_filters @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<component id="org.eclipse.net4j.buddies.common" version="2"> + <resource path="src/org/eclipse/net4j/buddies/spi/common/Facility.java" type="org.eclipse.net4j.buddies.spi.common.Facility"> + <filter id="643842064"> + <message_arguments> + <message_argument value="Collaboration"/> + <message_argument value="Facility"/> + <message_argument value="getCollaboration()"/> + </message_arguments> + </filter> + </resource> +</component> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..616547b21d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 13:04:16 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..3551fe6f8f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.buddies.common +Bundle-Version: 4.0.100.qualifier +Bundle-Vendor: %providerName +Bundle-Activator: org.eclipse.net4j.buddies.internal.common.bundle.OM$Activator +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)";resolution:=optional +Export-Package: org.eclipse.net4j.buddies.common;version="4.0.100", + org.eclipse.net4j.buddies.internal.common;version="4.0.100";x-friends:="org.eclipse.net4j.buddies,org.eclipse.net4j.buddies.server,org.eclipse.net4j.buddies.ui", + org.eclipse.net4j.buddies.internal.common.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.internal.common.protocol;version="4.0.100";x-friends:="org.eclipse.net4j.buddies,org.eclipse.net4j.buddies.server", + org.eclipse.net4j.buddies.spi.common;version="4.0.100" +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/build.properties new file mode 100644 index 0000000000..69ee21b801 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/build.properties @@ -0,0 +1,23 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + about.html,\ + copyright.txt,\ + plugin.properties,\ + .options +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/plugin.properties new file mode 100644 index 0000000000..6a97195fc0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Buddies Common +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IAccount.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IAccount.java new file mode 100644 index 0000000000..78e472fdf5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IAccount.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.security.IUserAware; + +import java.util.Map; + +/** + * @author Eike Stepper + */ +public interface IAccount extends IUserAware +{ + public void setPassword(String password); + + public boolean authenticate(String password); + + public Map<String, String> getProperties(); + + public void touch(); + + public long getTimeStamp(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddy.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddy.java new file mode 100644 index 0000000000..303c2a65b0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddy.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.security.IUserAware; + +import org.eclipse.core.runtime.IAdaptable; + +import java.util.Collection; +import java.util.Set; + +/** + * @author Eike Stepper + */ +public interface IBuddy extends IUserAware, IMembershipContainer, ICollaborationProvider, IAdaptable +{ + public State getState(); + + public IAccount getAccount(); + + public ISession getSession(); + + public Set<String> getFacilityTypes(); + + public IMembership initiate(); + + public IMembership initiate(IBuddy buddy); + + public IMembership[] initiate(Collection<IBuddy> buddies); + + public IMembership join(long collaborationID); + + public IMembership join(Object invitationToken); + + /** + * @author Eike Stepper + */ + public enum State + { + AVAILABLE, LONESOME, AWAY, DO_NOT_DISTURB + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyContainer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyContainer.java new file mode 100644 index 0000000000..1dda8a8a97 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyContainer.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.container.IContainer; + +/** + * @author Eike Stepper + */ +public interface IBuddyContainer extends IBuddyProvider, IContainer<IBuddy> +{ +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyProvider.java new file mode 100644 index 0000000000..ca81e2d12c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyProvider.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +/** + * @author Eike Stepper + */ +public interface IBuddyProvider +{ + public IBuddy[] getBuddies(); + + public IBuddy getBuddy(String userID); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyStateEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyStateEvent.java new file mode 100644 index 0000000000..ca2cd1a18f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IBuddyStateEvent.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.event.IEvent; + +/** + * @author Eike Stepper + */ +public interface IBuddyStateEvent extends IEvent +{ + /** + * @since 3.0 + */ + public IBuddy getSource(); + + public IBuddy.State getOldState(); + + public IBuddy.State getNewState(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaboration.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaboration.java new file mode 100644 index 0000000000..63dc42346b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaboration.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.core.runtime.IAdaptable; + +/** + * @author Eike Stepper + */ +public interface ICollaboration extends IMembershipContainer, IBuddyProvider, IAdaptable +{ + public long getID(); + + public String getTitle(); + + public String getDescription(); + + public Visibility getVisibility(); + + public boolean isPublic(); + + public void setPublic(String title, String description); + + public void setPrivate(); + + public String[] getFacilityTypes(); + + public IFacility[] getFacilities(); + + public IFacility getFacility(String type); + + public enum Visibility + { + PRIVATE, PUBLIC + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaborationContainer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaborationContainer.java new file mode 100644 index 0000000000..78af2986a6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaborationContainer.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.container.IContainer; + +/** + * @author Eike Stepper + */ +public interface ICollaborationContainer extends ICollaborationProvider, IContainer<ICollaboration> +{ +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaborationProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaborationProvider.java new file mode 100644 index 0000000000..125b069f83 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ICollaborationProvider.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +/** + * @author Eike Stepper + */ +public interface ICollaborationProvider +{ + public ICollaboration[] getCollaborations(); + + public ICollaboration getCollaboration(long id); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IFacility.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IFacility.java new file mode 100644 index 0000000000..c92036a60b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IFacility.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.event.INotifier; + +import org.eclipse.core.runtime.IAdaptable; + +/** + * @author Eike Stepper + */ +public interface IFacility extends INotifier, IAdaptable +{ + public String getType(); + + public ICollaboration getCollaboration(); + + public void setCollaboration(ICollaboration collaboration); + + public void sendMessage(IMessage message); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IFacilityInstalledEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IFacilityInstalledEvent.java new file mode 100644 index 0000000000..05ef1c360a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IFacilityInstalledEvent.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.event.IEvent; + +/** + * @author Eike Stepper + */ +public interface IFacilityInstalledEvent extends IEvent +{ + /** + * @since 3.0 + */ + public ICollaboration getSource(); + + public IFacility getFacility(); + + public boolean fromRemote(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembership.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembership.java new file mode 100644 index 0000000000..073780340a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembership.java @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.container.IContainer; + +import org.eclipse.core.runtime.IAdaptable; + +/** + * @author Eike Stepper + */ +public interface IMembership extends IMembershipKey, IContainer<Object>, IAdaptable +{ + public long getStartTime(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipContainer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipContainer.java new file mode 100644 index 0000000000..5a830a46c3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipContainer.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.container.IContainer; + +/** + * @author Eike Stepper + */ +public interface IMembershipContainer extends IMembershipProvider, IContainer<IMembership> +{ +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipKey.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipKey.java new file mode 100644 index 0000000000..2602a7148b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipKey.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +/** + * @author Eike Stepper + */ +public interface IMembershipKey +{ + public IBuddy getBuddy(); + + public ICollaboration getCollaboration(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipProvider.java new file mode 100644 index 0000000000..bdadda1ace --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMembershipProvider.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +/** + * @author Eike Stepper + */ +public interface IMembershipProvider +{ + public IMembership[] getMemberships(); + + public IMembership getMembership(IBuddy buddy, ICollaboration collaboration); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMessage.java new file mode 100644 index 0000000000..fb720a421e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMessage.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.core.runtime.IAdaptable; + +/** + * @author Eike Stepper + */ +public interface IMessage extends IAdaptable +{ + public String getSenderID(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMessageEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMessageEvent.java new file mode 100644 index 0000000000..c459d891c3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/IMessageEvent.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.util.event.IEvent; + +/** + * @author Eike Stepper + */ +public interface IMessageEvent extends IEvent +{ + public IMessage getMessage(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ISession.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ISession.java new file mode 100644 index 0000000000..a1a1a5636f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ISession.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +import org.eclipse.net4j.protocol.IProtocol; +import org.eclipse.net4j.util.event.INotifier; + +import org.eclipse.core.runtime.IAdaptable; + +/** + * @author Eike Stepper + */ +public interface ISession extends INotifier, IAdaptable +{ + /** + * @since 2.0 + */ + public IProtocol<?> getProtocol(); + + public IBuddy getSelf(); + + public void close(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ISessionProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ISessionProvider.java new file mode 100644 index 0000000000..abe98aeae7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/common/ISessionProvider.java @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.common; + +/** + * @author Eike Stepper + */ +public interface ISessionProvider +{ + public ISession[] getSessions(); + + public ISession getSession(String userID); + + public ISession getSession(IBuddy buddy); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Account.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Account.java new file mode 100644 index 0000000000..52e914d2bc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Account.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.util.ObjectUtil; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Eike Stepper + */ +public class Account implements IAccount, Serializable +{ + private static final long serialVersionUID = 1L; + + private String userID; + + private transient String password; + + private Map<String, String> properties = new HashMap<String, String>(); + + private long timeStamp; + + protected Account() + { + } + + public Account(String userID, String password) + { + this.userID = userID; + this.password = password; + } + + public String getUserID() + { + return userID; + } + + public String getPassword() + { + return password; + } + + public void setPassword(String password) + { + this.password = password; + } + + public boolean authenticate(String password) + { + return ObjectUtil.equals(password, this.password); + } + + public Map<String, String> getProperties() + { + return properties; + } + + public void touch() + { + timeStamp = System.currentTimeMillis(); + } + + public long getTimeStamp() + { + return timeStamp; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Buddy.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Buddy.java new file mode 100644 index 0000000000..6e1acd620c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Buddy.java @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyStateEvent; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.event.Event; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * @author Eike Stepper + */ +public abstract class Buddy extends MembershipContainer implements IBuddy +{ + private ISession session; + + private State state = State.AVAILABLE; + + private Set<String> facilityTypes; + + public Buddy(ISession session, Set<String> facilityTypes) + { + this.session = session; + this.facilityTypes = facilityTypes == null ? null : Collections.unmodifiableSet(facilityTypes); + } + + public ISession getSession() + { + return session; + } + + public void setSession(ISession session) + { + this.session = session; + } + + public State getState() + { + return state; + } + + public void setState(State state) + { + if (this.state != state) + { + IEvent event = new BuddyStateEvent(this.state, state); + this.state = state; + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(event, listeners); + } + } + } + + public Set<String> getFacilityTypes() + { + if (facilityTypes == null) + { + facilityTypes = Collections.unmodifiableSet(loadFacilityTypes()); + } + + return facilityTypes; + } + + public IMembership getMembership(Collaboration collaboration) + { + return getMembership(this, collaboration); + } + + public IMembership removeMembership(Collaboration collaboration) + { + return removeMembership(this, collaboration); + } + + public ICollaboration getCollaboration(long collaborationID) + { + for (IMembership membership : getMemberships()) + { + ICollaboration collaboration = membership.getCollaboration(); + if (collaboration.getID() == collaborationID) + { + return collaboration; + } + } + + return null; + } + + public ICollaboration[] getCollaborations() + { + List<ICollaboration> collaborations = new ArrayList<ICollaboration>(); + for (IMembership membership : getMemberships()) + { + ICollaboration collaboration = membership.getCollaboration(); + collaborations.add(collaboration); + } + + return collaborations.toArray(new ICollaboration[collaborations.size()]); + } + + public IMembership initiate() + { + return initiate((IBuddy)null); + } + + public IMembership initiate(IBuddy buddy) + { + HashSet<IBuddy> buddies = new HashSet<IBuddy>(); + if (buddy != null) + { + buddies.add(buddy); + } + + IMembership[] memberships = initiate(buddies); + return memberships.length == 0 ? null : memberships[0]; + } + + /** + * @see PlatformObject#getAdapter(Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) + { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + { + return true; + } + + if (obj instanceof IBuddy) + { + IBuddy buddy = (IBuddy)obj; + return ObjectUtil.equals(getUserID(), buddy.getUserID()); + } + + return false; + } + + @Override + public int hashCode() + { + return ObjectUtil.hashCode(getUserID()); + } + + @Override + public String toString() + { + return MessageFormat.format("{0}[{1}]", getClass().getSimpleName(), getUserID()); //$NON-NLS-1$ + } + + protected Set<String> loadFacilityTypes() + { + throw new UnsupportedOperationException(); + } + + /** + * @author Eike Stepper + */ + private final class BuddyStateEvent extends Event implements IBuddyStateEvent + { + private static final long serialVersionUID = 1L; + + private State oldState; + + private State newState; + + public BuddyStateEvent(State oldState, State newState) + { + super(Buddy.this); + this.oldState = oldState; + this.newState = newState; + } + + @Override + public IBuddy getSource() + { + return (IBuddy)super.getSource(); + } + + public State getOldState() + { + return oldState; + } + + public State getNewState() + { + return newState; + } + + @Override + public String toString() + { + return MessageFormat.format("BuddyStateEvent[source={0}, oldState={1}, newState={2}]", getSource(), //$NON-NLS-1$ + getOldState(), getNewState()); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/BuddyContainer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/BuddyContainer.java new file mode 100644 index 0000000000..063404dca4 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/BuddyContainer.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyContainer; +import org.eclipse.net4j.util.container.IContainerDelta; +import org.eclipse.net4j.util.container.SingleDeltaContainerEvent; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.Lifecycle; +import org.eclipse.net4j.util.lifecycle.LifecycleEvent; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Eike Stepper + */ +public class BuddyContainer extends Lifecycle implements IBuddyContainer, IListener +{ + private Map<String, IBuddy> buddies = new HashMap<String, IBuddy>(); + + public BuddyContainer(Collection<IBuddy> buddies) + { + if (buddies != null) + { + for (IBuddy buddy : buddies) + { + this.buddies.put(buddy.getUserID(), buddy); + buddy.addListener(this); + } + } + } + + public BuddyContainer() + { + } + + public boolean addBuddy(IBuddy buddy) + { + String userID = buddy.getUserID(); + synchronized (buddies) + { + if (!buddies.containsKey(userID)) + { + buddies.put(userID, buddy); + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SingleDeltaContainerEvent<IBuddy>(this, buddy, IContainerDelta.Kind.ADDED), listeners); + } + + buddy.addListener(this); + return true; + } + } + + return false; + } + + public IBuddy removeBuddy(String userID) + { + IBuddy buddy; + synchronized (buddies) + { + buddy = buddies.remove(userID); + } + + if (buddy != null) + { + buddy.removeListener(this); + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SingleDeltaContainerEvent<IBuddy>(this, buddy, IContainerDelta.Kind.REMOVED), listeners); + } + } + + return buddy; + } + + public IBuddy[] getBuddies() + { + synchronized (buddies) + { + return buddies.values().toArray(new IBuddy[buddies.size()]); + } + } + + public IBuddy getBuddy(String userID) + { + synchronized (buddies) + { + return buddies.get(userID); + } + } + + public IBuddy[] getElements() + { + return getBuddies(); + } + + public boolean isEmpty() + { + synchronized (buddies) + { + return buddies.isEmpty(); + } + } + + public void notifyEvent(IEvent event) + { + if (event.getSource() instanceof IBuddy) + { + notifyBuddyEvent(event); + if (event instanceof LifecycleEvent) + { + LifecycleEvent e = (LifecycleEvent)event; + if (e.getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + removeBuddy(((IBuddy)e.getSource()).getUserID()); + } + } + } + } + + protected void notifyBuddyEvent(IEvent event) + { + } + + @Override + protected void doDeactivate() throws Exception + { + for (IBuddy buddy : getBuddies()) + { + buddy.removeListener(this); + } + + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Collaboration.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Collaboration.java new file mode 100644 index 0000000000..040ed3ecb0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Collaboration.java @@ -0,0 +1,297 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.common.IFacilityInstalledEvent; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.buddies.internal.common.bundle.OM; +import org.eclipse.net4j.buddies.internal.common.protocol.MessageNotification; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.event.Event; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @author Eike Stepper + */ +public class Collaboration extends MembershipContainer implements ICollaboration +{ + private long id; + + private String title; + + private String description; + + private Visibility visibility = Visibility.PRIVATE; + + private ConcurrentMap<String, IFacility> facilities = new ConcurrentHashMap<String, IFacility>(); + + public Collaboration(long id) + { + this.id = id; + } + + public long getID() + { + return id; + } + + public String getTitle() + { + return title == null ? String.valueOf(id) : title; + } + + public String getDescription() + { + return description; + } + + public Visibility getVisibility() + { + return visibility; + } + + public boolean isPublic() + { + return visibility == Visibility.PUBLIC; + } + + public void setPublic(String title, String description) + { + visibility = Visibility.PUBLIC; + this.title = title; + this.description = description; + } + + public void setPrivate() + { + visibility = Visibility.PRIVATE; + title = null; + description = null; + } + + public IMembership getMembership(IBuddy buddy) + { + return getMembership(buddy, this); + } + + public IMembership removeMembership(IBuddy buddy) + { + return removeMembership(buddy, this); + } + + public IBuddy getBuddy(String userID) + { + for (IMembership membership : getMemberships()) + { + IBuddy buddy = membership.getBuddy(); + if (ObjectUtil.equals(buddy.getUserID(), userID)) + { + return buddy; + } + } + + return null; + } + + public IBuddy[] getBuddies() + { + List<IBuddy> buddies = new ArrayList<IBuddy>(); + for (IMembership membership : getMemberships()) + { + IBuddy buddy = membership.getBuddy(); + buddies.add(buddy); + } + + return buddies.toArray(new IBuddy[buddies.size()]); + } + + public String[] getFacilityTypes() + { + return facilities.keySet().toArray(new String[facilities.size()]); + } + + public IFacility[] getFacilities() + { + return facilities.values().toArray(new IFacility[facilities.size()]); + } + + public IFacility getFacility(String type) + { + return facilities.get(type); + } + + public boolean addFacility(IFacility facility, boolean remote) + { + String type = facility.getType(); + if (!facilities.containsKey(type)) + { + facilities.put(type, facility); + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new FacilityInstalledEvent(this, facility, remote), listeners); + } + + facility.addListener(this); + return true; + } + + return false; + } + + public void sendMessage(long collaborationID, String facilityType, IMessage message) + { + IMembership[] elements = getElements(); + for (IMembership membership : elements) + { + IBuddy receiver = membership.getBuddy(); + if (!ObjectUtil.equals(receiver.getUserID(), message.getSenderID())) + { + try + { + SignalProtocol<?> protocol = (SignalProtocol<?>)receiver.getSession().getProtocol(); + new MessageNotification(protocol, collaborationID, facilityType, message).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + } + + /** + * @see PlatformObject#getAdapter(Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) + { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + { + return true; + } + + if (obj instanceof ICollaboration) + { + ICollaboration collaboration = (ICollaboration)obj; + return getID() == collaboration.getID(); + } + + return false; + } + + @Override + public int hashCode() + { + return ObjectUtil.hashCode(id); + } + + @Override + public String toString() + { + return MessageFormat.format("{0}[{1}]", getClass().getSimpleName(), getTitle()); //$NON-NLS-1$ + } + + @Override + public void notifyEvent(IEvent event) + { + super.notifyEvent(event); + if (event.getSource() instanceof IFacility) + { + notifyFacilityEvent(event); + } + } + + protected void notifyFacilityEvent(IEvent event) + { + } + + @Override + protected void doDeactivate() throws Exception + { + for (IFacility facility : getFacilities()) + { + facility.removeListener(this); + LifecycleUtil.deactivate(facility); + } + + for (IMembership membership : getMemberships()) + { + LifecycleUtil.deactivate(membership); + } + + super.doDeactivate(); + } + + /** + * @author Eike Stepper + */ + private static final class FacilityInstalledEvent extends Event implements IFacilityInstalledEvent + { + private static final long serialVersionUID = 1L; + + private IFacility facility; + + private boolean remote; + + public FacilityInstalledEvent(ICollaboration source, IFacility facility, boolean remote) + { + super(source); + this.facility = facility; + this.remote = remote; + } + + @Override + public ICollaboration getSource() + { + return (ICollaboration)super.getSource(); + } + + public IFacility getFacility() + { + return facility; + } + + public boolean fromRemote() + { + return remote; + } + + @Override + public String toString() + { + return MessageFormat.format("FacilityInstalledEvent[source={0}, facility={1}, remote={2}]", getSource(), //$NON-NLS-1$ + facility, remote); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/CollaborationContainer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/CollaborationContainer.java new file mode 100644 index 0000000000..4dda2ae001 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/CollaborationContainer.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.ICollaborationContainer; +import org.eclipse.net4j.util.container.IContainerDelta; +import org.eclipse.net4j.util.container.SingleDeltaContainerEvent; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.Lifecycle; +import org.eclipse.net4j.util.lifecycle.LifecycleEvent; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Eike Stepper + */ +public class CollaborationContainer extends Lifecycle implements ICollaborationContainer, IListener +{ + private Map<Long, ICollaboration> collaborations = new HashMap<Long, ICollaboration>(); + + public CollaborationContainer(Collection<ICollaboration> collaborations) + { + if (collaborations != null) + { + for (ICollaboration collaboration : collaborations) + { + this.collaborations.put(collaboration.getID(), collaboration); + collaboration.addListener(this); + } + } + } + + public CollaborationContainer() + { + } + + public void addCollaboration(ICollaboration collaboration) + { + long id = collaboration.getID(); + synchronized (collaborations) + { + if (!collaborations.containsKey(id)) + { + collaborations.put(id, collaboration); + } + } + + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SingleDeltaContainerEvent<ICollaboration>(this, collaboration, IContainerDelta.Kind.ADDED), + listeners); + } + + collaboration.addListener(this); + } + + public ICollaboration removeCollaboration(long id) + { + ICollaboration collaboration; + synchronized (collaborations) + { + collaboration = collaborations.remove(id); + } + + if (collaboration != null) + { + collaboration.removeListener(this); + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SingleDeltaContainerEvent<ICollaboration>(this, collaboration, IContainerDelta.Kind.REMOVED), + listeners); + } + } + + return collaboration; + } + + public ICollaboration[] getCollaborations() + { + synchronized (collaborations) + { + return collaborations.values().toArray(new ICollaboration[collaborations.size()]); + } + } + + public ICollaboration getCollaboration(long id) + { + synchronized (collaborations) + { + return collaborations.get(id); + } + } + + public ICollaboration[] getElements() + { + return getCollaborations(); + } + + public boolean isEmpty() + { + synchronized (collaborations) + { + return collaborations.isEmpty(); + } + } + + public void notifyEvent(IEvent event) + { + if (event.getSource() instanceof ICollaboration) + { + notifyCollaborationEvent(event); + if (event instanceof LifecycleEvent) + { + LifecycleEvent e = (LifecycleEvent)event; + if (e.getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + removeCollaboration(((ICollaboration)e.getSource()).getID()); + } + } + } + } + + protected void notifyCollaborationEvent(IEvent event) + { + } + + @Override + protected void doDeactivate() throws Exception + { + for (ICollaboration collaboration : getCollaborations()) + { + collaboration.removeListener(this); + } + + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Membership.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Membership.java new file mode 100644 index 0000000000..e6315db3a4 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/Membership.java @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.common.IMembershipKey; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; + +/** + * @author Eike Stepper + */ +public class Membership extends Lifecycle implements IMembership +{ + private MembershipKey key; + + private long startTime; + + private transient Object[] elements; + + private Membership(IBuddy buddy, ICollaboration collaboration) + { + key = new MembershipKey(buddy, collaboration); + elements = new Object[] { buddy, collaboration }; + startTime = System.currentTimeMillis(); + activate(); + } + + public IBuddy getBuddy() + { + return key.getBuddy(); + } + + public ICollaboration getCollaboration() + { + return key.getCollaboration(); + } + + public long getStartTime() + { + return startTime; + } + + public Object[] getElements() + { + return elements; + } + + public boolean isEmpty() + { + return false; + } + + public MembershipKey getKey() + { + return key; + } + + /** + * @see PlatformObject#getAdapter(Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) + { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + { + return true; + } + + if (obj instanceof IMembershipKey) + { + IMembershipKey key = (IMembershipKey)obj; + return ObjectUtil.equals(getBuddy(), key.getBuddy()) + && ObjectUtil.equals(getCollaboration(), key.getCollaboration()); + } + + return false; + } + + @Override + public int hashCode() + { + return key.hashCode(); + } + + @Override + public String toString() + { + return key.toString(); + } + + public static IMembership create(IBuddy buddy, ICollaboration collaboration) + { + Membership membership = new Membership(buddy, collaboration); + ((Buddy)buddy).addMembership(membership); + ((Collaboration)collaboration).addMembership(membership); + return membership; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MembershipContainer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MembershipContainer.java new file mode 100644 index 0000000000..da520870b6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MembershipContainer.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.common.IMembershipContainer; +import org.eclipse.net4j.buddies.common.IMembershipKey; +import org.eclipse.net4j.util.container.IContainerDelta; +import org.eclipse.net4j.util.container.SingleDeltaContainerEvent; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @author Eike Stepper + */ +public class MembershipContainer extends Lifecycle implements IMembershipContainer, IListener +{ + private ConcurrentMap<IMembershipKey, IMembership> memberships = new ConcurrentHashMap<IMembershipKey, IMembership>(); + + public MembershipContainer() + { + } + + public void addMembership(IMembership membership) + { + if (memberships.putIfAbsent(membership, membership) == null) + { + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SingleDeltaContainerEvent<IMembership>(this, membership, IContainerDelta.Kind.ADDED), listeners); + } + + membership.addListener(this); + } + } + + public IMembership removeMembership(IBuddy buddy, ICollaboration collaboration) + { + return removeMembership(new MembershipKey(buddy, collaboration)); + } + + public IMembership removeMembership(IMembershipKey key) + { + // for (IMembership membership : memberships.values()) + // { + // + // } + // + IMembership membership = memberships.remove(key); + if (membership != null) + { + membership.removeListener(this); + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new SingleDeltaContainerEvent<IMembership>(this, membership, IContainerDelta.Kind.REMOVED), listeners); + } + } + + return membership; + } + + public IMembership[] getMemberships() + { + return memberships.values().toArray(new IMembership[memberships.size()]); + } + + public IMembership getMembership(IBuddy buddy, ICollaboration collaboration) + { + return memberships.get(new MembershipKey(buddy, collaboration)); + } + + public IMembership[] getElements() + { + return getMemberships(); + } + + public boolean isEmpty() + { + return memberships.isEmpty(); + } + + public void notifyEvent(IEvent event) + { + if (event.getSource() instanceof IMembership) + { + IMembership membership = (IMembership)event.getSource(); + notifyMembershipEvent(event); + if (event instanceof ILifecycleEvent) + { + ILifecycleEvent e = (ILifecycleEvent)event; + if (e.getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + removeMembership(membership); + } + } + } + } + + protected void notifyMembershipEvent(IEvent event) + { + } + + @Override + protected void doDeactivate() throws Exception + { + for (IMembership membership : getMemberships()) + { + membership.removeListener(this); + } + + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MembershipKey.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MembershipKey.java new file mode 100644 index 0000000000..eb2119f2d8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MembershipKey.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IMembershipKey; +import org.eclipse.net4j.util.ObjectUtil; + +/** + * @author Eike Stepper + */ +public class MembershipKey implements IMembershipKey +{ + private IBuddy buddy; + + private ICollaboration collaboration; + + public MembershipKey(IBuddy buddy, ICollaboration collaboration) + { + this.buddy = buddy; + this.collaboration = collaboration; + } + + public IBuddy getBuddy() + { + return buddy; + } + + public ICollaboration getCollaboration() + { + return collaboration; + } + + @Override + public boolean equals(Object obj) + { + if (obj == this) + { + return true; + } + + if (obj instanceof IMembershipKey) + { + IMembershipKey key = (IMembershipKey)obj; + return ObjectUtil.equals(getBuddy(), key.getBuddy()) + && ObjectUtil.equals(getCollaboration(), key.getCollaboration()); + } + + return false; + } + + @Override + public int hashCode() + { + return ObjectUtil.hashCode(buddy) ^ ObjectUtil.hashCode(collaboration); + } + + @Override + public String toString() + { + return buddy + "(" + collaboration + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MessageEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MessageEvent.java new file mode 100644 index 0000000000..7828824234 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/MessageEvent.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common; + +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.buddies.common.IMessageEvent; +import org.eclipse.net4j.util.event.Event; +import org.eclipse.net4j.util.event.INotifier; + +/** + * @author Eike Stepper + */ +public final class MessageEvent extends Event implements IMessageEvent +{ + private static final long serialVersionUID = 1L; + + private IMessage message; + + public MessageEvent(INotifier notifier, IMessage message) + { + super(notifier); + this.message = message; + } + + public IMessage getMessage() + { + return message; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/bundle/OM.java new file mode 100644 index 0000000000..148e5e94fc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/bundle/OM.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.buddies.common"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_PROTOCOL = DEBUG.tracer("protocol"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_MODEL = DEBUG.tracer("model"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_REVISION = DEBUG.tracer("revision"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/BuddyStateIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/BuddyStateIndication.java new file mode 100644 index 0000000000..b1fc427a94 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/BuddyStateIndication.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy.State; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public abstract class BuddyStateIndication extends Indication +{ + public BuddyStateIndication(SignalProtocol<?> protocol) + { + super(protocol, ProtocolConstants.SIGNAL_BUDDY_STATE); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String userID = in.readString(); + State state = ProtocolUtil.readState(in); + stateChanged(userID, state); + } + + protected abstract void stateChanged(String userID, State state); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/BuddyStateNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/BuddyStateNotification.java new file mode 100644 index 0000000000..a9c6f85e74 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/BuddyStateNotification.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy.State; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class BuddyStateNotification extends Request +{ + private String userID; + + private State state; + + public BuddyStateNotification(SignalProtocol<?> protocol, String userID, State state) + { + super(protocol, ProtocolConstants.SIGNAL_BUDDY_STATE); + this.userID = userID; + this.state = state; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeString(userID); + ProtocolUtil.writeState(out, state); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/CollaborationLeftIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/CollaborationLeftIndication.java new file mode 100644 index 0000000000..0e6a32d83c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/CollaborationLeftIndication.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.buddies.common.IBuddyProvider; +import org.eclipse.net4j.buddies.common.ICollaborationProvider; +import org.eclipse.net4j.buddies.internal.common.Buddy; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public class CollaborationLeftIndication extends Indication +{ + private IBuddyProvider buddyProvider; + + private ICollaborationProvider collaborationProvider; + + public CollaborationLeftIndication(SignalProtocol<?> protocol, IBuddyProvider buddyProvider, + ICollaborationProvider collaborationProvider) + { + super(protocol, ProtocolConstants.SIGNAL_COLLABORATION_LEFT); + this.buddyProvider = buddyProvider; + this.collaborationProvider = collaborationProvider; + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + long collaborationID = in.readLong(); + String userID = in.readString(); + + Collaboration collaboration = getCollaboration(collaborationID); + if (collaboration != null) + { + Buddy buddy = getBuddy(userID); + if (buddy != null) + { + collaborationLeft(buddy, collaboration); + } + } + } + + protected void collaborationLeft(Buddy buddy, Collaboration collaboration) + { + collaboration.removeMembership(buddy); + buddy.removeMembership(collaboration); + } + + protected Collaboration getCollaboration(long collaborationID) + { + return (Collaboration)collaborationProvider.getCollaboration(collaborationID); + } + + protected Buddy getBuddy(String userID) + { + return (Buddy)buddyProvider.getBuddy(userID); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/CollaborationLeftNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/CollaborationLeftNotification.java new file mode 100644 index 0000000000..4415b7a8e3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/CollaborationLeftNotification.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class CollaborationLeftNotification extends Request +{ + private long collaborationID; + + private String userID; + + public CollaborationLeftNotification(SignalProtocol<?> protocol, long collaborationID, String userID) + { + super(protocol, ProtocolConstants.SIGNAL_COLLABORATION_LEFT); + this.collaborationID = collaborationID; + this.userID = userID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaborationID); + out.writeString(userID); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/MessageIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/MessageIndication.java new file mode 100644 index 0000000000..e968f371fa --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/MessageIndication.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.ICollaborationProvider; +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.buddies.spi.common.Facility; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public class MessageIndication extends Indication +{ + private ICollaborationProvider collaborationProvider; + + public MessageIndication(SignalProtocol<?> protocol, ICollaborationProvider collaborationProvider) + { + super(protocol, ProtocolConstants.SIGNAL_MESSAGE); + this.collaborationProvider = collaborationProvider; + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + long collaborationID = in.readLong(); + String facilityType = in.readString(); + Facility facility = getFacility(collaborationID, facilityType); + if (facility != null) + { + IMessage message = ProtocolUtil.readMessage(in, facility.getClass().getClassLoader()); + facility.handleMessage(message); + } + } + + private Facility getFacility(long collaborationID, String facilityType) + { + ICollaboration collaboration = collaborationProvider.getCollaboration(collaborationID); + if (collaboration == null) + { + return null; + } + + return (Facility)collaboration.getFacility(facilityType); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/MessageNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/MessageNotification.java new file mode 100644 index 0000000000..19aa61a095 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/MessageNotification.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class MessageNotification extends Request +{ + private long collaborationID; + + private String facilityType; + + private IMessage message; + + public MessageNotification(SignalProtocol<?> protocol, long collaborationID, String facilityType, IMessage message) + { + super(protocol, ProtocolConstants.SIGNAL_MESSAGE); + this.collaborationID = collaborationID; + this.facilityType = facilityType; + this.message = message; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaborationID); + out.writeString(facilityType); + ProtocolUtil.writeMessage(out, message); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolConstants.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolConstants.java new file mode 100644 index 0000000000..8b1827f4d6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolConstants.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +/** + * @author Eike Stepper + */ +public interface ProtocolConstants +{ + public static final String PROTOCOL_NAME = "buddies"; //$NON-NLS-1$ + + public static final short SIGNAL_OPEN_SESSION = 1; + + public static final short SIGNAL_LOAD_ACCOUNT = 2; + + public static final short SIGNAL_BUDDY_ADDED = 3; + + public static final short SIGNAL_BUDDY_REMOVED = 4; + + public static final short SIGNAL_BUDDY_STATE = 5; + + public static final short SIGNAL_INITIATE_COLLABORATION = 6; + + public static final short SIGNAL_COLLABORATION_INITIATED = 7; + + public static final short SIGNAL_COLLABORATION_LEFT = 8; + + public static final short SIGNAL_INVITE_BUDDIES = 9; + + public static final short SIGNAL_BUDDIES_INVITED = 10; + + public static final short SIGNAL_INSTALL_FACILITY = 11; + + public static final short SIGNAL_FACILITY_INSTALLED = 12; + + public static final short SIGNAL_MESSAGE = 13; + + public static final long TIMEOUT = 5000L; + + public static final byte STATE_AVAILABLE = 1; + + public static final byte STATE_LONESOME = 2; + + public static final byte STATE_AWAY = 3; + + public static final byte STATE_DO_NOT_DISTURB = 4; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java new file mode 100644 index 0000000000..61b875f995 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/internal/common/protocol/ProtocolUtil.java @@ -0,0 +1,226 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.common.protocol; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyContainer; +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.ObjectStreamClass; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + +/** + * @author Eike Stepper + */ +public final class ProtocolUtil +{ + private ProtocolUtil() + { + } + + public static void writeBuddies(ExtendedDataOutputStream out, Collection<IBuddy> buddies) throws IOException + { + if (buddies == null) + { + out.writeInt(0); + } + else + { + out.writeInt(buddies.size()); + for (IBuddy buddy : buddies) + { + out.writeString(buddy.getUserID()); + } + } + } + + public static Set<IBuddy> readBuddies(ExtendedDataInputStream in, IBuddyContainer buddyContainer) throws IOException + { + int size = in.readInt(); + Set<IBuddy> buddies = new HashSet<IBuddy>(); + for (int i = 0; i < size; i++) + { + String userID = in.readString(); + IBuddy buddy = buddyContainer.getBuddy(userID); + if (buddy != null) + { + buddies.add(buddy); + } + } + + return buddies; + } + + public static String[] readUserIDs(ExtendedDataInputStream in) throws IOException + { + int size = in.readInt(); + String[] userIDs = new String[size]; + for (int i = 0; i < size; i++) + { + userIDs[i] = in.readString(); + } + + return userIDs; + } + + public static void writeAccount(ExtendedDataOutputStream out, IAccount account) throws IOException + { + if (account != null) + { + out.writeBoolean(true); + ObjectOutputStream oos = new ObjectOutputStream(out); + oos.writeObject(account); + } + else + { + out.writeBoolean(false); + } + } + + public static IAccount readAccount(ExtendedDataInputStream in) throws IOException + { + boolean exists = in.readBoolean(); + if (!exists) + { + return null; + } + + try + { + ObjectInputStream ois = new ObjectInputStream(in); + return (IAccount)ois.readObject(); + } + catch (IOException ex) + { + throw ex; + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + + public static void writeState(ExtendedDataOutputStream out, IBuddy.State state) throws IOException + { + switch (state) + { + case AVAILABLE: + out.writeByte(ProtocolConstants.STATE_AVAILABLE); + break; + + case LONESOME: + out.writeByte(ProtocolConstants.STATE_LONESOME); + break; + + case AWAY: + out.writeByte(ProtocolConstants.STATE_AWAY); + break; + + case DO_NOT_DISTURB: + out.writeByte(ProtocolConstants.STATE_DO_NOT_DISTURB); + break; + + default: + throw new IllegalArgumentException("Illegal state: " + state); //$NON-NLS-1$ + } + } + + public static IBuddy.State readState(ExtendedDataInputStream in) throws IOException + { + byte state = in.readByte(); + switch (state) + { + case ProtocolConstants.STATE_AVAILABLE: + return IBuddy.State.AVAILABLE; + + case ProtocolConstants.STATE_LONESOME: + return IBuddy.State.LONESOME; + + case ProtocolConstants.STATE_AWAY: + return IBuddy.State.AWAY; + + case ProtocolConstants.STATE_DO_NOT_DISTURB: + return IBuddy.State.DO_NOT_DISTURB; + + default: + throw new IllegalArgumentException("Illegal state: " + state); //$NON-NLS-1$ + } + } + + public static void writeFacilityTypes(ExtendedDataOutputStream out, String[] facilityTypes) throws IOException + { + if (facilityTypes == null) + { + out.writeInt(0); + } + else + { + out.writeInt(facilityTypes.length); + for (String facilityType : facilityTypes) + { + out.writeString(facilityType); + } + } + } + + public static String[] readFacilityTypes(ExtendedDataInputStream in) throws IOException + { + int size = in.readInt(); + String[] facilityTypes = new String[size]; + for (int i = 0; i < size; i++) + { + facilityTypes[i] = in.readString(); + } + + return facilityTypes; + } + + public static void writeMessage(ExtendedDataOutputStream out, IMessage message) throws IOException + { + ObjectOutputStream oos = new ObjectOutputStream(out); + oos.writeObject(message); + } + + public static IMessage readMessage(ExtendedDataInputStream in, final ClassLoader classLoader) throws IOException + { + try + { + ObjectInputStream ois = new ObjectInputStream(in) + { + @Override + protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException + { + String className = desc.getName(); + return classLoader.loadClass(className); + } + }; + + return (IMessage)ois.readObject(); + } + catch (IOException ex) + { + throw ex; + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/ClientFacilityFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/ClientFacilityFactory.java new file mode 100644 index 0000000000..88343a122e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/ClientFacilityFactory.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.spi.common; + +import org.eclipse.net4j.util.factory.Factory; + +/** + * @author Eike Stepper + */ +public abstract class ClientFacilityFactory extends Factory +{ + public static final String PRODUCT_GROUP = "org.eclipse.net4j.buddies.clientFacilities"; //$NON-NLS-1$ + + public ClientFacilityFactory(String type) + { + super(PRODUCT_GROUP, type); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/Facility.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/Facility.java new file mode 100644 index 0000000000..09b3f540b1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/Facility.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.spi.common; + +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; + +/** + * @author Eike Stepper + */ +public abstract class Facility extends Lifecycle implements IFacility +{ + private String type; + + private Collaboration collaboration; + + public Facility(String type) + { + this.type = type; + } + + public String getType() + { + return type; + } + + public Collaboration getCollaboration() + { + return collaboration; + } + + public void setCollaboration(ICollaboration collaboration) + { + this.collaboration = (Collaboration)collaboration; + } + + /** + * @see PlatformObject#getAdapter(Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) + { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + public void sendMessage(IMessage message) + { + collaboration.sendMessage(collaboration.getID(), type, message); + } + + public abstract void handleMessage(IMessage message); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/Message.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/Message.java new file mode 100644 index 0000000000..27fa2dd76c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/Message.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.spi.common; + +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.util.StringUtil; + +import org.eclipse.core.runtime.PlatformObject; + +import java.io.Serializable; + +/** + * @author Eike Stepper + */ +public abstract class Message extends PlatformObject implements IMessage, Serializable +{ + private static final long serialVersionUID = 1L; + + private String senderID; + + protected Message() + { + } + + public String getSenderID() + { + return senderID; + } + + public void setSenderID(String senderID) + { + this.senderID = senderID; + } + + protected String encode(String text) + { + return text.replaceAll(StringUtil.NL, "\n"); //$NON-NLS-1$ + } + + protected String decode(String text) + { + return text.replaceAll("\n", StringUtil.NL); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/ServerFacilityFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/ServerFacilityFactory.java new file mode 100644 index 0000000000..e98fbedf91 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.common/src/org/eclipse/net4j/buddies/spi/common/ServerFacilityFactory.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.spi.common; + +import org.eclipse.net4j.util.factory.Factory; + +/** + * @author Eike Stepper + */ +public abstract class ServerFacilityFactory extends Factory +{ + public static final String PRODUCT_GROUP = "org.eclipse.net4j.buddies.serverFacilities"; //$NON-NLS-1$ + + public ServerFacilityFactory(String type) + { + super(PRODUCT_GROUP, type); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.options b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.options new file mode 100644 index 0000000000..a86755cbde --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.buddies.server/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.project b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.project new file mode 100644 index 0000000000..ee60b23c3e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.buddies.server</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..64203dec4b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:55:26 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/BuddiesServer.launch b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/BuddiesServer.launch new file mode 100644 index 0000000000..a9f9611da1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/BuddiesServer.launch @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench"> +<booleanAttribute key="append.args" value="true"/> +<stringAttribute key="application" value="org.eclipse.emf.cdo.server.app"/> +<booleanAttribute key="askclear" value="true"/> +<booleanAttribute key="automaticAdd" value="false"/> +<booleanAttribute key="automaticValidate" value="true"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="org.eclipse.net4j,org.eclipse.net4j.buddies.server,org.eclipse.net4j.db,org.eclipse.net4j.db.derby,org.eclipse.net4j.tcp"/> +<booleanAttribute key="clearConfig" value="true"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/BuddiesServer"/> +<booleanAttribute key="default" value="false"/> +<booleanAttribute key="includeOptional" value="true"/> +<stringAttribute key="location" value="${workspace_loc}/../buddies.server"/> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -debug -console --launcher.XXMaxPermSize 128M"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddebug=true -Dnet4j.config="${resource_loc:/org.eclipse.net4j.buddies.server/config}""/> +<stringAttribute key="pde.version" value="3.3"/> +<stringAttribute key="product" value="org.eclipse.platform.ide"/> +<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.http.servlet@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.core.databinding@default:default,javax.servlet@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.help.ui@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.osgi.util@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.core.net@default:default,org.eclipse.osgi@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.common@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui.intro.universal@default:default,org.eclipse.jface@default:default,org.eclipse.ui.views@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.app@default:default,org.apache.lucene.analysis@default:default,org.eclipse.ui.win32@default:false,org.eclipse.update.core@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.update.ui@default:default,org.eclipse.text@default:default,org.eclipse.core.variables@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.apache.commons.logging@default:default,org.eclipse.core.expressions@default:default,org.apache.lucene@default:default,org.eclipse.ui.intro@default:default,org.eclipse.platform@default:default,org.eclipse.jface.text@default:default,org.eclipse.help@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.resources.compatibility@default:false,org.eclipse.ui.forms@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.ant.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.update.configurator@default:default,com.ibm.icu@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.help.base@default:default,org.eclipse.swt@default:default,org.eclipse.core.commands@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.core.resources@default:default"/> +<stringAttribute key="selected_workspace_plugins" value="org.eclipse.net4j.buddies.chat@default:default,org.eclipse.net4j.util@default:default,org.eclipse.emf.cdo.common@default:default,org.eclipse.emf.cdo.server@default:default,org.eclipse.net4j.buddies.server@default:default,org.eclipse.net4j.buddies.common@default:default,org.eclipse.net4j.db@default:default,org.eclipse.net4j.db.hsqldb@default:default,org.eclipse.net4j.db.derby@default:default,org.eclipse.net4j.tcp@default:default,org.eclipse.net4j@default:default,org.eclipse.net4j.db.mysql@default:default"/> +<booleanAttribute key="show_selected_only" value="false"/> +<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> +<booleanAttribute key="tracing" value="true"/> +<booleanAttribute key="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="true"/> +<booleanAttribute key="useNamedJRE" value="true"/> +<booleanAttribute key="useProduct" value="false"/> +<booleanAttribute key="usefeatures" value="false"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..a5c3e6404d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.buddies.server;singleton:=true +Bundle-Version: 4.0.100.qualifier +Bundle-Vendor: %providerName +Bundle-Activator: org.eclipse.net4j.buddies.internal.server.bundle.OM$Activator +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";resolution:=optional, + org.eclipse.net4j.buddies.common;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Export-Package: org.eclipse.net4j.buddies.internal.server;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.internal.server.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.internal.server.messages;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.internal.server.protocol;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.server;version="4.0.100" +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.ini b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.ini new file mode 100644 index 0000000000..b7e87ca285 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.ini @@ -0,0 +1,15 @@ +# 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 + diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.mappings b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.mappings new file mode 100644 index 0000000000..bddaab4310 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.properties new file mode 100644 index 0000000000..60fd204dbf --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/about.properties @@ -0,0 +1,31 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# 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. +# ============================================================================== + +featureName = Net4j Buddies Server +featureText = Net4j Buddies Server\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. All rights reserved.\n\ +\n\ +Visit http://wiki.eclipse.org/Net4j + +# ============================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# The above properties have been shipped for translation. +# ============================================================================== diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/build.properties new file mode 100644 index 0000000000..7fc5e88ba9 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/build.properties @@ -0,0 +1,29 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +bin.includes = .,\ + META-INF/,\ + plugin.properties,\ + .options,\ + about.html,\ + copyright.txt,\ + plugin.xml,\ + about.ini,\ + about.mappings,\ + about.properties,\ + modeling32.png +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/config/cdo-server.xml b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/config/cdo-server.xml new file mode 100644 index 0000000000..06282d70e7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/config/cdo-server.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<cdoServer> + + <acceptor type="tcp" listenAddr="0.0.0.0" port="2036"> + <!-- + <negotiator type="challenge" description="/temp/users.db"/> + --> + </acceptor> + +</cdoServer> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/modeling32.png b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/modeling32.png Binary files differnew file mode 100644 index 0000000000..6b08de2ada --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/modeling32.png diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/plugin.properties new file mode 100644 index 0000000000..37832925b1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Buddies Server +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/plugin.xml b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/plugin.xml new file mode 100644 index 0000000000..cbef80e5e2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/plugin.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> + +<plugin> + + <extension + point="org.eclipse.net4j.util.factories"> + <factory + class="org.eclipse.net4j.buddies.internal.server.protocol.BuddiesServerProtocol$Factory" + productGroup="org.eclipse.net4j.serverProtocols" + type="buddies"/> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java new file mode 100644 index 0000000000..18ebce26a6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/BuddyAdmin.java @@ -0,0 +1,265 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyStateEvent; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.Account; +import org.eclipse.net4j.buddies.internal.common.Buddy; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.CollaborationContainer; +import org.eclipse.net4j.buddies.internal.common.Membership; +import org.eclipse.net4j.buddies.internal.common.protocol.BuddyStateNotification; +import org.eclipse.net4j.buddies.internal.server.bundle.OM; +import org.eclipse.net4j.buddies.internal.server.protocol.BuddiesServerProtocol; +import org.eclipse.net4j.buddies.internal.server.protocol.BuddyRemovedNotification; +import org.eclipse.net4j.buddies.internal.server.protocol.CollaborationInitiatedNotification; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.buddies.spi.common.ServerFacilityFactory; +import org.eclipse.net4j.channel.IChannel; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.container.IPluginContainer; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.trace.ContextTracer; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @author Eike Stepper + */ +public class BuddyAdmin extends CollaborationContainer implements IBuddyAdmin +{ + public static final BuddyAdmin INSTANCE = new BuddyAdmin(); + + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, BuddyAdmin.class); + + private ConcurrentMap<String, IAccount> accounts = new ConcurrentHashMap<String, IAccount>(); + + private ConcurrentMap<String, ISession> sessions = new ConcurrentHashMap<String, ISession>(); + + private long lastCollaborationID; + + public BuddyAdmin() + { + activate(); + } + + public Map<String, IAccount> getAccounts() + { + return accounts; + } + + public ISession getSession(IBuddy buddy) + { + return getSession(buddy.getUserID()); + } + + public ISession getSession(String userID) + { + return sessions.get(userID); + } + + public ISession[] getSessions() + { + return sessions.values().toArray(new ISession[sessions.size()]); + } + + public IBuddy[] getBuddies() + { + List<IBuddy> buddies = new ArrayList<IBuddy>(); + for (ISession session : sessions.values()) + { + buddies.add(session.getSelf()); + } + + return buddies.toArray(new IBuddy[buddies.size()]); + } + + public IBuddy getBuddy(String userID) + { + ISession session = getSession(userID); + if (session == null) + { + return null; + } + + return session.getSelf(); + } + + public synchronized ISession openSession(IChannel channel, String userID, String password, String[] facilityTypes) + { + if (sessions.containsKey(userID)) + { + return null; + } + + IAccount account = accounts.get(userID); + if (account != null) + { + if (!account.authenticate(password)) + { + return null; + } + } + else + { + account = new Account(userID, password); + accounts.put(userID, account); + } + + ServerBuddy buddy = new ServerBuddy(account, facilityTypes); + buddy.activate(); + buddy.addListener(this); + + BuddiesServerProtocol protocol = (BuddiesServerProtocol)channel.getReceiveHandler(); + ServerSession session = new ServerSession(protocol, buddy); + protocol.setInfraStructure(session); + session.addListener(this); + buddy.setSession(session); + LifecycleUtil.activate(session); + + if (TRACER.isEnabled()) + { + TRACER.trace("Opened session: " + userID); //$NON-NLS-1$ + } + + sessions.put(userID, session); + return session; + } + + public ICollaboration initiateCollaboration(IBuddy initiator, String... userIDs) + { + long collaborationID; + synchronized (this) + { + collaborationID = ++lastCollaborationID; + } + + Collaboration collaboration = new Collaboration(collaborationID); + collaboration.activate(); + Membership.create(initiator, collaboration); + + Set<IBuddy> buddies = new HashSet<IBuddy>(); + buddies.add(initiator); + for (String userID : userIDs) + { + Buddy buddy = (Buddy)getBuddy(userID); + if (buddy != null) + { + buddies.add(buddy); + Membership.create(buddy, collaboration); + } + } + + addCollaboration(collaboration); + + Set<IBuddy> invitations = new HashSet<IBuddy>(buddies); + for (IBuddy buddy : buddies) + { + if (buddy != initiator) + { + try + { + invitations.remove(buddy); + BuddiesServerProtocol protocol = (BuddiesServerProtocol)buddy.getSession().getProtocol(); + new CollaborationInitiatedNotification(protocol, collaborationID, invitations, null).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + finally + { + invitations.add(buddy); + } + } + } + + return collaboration; + } + + @Override + public void notifyEvent(IEvent event) + { + if (event.getSource() instanceof ServerSession) + { + if (event instanceof ILifecycleEvent) + { + if (((ILifecycleEvent)event).getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + String userID = ((ServerSession)event.getSource()).getSelf().getUserID(); + synchronized (this) + { + ServerSession removed = (ServerSession)sessions.remove(userID); + if (removed != null) + { + removed.removeListener(this); + removed.getSelf().removeListener(this); + for (ISession session : sessions.values()) + { + try + { + BuddiesServerProtocol protocol = (BuddiesServerProtocol)session.getProtocol(); + new BuddyRemovedNotification(protocol, userID).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + } + } + } + } + else if (event.getSource() instanceof ServerBuddy) + { + if (event instanceof IBuddyStateEvent) + { + IBuddyStateEvent e = (IBuddyStateEvent)event; + synchronized (this) + { + for (ISession session : sessions.values()) + { + try + { + if (!ObjectUtil.equals(session.getSelf(), e.getSource())) + { + BuddiesServerProtocol protocol = (BuddiesServerProtocol)session.getProtocol(); + new BuddyStateNotification(protocol, e.getSource().getUserID(), e.getNewState()).sendAsync(); + } + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + } + } + } + + public static Set<String> getFacilityTypes() + { + return IPluginContainer.INSTANCE.getFactoryTypes(ServerFacilityFactory.PRODUCT_GROUP); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerBuddy.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerBuddy.java new file mode 100644 index 0000000000..cdb6a2a4ef --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerBuddy.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.common.Buddy; + +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; + +/** + * @author Eike Stepper + */ +public class ServerBuddy extends Buddy +{ + private IAccount account; + + public ServerBuddy(IAccount account, String[] facilityTypes) + { + super(null, new HashSet<String>(Arrays.asList(facilityTypes))); + this.account = account; + } + + public String getUserID() + { + return account.getUserID(); + } + + public IAccount getAccount() + { + return account; + } + + public IMembership[] initiate(Collection<IBuddy> buddies) + { + // TODO Implement method ServerBuddy.initiate() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } + + public IMembership join(long collaborationID) + { + // TODO Implement method ServerBuddy.join() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } + + public IMembership join(Object invitationToken) + { + // TODO Implement method ServerBuddy.join() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerSession.java new file mode 100644 index 0000000000..d1fb2b17e6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/ServerSession.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.server.protocol.BuddiesServerProtocol; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.Lifecycle; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.log.OMLogger; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; + +/** + * @author Eike Stepper + */ +public class ServerSession extends Lifecycle implements ISession, IListener +{ + private BuddiesServerProtocol protocol; + + private IBuddy self; + + /** + * @since 2.0 + */ + public ServerSession(BuddiesServerProtocol protocol, IBuddy self) + { + this.protocol = protocol; + this.self = self; + } + + /** + * @since 2.0 + */ + public BuddiesServerProtocol getProtocol() + { + return protocol; + } + + public IBuddy getSelf() + { + return self; + } + + public void close() + { + protocol.close(); + protocol = null; + LifecycleUtil.deactivate(this, OMLogger.Level.DEBUG); + } + + /** + * @see PlatformObject#getAdapter(Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) + { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + public void notifyEvent(IEvent event) + { + if (event.getSource() == protocol) + { + if (event instanceof ILifecycleEvent) + { + if (((ILifecycleEvent)event).getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + deactivate(); + } + } + } + } + + @Override + protected void doActivate() throws Exception + { + super.doActivate(); + protocol.addListener(this); + self.getAccount().touch(); + } + + @Override + protected void doDeactivate() throws Exception + { + self.getAccount().touch(); + protocol.removeListener(this); + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/bundle/OM.java new file mode 100644 index 0000000000..b68c3a4c25 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/bundle/OM.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.bundle; + +import org.eclipse.net4j.buddies.internal.server.BuddyAdmin; +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.buddies.server"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_PROTOCOL = DEBUG.tracer("protocol"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_REPOSITORY = DEBUG.tracer("repository"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_SESSION = DEBUG.tracer("session"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_REVISION = DEBUG.tracer("revision"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_RESOURCE = DEBUG.tracer("resource"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_STORE = DEBUG.tracer("store"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_TYPES = DEBUG.tracer("types"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + + @Override + protected void doStop() throws Exception + { + BuddyAdmin.INSTANCE.deactivate(); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/messages/Messages.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/messages/Messages.java new file mode 100644 index 0000000000..99e76b786e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/messages/Messages.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Victor Roldan Betancort - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.net4j.buddies.internal.server.messages; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * @author Victor Roldan Betancort + */ +public class Messages +{ + private static final String BUNDLE_NAME = "org.eclipse.net4j.buddies.internal.server.messages.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/messages/messages.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/messages/messages.properties new file mode 100644 index 0000000000..f7c5d2df50 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/messages/messages.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Victor Roldan Betancort - initial API and implementation +# Eike Stepper - maintenance + +OpenSessionIndication.0=User denied {0} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java new file mode 100644 index 0000000000..369f259eda --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddiesServerProtocol.java @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.MessageIndication; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.server.ServerSession; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.signal.SignalReactor; +import org.eclipse.net4j.util.container.IManagedContainer; + +/** + * @author Eike Stepper + * @since 2.0 + */ +public class BuddiesServerProtocol extends SignalProtocol<ServerSession> +{ + public BuddiesServerProtocol() + { + super(ProtocolConstants.PROTOCOL_NAME); + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + switch (signalID) + { + case ProtocolConstants.SIGNAL_OPEN_SESSION: + return new OpenSessionIndication(this); + + case ProtocolConstants.SIGNAL_LOAD_ACCOUNT: + return new LoadAccountIndication(this); + + case ProtocolConstants.SIGNAL_BUDDY_STATE: + return new ServerBuddyStateIndication(this); + + case ProtocolConstants.SIGNAL_INSTALL_FACILITY: + return new InstallFacilityIndication(this); + + case ProtocolConstants.SIGNAL_INITIATE_COLLABORATION: + return new InitiateCollaborationIndication(this); + + case ProtocolConstants.SIGNAL_INVITE_BUDDIES: + return new InviteBuddiesIndication(this); + + case ProtocolConstants.SIGNAL_COLLABORATION_LEFT: + return new ServerCollaborationLeftIndication(this); + + case ProtocolConstants.SIGNAL_MESSAGE: + return new MessageIndication(this, IBuddyAdmin.INSTANCE); + + default: + return super.createSignalReactor(signalID); + } + } + + /** + * @author Eike Stepper + */ + public static class Factory extends org.eclipse.spi.net4j.ServerProtocolFactory + { + public Factory() + { + super(ProtocolConstants.PROTOCOL_NAME); + } + + public BuddiesServerProtocol create(String description) + { + return new BuddiesServerProtocol(); + } + + public static BuddiesServerProtocol get(IManagedContainer container, String description) + { + return (BuddiesServerProtocol)container.getElement(PRODUCT_GROUP, ProtocolConstants.PROTOCOL_NAME, description); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddyAddedNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddyAddedNotification.java new file mode 100644 index 0000000000..130f6a31f3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddyAddedNotification.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class BuddyAddedNotification extends Request +{ + private String buddy; + + /** + * @since 2.0 + */ + public BuddyAddedNotification(SignalProtocol<?> protocol, String buddy) + { + super(protocol, ProtocolConstants.SIGNAL_BUDDY_ADDED); + this.buddy = buddy; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeString(buddy); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddyRemovedNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddyRemovedNotification.java new file mode 100644 index 0000000000..9ae054f5e6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/BuddyRemovedNotification.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class BuddyRemovedNotification extends Request +{ + private String buddy; + + /** + * @since 2.0 + */ + public BuddyRemovedNotification(SignalProtocol<?> protocol, String buddy) + { + super(protocol, ProtocolConstants.SIGNAL_BUDDY_REMOVED); + this.buddy = buddy; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeString(buddy); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/CollaborationInitiatedNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/CollaborationInitiatedNotification.java new file mode 100644 index 0000000000..2b92a0e5c2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/CollaborationInitiatedNotification.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.util.Collection; + +/** + * @author Eike Stepper + */ +public class CollaborationInitiatedNotification extends Request +{ + private long collaborationID; + + private Collection<IBuddy> buddies; + + private String[] facilityTypes; + + /** + * @since 2.0 + */ + public CollaborationInitiatedNotification(BuddiesServerProtocol protocol, long collaborationID, + Collection<IBuddy> buddies, String[] facilityTypes) + { + super(protocol, ProtocolConstants.SIGNAL_COLLABORATION_INITIATED); + this.collaborationID = collaborationID; + this.buddies = buddies; + this.facilityTypes = facilityTypes; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaborationID); + ProtocolUtil.writeBuddies(out, buddies); + ProtocolUtil.writeFacilityTypes(out, facilityTypes); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/FacilityInstalledNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/FacilityInstalledNotification.java new file mode 100644 index 0000000000..1c2e35f54f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/FacilityInstalledNotification.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class FacilityInstalledNotification extends Request +{ + private long collaborationID; + + private String facilityType; + + /** + * @since 2.0 + */ + public FacilityInstalledNotification(BuddiesServerProtocol protocol, long collaborationID, String facilityType) + { + super(protocol, ProtocolConstants.SIGNAL_FACILITY_INSTALLED); + this.collaborationID = collaborationID; + this.facilityType = facilityType; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaborationID); + out.writeString(facilityType); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InitiateCollaborationIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InitiateCollaborationIndication.java new file mode 100644 index 0000000000..4ccd2d1070 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InitiateCollaborationIndication.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class InitiateCollaborationIndication extends IndicationWithResponse +{ + private ICollaboration collaboration; + + /** + * @since 2.0 + */ + public InitiateCollaborationIndication(BuddiesServerProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_INITIATE_COLLABORATION); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String[] userIDs = ProtocolUtil.readUserIDs(in); + ISession session = (ISession)getProtocol().getInfraStructure(); + IBuddy initiator = session.getSelf(); + collaboration = IBuddyAdmin.INSTANCE.initiateCollaboration(initiator, userIDs); + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaboration.getID()); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java new file mode 100644 index 0000000000..34d449adf3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InstallFacilityIndication.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.server.BuddyAdmin; +import org.eclipse.net4j.buddies.internal.server.bundle.OM; +import org.eclipse.net4j.buddies.spi.common.ServerFacilityFactory; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.container.IPluginContainer; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class InstallFacilityIndication extends IndicationWithResponse +{ + private static final String FACILITY_GROUP = ServerFacilityFactory.PRODUCT_GROUP; + + private boolean success; + + /** + * @since 2.0 + */ + public InstallFacilityIndication(BuddiesServerProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_INSTALL_FACILITY); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + long collaborationID = in.readLong(); + String facilityType = in.readString(); + + try + { + String description = String.valueOf(collaborationID); + IFacility facility = (IFacility)IPluginContainer.INSTANCE.getElement(FACILITY_GROUP, facilityType, description); + + Collaboration collaboration = (Collaboration)BuddyAdmin.INSTANCE.getCollaboration(collaborationID); + if (collaboration != null) + { + facility.setCollaboration(collaboration); + collaboration.addFacility(facility, true); + + ISession session = (ISession)getProtocol().getInfraStructure(); + IBuddy initiator = session.getSelf(); + + for (IBuddy buddy : collaboration.getBuddies()) + { + if (buddy != initiator) + { + try + { + BuddiesServerProtocol protocol = (BuddiesServerProtocol)buddy.getSession().getProtocol(); + new FacilityInstalledNotification(protocol, collaborationID, facilityType).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + + success = true; + } + } + catch (RuntimeException ex) + { + OM.LOG.error(ex); + } + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(success); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InviteBuddiesIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InviteBuddiesIndication.java new file mode 100644 index 0000000000..269d577eb2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/InviteBuddiesIndication.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.Membership; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.buddies.internal.server.BuddyAdmin; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * @author Eike Stepper + */ +public class InviteBuddiesIndication extends Indication +{ + /** + * @since 2.0 + */ + public InviteBuddiesIndication(BuddiesServerProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_INVITE_BUDDIES); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + long collaborationID = in.readLong(); + String[] userIDs = ProtocolUtil.readUserIDs(in); + + Collaboration collaboration = (Collaboration)BuddyAdmin.INSTANCE.getCollaboration(collaborationID); + if (collaboration != null) + { + Set<IBuddy> added = new HashSet<IBuddy>(); + for (String userID : userIDs) + { + IBuddy buddy = BuddyAdmin.INSTANCE.getBuddy(userID); + if (buddy != null && collaboration.getMembership(buddy) == null) + { + Membership.create(buddy, collaboration); + added.add(buddy); + } + } + + List<IBuddy> buddies = Arrays.asList(collaboration.getBuddies()); + for (IBuddy buddy : buddies) + { + String[] facilityTypes = null; + Set<IBuddy> set = new HashSet<IBuddy>(); + if (added.contains(buddy)) + { + set.addAll(buddies); + set.remove(buddy); + facilityTypes = collaboration.getFacilityTypes(); + } + else + { + set.addAll(added); + } + + if (!set.isEmpty()) + { + try + { + BuddiesServerProtocol protocol = (BuddiesServerProtocol)buddy.getSession().getProtocol(); + new CollaborationInitiatedNotification(protocol, collaborationID, set, facilityTypes).sendAsync(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java new file mode 100644 index 0000000000..8a3ac387df --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/LoadAccountIndication.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class LoadAccountIndication extends IndicationWithResponse +{ + private IAccount account; + + /** + * @since 2.0 + */ + public LoadAccountIndication(BuddiesServerProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_LOAD_ACCOUNT); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String userID = in.readString(); + account = IBuddyAdmin.INSTANCE.getAccounts().get(userID); + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + ProtocolUtil.writeAccount(out, account); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java new file mode 100644 index 0000000000..304c9be517 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/OpenSessionIndication.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.buddies.internal.server.bundle.OM; +import org.eclipse.net4j.buddies.internal.server.messages.Messages; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * @author Eike Stepper + */ +public class OpenSessionIndication extends IndicationWithResponse +{ + private IAccount account; + + private IBuddy[] buddies; + + /** + * @since 2.0 + */ + public OpenSessionIndication(BuddiesServerProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_OPEN_SESSION); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String userID = in.readString(); + String password = in.readString(); + int size = in.readInt(); + String[] facilityTypes = new String[size]; + for (int i = 0; i < size; i++) + { + facilityTypes[i] = in.readString(); + } + + synchronized (IBuddyAdmin.INSTANCE) + { + buddies = IBuddyAdmin.INSTANCE.getBuddies(); + ISession session = IBuddyAdmin.INSTANCE.openSession(getProtocol().getChannel(), userID, password, facilityTypes); + if (session != null) + { + account = session.getSelf().getAccount(); + } + else + { + OM.LOG.info(MessageFormat.format(Messages.getString("OpenSessionIndication.0"), userID)); //$NON-NLS-1$ + } + } + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + ProtocolUtil.writeAccount(out, account); + if (account != null) + { + List<BuddiesServerProtocol> protocols = new ArrayList<BuddiesServerProtocol>(); + out.writeInt(buddies.length); + for (IBuddy buddy : buddies) + { + out.writeString(buddy.getUserID()); + ISession buddySession = IBuddyAdmin.INSTANCE.getSession(buddy); + if (buddySession != null) + { + protocols.add((BuddiesServerProtocol)buddySession.getProtocol()); + } + } + + for (BuddiesServerProtocol protocol : protocols) + { + try + { + new BuddyAddedNotification(protocol, account.getUserID()).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerBuddyStateIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerBuddyStateIndication.java new file mode 100644 index 0000000000..1d4525d898 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerBuddyStateIndication.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy.State; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.protocol.BuddyStateIndication; +import org.eclipse.net4j.buddies.internal.server.ServerBuddy; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; + +/** + * @author Eike Stepper + */ +public class ServerBuddyStateIndication extends BuddyStateIndication +{ + /** + * @since 2.0 + */ + public ServerBuddyStateIndication(BuddiesServerProtocol protocol) + { + super(protocol); + } + + @Override + protected void stateChanged(String userID, State state) + { + synchronized (IBuddyAdmin.INSTANCE) + { + ISession session = IBuddyAdmin.INSTANCE.getSession(userID); + if (session != null) + { + ServerBuddy buddy = (ServerBuddy)session.getSelf(); + buddy.setState(state); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java new file mode 100644 index 0000000000..045226e5f8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.common.Buddy; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.protocol.CollaborationLeftIndication; +import org.eclipse.net4j.buddies.internal.common.protocol.CollaborationLeftNotification; +import org.eclipse.net4j.buddies.internal.server.BuddyAdmin; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.util.WrappedException; + +/** + * @author Eike Stepper + */ +public class ServerCollaborationLeftIndication extends CollaborationLeftIndication +{ + /** + * @since 2.0 + */ + public ServerCollaborationLeftIndication(BuddiesServerProtocol protocol) + { + super(protocol, IBuddyAdmin.INSTANCE, IBuddyAdmin.INSTANCE); + } + + @Override + protected void collaborationLeft(Buddy buddy, Collaboration collaboration) + { + for (IMembership membership : collaboration.getMemberships()) + { + IBuddy member = membership.getBuddy(); + if (member != buddy) + { + try + { + BuddiesServerProtocol protocol = (BuddiesServerProtocol)buddy.getSession().getProtocol(); + new CollaborationLeftNotification(protocol, collaboration.getID(), buddy.getUserID()).sendAsync(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + } + + super.collaborationLeft(buddy, collaboration); + if (collaboration.getBuddies().length == 0 && !collaboration.isPublic()) + { + BuddyAdmin.INSTANCE.removeCollaboration(collaboration.getID()); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/server/IBuddyAdmin.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/server/IBuddyAdmin.java new file mode 100644 index 0000000000..57b330abe9 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/server/IBuddyAdmin.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.server; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyProvider; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.ICollaborationContainer; +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.common.ISessionProvider; +import org.eclipse.net4j.buddies.internal.server.BuddyAdmin; +import org.eclipse.net4j.channel.IChannel; + +import java.util.Map; + +/** + * @author Eike Stepper + */ +public interface IBuddyAdmin extends ICollaborationContainer, IBuddyProvider, ISessionProvider +{ + public static final IBuddyAdmin INSTANCE = BuddyAdmin.INSTANCE; + + public Map<String, IAccount> getAccounts(); + + public ISession openSession(IChannel channel, String userID, String password, String[] facilityTypes); + + public ICollaboration initiateCollaboration(IBuddy initiator, String... userIDs); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/server/ServerConstants.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/server/ServerConstants.java new file mode 100644 index 0000000000..02a51a1cb5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.server/src/org/eclipse/net4j/buddies/server/ServerConstants.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.server; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; + +/** + * @author Eike Stepper + */ +public interface ServerConstants +{ + public static final String TYPE = ProtocolConstants.PROTOCOL_NAME + "server"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.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 kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.options b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.options new file mode 100644 index 0000000000..0210f13b23 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.buddies.ui/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.project b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.project new file mode 100644 index 0000000000..08da25a3b5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.buddies.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> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..4b2f26f957 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 13:02:30 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient1.launch b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient1.launch new file mode 100644 index 0000000000..abbe02696b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient1.launch @@ -0,0 +1,471 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench"> +<booleanAttribute key="askclear" value="true"/> +<booleanAttribute key="automaticAdd" value="false"/> +<booleanAttribute key="automaticValidate" value="false"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="org.eclipse.net4j,org.eclipse.net4j.buddies,org.eclipse.net4j.buddies.common,org.eclipse.net4j.buddies.ui,org.eclipse.net4j.tcp,org.eclipse.net4j.ui,org.eclipse.net4j.util,org.eclipse.net4j.util.ui"/> +<booleanAttribute key="clearConfig" value="true"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/BuddiesClient1"/> +<booleanAttribute key="default" value="false"/> +<booleanAttribute key="includeOptional" value="false"/> +<stringAttribute key="location" value="${workspace_loc}/../buddies.client1"/> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosplash -console"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.aspectj.tracing.debug=false -Xms40m -Xmx512m"/> +<stringAttribute key="pde.version" value="3.3"/> +<stringAttribute key="product" value="org.eclipse.sdk.ide"/> +<stringAttribute key="selectedPlugin" value="org.eclipse.net4j.buddies.common"/> +<stringAttribute key="selected_target_plugins" value="org.eclipse.emf.exporter,org.eclipse.ui.navigator.resources,org.eclipse.emf.ecore.editor,org.eclipse.equinox.launcher,org.eclipse.emf.mapping.ui,org.eclipse.jface.text,javax.servlet.jsp,org.eclipse.core.filesystem,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.xsd.cheatsheets,org.eclipse.pde,org.eclipse.emf.ecore,org.eclipse.jdt.compiler.apt,org.eclipse.ui.forms,org.eclipse.emf.converter,org.eclipse.jface.databinding,org.eclipse.jdt.junit,org.eclipse.jdt.launching,org.apache.lucene.analysis,org.eclipse.emf.source,org.eclipse.jdt,org.eclipse.xsd.edit,org.eclipse.ui.win32,org.eclipse.core.commands,org.eclipse.ui.intro,org.eclipse.core.runtime,org.junit4,org.eclipse.help.base,org.eclipse.core.expressions,org.eclipse.pde.doc.user,org.eclipse.emf.mapping.ecore2xml.ui,org.eclipse.xsd.ecore.importer,org.eclipse.ui.editors,org.eclipse.emf.codegen.ecore.ui,org.eclipse.jdt.doc.isv,org.eclipse.emf.common.ui,org.eclipse.equinox.preferences,org.eclipse.platform.doc.isv,org.eclipse.core.boot,org.apache.ant,org.eclipse.emf.cheatsheets,org.eclipse.update.scheduler,org.eclipse.core.filebuffers,org.eclipse.debug.ui,org.eclipse.emf.mapping.ecore2ecore.editor,org.eclipse.help.ui,org.eclipse.core.net,org.eclipse.emf.codegen.ui,org.eclipse.equinox.http.registry,org.eclipse.team.cvs.ssh2,org.eclipse.emf.common,javax.servlet,org.eclipse.ui.views,org.eclipse.emf.mapping,org.eclipse.xsd.source,org.eclipse.cvs,org.eclipse.equinox.registry,com.ibm.icu,org.eclipse.text,org.eclipse.swt.win32.win32.x86,org.eclipse.ant.ui,org.apache.commons.logging,org.eclipse.cvs.source,org.eclipse.ant.core,org.eclipse.swt,org.eclipse.jdt.junit4.runtime,org.eclipse.pde.build,org.eclipse.team.cvs.ui,org.eclipse.emf.codegen,org.eclipse.ui.presentations.r21,org.eclipse.emf.ecore.xmi,org.eclipse.ui.externaltools,org.eclipse.sdk,org.eclipse.debug.core,org.eclipse.rcp,org.eclipse.core.jobs,org.eclipse.pde.ui,org.eclipse.emf.mapping.xsd2ecore,org.eclipse.core.resources.compatibility,org.apache.lucene,org.eclipse.emf.edit.ui,org.eclipse.ui.browser,org.eclipse.xsd.ecore.exporter,org.eclipse.equinox.common,org.eclipse.ui.intro.universal,org.eclipse.search,org.eclipse.equinox.http.servlet,org.eclipse.compare,org.eclipse.emf.mapping.ecore2xml,org.eclipse.pde.junit.runtime,org.eclipse.core.contenttype,org.eclipse.emf.ecore.sdo.source,org.eclipse.core.variables,org.eclipse.platform.source,org.eclipse.pde.runtime,org.eclipse.ui.workbench.compatibility,org.eclipse.emf.ant,org.eclipse.emf.ecore.sdo,org.eclipse.help,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.doc.user,org.mortbay.jetty,org.eclipse.ltk.core.refactoring,org.eclipse.equinox.app,org.eclipse.update.configurator,org.eclipse.jdt.compiler.tool,org.apache.jasper,org.eclipse.team.cvs.ssh,org.eclipse.emf.mapping.ecore2ecore,org.eclipse.team.core,org.eclipse.emf,org.eclipse.emf.ecore.change,org.eclipse.help.webapp,org.eclipse.emf.edit,org.eclipse.osgi.services,org.eclipse.emf.ecore.edit,org.eclipse.ui.ide.application,org.eclipse.core.runtime.compatibility.registry,org.eclipse.jdt.core.manipulation,org.eclipse.ui.workbench.texteditor,org.eclipse.xsd.doc,org.eclipse.ui.ide,org.eclipse.team.cvs.core,org.eclipse.emf.mapping.xsd2ecore.editor,org.eclipse.pde.ui.templates,org.eclipse.ui.cheatsheets,org.eclipse.jdt.core,org.eclipse.ui.console,org.eclipse.osgi,org.eclipse.emf.codegen.ecore,org.eclipse.core.runtime.compatibility.auth,org.eclipse.pde.core,org.eclipse.update.core.win32,org.eclipse.emf.importer.ecore,org.eclipse.emf.commonj.sdo,org.eclipse.jdt.debug.ui,org.eclipse.emf.importer,org.eclipse.core.databinding,org.eclipse.emf.importer.rose,org.eclipse.update.core,org.eclipse.emf.ecore.sdo.doc,org.apache.commons.el,org.eclipse.team.ui,org.eclipse.jdt.ui,org.eclipse.ui.navigator,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.http.jetty,org.eclipse.ui.views.properties.tabbed,org.eclipse.ltk.ui.refactoring,org.eclipse.jdt.debug,org.eclipse.emf.ecore.sdo.editor,org.eclipse.core.filesystem.win32.x86,org.eclipse.osgi.util,org.eclipse.platform,org.eclipse.xsd.editor,org.eclipse.core.resources,org.eclipse.update.ui,com.jcraft.jsch,org.eclipse.core.databinding.beans,org.eclipse.jface,org.eclipse.emf.importer.java,org.eclipse.xsd,org.eclipse.core.runtime.compatibility,org.eclipse.pde.source,org.eclipse.jsch.core,org.junit,org.eclipse.jdt.source,org.eclipse.emf.ecore.sdo.edit,org.eclipse.emf.doc,org.eclipse.equinox.jsp.jasper,org.eclipse.help.appserver,org.eclipse.ui,org.eclipse.emf.ecore.change.edit,org.eclipse.rcp.source,org.eclipse.ui.workbench"/> +<stringAttribute key="selected_workspace_plugins" value="org.eclipse.net4j.buddies,org.eclipse.net4j.util.ui,org.eclipse.net4j.buddies.chat.ui,org.eclipse.net4j.tcp,org.eclipse.net4j.ui,org.eclipse.net4j.buddies.ui,org.eclipse.ant.optional.junit,org.eclipse.net4j.util,org.eclipse.net4j.buddies.chat,org.eclipse.net4j.buddies.common,org.eclipse.net4j"/> +<booleanAttribute key="show_selected_only" value="false"/> +<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> +<booleanAttribute key="tracing" value="true"/> +<mapAttribute key="tracingOptions"> +<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/> +<mapEntry key="org.eclipse.ui/trace/sources" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/> +<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugtoolbar" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/error" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.repository" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/> +<mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug" value="true"/> +<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/detection" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/> +<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> +<mapEntry key="org.eclipse.ui/debug" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> +<mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/> +<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.session" value="true"/> +<mapEntry key="org.eclipse.pde.core/classpath" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/> +<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/format" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/> +<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/trace" value="true"/> +<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/> +<mapEntry key="org.eclipse.team.core/threading" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> +<mapEntry key="org.eclipse.ocl/debug" value="true"/> +<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/> +<mapEntry key="org.eclipse.net4j.db/debug" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine" value="true"/> +<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/gotoNextAnnotation" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/delegate/calls" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.types" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> +<mapEntry key="org.eclipse.help.base/debug/search" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/> +<mapEntry key="org.eclipse.pde.build/debug" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/ws_ant" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/> +<mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/overalltime" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/state" value="false"/> +<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/> +<mapEntry key="org.eclipse.update.core/debug/type" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/actionSorting" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorerDecoration/trace" value="true"/> +<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/refresh" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/> +<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/> +<mapEntry key="org.eclipse.jet/debug/builder" value="false"/> +<mapEntry key="org.eclipse.help.webapp/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/> +<mapEntry key="org.eclipse.osgi/debug" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints/disabled" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugpopup" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/> +<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.resource" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/> +<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/> +<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/> +<mapEntry key="org.eclipse.net4j/perf" value="false"/> +<mapEntry key="org.eclipse.help.base/debug" value="true"/> +<mapEntry key="org.eclipse.jet/debug/projectBundleLoading" value="false"/> +<mapEntry key="org.eclipse.net4j/debug" value="true"/> +<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/log" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/> +<mapEntry key="org.eclipse.datatools.connectivity.sqm.core/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/lifecycle" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/job" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.buffer" value="false"/> +<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/> +<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/> +<mapEntry key="org.eclipse.pde.core/debug" value="true"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/> +<mapEntry key="org.eclipse.jet/debug/traceTagExecution" value="false"/> +<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/> +<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/> +<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/> +<mapEntry key="org.eclipse.core.resources/strings" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> +<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/> +<mapEntry key="org.eclipse.core.resources/preferences" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> +<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/emitter" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.transaction" value="true"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/> +<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/> +<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/> +<mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.update.core/debug" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/security" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.store" value="true"/> +<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/> +<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/> +<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/> +<mapEntry key="com.ibm.datatools.core.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/> +<mapEntry key="org.eclipse.core.resources/history" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> +<mapEntry key="org.eclipse.pde.core/validation" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/> +<mapEntry key="org.eclipse.core.runtime/debug" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> +<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/> +<mapEntry key="org.eclipse.jet/debug/pluginBundleLoading" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.model" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/listeners" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> +<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.util" value="true"/> +<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/> +<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore" value="false"/> +<mapEntry key="org.eclipse.jet/debug/additionalBundleLoading" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/> +<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/> +<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/> +<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling/showProblems" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/> +<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentcache" value="false"/> +<mapEntry key="org.eclipse.ui/trace/operations" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/transferbuilder/time" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.session" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/install" value="false"/> +<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/> +<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/> +<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/> +<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/> +<mapEntry key="org.eclipse.jet/debug/savedState" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/registry" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/> +<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/> +<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/> +<mapEntry key="org.eclipse.help/debug/context" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.object" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerValidators" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/> +<mapEntry key="org.eclipse.jet/debug/bundleLoading" value="false"/> +<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/> +<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/> +<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug" value="true"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/> +<mapEntry key="org.eclipse.team.core/debug" value="false"/> +<mapEntry key="org.eclipse.jet/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/> +<mapEntry key="org.eclipse.wst.xml.ui/projectionperf" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/> +<mapEntry key="org.eclipse.core.resources/save" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/> +<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/events" value="false"/> +<mapEntry key="org.eclipse.ui/trace/commands" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug" value="true"/> +<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/command" value="true"/> +<mapEntry key="org.eclipse.ui.intro/debug" value="true"/> +<mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/plugin/log" value="true"/> +<mapEntry key="org.eclipse.pde.core/cache" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/time" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/> +<mapEntry key="org.eclipse.emf.query/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/> +<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/> +<mapEntry key="org.eclipse.jet/debug/ext/xpathFunctions" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server.db/debug" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug" value="true"/> +<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.adapter" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/> +<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/> +<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/> +<mapEntry key="org.eclipse.core.resources/natures" value="false"/> +<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/> +<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/> +<mapEntry key="org.eclipse.team.core/streams" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.view" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/> +<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/> +<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/services" value="false"/> +<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/> +<mapEntry key="org.eclipse.datatools.connectivity/connectionprofileextension" value="false"/> +<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.resource" value="true"/> +<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/> +<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/> +<mapEntry key="org.eclipse.debug.core/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/> +<mapEntry key="org.eclipse.core.resources/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/> +<mapEntry key="org.eclipse.ui.browser/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.update.core/debug/web" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/> +<mapEntry key="org.eclipse.help/debug" value="true"/> +<mapEntry key="org.eclipse.core.runtime/perf" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/> +<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/> +<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.revision" value="true"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/> +<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.examples/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> +<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.datatools.connectivity/debug" value="true"/> +<mapEntry key="org.eclipse.jet/debug/modelLoaderExtensions" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.revision" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.revision" value="false"/> +<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/editor/log" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints/evaluation" value="false"/> +<mapEntry key="org.eclipse.jet/debug/xpath/compilations" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.model" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/> +<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/> +<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/> +<mapEntry key="org.eclipse.jet/debug/pluginProjectMonitor" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/> +<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/> +<mapEntry key="org.eclipse.update.configurator/debug" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.repository" value="true"/> +<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/> +<mapEntry key="org.eclipse.emf.ocl/debug" value="true"/> +</mapAttribute> +<booleanAttribute key="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="true"/> +<booleanAttribute key="useNamedJRE" value="true"/> +<booleanAttribute key="useProduct" value="true"/> +<booleanAttribute key="usefeatures" value="false"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient2.launch b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient2.launch new file mode 100644 index 0000000000..20c8b69e60 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient2.launch @@ -0,0 +1,470 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench"> +<booleanAttribute key="askclear" value="true"/> +<booleanAttribute key="automaticAdd" value="false"/> +<booleanAttribute key="automaticValidate" value="false"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="org.eclipse.net4j,org.eclipse.net4j.buddies,org.eclipse.net4j.buddies.common,org.eclipse.net4j.buddies.ui,org.eclipse.net4j.tcp,org.eclipse.net4j.ui,org.eclipse.net4j.util,org.eclipse.net4j.util.ui"/> +<booleanAttribute key="clearConfig" value="true"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/BuddiesClient2"/> +<booleanAttribute key="default" value="false"/> +<booleanAttribute key="includeOptional" value="false"/> +<stringAttribute key="location" value="${workspace_loc}/../buddies.client2"/> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosplash -console"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.aspectj.tracing.debug=false -Xms40m -Xmx512m"/> +<stringAttribute key="pde.version" value="3.3"/> +<stringAttribute key="product" value="org.eclipse.sdk.ide"/> +<stringAttribute key="selectedPlugin" value="org.eclipse.net4j.buddies.common"/> +<stringAttribute key="selected_target_plugins" value="com.ibm.icu,com.jcraft.jsch,javax.servlet,javax.servlet.jsp,org.apache.ant,org.apache.commons.el,org.apache.commons.logging,org.apache.jasper,org.apache.lucene,org.apache.lucene.analysis,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.boot,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.beans,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.emf,org.eclipse.emf.ant,org.eclipse.emf.cheatsheets,org.eclipse.emf.codegen,org.eclipse.emf.codegen.ecore,org.eclipse.emf.codegen.ecore.ui,org.eclipse.emf.codegen.ui,org.eclipse.emf.common,org.eclipse.emf.common.ui,org.eclipse.emf.commonj.sdo,org.eclipse.emf.converter,org.eclipse.emf.doc,org.eclipse.emf.ecore,org.eclipse.emf.ecore.change,org.eclipse.emf.ecore.change.edit,org.eclipse.emf.ecore.edit,org.eclipse.emf.ecore.editor,org.eclipse.emf.ecore.sdo,org.eclipse.emf.ecore.sdo.doc,org.eclipse.emf.ecore.sdo.edit,org.eclipse.emf.ecore.sdo.editor,org.eclipse.emf.ecore.sdo.source,org.eclipse.emf.ecore.xmi,org.eclipse.emf.edit,org.eclipse.emf.edit.ui,org.eclipse.emf.exporter,org.eclipse.emf.importer,org.eclipse.emf.importer.ecore,org.eclipse.emf.importer.java,org.eclipse.emf.importer.rose,org.eclipse.emf.mapping,org.eclipse.emf.mapping.ecore2ecore,org.eclipse.emf.mapping.ecore2ecore.editor,org.eclipse.emf.mapping.ecore2xml,org.eclipse.emf.mapping.ecore2xml.ui,org.eclipse.emf.mapping.ui,org.eclipse.emf.mapping.xsd2ecore,org.eclipse.emf.mapping.xsd2ecore.editor,org.eclipse.emf.source,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.jdt,org.eclipse.jdt.compiler.apt,org.eclipse.jdt.compiler.tool,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.doc.isv,org.eclipse.jdt.doc.user,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.junit4.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.source,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.jsch.core,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.pde,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.doc.user,org.eclipse.pde.junit.runtime,org.eclipse.pde.runtime,org.eclipse.pde.source,org.eclipse.pde.ui,org.eclipse.pde.ui.templates,org.eclipse.platform,org.eclipse.platform.doc.isv,org.eclipse.platform.source,org.eclipse.platform.source.win32.win32.x86,org.eclipse.rcp,org.eclipse.rcp.source,org.eclipse.rcp.source.win32.win32.x86,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.team.core,org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui,org.eclipse.text,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.ide.application,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.presentations.r21,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.scheduler,org.eclipse.update.ui,org.eclipse.xsd,org.eclipse.xsd.cheatsheets,org.eclipse.xsd.doc,org.eclipse.xsd.ecore.exporter,org.eclipse.xsd.ecore.importer,org.eclipse.xsd.edit,org.eclipse.xsd.editor,org.eclipse.xsd.source,org.junit,org.junit4,org.mortbay.jetty"/> +<stringAttribute key="selected_workspace_plugins" value="org.eclipse.net4j.buddies.ui,org.eclipse.net4j.fileshare.ui,org.eclipse.ant.optional.junit,org.eclipse.net4j.buddies.chat,org.eclipse.net4j.util,org.eclipse.net4j.buddies.common,org.eclipse.net4j.buddies,org.eclipse.net4j.fileshare,org.eclipse.net4j.util.ui,org.eclipse.net4j.buddies.chat.ui,org.eclipse.net4j,org.eclipse.net4j.tcp,org.eclipse.net4j.ui"/> +<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> +<booleanAttribute key="tracing" value="true"/> +<mapAttribute key="tracingOptions"> +<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/> +<mapEntry key="org.eclipse.ui/trace/sources" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/> +<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugtoolbar" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/error" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.repository" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/> +<mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug" value="true"/> +<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/detection" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/> +<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> +<mapEntry key="org.eclipse.ui/debug" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> +<mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/> +<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.session" value="true"/> +<mapEntry key="org.eclipse.pde.core/classpath" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/> +<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/format" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/> +<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/trace" value="true"/> +<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/> +<mapEntry key="org.eclipse.team.core/threading" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> +<mapEntry key="org.eclipse.ocl/debug" value="true"/> +<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/> +<mapEntry key="org.eclipse.net4j.db/debug" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine" value="true"/> +<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/gotoNextAnnotation" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/delegate/calls" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.types" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> +<mapEntry key="org.eclipse.help.base/debug/search" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/> +<mapEntry key="org.eclipse.pde.build/debug" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/ws_ant" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/> +<mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/overalltime" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/state" value="false"/> +<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/> +<mapEntry key="org.eclipse.update.core/debug/type" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/actionSorting" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorerDecoration/trace" value="true"/> +<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/refresh" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/> +<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/> +<mapEntry key="org.eclipse.jet/debug/builder" value="false"/> +<mapEntry key="org.eclipse.help.webapp/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/> +<mapEntry key="org.eclipse.osgi/debug" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints/disabled" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugpopup" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/> +<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.resource" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/> +<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/> +<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/> +<mapEntry key="org.eclipse.net4j/perf" value="false"/> +<mapEntry key="org.eclipse.help.base/debug" value="true"/> +<mapEntry key="org.eclipse.jet/debug/projectBundleLoading" value="false"/> +<mapEntry key="org.eclipse.net4j/debug" value="true"/> +<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/log" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/> +<mapEntry key="org.eclipse.datatools.connectivity.sqm.core/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/lifecycle" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/job" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.buffer" value="false"/> +<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/> +<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/> +<mapEntry key="org.eclipse.pde.core/debug" value="true"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/> +<mapEntry key="org.eclipse.jet/debug/traceTagExecution" value="false"/> +<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/> +<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/> +<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/> +<mapEntry key="org.eclipse.core.resources/strings" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> +<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/> +<mapEntry key="org.eclipse.core.resources/preferences" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> +<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/emitter" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.transaction" value="true"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/> +<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/> +<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/> +<mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.update.core/debug" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/security" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.store" value="true"/> +<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/> +<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/> +<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/> +<mapEntry key="com.ibm.datatools.core.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/> +<mapEntry key="org.eclipse.core.resources/history" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> +<mapEntry key="org.eclipse.pde.core/validation" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/> +<mapEntry key="org.eclipse.core.runtime/debug" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> +<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/> +<mapEntry key="org.eclipse.jet/debug/pluginBundleLoading" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.model" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/listeners" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> +<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.util" value="true"/> +<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/> +<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore" value="false"/> +<mapEntry key="org.eclipse.jet/debug/additionalBundleLoading" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/> +<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/> +<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/> +<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling/showProblems" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/> +<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentcache" value="false"/> +<mapEntry key="org.eclipse.ui/trace/operations" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/transferbuilder/time" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.session" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/install" value="false"/> +<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/> +<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/> +<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/> +<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/> +<mapEntry key="org.eclipse.jet/debug/savedState" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/registry" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/> +<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/> +<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/> +<mapEntry key="org.eclipse.help/debug/context" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.object" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerValidators" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/> +<mapEntry key="org.eclipse.jet/debug/bundleLoading" value="false"/> +<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/> +<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/> +<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug" value="true"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/> +<mapEntry key="org.eclipse.team.core/debug" value="false"/> +<mapEntry key="org.eclipse.jet/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/> +<mapEntry key="org.eclipse.wst.xml.ui/projectionperf" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/> +<mapEntry key="org.eclipse.core.resources/save" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/> +<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/events" value="false"/> +<mapEntry key="org.eclipse.ui/trace/commands" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug" value="true"/> +<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/command" value="true"/> +<mapEntry key="org.eclipse.ui.intro/debug" value="true"/> +<mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/plugin/log" value="true"/> +<mapEntry key="org.eclipse.pde.core/cache" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/time" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/> +<mapEntry key="org.eclipse.emf.query/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/> +<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/> +<mapEntry key="org.eclipse.jet/debug/ext/xpathFunctions" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server.db/debug" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug" value="true"/> +<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.adapter" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/> +<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/> +<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/> +<mapEntry key="org.eclipse.core.resources/natures" value="false"/> +<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/> +<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/> +<mapEntry key="org.eclipse.team.core/streams" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.view" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/> +<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/> +<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/services" value="false"/> +<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/> +<mapEntry key="org.eclipse.datatools.connectivity/connectionprofileextension" value="false"/> +<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.resource" value="true"/> +<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/> +<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/> +<mapEntry key="org.eclipse.debug.core/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/> +<mapEntry key="org.eclipse.ui.browser/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.update.core/debug/web" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/> +<mapEntry key="org.eclipse.help/debug" value="true"/> +<mapEntry key="org.eclipse.core.runtime/perf" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/> +<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/> +<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.revision" value="true"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/> +<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.examples/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> +<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.datatools.connectivity/debug" value="true"/> +<mapEntry key="org.eclipse.jet/debug/modelLoaderExtensions" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.revision" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.revision" value="false"/> +<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/editor/log" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints/evaluation" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.model" value="false"/> +<mapEntry key="org.eclipse.jet/debug/xpath/compilations" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/> +<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/> +<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/> +<mapEntry key="org.eclipse.jet/debug/pluginProjectMonitor" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/> +<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/> +<mapEntry key="org.eclipse.update.configurator/debug" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.repository" value="true"/> +<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/> +<mapEntry key="org.eclipse.emf.ocl/debug" value="true"/> +</mapAttribute> +<booleanAttribute key="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="true"/> +<booleanAttribute key="useNamedJRE" value="true"/> +<booleanAttribute key="useProduct" value="true"/> +<booleanAttribute key="usefeatures" value="false"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient3.launch b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient3.launch new file mode 100644 index 0000000000..a1d4541ca1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/BuddiesClient3.launch @@ -0,0 +1,470 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench"> +<booleanAttribute key="askclear" value="true"/> +<booleanAttribute key="automaticAdd" value="false"/> +<booleanAttribute key="automaticValidate" value="false"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="org.eclipse.net4j,org.eclipse.net4j.buddies,org.eclipse.net4j.buddies.common,org.eclipse.net4j.buddies.ui,org.eclipse.net4j.tcp,org.eclipse.net4j.ui,org.eclipse.net4j.util,org.eclipse.net4j.util.ui"/> +<booleanAttribute key="clearConfig" value="true"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/BuddiesClient3"/> +<booleanAttribute key="default" value="false"/> +<booleanAttribute key="includeOptional" value="false"/> +<stringAttribute key="location" value="${workspace_loc}/../buddies.client3"/> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosplash -console"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.aspectj.tracing.debug=false -Xms40m -Xmx512m"/> +<stringAttribute key="pde.version" value="3.3"/> +<stringAttribute key="product" value="org.eclipse.sdk.ide"/> +<stringAttribute key="selectedPlugin" value="org.eclipse.net4j.buddies.common"/> +<stringAttribute key="selected_target_plugins" value="com.ibm.icu,com.jcraft.jsch,javax.servlet,javax.servlet.jsp,org.apache.ant,org.apache.commons.el,org.apache.commons.logging,org.apache.jasper,org.apache.lucene,org.apache.lucene.analysis,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.boot,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.databinding,org.eclipse.core.databinding.beans,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.cvs,org.eclipse.cvs.source,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.emf,org.eclipse.emf.ant,org.eclipse.emf.cheatsheets,org.eclipse.emf.codegen,org.eclipse.emf.codegen.ecore,org.eclipse.emf.codegen.ecore.ui,org.eclipse.emf.codegen.ui,org.eclipse.emf.common,org.eclipse.emf.common.ui,org.eclipse.emf.commonj.sdo,org.eclipse.emf.converter,org.eclipse.emf.doc,org.eclipse.emf.ecore,org.eclipse.emf.ecore.change,org.eclipse.emf.ecore.change.edit,org.eclipse.emf.ecore.edit,org.eclipse.emf.ecore.editor,org.eclipse.emf.ecore.sdo,org.eclipse.emf.ecore.sdo.doc,org.eclipse.emf.ecore.sdo.edit,org.eclipse.emf.ecore.sdo.editor,org.eclipse.emf.ecore.sdo.source,org.eclipse.emf.ecore.xmi,org.eclipse.emf.edit,org.eclipse.emf.edit.ui,org.eclipse.emf.exporter,org.eclipse.emf.importer,org.eclipse.emf.importer.ecore,org.eclipse.emf.importer.java,org.eclipse.emf.importer.rose,org.eclipse.emf.mapping,org.eclipse.emf.mapping.ecore2ecore,org.eclipse.emf.mapping.ecore2ecore.editor,org.eclipse.emf.mapping.ecore2xml,org.eclipse.emf.mapping.ecore2xml.ui,org.eclipse.emf.mapping.ui,org.eclipse.emf.mapping.xsd2ecore,org.eclipse.emf.mapping.xsd2ecore.editor,org.eclipse.emf.source,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.registry,org.eclipse.equinox.http.servlet,org.eclipse.equinox.jsp.jasper,org.eclipse.equinox.jsp.jasper.registry,org.eclipse.equinox.launcher,org.eclipse.equinox.launcher.win32.win32.x86,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.help.webapp,org.eclipse.jdt,org.eclipse.jdt.compiler.apt,org.eclipse.jdt.compiler.tool,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.doc.isv,org.eclipse.jdt.doc.user,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.junit4.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.source,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.databinding,org.eclipse.jface.text,org.eclipse.jsch.core,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.osgi,org.eclipse.osgi.services,org.eclipse.osgi.util,org.eclipse.pde,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.doc.user,org.eclipse.pde.junit.runtime,org.eclipse.pde.runtime,org.eclipse.pde.source,org.eclipse.pde.ui,org.eclipse.pde.ui.templates,org.eclipse.platform,org.eclipse.platform.doc.isv,org.eclipse.platform.source,org.eclipse.platform.source.win32.win32.x86,org.eclipse.rcp,org.eclipse.rcp.source,org.eclipse.rcp.source.win32.win32.x86,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.swt.win32.win32.x86,org.eclipse.team.core,org.eclipse.team.cvs.core,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui,org.eclipse.team.ui,org.eclipse.text,org.eclipse.ui,org.eclipse.ui.browser,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.ide.application,org.eclipse.ui.intro,org.eclipse.ui.intro.universal,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.presentations.r21,org.eclipse.ui.views,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.win32,org.eclipse.ui.workbench,org.eclipse.ui.workbench.compatibility,org.eclipse.ui.workbench.texteditor,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.scheduler,org.eclipse.update.ui,org.eclipse.xsd,org.eclipse.xsd.cheatsheets,org.eclipse.xsd.doc,org.eclipse.xsd.ecore.exporter,org.eclipse.xsd.ecore.importer,org.eclipse.xsd.edit,org.eclipse.xsd.editor,org.eclipse.xsd.source,org.junit,org.junit4,org.mortbay.jetty"/> +<stringAttribute key="selected_workspace_plugins" value="org.eclipse.net4j.buddies.ui,org.eclipse.net4j.fileshare.ui,org.eclipse.ant.optional.junit,org.eclipse.net4j.buddies.chat,org.eclipse.net4j.util,org.eclipse.net4j.buddies.common,org.eclipse.net4j.buddies,org.eclipse.net4j.fileshare,org.eclipse.net4j.util.ui,org.eclipse.net4j.buddies.chat.ui,org.eclipse.net4j,org.eclipse.net4j.tcp,org.eclipse.net4j.ui"/> +<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> +<booleanAttribute key="tracing" value="true"/> +<mapAttribute key="tracingOptions"> +<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/> +<mapEntry key="org.eclipse.ui/trace/sources" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/> +<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugtoolbar" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/error" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.repository" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/> +<mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug" value="true"/> +<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/detection" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/> +<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> +<mapEntry key="org.eclipse.ui/debug" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> +<mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/> +<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.session" value="true"/> +<mapEntry key="org.eclipse.pde.core/classpath" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/> +<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/format" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/> +<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/trace" value="true"/> +<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/> +<mapEntry key="org.eclipse.team.core/threading" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> +<mapEntry key="org.eclipse.ocl/debug" value="true"/> +<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/> +<mapEntry key="org.eclipse.net4j.db/debug" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine" value="true"/> +<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/gotoNextAnnotation" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/delegate/calls" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.types" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> +<mapEntry key="org.eclipse.help.base/debug/search" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/> +<mapEntry key="org.eclipse.pde.build/debug" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/ws_ant" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/> +<mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/overalltime" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/state" value="false"/> +<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/> +<mapEntry key="org.eclipse.update.core/debug/type" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/actionSorting" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorerDecoration/trace" value="true"/> +<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/refresh" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/> +<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/> +<mapEntry key="org.eclipse.jet/debug/builder" value="false"/> +<mapEntry key="org.eclipse.help.webapp/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/> +<mapEntry key="org.eclipse.osgi/debug" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints/disabled" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugpopup" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/> +<mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.resource" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/> +<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/> +<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/> +<mapEntry key="org.eclipse.net4j/perf" value="false"/> +<mapEntry key="org.eclipse.help.base/debug" value="true"/> +<mapEntry key="org.eclipse.jet/debug/projectBundleLoading" value="false"/> +<mapEntry key="org.eclipse.net4j/debug" value="true"/> +<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/> +<mapEntry key="com.ibm.datatools.core.ui/modelExplorer/log" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/> +<mapEntry key="org.eclipse.datatools.connectivity.sqm.core/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/lifecycle" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/job" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.buffer" value="false"/> +<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/> +<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/> +<mapEntry key="org.eclipse.pde.core/debug" value="true"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/> +<mapEntry key="org.eclipse.jet/debug/traceTagExecution" value="false"/> +<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/> +<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/> +<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/> +<mapEntry key="org.eclipse.core.resources/strings" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> +<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/> +<mapEntry key="org.eclipse.core.resources/preferences" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> +<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/> +<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/emitter" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.transaction" value="true"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/> +<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/> +<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/> +<mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/> +<mapEntry key="org.eclipse.update.core/debug" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/security" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.store" value="true"/> +<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/> +<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/> +<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/> +<mapEntry key="com.ibm.datatools.core.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/> +<mapEntry key="org.eclipse.core.resources/history" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> +<mapEntry key="org.eclipse.pde.core/validation" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/> +<mapEntry key="org.eclipse.core.runtime/debug" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> +<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/> +<mapEntry key="org.eclipse.jet/debug/pluginBundleLoading" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.model" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/listeners" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> +<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.util" value="true"/> +<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/> +<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore" value="false"/> +<mapEntry key="org.eclipse.jet/debug/additionalBundleLoading" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/> +<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/> +<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/> +<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling/showProblems" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/> +<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/> +<mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentcache" value="false"/> +<mapEntry key="org.eclipse.ui/trace/operations" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/transferbuilder/time" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.session" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/install" value="false"/> +<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/> +<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/> +<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/> +<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/> +<mapEntry key="org.eclipse.jet/debug/savedState" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/registry" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/> +<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/> +<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/> +<mapEntry key="org.eclipse.help/debug/context" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.object" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerValidators" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/> +<mapEntry key="org.eclipse.jet/debug/bundleLoading" value="false"/> +<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/> +<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/> +<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/> +<mapEntry key="org.eclipse.wst.xml.core/debug" value="true"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/> +<mapEntry key="org.eclipse.team.core/debug" value="false"/> +<mapEntry key="org.eclipse.jet/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/> +<mapEntry key="org.eclipse.wst.xml.ui/projectionperf" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/> +<mapEntry key="org.eclipse.core.resources/save" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/> +<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/events" value="false"/> +<mapEntry key="org.eclipse.ui/trace/commands" value="false"/> +<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug" value="true"/> +<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/command" value="true"/> +<mapEntry key="org.eclipse.ui.intro/debug" value="true"/> +<mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/plugin/log" value="true"/> +<mapEntry key="org.eclipse.pde.core/cache" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/exceptions/catching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks/time" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/> +<mapEntry key="org.eclipse.emf.query/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/> +<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/> +<mapEntry key="org.eclipse.jet/debug/ext/xpathFunctions" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server.db/debug" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug" value="true"/> +<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.adapter" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/> +<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/> +<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/> +<mapEntry key="org.eclipse.core.resources/natures" value="false"/> +<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/> +<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/> +<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/> +<mapEntry key="org.eclipse.team.core/streams" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.view" value="true"/> +<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/> +<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/> +<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/> +<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> +<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/services" value="false"/> +<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/> +<mapEntry key="org.eclipse.datatools.connectivity/connectionprofileextension" value="false"/> +<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.resource" value="true"/> +<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/> +<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/> +<mapEntry key="org.eclipse.debug.core/debug" value="false"/> +<mapEntry key="org.eclipse.core.resources/debug" value="false"/> +<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/> +<mapEntry key="org.eclipse.ui.browser/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.update.core/debug/web" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/> +<mapEntry key="org.eclipse.help/debug" value="true"/> +<mapEntry key="org.eclipse.core.runtime/perf" value="false"/> +<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time" value="false"/> +<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/> +<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/> +<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies/debug.revision" value="true"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/> +<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.examples/debug" value="true"/> +<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> +<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.datatools.connectivity/debug" value="true"/> +<mapEntry key="org.eclipse.jet/debug/modelLoaderExtensions" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug" value="true"/> +<mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.revision" value="true"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.revision" value="false"/> +<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/> +<mapEntry key="com.ibm.datatools.core.ui/editor/log" value="true"/> +<mapEntry key="org.eclipse.emf.validation/debug/constraints/evaluation" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.common/debug.model" value="false"/> +<mapEntry key="org.eclipse.jet/debug/xpath/compilations" value="false"/> +<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/> +<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/> +<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/> +<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/> +<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/> +<mapEntry key="org.eclipse.jet/debug/pluginProjectMonitor" value="false"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/> +<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/> +<mapEntry key="org.eclipse.update.configurator/debug" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug" value="true"/> +<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/> +<mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/> +<mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/> +<mapEntry key="org.eclipse.net4j.buddies.server/debug.repository" value="true"/> +<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/> +<mapEntry key="org.eclipse.emf.ocl/debug" value="true"/> +</mapAttribute> +<booleanAttribute key="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="false"/> +<booleanAttribute key="useNamedJRE" value="true"/> +<booleanAttribute key="useProduct" value="true"/> +<booleanAttribute key="usefeatures" value="false"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..7a2b1016b1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/META-INF/MANIFEST.MF @@ -0,0 +1,27 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.buddies.ui;singleton:=true +Bundle-Version: 4.0.100.qualifier +Bundle-Activator: org.eclipse.net4j.buddies.internal.ui.bundle.OM$Activator +Bundle-Vendor: %providerName +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.ui;bundle-version="[3.4.0,4.0.0)";visibility:=reexport, + org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)";visibility:=reexport, + org.eclipse.net4j;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.util.ui;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, + org.eclipse.net4j.buddies;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.buddies.chat;bundle-version="[4.0.0,5.0.0)";resolution:=optional, + org.eclipse.net4j.ui.shared;bundle-version="[4.0.0,5.0.0)" +Export-Package: org.eclipse.net4j.buddies.internal.ui;version="4.0.100", + org.eclipse.net4j.buddies.internal.ui.actions;version="4.0.100", + org.eclipse.net4j.buddies.internal.ui.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.internal.ui.dnd;version="4.0.100", + org.eclipse.net4j.buddies.internal.ui.messages;version="4.0.100";x-internal:=true, + org.eclipse.net4j.buddies.internal.ui.preferences;version="4.0.100", + org.eclipse.net4j.buddies.internal.ui.views;version="4.0.100", + org.eclipse.net4j.buddies.ui;version="4.0.100" +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/build.properties new file mode 100644 index 0000000000..5255e7b72a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/build.properties @@ -0,0 +1,25 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + .options,\ + copyright.txt,\ + about.html,\ + schema/ +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/plugin.properties new file mode 100644 index 0000000000..a56ee5159c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/plugin.properties @@ -0,0 +1,17 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Buddies UI +providerName = Eclipse Modeling Project + +page.name = Buddies +category.name = Net4j Buddies +view.name = Buddies +view.name.0 = Collaborations +extension-point.name = Facility Pane Creators
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/plugin.xml b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/plugin.xml new file mode 100644 index 0000000000..454eeb23f5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/plugin.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> + +<plugin> + + <extension-point id="facilityPaneCreators" name="%extension-point.name" schema="schema/facilityPaneCreators.exsd"/> + + <extension + point="org.eclipse.ui.preferencePages"> + <page + class="org.eclipse.net4j.buddies.internal.ui.preferences.BuddiesPreferencePage" + id="org.eclipse.net4j.buddies.ui.preferences.BuddiesPreferencePage" + name="%page.name"> + </page> + </extension> + + <extension + point="org.eclipse.ui.views"> + <category + id="org.eclipse.net4j.buddies" + name="%category.name"/> + <view + category="org.eclipse.net4j.buddies" + class="org.eclipse.net4j.buddies.internal.ui.views.BuddiesView" + icon="platform:/plugin/org.eclipse.net4j.ui.shared/icons/full/view16/buddies_view.gif" + id="org.eclipse.net4j.BuddiesView" + name="%view.name"/> + <view + category="org.eclipse.net4j.buddies" + class="org.eclipse.net4j.buddies.internal.ui.views.CollaborationsView" + icon="platform:/plugin/org.eclipse.net4j.ui.shared/icons/full/view16/collaborations_view.gif" + id="org.eclipse.net4j.CollaborationsView" + name="%view.name.0"/> + </extension> + + <extension + point="org.eclipse.ui.perspectiveExtensions"> + <perspectiveExtension + targetID="org.eclipse.ui.resourcePerspective"> + <view + id="org.eclipse.net4j.BuddiesView" + ratio="1" + relationship="stack" + relative="org.eclipse.ui.views.ContentOutline"> + </view> + </perspectiveExtension> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/schema/facilityPaneCreators.exsd b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/schema/facilityPaneCreators.exsd new file mode 100644 index 0000000000..0d7295632f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/schema/facilityPaneCreators.exsd @@ -0,0 +1,128 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.net4j.buddies.ui"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.net4j.buddies.ui" id="facilityPaneCreators" name="Facility Pane Creators"/> + </appInfo> + <documentation> + [Enter description of this extension point.] + </documentation> + </annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="facilityPaneCreator" minOccurs="1" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute translatable="true"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="facilityPaneCreator"> + <annotation> + <appInfo> + <meta.element labelAttribute="type" icon="icon"/> + </appInfo> + </annotation> + <complexType> + <attribute name="type" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn=":org.eclipse.net4j.buddies.ui.IFacilityPaneCreator"/> + </appInfo> + </annotation> + </attribute> + <attribute name="icon" type="string"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute kind="resource"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="since"/> + </appInfo> + <documentation> + [Enter the first release in which this extension point appears.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + [Enter extension point usage example here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + [Enter information about supplied implementation of this extension point.] + </documentation> + </annotation> + + <annotation> + <appinfo> + <meta.section type="copyright"/> + </appinfo> + <documentation> + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.<br> +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 <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> + </documentation> + </annotation> + +</schema> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java new file mode 100644 index 0000000000..381ec467a3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.ui.shared.SharedIcons; +import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.ui.UIUtil; +import org.eclipse.net4j.util.ui.actions.LongRunningAction; +import org.eclipse.net4j.util.ui.actions.SafeAction; +import org.eclipse.net4j.util.ui.views.ContainerItemProvider; +import org.eclipse.net4j.util.ui.views.ContainerView; +import org.eclipse.net4j.util.ui.views.IElementFilter; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.viewers.ITreeSelection; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.Image; + +/** + * @author Eike Stepper + */ +public abstract class AbstractItemProvider extends ContainerItemProvider<IContainer<Object>> +{ + public static final Color GRAY = UIUtil.getDisplay().getSystemColor(SWT.COLOR_GRAY); + + private Font bold; + + public AbstractItemProvider() + { + } + + public AbstractItemProvider(IElementFilter rootElementFilter) + { + super(rootElementFilter); + } + + @Override + public void dispose() + { + UIUtil.dispose(bold); + super.dispose(); + } + + public Font getBold() + { + return bold; + } + + @Override + protected Node createNode(Node parent, Object element) + { + if (element instanceof IMembership) + { + IMembership membership = (IMembership)element; + return createMembershipNode(parent, membership); + } + + return super.createNode(parent, element); + } + + protected abstract Node createMembershipNode(Node parent, IMembership membership); + + @Override + public String getText(Object obj) + { + if (obj instanceof IBuddy) + { + IBuddy buddy = (IBuddy)obj; + return buddy.getUserID(); + } + + if (obj instanceof ICollaboration) + { + ICollaboration collaboration = (ICollaboration)obj; + return collaboration.getTitle(); + } + + if (obj instanceof IMembership) + { + IMembership membership = (IMembership)obj; + return getText(membership); + } + + return super.getText(obj); + } + + protected abstract String getText(IMembership membership); + + @Override + public Image getImage(Object obj) + { + if (obj instanceof IBuddy) + { + IBuddy buddy = (IBuddy)obj; + switch (buddy.getState()) + { + case AVAILABLE: + return SharedIcons.getImage(SharedIcons.OBJ_BUDDY); + + case LONESOME: + return SharedIcons.getImage(SharedIcons.OBJ_BUDDY_LONESOME); + + case AWAY: + return SharedIcons.getImage(SharedIcons.OBJ_BUDDY_AWAY); + + case DO_NOT_DISTURB: + return SharedIcons.getImage(SharedIcons.OBJ_BUDDY_DO_NOT_DISTURB); + } + } + + if (obj instanceof ICollaboration) + { + return SharedIcons.getImage(SharedIcons.OBJ_COLLABORATION); + } + + if (obj instanceof IMembership) + { + IMembership membership = (IMembership)obj; + return getImage(membership); + } + + return super.getImage(obj); + } + + protected abstract Image getImage(IMembership membership); + + @Override + public Color getForeground(Object obj) + { + if (obj instanceof IBuddy) + { + IBuddy buddy = (IBuddy)obj; + switch (buddy.getState()) + { + case AWAY: + case DO_NOT_DISTURB: + return GRAY; + } + } + + return super.getForeground(obj); + } + + @Override + public Font getFont(Object obj) + { + if (obj instanceof IBuddy) + { + IBuddy buddy = (IBuddy)obj; + switch (buddy.getState()) + { + case LONESOME: + return bold; + } + } + + return super.getFont(obj); + } + + @Override + protected void fillContextMenu(IMenuManager manager, ITreeSelection selection) + { + manager.add(new Separator()); + if (selection.size() == 1) + { + Object obj = selection.getFirstElement(); + if (obj instanceof IBuddy) + { + manager.add(new RemoveAction(obj)); + } + else if (obj instanceof IBuddyCollaboration) + { + final IBuddyCollaboration collaboration = (IBuddyCollaboration)obj; + manager.add(new SafeAction( + Messages.getString("AbstractItemProvider.0"), Messages.getString("AbstractItemProvider.1")) //$NON-NLS-1$ //$NON-NLS-2$ + { + @Override + protected void safeRun() throws Exception + { + collaboration.leave(); + } + }); + } + } + } + + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) + { + UIUtil.dispose(bold); + super.inputChanged(viewer, oldInput, newInput); + bold = UIUtil.getBoldFont(getViewer().getControl()); + } + + /** + * @author Eike Stepper + */ + public class RemoveAction extends LongRunningAction + { + private Object object; + + public RemoveAction(Object object) + { + super( + Messages.getString("AbstractItemProvider.2"), Messages.getString("AbstractItemProvider.3"), ContainerView.getDeleteImageDescriptor()); //$NON-NLS-1$ //$NON-NLS-2$ + this.object = object; + } + + /** + * @since 2.0 + */ + @Override + protected void doRun(IProgressMonitor progressMonitor) throws Exception + { + LifecycleUtil.deactivateNoisy(object); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/BuddiesContentProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/BuddiesContentProvider.java new file mode 100644 index 0000000000..bbb50a79c6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/BuddiesContentProvider.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.common.IBuddyContainer; +import org.eclipse.net4j.util.ui.StructuredContentProvider; + +/** + * @author Eike Stepper + */ +public class BuddiesContentProvider extends StructuredContentProvider<IBuddyContainer> +{ + public BuddiesContentProvider() + { + } + + public Object[] getElements(Object inputElement) + { + return getInput().getElements(); + } + + @Override + protected void connectInput(IBuddyContainer input) + { + input.addListener(this); + } + + @Override + protected void disconnectInput(IBuddyContainer input) + { + input.removeListener(this); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/BuddiesItemProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/BuddiesItemProvider.java new file mode 100644 index 0000000000..9a9d66545b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/BuddiesItemProvider.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.util.ui.views.IElementFilter; + +import org.eclipse.swt.graphics.Image; + +/** + * @author Eike Stepper + */ +public class BuddiesItemProvider extends AbstractItemProvider +{ + public BuddiesItemProvider() + { + } + + public BuddiesItemProvider(IElementFilter rootElementFilter) + { + super(rootElementFilter); + } + + @Override + protected Node createMembershipNode(Node parent, IMembership membership) + { + return createLeafNode(parent, membership); + } + + @Override + protected String getText(IMembership membership) + { + return getText(membership.getCollaboration()); + } + + @Override + protected Image getImage(IMembership membership) + { + return getImage(membership.getCollaboration()); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/ChatInstaller.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/ChatInstaller.java new file mode 100644 index 0000000000..a6b7184bff --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/ChatInstaller.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.chat.IChat; + +/** + * @author Eike Stepper + */ +public final class ChatInstaller +{ + private ChatInstaller() + { + } + + public static void installChat(IBuddyCollaboration collaboration) + { + collaboration.installFacility(IChat.TYPE); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/CollaborationsContentProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/CollaborationsContentProvider.java new file mode 100644 index 0000000000..5d508835ae --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/CollaborationsContentProvider.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.common.ICollaborationContainer; +import org.eclipse.net4j.util.ui.StructuredContentProvider; + +/** + * @author Eike Stepper + */ +public class CollaborationsContentProvider extends StructuredContentProvider<ICollaborationContainer> +{ + public CollaborationsContentProvider() + { + } + + public Object[] getElements(Object inputElement) + { + return getInput().getElements(); + } + + @Override + protected void connectInput(ICollaborationContainer input) + { + input.addListener(this); + } + + @Override + protected void disconnectInput(ICollaborationContainer input) + { + input.removeListener(this); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/CollaborationsItemProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/CollaborationsItemProvider.java new file mode 100644 index 0000000000..c453e89f0f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/CollaborationsItemProvider.java @@ -0,0 +1,141 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.internal.buddies.Self; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.ui.views.IElementFilter; + +import org.eclipse.swt.graphics.Image; + +import java.util.Collection; + +/** + * @author Eike Stepper + */ +public class CollaborationsItemProvider extends AbstractItemProvider +{ + public CollaborationsItemProvider() + { + } + + public CollaborationsItemProvider(IElementFilter rootElementFilter) + { + super(rootElementFilter); + } + + @Override + protected Node createNode(Node parent, Object element) + { + if (element instanceof Self) + { + return new SelfNode((Self)element); + } + + if (element instanceof IMembership) + { + IMembership membership = (IMembership)element; + if (membership.getBuddy() instanceof Self) + { + return null; + } + } + + return super.createNode(parent, element); + } + + @Override + protected Node createMembershipNode(Node parent, IMembership membership) + { + return createLeafNode(parent, membership); + } + + @Override + protected String getText(IMembership membership) + { + return getText(membership.getBuddy()); + } + + @Override + protected Image getImage(IMembership membership) + { + return getImage(membership.getBuddy()); + } + + /** + * @since 4.0 + */ + @Override + public void refreshElement(Object element, boolean updateLabels) + { + super.refreshElement(null, updateLabels); + } + + /** + * @author Eike Stepper + */ + private class SelfNode extends AbstractContainerNode implements IListener + { + private Self self; + + public SelfNode(Self self) + { + super(null); + this.self = self; + } + + @Override + public void dispose() + { + if (!isDisposed()) + { + self.removeListener(containerListener); + super.dispose(); + } + } + + public Self getElement() + { + return self; + } + + public void notifyEvent(IEvent event) + { + IMembership membership = (IMembership)event.getSource(); + if (event instanceof ILifecycleEvent) + { + ILifecycleEvent e = (ILifecycleEvent)event; + if (e.getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + membership.removeListener(this); + ICollaboration collaboration = membership.getCollaboration(); + Node node = getNode(collaboration); + if (node != null) + { + node.dispose(); + } + } + } + } + + @Override + protected Node addChild(Collection<Node> children, Object element) + { + IMembership membership = (IMembership)element; + membership.addListener(this); + return super.addChild(children, membership.getCollaboration()); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/MembershipItemProvider.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/MembershipItemProvider.java new file mode 100644 index 0000000000..f472653fff --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/MembershipItemProvider.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui; + +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.util.ui.views.IElementFilter; + +import org.eclipse.swt.graphics.Image; + +/** + * @author Eike Stepper + */ +public class MembershipItemProvider extends AbstractItemProvider +{ + public MembershipItemProvider() + { + } + + public MembershipItemProvider(IElementFilter rootElementFilter) + { + super(rootElementFilter); + } + + @Override + protected Node createMembershipNode(Node parent, IMembership membership) + { + return createContaineNode(parent, membership); + } + + @Override + protected String getText(IMembership membership) + { + return getText(membership.getBuddy()) + "(" + getText(membership.getCollaboration()) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Override + protected Image getImage(IMembership membership) + { + return null; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/ConnectAction.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/ConnectAction.java new file mode 100644 index 0000000000..fdd917d9f6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/ConnectAction.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.actions; + +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.util.ui.actions.SafeAction; + +/** + * @author Eike Stepper + */ +public final class ConnectAction extends SafeAction +{ + public ConnectAction() + { + super(Messages.getString("ConnectAction_0"), Messages.getString("ConnectAction_1")); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Override + protected void safeRun() throws Exception + { + ISessionManager.INSTANCE.connect(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/DisconnectAction.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/DisconnectAction.java new file mode 100644 index 0000000000..e23b486a7d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/DisconnectAction.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.actions; + +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.util.ui.actions.SafeAction; + +/** + * @author Eike Stepper + */ +public final class DisconnectAction extends SafeAction +{ + public DisconnectAction() + { + super(Messages.getString("DisconnectAction_0"), Messages.getString("DisconnectAction_1")); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Override + protected void safeRun() throws Exception + { + ISessionManager.INSTANCE.disconnect(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/FlashAction.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/FlashAction.java new file mode 100644 index 0000000000..41bed59617 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/FlashAction.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.actions; + +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.util.ui.actions.SafeAction; + +/** + * @author Eike Stepper + */ +public final class FlashAction extends SafeAction +{ + public FlashAction() + { + super(Messages.getString("FlashAction_0"), Messages.getString("FlashAction_1")); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Override + protected void safeRun() throws Exception + { + ISessionManager.INSTANCE.flashMe(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/ReconnectAction.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/ReconnectAction.java new file mode 100644 index 0000000000..25aafd30fd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/ReconnectAction.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.actions; + +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.util.ui.actions.SafeAction; + +/** + * @author Eike Stepper + */ +public final class ReconnectAction extends SafeAction +{ + public ReconnectAction() + { + super(Messages.getString("ReconnectAction_0"), Messages.getString("ReconnectAction_1")); //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Override + protected void safeRun() throws Exception + { + ISessionManager.INSTANCE.disconnect(); + ISessionManager.INSTANCE.connect(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/StateAction.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/StateAction.java new file mode 100644 index 0000000000..d0d98384ac --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/actions/StateAction.java @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.actions; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.common.IBuddy.State; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.internal.buddies.Self; +import org.eclipse.net4j.ui.shared.SharedIcons; +import org.eclipse.net4j.util.ui.actions.SafeAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; + +import java.text.MessageFormat; + +/** + * @author Eike Stepper + */ +public class StateAction extends SafeAction +{ + private State state; + + public StateAction(String text, State state, String key) + { + super(text, Action.AS_RADIO_BUTTON); + setToolTipText(MessageFormat.format(Messages.getString("StateAction_0"), text.toLowerCase())); //$NON-NLS-1$ + setImageDescriptor(SharedIcons.getDescriptor(key)); + this.state = state; + } + + public void updateState() + { + IBuddySession session = ISessionManager.INSTANCE.getSession(); + setEnabled(session != null); + setChecked(session != null && session.getSelf().getState() == state); + } + + @Override + protected void safeRun() throws Exception + { + IBuddySession session = ISessionManager.INSTANCE.getSession(); + if (session != null && isChecked()) + { + Self self = (Self)session.getSelf(); + self.setState(state); + } + } + + public static class DropDownAction extends Action implements IMenuCreator + { + private Menu fMenu; + + private StateAction availableAction = new AvailableAction(); + + private StateAction lonesomeAction = new LonesomeAction(); + + private StateAction awayAction = new AwayAction(); + + private StateAction doNotDisturbAction = new DoNotDisturbAction(); + + public DropDownAction() + { + setText(Messages.getString("StateAction_2")); //$NON-NLS-1$ + setMenuCreator(this); + } + + public void dispose() + { + if (fMenu != null) + { + fMenu.dispose(); + fMenu = null; + } + } + + public void updateState() + { + availableAction.updateState(); + lonesomeAction.updateState(); + awayAction.updateState(); + doNotDisturbAction.updateState(); + + IBuddySession session = ISessionManager.INSTANCE.getSession(); + if (session != null) + { + setEnabled(true); + State state = session.getSelf().getState(); + switch (state) + { + case AVAILABLE: + setImageDescriptor(availableAction.getImageDescriptor()); + break; + + case LONESOME: + setImageDescriptor(lonesomeAction.getImageDescriptor()); + break; + + case AWAY: + setImageDescriptor(awayAction.getImageDescriptor()); + break; + + case DO_NOT_DISTURB: + setImageDescriptor(doNotDisturbAction.getImageDescriptor()); + break; + } + } + else + { + setImageDescriptor(awayAction.getImageDescriptor()); + setEnabled(false); + } + } + + public Menu getMenu(Control parent) + { + if (fMenu != null) + { + fMenu.dispose(); + } + + fMenu = new Menu(parent); + addActionToMenu(fMenu, availableAction); + addActionToMenu(fMenu, lonesomeAction); + addActionToMenu(fMenu, awayAction); + addActionToMenu(fMenu, doNotDisturbAction); + return fMenu; + } + + public Menu getMenu(Menu parent) + { + return null; + } + + @Override + public void run() + { + } + + protected void addActionToMenu(Menu parent, Action action) + { + ActionContributionItem item = new ActionContributionItem(action); + item.fill(parent, -1); + } + } + + public static final class AvailableAction extends StateAction + { + public AvailableAction() + { + super(Messages.getString("StateAction_3"), State.AVAILABLE, SharedIcons.OBJ_BUDDY); //$NON-NLS-1$ + } + } + + public static final class LonesomeAction extends StateAction + { + public LonesomeAction() + { + super(Messages.getString("StateAction_4"), State.LONESOME, SharedIcons.OBJ_BUDDY_LONESOME); //$NON-NLS-1$ + } + } + + public static final class AwayAction extends StateAction + { + public AwayAction() + { + super(Messages.getString("StateAction_5"), State.AWAY, SharedIcons.OBJ_BUDDY_AWAY); //$NON-NLS-1$ + } + } + + public static final class DoNotDisturbAction extends StateAction + { + public DoNotDisturbAction() + { + super(Messages.getString("StateAction_6"), State.DO_NOT_DISTURB, SharedIcons.OBJ_BUDDY_DO_NOT_DISTURB); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/bundle/OM.java new file mode 100644 index 0000000000..14cabc5e87 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/bundle/OM.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.bundle; + +import org.eclipse.net4j.internal.buddies.SessionManager; +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; +import org.eclipse.net4j.util.ui.UIActivator; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.buddies.ui"; //$NON-NLS-1$ + + public static final String EXT_POINT = "facilityPaneCreators"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends UIActivator + { + public Activator() + { + super(BUNDLE); + } + + @Override + protected void doStart() throws Exception + { + SessionManager.INSTANCE.activate(); + } + + @Override + protected void doStop() throws Exception + { + SessionManager.INSTANCE.deactivate(); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/dnd/BuddiesTransfer.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/dnd/BuddiesTransfer.java new file mode 100644 index 0000000000..e7d4a84e0a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/dnd/BuddiesTransfer.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.dnd; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.ui.bundle.OM; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.internal.buddies.SessionManager; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; +import org.eclipse.net4j.util.ui.dnd.DNDTransfer; + +import java.io.IOException; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * @author Eike Stepper + */ +public class BuddiesTransfer extends DNDTransfer<IBuddy[]> +{ + public static final String TYPE_NAME = "buddies-transfer-format"; //$NON-NLS-1$ + + public static final BuddiesTransfer INSTANCE = new BuddiesTransfer(); + + public BuddiesTransfer() + { + super(TYPE_NAME); + } + + @Override + protected void writeObject(ExtendedDataOutputStream out, IBuddy[] buddies) throws IOException + { + out.writeInt(buddies.length); + for (IBuddy buddy : buddies) + { + out.writeString(buddy.getUserID()); + } + } + + @Override + protected IBuddy[] readObject(ExtendedDataInputStream in) throws IOException + { + IBuddySession session = SessionManager.INSTANCE.getSession(); + if (session == null) + { + OM.LOG.warn(Messages.getString("BuddiesTransfer_1")); //$NON-NLS-1$ + return null; + } + + List<IBuddy> buddies = new ArrayList<IBuddy>(); + int size = in.readInt(); + for (int i = 0; i < size; i++) + { + String userID = in.readString(); + IBuddy buddy = session.getBuddy(userID); + if (buddy != null) + { + buddies.add(buddy); + } + else + { + OM.LOG.warn(MessageFormat.format(Messages.getString("BuddiesTransfer_2"), userID)); //$NON-NLS-1$ + } + } + + return buddies.toArray(new IBuddy[buddies.size()]); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/messages/Messages.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/messages/Messages.java new file mode 100644 index 0000000000..6d44ae2178 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/messages/Messages.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Victor Roldan Betancort - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.net4j.buddies.internal.ui.messages; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * @author Victor Roldan Betancort + */ +public class Messages +{ + private static final String BUNDLE_NAME = "org.eclipse.net4j.buddies.internal.ui.messages.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/messages/messages.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/messages/messages.properties new file mode 100644 index 0000000000..187586764f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/messages/messages.properties @@ -0,0 +1,37 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Victor Roldan Betancort - initial API and implementation +# Eike Stepper - maintenance + +AbstractItemProvider.0=Leave +AbstractItemProvider.1=Leave this collaboration +AbstractItemProvider.2=Remove +AbstractItemProvider.3=Remove +BuddiesPreferencePage_0=Server: +BuddiesPreferencePage_1=User ID: +BuddiesPreferencePage_2=Password: +BuddiesPreferencePage_3=Auto Connect +BuddiesTransfer_1=Buddy session is not available +BuddiesTransfer_2=Buddy is not available: {0} +CollaborationsPane_0=Activate {0} facility +CollaborationsView_2=Start {0} +CollaborationsView_3=Start a {0} facility +ConnectAction_0=Connect +ConnectAction_1=Connect to buddies server +DisconnectAction_0=Disonnect +DisconnectAction_1=Disconnect from buddies server +FlashAction_0=Flash Me +FlashAction_1=Flash Me +ReconnectAction_0=Reconnect +ReconnectAction_1=Reconnect to buddies server +StateAction_0=Set own state to \"{0}\" +StateAction_2=Set My State +StateAction_3=Available +StateAction_4=Lonesome +StateAction_5=Away +StateAction_6=Do Not Disturb diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/preferences/BuddiesPreferencePage.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/preferences/BuddiesPreferencePage.java new file mode 100644 index 0000000000..7ebe04e821 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/preferences/BuddiesPreferencePage.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.preferences; + +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.internal.buddies.bundle.OM; +import org.eclipse.net4j.util.ui.UIUtil; +import org.eclipse.net4j.util.ui.prefs.OMPreferencePage; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; + +/** + * @author Eike Stepper + */ +public class BuddiesPreferencePage extends OMPreferencePage +{ + private Text connectorDescription; + + private Text userID; + + private Text password; + + private Button autoConnect; + + public BuddiesPreferencePage() + { + super(OM.PREFS); + } + + @Override + protected Control createUI(Composite parent) + { + Composite composite = UIUtil.createGridComposite(parent, 2); + composite.setLayoutData(UIUtil.createGridData()); + + new Label(composite, SWT.NONE).setText(Messages.getString("BuddiesPreferencePage_0")); //$NON-NLS-1$ + connectorDescription = new Text(composite, SWT.BORDER); + connectorDescription.setLayoutData(UIUtil.createGridData(true, false)); + + new Label(composite, SWT.NONE).setText(Messages.getString("BuddiesPreferencePage_1")); //$NON-NLS-1$ + userID = new Text(composite, SWT.BORDER); + userID.setLayoutData(new GridData(100, SWT.DEFAULT)); + + new Label(composite, SWT.NONE).setText(Messages.getString("BuddiesPreferencePage_2")); //$NON-NLS-1$ + password = new Text(composite, SWT.BORDER | SWT.PASSWORD); + password.setLayoutData(new GridData(100, SWT.DEFAULT)); + + new Label(composite, SWT.NONE); + autoConnect = new Button(composite, SWT.CHECK); + autoConnect.setText(Messages.getString("BuddiesPreferencePage_3")); //$NON-NLS-1$ + + initValues(); + return composite; + } + + protected void initValues() + { + connectorDescription.setText(OM.PREF_CONNECTOR_DESCRIPTION.getValue()); + userID.setText(OM.PREF_USER_ID.getValue()); + password.setText(OM.PREF_PASSWORD.getValue()); + autoConnect.setSelection(OM.PREF_AUTO_CONNECT.getValue()); + } + + @Override + public boolean performOk() + { + OM.PREF_CONNECTOR_DESCRIPTION.setValue(connectorDescription.getText()); + OM.PREF_USER_ID.setValue(userID.getText()); + OM.PREF_PASSWORD.setValue(password.getText()); + OM.PREF_AUTO_CONNECT.setValue(autoConnect.getSelection()); + return super.performOk(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesDragListener.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesDragListener.java new file mode 100644 index 0000000000..ff47beca18 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesDragListener.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.ui.dnd.BuddiesTransfer; +import org.eclipse.net4j.util.ui.dnd.DNDDragListener; + +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.Transfer; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +/** + * @author Eike Stepper + */ +public class BuddiesDragListener extends DNDDragListener<IBuddy[]> +{ + private static final Transfer[] TRANSFERS = new Transfer[] { BuddiesTransfer.INSTANCE }; + + protected BuddiesDragListener(StructuredViewer viewer) + { + super(TRANSFERS, viewer); + } + + @Override + protected IBuddy[] getObject(IStructuredSelection selection) + { + Collection<IBuddy> buddies = new ArrayList<IBuddy>(); + for (Iterator<?> it = selection.iterator(); it.hasNext();) + { + Object element = it.next(); + if (element instanceof IBuddy) + { + IBuddy buddy = (IBuddy)element; + buddies.add(buddy); + } + } + + if (buddies.isEmpty()) + { + return null; + } + + return buddies.toArray(new IBuddy[buddies.size()]); + } + + public static void support(StructuredViewer viewer) + { + viewer.addDragSupport(DND.DROP_MOVE, TRANSFERS, new BuddiesDragListener(viewer)); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesDropAdapter.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesDropAdapter.java new file mode 100644 index 0000000000..d39615456b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesDropAdapter.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.ui.dnd.BuddiesTransfer; +import org.eclipse.net4j.util.ui.dnd.DNDDropAdapter; + +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.Transfer; + +/** + * @author Eike Stepper + */ +public class BuddiesDropAdapter extends DNDDropAdapter<IBuddy[]> +{ + /** + * @since 3.0 + */ + public static final Transfer[] TRANSFERS = new Transfer[] { BuddiesTransfer.INSTANCE }; + + protected BuddiesDropAdapter(StructuredViewer viewer) + { + super(TRANSFERS, viewer); + setExpandEnabled(false); + } + + @Override + protected boolean validateTarget(Object target, int operation) + { + return target instanceof IBuddyCollaboration; + } + + @Override + protected boolean performDrop(IBuddy[] buddies, Object target) + { + IBuddyCollaboration collaboration = (IBuddyCollaboration)target; + collaboration.invite(buddies); + return true; + } + + public static void support(StructuredViewer viewer) + { + viewer.addDropSupport(DND.DROP_MOVE, TRANSFERS, new BuddiesDropAdapter(viewer)); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesView.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesView.java new file mode 100644 index 0000000000..53b9f04471 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/BuddiesView.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.ui.ChatInstaller; +import org.eclipse.net4j.util.container.ContainerUtil; +import org.eclipse.net4j.util.container.IContainer; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +public class BuddiesView extends SessionManagerView +{ + public BuddiesView() + { + } + + @Override + protected IContainer<?> getContainer() + { + return getSession() != null ? getSession() : ContainerUtil.emptyContainer(); + } + + @Override + protected Control createControl(Composite parent) + { + Control control = super.createControl(parent); + BuddiesDragListener.support(getViewer()); + BuddiesDropAdapter.support(getViewer()); + return control; + } + + @Override + protected void doubleClicked(Object object) + { + if (getSession() != null && object instanceof IBuddy) + { + IBuddy buddy = (IBuddy)object; + IBuddy self = getSession().getSelf(); + IMembership membership = self.initiate(buddy); + + try + { + // The chat dependency is optional + ChatInstaller.installChat((IBuddyCollaboration)membership.getCollaboration()); + } + catch (Throwable ignore) + { + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/CollaborationsPane.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/CollaborationsPane.java new file mode 100644 index 0000000000..ce8761be95 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/CollaborationsPane.java @@ -0,0 +1,334 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.common.IFacilityInstalledEvent; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.buddies.ui.IFacilityPaneCreator; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.StringUtil; +import org.eclipse.net4j.util.container.IContainerEvent; +import org.eclipse.net4j.util.container.IContainerEventVisitor; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.ui.actions.SafeAction; + +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StackLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IActionBars; + +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Eike Stepper + */ +public class CollaborationsPane extends Composite implements IListener +{ + private CollaborationsView collaborationsView; + + private IBuddySession session; + + private IBuddyCollaboration activeCollaboration; + + private Map<IBuddyCollaboration, IFacility> activeFacilities = new HashMap<IBuddyCollaboration, IFacility>(); + + private Map<IFacility, FacilityPane> facilityPanes = new HashMap<IFacility, FacilityPane>(); + + private List<ActivateFacilityAction> activateFacilityActions = new ArrayList<ActivateFacilityAction>(); + + private StackLayout paneStack; + + public CollaborationsPane(Composite parent, CollaborationsView collaborationsView) + { + super(parent, SWT.NONE); + setLayout(paneStack = new StackLayout()); + this.collaborationsView = collaborationsView; + } + + public CollaborationsView getCollaborationsView() + { + return collaborationsView; + } + + public IBuddySession getSession() + { + return session; + } + + public void setSession(IBuddySession session) + { + this.session = session; + if (session != null) + { + for (ICollaboration collaboration : session.getSelf().getCollaborations()) + { + collaborationAdded((IBuddyCollaboration)collaboration); + } + } + + updateState(); + } + + public IBuddyCollaboration getActiveCollaboration() + { + return activeCollaboration; + } + + public void setActiveCollaboration(IBuddyCollaboration collaboration) + { + if (activeCollaboration != collaboration) + { + activeCollaboration = collaboration; + IFacility facility = activeFacilities.get(collaboration); + setActiveFacility(collaboration, facility); + updateState(); + collaborationsView.refreshViewer(true); + } + } + + public void setActiveFacility(IBuddyCollaboration collaboration, IFacility facility) + { + activeFacilities.put(collaboration, facility); + if (collaboration == activeCollaboration) + { + FacilityPane facilityPane = facilityPanes.get(facility); + setActiveFacilityPane(facilityPane); + updateState(); + } + } + + protected void setActiveFacilityPane(FacilityPane newPane) + { + if (paneStack.topControl != newPane) + { + FacilityPane oldPane = (FacilityPane)paneStack.topControl; + if (oldPane != null) + { + oldPane.hidden(newPane); + } + + paneStack.topControl = newPane; + layout(); + if (newPane != null) + { + newPane.showed(oldPane); + } + + updateState(); + } + } + + public void fillActionBars(IActionBars bars) + { + IToolBarManager manager = bars.getToolBarManager(); + for (IFacilityPaneCreator c : collaborationsView.getFacilityPaneCreators().values()) + { + ActivateFacilityAction action = new ActivateFacilityAction(c.getType(), c.getImageDescriptor()); + activateFacilityActions.add(action); + manager.add(action); + } + } + + public void updateState() + { + for (ActivateFacilityAction action : activateFacilityActions) + { + if (activeCollaboration == null) + { + action.setEnabled(false); + } + else + { + String type = action.getType(); + action.setEnabled(activeCollaboration.getFacility(type) != null); + + IFacility activeFacility = activeFacilities.get(activeCollaboration); + action.setChecked(activeFacility != null && ObjectUtil.equals(activeFacility.getType(), type)); + } + } + } + + public void notifyEvent(IEvent event) + { + if (session == null) + { + return; + } + + if (event.getSource() == session.getSelf() && event instanceof IContainerEvent<?>) + { + @SuppressWarnings("unchecked") + IContainerEvent<IMembership> e = (IContainerEvent<IMembership>)event; + e.accept(new IContainerEventVisitor<IMembership>() + { + public void added(IMembership membership) + { + collaborationAdded((IBuddyCollaboration)membership.getCollaboration()); + } + + public void removed(IMembership membership) + { + collaborationRemoved((IBuddyCollaboration)membership.getCollaboration()); + } + }); + } + else if (event instanceof IFacilityInstalledEvent) + { + IFacilityInstalledEvent e = (IFacilityInstalledEvent)event; + facilityInstalled(e.getFacility(), e.fromRemote()); + } + } + + protected void collaborationAdded(IBuddyCollaboration collaboration) + { + IFacility[] facilities = collaboration.getFacilities(); + for (IFacility facility : facilities) + { + addFacilityPane(facility); + } + + if (activeCollaboration == null) + { + setActiveCollaboration(collaboration); + } + + if (facilities.length != 0) + { + setActiveFacility(collaboration, facilities[0]); + } + + collaboration.addListener(this); + } + + protected void collaborationRemoved(IBuddyCollaboration collaboration) + { + collaboration.removeListener(this); + if (activeCollaboration == collaboration) + { + setActiveCollaboration(activeFacilities.isEmpty() ? null : activeFacilities.keySet().iterator().next()); + } + + activeFacilities.remove(collaboration); + for (IFacility facility : collaboration.getFacilities()) + { + FacilityPane pane = facilityPanes.remove(facility); + if (pane != null) + { + pane.dispose(); + } + } + } + + protected void facilityInstalled(final IFacility facility, boolean fromRemote) + { + final IBuddyCollaboration collaboration = (IBuddyCollaboration)facility.getCollaboration(); + if (fromRemote) + { + Runnable runnable = new Runnable() + { + public void run() + { + try + { + addFacilityPane(facility); + IFacility activeFacility = activeFacilities.get(collaboration); + if (activeFacility == null) + { + setActiveFacility(collaboration, facility); + } + else + { + updateState(); + } + } + catch (RuntimeException ignore) + { + } + } + }; + + try + { + Display display = getDisplay(); + if (display.getThread() == Thread.currentThread()) + { + runnable.run(); + } + else + { + display.asyncExec(runnable); + } + } + catch (RuntimeException ignore) + { + } + } + else + { + addFacilityPane(facility); + setActiveCollaboration(collaboration); + setActiveFacility(collaboration, facility); + } + } + + protected FacilityPane addFacilityPane(IFacility facility) + { + IFacilityPaneCreator creator = collaborationsView.getFacilityPaneCreators().get(facility.getType()); + FacilityPane pane = creator.createPane(this, SWT.NONE); + pane.setFacility(facility); + facilityPanes.put(facility, pane); + return pane; + } + + /** + * @author Eike Stepper + */ + private final class ActivateFacilityAction extends SafeAction + { + private final String type; + + private ActivateFacilityAction(String type, ImageDescriptor descriptor) + { + super(StringUtil.cap(type), AS_RADIO_BUTTON); + setToolTipText(MessageFormat.format(Messages.getString("CollaborationsPane_0"), type)); //$NON-NLS-1$ + setImageDescriptor(descriptor); + this.type = type; + } + + public String getType() + { + return type; + } + + @Override + protected void safeRun() throws Exception + { + if (activeCollaboration != null) + { + IFacility facility = activeCollaboration.getFacility(type); + setActiveFacility(activeCollaboration, facility); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/CollaborationsView.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/CollaborationsView.java new file mode 100644 index 0000000000..5bfb94524d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/CollaborationsView.java @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.internal.ui.CollaborationsItemProvider; +import org.eclipse.net4j.buddies.internal.ui.bundle.OM; +import org.eclipse.net4j.buddies.internal.ui.messages.Messages; +import org.eclipse.net4j.buddies.ui.IFacilityPaneCreator; +import org.eclipse.net4j.util.StringUtil; +import org.eclipse.net4j.util.container.ContainerUtil; +import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.ui.actions.SafeAction; +import org.eclipse.net4j.util.ui.actions.SashLayoutAction; +import org.eclipse.net4j.util.ui.views.ContainerItemProvider; +import org.eclipse.net4j.util.ui.widgets.SashComposite; + +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ITreeSelection; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IWorkbenchActionConstants; + +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.Map; + +public class CollaborationsView extends SessionManagerView +{ + private SashComposite sashComposite; + + private Map<String, IFacilityPaneCreator> facilityPaneCreators = new HashMap<String, IFacilityPaneCreator>(); + + public CollaborationsView() + { + initFacilityPaneCreators(); + } + + public CollaborationsPane getCollaborationsPane() + { + return (CollaborationsPane)sashComposite.getControl2(); + } + + public Map<String, IFacilityPaneCreator> getFacilityPaneCreators() + { + return facilityPaneCreators; + } + + @Override + protected Control createControl(Composite parent) + { + sashComposite = new SashComposite(parent, SWT.NONE, 10, 30) + { + @Override + protected Control createControl1(Composite parent) + { + return CollaborationsView.super.createControl(parent); + } + + @Override + protected Control createControl2(Composite parent) + { + return new CollaborationsPane(parent, CollaborationsView.this); + } + }; + + IActionBars bars = getViewSite().getActionBars(); + bars.getMenuManager().add(new Separator()); + bars.getToolBarManager().add(new Separator()); + getCollaborationsPane().fillActionBars(bars); + + BuddiesDropAdapter.support(getViewer()); + return sashComposite; + } + + @Override + protected void queryBuddiesManager() + { + super.queryBuddiesManager(); + getCollaborationsPane().setSession(getSession()); + } + + @Override + public void notifyEvent(IEvent event) + { + super.notifyEvent(event); + getCollaborationsPane().notifyEvent(event); + } + + @Override + protected void fillLocalPullDown(IMenuManager manager) + { + super.fillLocalPullDown(manager); + manager.add(new Separator()); + manager.add(new SashLayoutAction.LayoutMenu(sashComposite)); + } + + @Override + protected void fillContextMenu(IMenuManager manager, ITreeSelection selection) + { + super.fillContextMenu(manager, selection); + if (selection.size() == 1) + { + final IBuddyCollaboration collaboration = (IBuddyCollaboration)selection.getFirstElement(); + if (collaboration != null) + { + manager.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, new Separator()); + for (IFacilityPaneCreator c : facilityPaneCreators.values()) + { + String type = c.getType(); + if (collaboration.getFacility(type) == null) + { + IAction action = new StartFacilityAction(collaboration, type, c.getImageDescriptor()); + manager.insertBefore(IWorkbenchActionConstants.MB_ADDITIONS, action); + } + } + } + } + } + + @Override + protected void doubleClicked(Object object) + { + if (object instanceof IBuddyCollaboration) + { + IBuddyCollaboration collaboration = (IBuddyCollaboration)object; + getCollaborationsPane().setActiveCollaboration(collaboration); + } + } + + @Override + protected IContainer<?> getContainer() + { + return getSession() != null ? getSession().getSelf() : ContainerUtil.emptyContainer(); + } + + @Override + protected ContainerItemProvider<IContainer<Object>> createContainerItemProvider() + { + return new CollaborationsItemProvider() + { + @Override + public Font getFont(Object obj) + { + if (obj instanceof IBuddyCollaboration) + { + if (obj == getCollaborationsPane().getActiveCollaboration()) + { + return getBold(); + } + } + + return super.getFont(obj); + } + }; + } + + protected void initFacilityPaneCreators() + { + IExtensionRegistry registry = Platform.getExtensionRegistry(); + IConfigurationElement[] elements = registry.getConfigurationElementsFor(OM.BUNDLE_ID, OM.EXT_POINT); + for (final IConfigurationElement element : elements) + { + if ("facilityPaneCreator".equals(element.getName())) //$NON-NLS-1$ + { + try + { + IFacilityPaneCreator creator = (IFacilityPaneCreator)element.createExecutableExtension("class"); //$NON-NLS-1$ + facilityPaneCreators.put(creator.getType(), creator); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + } + + /** + * @author Eike Stepper + */ + private final class StartFacilityAction extends SafeAction + { + private final String type; + + private IBuddyCollaboration collaboration; + + private StartFacilityAction(IBuddyCollaboration collaboration, String type, ImageDescriptor descriptor) + { + super(MessageFormat.format(Messages.getString("CollaborationsView_2"), StringUtil.cap(type)), AS_RADIO_BUTTON); //$NON-NLS-1$ + setToolTipText(MessageFormat.format(Messages.getString("CollaborationsView_3"), type)); //$NON-NLS-1$ + setImageDescriptor(descriptor); + this.collaboration = collaboration; + this.type = type; + } + + @Override + protected void safeRun() throws Exception + { + collaboration.installFacility(type); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/FacilityPane.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/FacilityPane.java new file mode 100644 index 0000000000..866cd663ab --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/FacilityPane.java @@ -0,0 +1,242 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.internal.ui.bundle.OM; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.ui.UIUtil; + +import org.eclipse.jface.action.CoolBarManager; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.ICoolBarManager; +import org.eclipse.jface.action.ToolBarManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.CoolBar; +import org.eclipse.swt.widgets.Layout; + +/** + * @author Eike Stepper + */ +public abstract class FacilityPane extends Composite implements IListener +{ + private IFacility facility; + + private CollaborationsPane collaborationsPane; + + private CoolBarManager coolBarManager; + + private Control control; + + public FacilityPane(CollaborationsPane collaborationsPane, int style) + { + super(collaborationsPane, style); + this.collaborationsPane = collaborationsPane; + setLayout(new FacilityPaneLayout()); + + ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT | SWT.RIGHT | SWT.WRAP); + fillCoolBar(toolBarManager); + + coolBarManager = new CoolBarManager(SWT.FLAT | SWT.RIGHT | SWT.WRAP); + coolBarManager.add(toolBarManager); + coolBarManager.setLockLayout(true); + coolBarManager.createControl(this); + coolBarManager.update(true); + + Composite composite = new Composite(this, SWT.NONE); + composite.setLayout(UIUtil.createGridLayout(1)); + + control = createUI(composite); + control.setLayoutData(UIUtil.createGridData()); + } + + @Override + public void dispose() + { + facility.removeListener(this); + coolBarManager.dispose(); + super.dispose(); + } + + public IFacility getFacility() + { + return facility; + } + + public void setFacility(IFacility facility) + { + this.facility = facility; + facility.addListener(this); + } + + public CollaborationsPane getCollaborationsPane() + { + return collaborationsPane; + } + + public ICoolBarManager getCoolBarManager() + { + return coolBarManager; + } + + public Control getControl() + { + return control; + } + + public final void notifyEvent(final IEvent event) + { + try + { + control.getDisplay().syncExec(new Runnable() + { + public void run() + { + try + { + handleEvent(event); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + }); + } + catch (RuntimeException ignore) + { + } + } + + protected abstract void handleEvent(IEvent event) throws Exception; + + public void hidden(FacilityPane newPane) + { + } + + public void showed(FacilityPane oldPane) + { + } + + protected abstract Control createUI(Composite parent); + + protected CoolBar getCoolBarControl() + { + if (coolBarManager != null) + { + return coolBarManager.getControl(); + } + + return null; + } + + protected void fillCoolBar(IContributionManager manager) + { + } + + /** + * @author Eike Stepper + * @see org.eclipse.jface.window.ApplicationWindow.ApplicationWindowLayout + */ + public class FacilityPaneLayout extends Layout + { + static final int BAR_SIZE = 23; + + @Override + protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) + { + if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT) + { + return new Point(wHint, hHint); + } + + Point result = new Point(0, 0); + Control[] ws = composite.getChildren(); + for (int i = 0; i < ws.length; i++) + { + Control w = ws[i]; + boolean hide = false; + if (w == getCoolBarControl()) + { + if (!coolBarChildrenExist()) + { + hide = true; + result.y += BAR_SIZE; + } + } + else if (i > 0) + { + hide = false; + } + + if (!hide) + { + Point e = w.computeSize(wHint, hHint, flushCache); + result.x = Math.max(result.x, e.x); + result.y += e.y; + } + } + + if (wHint != SWT.DEFAULT) + { + result.x = wHint; + } + + if (hHint != SWT.DEFAULT) + { + result.y = hHint; + } + + return result; + } + + @Override + protected void layout(Composite composite, boolean flushCache) + { + Rectangle clientArea = composite.getClientArea(); + Control[] ws = composite.getChildren(); + for (int i = 0; i < ws.length; i++) + { + Control w = ws[i]; + if (w == getCoolBarControl()) + { + if (coolBarChildrenExist()) + { + Point e = w.computeSize(clientArea.width, SWT.DEFAULT, flushCache); + w.setBounds(clientArea.x, clientArea.y, clientArea.width, e.y); + clientArea.y += e.y; + clientArea.height -= e.y; + } + } + else + { + w.setBounds(clientArea.x, clientArea.y, clientArea.width, clientArea.height); + } + } + } + + protected boolean coolBarChildrenExist() + { + CoolBar coolBarControl = getCoolBarControl(); + if (coolBarControl != null) + { + return coolBarControl.getItemCount() > 0; + } + + return false; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/SessionManagerView.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/SessionManagerView.java new file mode 100644 index 0000000000..1162a5e3a7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/views/SessionManagerView.java @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.internal.ui.views; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.ISessionManagerEvent; +import org.eclipse.net4j.buddies.common.IBuddyStateEvent; +import org.eclipse.net4j.buddies.internal.ui.BuddiesItemProvider; +import org.eclipse.net4j.buddies.internal.ui.actions.ConnectAction; +import org.eclipse.net4j.buddies.internal.ui.actions.DisconnectAction; +import org.eclipse.net4j.buddies.internal.ui.actions.FlashAction; +import org.eclipse.net4j.buddies.internal.ui.actions.ReconnectAction; +import org.eclipse.net4j.buddies.internal.ui.actions.StateAction.DropDownAction; +import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.ui.views.ContainerItemProvider; +import org.eclipse.net4j.util.ui.views.ContainerView; + +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +public abstract class SessionManagerView extends ContainerView implements IListener +{ + private IBuddySession session; + + private ConnectAction connectAction = new ConnectAction(); + + private DisconnectAction disconnectAction = new DisconnectAction(); + + private ReconnectAction reconnectAction = new ReconnectAction(); + + private FlashAction flashAction = new FlashAction(); + + private DropDownAction dropDownAction = new DropDownAction(); + + private Control control; + + public SessionManagerView() + { + } + + public IBuddySession getSession() + { + return session; + } + + @Override + public void dispose() + { + ISessionManager.INSTANCE.removeListener(this); + session = null; + super.dispose(); + } + + public void notifyEvent(IEvent event) + { + if (event instanceof ISessionManagerEvent) + { + queryBuddiesManager(); + } + else if (event instanceof IBuddyStateEvent) + { + if (session != null && event.getSource() == session.getSelf()) + { + updateState(); + } + } + } + + @Override + protected final Control createUI(Composite parent) + { + control = createControl(parent); + queryBuddiesManager(); + ISessionManager.INSTANCE.addListener(this); + return control; + } + + protected Control createControl(Composite parent) + { + return super.createUI(parent); + } + + @Override + protected ContainerItemProvider<IContainer<Object>> createContainerItemProvider() + { + return new BuddiesItemProvider(); + } + + @Override + protected void fillLocalToolBar(IToolBarManager manager) + { + super.fillLocalToolBar(manager); + manager.add(dropDownAction); + } + + @Override + protected void fillLocalPullDown(IMenuManager manager) + { + manager.add(connectAction); + manager.add(disconnectAction); + manager.add(reconnectAction); + manager.add(new Separator()); + manager.add(flashAction); + super.fillLocalPullDown(manager); + } + + protected void queryBuddiesManager() + { + IBuddySession oldSession = session; + session = ISessionManager.INSTANCE.getSession(); + if (oldSession != session) + { + if (oldSession != null) + { + oldSession.removeListener(this); + oldSession.getSelf().removeListener(this); + } + + if (session != null) + { + session.addListener(this); + session.getSelf().addListener(this); + } + } + + resetInput(); + updateState(); + } + + protected void updateState() + { + connectAction.setEnabled(session == null); + disconnectAction.setEnabled(session != null); + reconnectAction.setEnabled(session != null); + flashAction.setEnabled(session != null && !ISessionManager.INSTANCE.isFlashing()); + dropDownAction.updateState(); + // control.setEnabled(session != null); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/ui/IFacilityPaneCreator.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/ui/IFacilityPaneCreator.java new file mode 100644 index 0000000000..73000c2430 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies.ui/src/org/eclipse/net4j/buddies/ui/IFacilityPaneCreator.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies.ui; + +import org.eclipse.net4j.buddies.internal.ui.views.CollaborationsPane; +import org.eclipse.net4j.buddies.internal.ui.views.FacilityPane; + +import org.eclipse.jface.resource.ImageDescriptor; + +/** + * @author Eike Stepper + */ +public interface IFacilityPaneCreator +{ + public String getType(); + + public ImageDescriptor getImageDescriptor(); + + public FacilityPane createPane(CollaborationsPane collaborationsPane, int style); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.options b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.options new file mode 100644 index 0000000000..cdd0a9dd46 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.buddies/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.project b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.project new file mode 100644 index 0000000000..4e8bcf5e64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.buddies</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..4a6632f568 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:58:49 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..7bc534ca41 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.buddies; singleton:=true +Bundle-Version: 4.0.100.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-Activator: org.eclipse.net4j.internal.buddies.bundle.OM$Activator +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.buddies.common;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Export-Package: org.eclipse.net4j.buddies;version="4.0.100", + org.eclipse.net4j.internal.buddies;version="4.0.100";x-friends:="org.eclipse.net4j.buddies.ui", + org.eclipse.net4j.internal.buddies.bundle;version="4.0.100";x-friends:="org.eclipse.net4j.buddies.ui", + org.eclipse.net4j.internal.buddies.protocol;version="4.0.100";x-friends:="org.eclipse.net4j.buddies.ui" +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.ini b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.ini new file mode 100644 index 0000000000..b7e87ca285 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.ini @@ -0,0 +1,15 @@ +# 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 + diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.mappings b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.mappings new file mode 100644 index 0000000000..bddaab4310 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.properties new file mode 100644 index 0000000000..55d68c3493 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/about.properties @@ -0,0 +1,31 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# 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. +# ============================================================================== + +featureName = Net4j Buddies +featureText = Net4j Buddies\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. All rights reserved.\n\ +\n\ +Visit http://wiki.eclipse.org/Net4j + +# ============================================================================== +# %%% END OF TRANSLATED PROPERTIES %%% +# The above properties have been shipped for translation. +# ============================================================================== diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/build.properties new file mode 100644 index 0000000000..4b51de760c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/build.properties @@ -0,0 +1,28 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +bin.includes = .,\ + META-INF/,\ + plugin.properties,\ + .options,\ + about.html,\ + copyright.txt,\ + about.ini,\ + about.mappings,\ + about.properties,\ + modeling32.png +jars.compile.order = . +source.. = src/ +output.. = bin/ +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/modeling32.png b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/modeling32.png Binary files differnew file mode 100644 index 0000000000..6b08de2ada --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/modeling32.png diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/plugin.properties new file mode 100644 index 0000000000..01a97a552e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Buddies +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/BuddiesUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/BuddiesUtil.java new file mode 100644 index 0000000000..bab955a655 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/BuddiesUtil.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies; + +import org.eclipse.net4j.buddies.spi.common.ClientFacilityFactory; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.internal.buddies.protocol.BuddiesClientProtocol; +import org.eclipse.net4j.internal.buddies.protocol.OpenSessionRequest; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.container.IPluginContainer; + +import java.util.Set; + +/** + * @author Eike Stepper + */ +public final class BuddiesUtil +{ + private BuddiesUtil() + { + } + + public static Set<String> getFacilityTypes() + { + return IPluginContainer.INSTANCE.getFactoryTypes(ClientFacilityFactory.PRODUCT_GROUP); + } + + public static IBuddySession openSession(IConnector connector, String userID, String password, long timeout) + { + try + { + BuddiesClientProtocol protocol = new BuddiesClientProtocol(connector); + OpenSessionRequest request = new OpenSessionRequest(protocol, userID, password, getFacilityTypes()); + return request.send(timeout); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + + public static IBuddySession openSession(IConnector connector, String userID, String password) + { + return openSession(connector, userID, password, RequestWithConfirmation.NO_TIMEOUT); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/IBuddyCollaboration.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/IBuddyCollaboration.java new file mode 100644 index 0000000000..b3909297b7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/IBuddyCollaboration.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.ICollaboration; +import org.eclipse.net4j.buddies.common.IFacility; + +/** + * @author Eike Stepper + */ +public interface IBuddyCollaboration extends ICollaboration +{ + public IBuddySession getSession(); + + public IFacility installFacility(String type); + + public IBuddy[] invite(String... userIDs); + + public void invite(IBuddy... buddies); + + public void leave(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/IBuddySession.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/IBuddySession.java new file mode 100644 index 0000000000..32bd044193 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/IBuddySession.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyContainer; +import org.eclipse.net4j.buddies.common.ISession; + +/** + * @author Eike Stepper + */ +public interface IBuddySession extends ISession, IBuddyContainer +{ + public IBuddy getSelf(); + + public void close(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/ISessionManager.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/ISessionManager.java new file mode 100644 index 0000000000..1ac90de932 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/ISessionManager.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies; + +import org.eclipse.net4j.util.event.INotifier; + +/** + * @author Eike Stepper + */ +public interface ISessionManager extends INotifier +{ + public static final ISessionManager INSTANCE = org.eclipse.net4j.internal.buddies.SessionManager.INSTANCE; + + public IBuddySession getSession(); + + public State getState(); + + public boolean isConnecting(); + + public void connect(); + + public void disconnect(); + + public void flashMe(); + + public boolean isFlashing(); + + /** + * @author Eike Stepper + */ + public enum State + { + CONNECTING, CONNECTED, DISCONNECTED + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/ISessionManagerEvent.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/ISessionManagerEvent.java new file mode 100644 index 0000000000..d34e1aa7f0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/buddies/ISessionManagerEvent.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.buddies; + +import org.eclipse.net4j.util.event.IEvent; + +/** + * @author Eike Stepper + */ +public interface ISessionManagerEvent extends IEvent +{ + public ISessionManager.State getOldState(); + + public ISessionManager.State getNewState(); + + public IBuddySession getSession(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/BuddyCollaboration.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/BuddyCollaboration.java new file mode 100644 index 0000000000..5196f4a678 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/BuddyCollaboration.java @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies; + +import org.eclipse.net4j.buddies.IBuddyCollaboration; +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.common.IMessage; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.protocol.CollaborationLeftNotification; +import org.eclipse.net4j.buddies.internal.common.protocol.MessageNotification; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.spi.common.ClientFacilityFactory; +import org.eclipse.net4j.buddies.spi.common.Message; +import org.eclipse.net4j.internal.buddies.protocol.BuddiesClientProtocol; +import org.eclipse.net4j.internal.buddies.protocol.InstallFacilityRequest; +import org.eclipse.net4j.internal.buddies.protocol.InviteBuddiesNotification; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.container.IManagedContainer; +import org.eclipse.net4j.util.container.IPluginContainer; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Eike Stepper + */ +public class BuddyCollaboration extends Collaboration implements IBuddyCollaboration +{ + private static final String FACILITY_GROUP = ClientFacilityFactory.PRODUCT_GROUP; + + private IBuddySession session; + + public BuddyCollaboration(IBuddySession session, long id) + { + super(id); + this.session = session; + } + + public IBuddySession getSession() + { + return session; + } + + public IFacility installFacility(String type) + { + return installFacility(type, true); + } + + public IFacility installFacility(String type, boolean request) + { + IFacility facility = createFacility(type); + if (request) + { + try + { + BuddiesClientProtocol protocol = (BuddiesClientProtocol)session.getProtocol(); + boolean success = new InstallFacilityRequest(protocol, getID(), type).send(ProtocolConstants.TIMEOUT); + if (!success) + { + return null; + } + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + + addFacility(facility, !request); + return facility; + } + + public IFacility createFacility(String type) + { + IFacility facility = (IFacility)getContainer().getElement(FACILITY_GROUP, type, String.valueOf(getID())); + facility.setCollaboration(this); + return facility; + } + + @Override + public void sendMessage(long collaborationID, String facilityType, IMessage message) + { + if (message instanceof Message) + { + ((Message)message).setSenderID(session.getSelf().getUserID()); + } + + try + { + BuddiesClientProtocol protocol = (BuddiesClientProtocol)session.getProtocol(); + new MessageNotification(protocol, collaborationID, facilityType, message).sendAsync(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + + public IBuddy[] invite(String... userIDs) + { + List<IBuddy> buddies = new ArrayList<IBuddy>(); + for (String userID : userIDs) + { + IBuddy buddy = session.getBuddy(userID); + buddies.add(buddy); + } + + IBuddy[] array = buddies.toArray(new IBuddy[buddies.size()]); + invite(array); + return array; + } + + public void invite(IBuddy... buddies) + { + List<IBuddy> invitations = new ArrayList<IBuddy>(); + for (IBuddy buddy : buddies) + { + if (getMembership(buddy) == null) + { + invitations.add(buddy); + } + } + + if (!invitations.isEmpty()) + { + try + { + BuddiesClientProtocol protocol = (BuddiesClientProtocol)session.getProtocol(); + new InviteBuddiesNotification(protocol, getID(), invitations).sendAsync(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + } + + public void leave() + { + try + { + BuddiesClientProtocol protocol = (BuddiesClientProtocol)session.getProtocol(); + new CollaborationLeftNotification(protocol, getID(), session.getSelf().getUserID()).sendAsync(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + + deactivate(); + } + + protected IManagedContainer getContainer() + { + return IPluginContainer.INSTANCE; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/ClientBuddy.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/ClientBuddy.java new file mode 100644 index 0000000000..dc19ff82a2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/ClientBuddy.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.common.Buddy; + +import java.util.Collection; +import java.util.Set; + +/** + * @author Eike Stepper + */ +public class ClientBuddy extends Buddy +{ + private String userID; + + private IAccount account; + + public ClientBuddy(ClientSession session, String userID) + { + super(session, null); + this.userID = userID; + } + + @Override + public ClientSession getSession() + { + return (ClientSession)super.getSession(); + } + + public String getUserID() + { + return userID; + } + + public IAccount getAccount() + { + if (account == null) + { + account = loadAccount(userID); + } + + return account; + } + + public IMembership[] initiate(Collection<IBuddy> buddies) + { + throw new UnsupportedOperationException(); + } + + public IMembership join(long collaborationID) + { + throw new UnsupportedOperationException(); + } + + public IMembership join(Object invitationToken) + { + throw new UnsupportedOperationException(); + } + + protected IAccount loadAccount(String userID) + { + // TODO Implement method ClientBuddy.loadAccount() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } + + @Override + protected Set<String> loadFacilityTypes() + { + // TODO Implement method ClientBuddy.loadFacilityTypes() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java new file mode 100644 index 0000000000..0cc7a39c04 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/ClientSession.java @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IBuddyStateEvent; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.common.BuddyContainer; +import org.eclipse.net4j.buddies.internal.common.Collaboration; +import org.eclipse.net4j.buddies.internal.common.protocol.BuddyStateNotification; +import org.eclipse.net4j.internal.buddies.bundle.OM; +import org.eclipse.net4j.internal.buddies.protocol.BuddiesClientProtocol; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.log.OMLogger; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.PlatformObject; + +import java.util.Set; + +/** + * @author Eike Stepper + */ +public class ClientSession extends BuddyContainer implements IBuddySession +{ + private BuddiesClientProtocol protocol; + + private Self self; + + public ClientSession(BuddiesClientProtocol protocol) + { + this.protocol = protocol; + } + + public BuddiesClientProtocol getProtocol() + { + return protocol; + } + + public Self getSelf() + { + return self; + } + + public void setSelf(IAccount account, Set<String> facilityTypes) + { + self = new Self(this, account, facilityTypes); + self.activate(); + self.addListener(this); + } + + public void close() + { + protocol.close(); + protocol = null; + LifecycleUtil.deactivate(this, OMLogger.Level.DEBUG); + } + + /** + * @see PlatformObject#getAdapter(Class) + */ + @SuppressWarnings("rawtypes") + public Object getAdapter(Class adapter) + { + return Platform.getAdapterManager().getAdapter(this, adapter); + } + + @Override + public void notifyEvent(IEvent event) + { + if (event.getSource() == protocol) + { + if (event instanceof ILifecycleEvent) + { + if (((ILifecycleEvent)event).getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + deactivate(); + } + } + } + else if (event.getSource() == self) + { + if (event instanceof IBuddyStateEvent) + { + try + { + new BuddyStateNotification(protocol, self.getUserID(), ((IBuddyStateEvent)event).getNewState()).sendAsync(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + } + + public void buddyAdded(String userID) + { + ClientBuddy buddy = new ClientBuddy(this, userID); + buddy.activate(); + addBuddy(buddy); + } + + public void buddyRemoved(String userID) + { + IBuddy buddy = removeBuddy(userID); + if (buddy != null) + { + for (IMembership membership : self.getMemberships()) + { + Collaboration collaboration = (Collaboration)membership.getCollaboration(); + collaboration.removeMembership(buddy); + } + + LifecycleUtil.deactivate(buddy); + } + } + + @Override + protected void doActivate() throws Exception + { + super.doActivate(); + protocol.addListener(this); + } + + @Override + protected void doDeactivate() throws Exception + { + protocol.removeListener(this); + LifecycleUtil.deactivate(self); + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/Self.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/Self.java new file mode 100644 index 0000000000..f41bc96c32 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/Self.java @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.common.IMembership; +import org.eclipse.net4j.buddies.internal.common.Buddy; +import org.eclipse.net4j.buddies.internal.common.Membership; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.internal.buddies.protocol.InitiateCollaborationRequest; +import org.eclipse.net4j.util.WrappedException; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Set; + +/** + * @author Eike Stepper + */ +public class Self extends Buddy +{ + private IAccount account; + + protected Self(ClientSession session, IAccount account, Set<String> facilityTypes) + { + super(session, facilityTypes); + this.account = account; + } + + @Override + public ClientSession getSession() + { + return (ClientSession)super.getSession(); + } + + public String getUserID() + { + return account.getUserID(); + } + + public IAccount getAccount() + { + return account; + } + + public IMembership[] initiate(Collection<IBuddy> buddies) + { + try + { + ClientSession session = getSession(); + long id = new InitiateCollaborationRequest(session.getProtocol(), buddies).send(ProtocolConstants.TIMEOUT); + + BuddyCollaboration collaboration = new BuddyCollaboration(session, id); + collaboration.activate(); + Membership.create(this, collaboration); + + List<IMembership> memberships = new ArrayList<IMembership>(); + for (IBuddy buddy : buddies) + { + IMembership membership = Membership.create(buddy, collaboration); + memberships.add(membership); + } + + return memberships.toArray(new IMembership[memberships.size()]); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + + public IMembership join(long collaborationID) + { + // TODO Implement method Self.join() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } + + public IMembership join(Object invitationToken) + { + // TODO Implement method Self.join() + throw new UnsupportedOperationException("Not yet implemented"); //$NON-NLS-1$ + } + + @Override + protected void doDeactivate() throws Exception + { + for (IMembership membership : getMemberships()) + { + LifecycleUtil.deactivate(membership.getCollaboration()); + } + + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/SessionManager.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/SessionManager.java new file mode 100644 index 0000000000..ccd7cf8f85 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/SessionManager.java @@ -0,0 +1,278 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies; + +import org.eclipse.net4j.Net4jUtil; +import org.eclipse.net4j.buddies.BuddiesUtil; +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.ISessionManager; +import org.eclipse.net4j.buddies.ISessionManagerEvent; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.internal.buddies.bundle.OM; +import org.eclipse.net4j.util.concurrent.ConcurrencyUtil; +import org.eclipse.net4j.util.container.IContainerDelta; +import org.eclipse.net4j.util.container.IContainerEvent; +import org.eclipse.net4j.util.container.IPluginContainer; +import org.eclipse.net4j.util.event.Event; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycleEvent; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import java.text.MessageFormat; + +public class SessionManager extends Lifecycle implements ISessionManager, IListener +{ + public static final SessionManager INSTANCE = new SessionManager(); + + private IBuddySession session; + + private State state = State.DISCONNECTED; + + private boolean connecting; + + private boolean flashing; + + private SessionManager() + { + } + + public IBuddySession getSession() + { + return session; + } + + public State getState() + { + return state; + } + + public void setState(State state) + { + if (this.state != state) + { + IEvent event = new SessionManagerEvent(this.state, state, session); + this.state = state; + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(event, listeners); + } + } + } + + public boolean isFlashing() + { + return flashing; + } + + public boolean isConnecting() + { + return state == ISessionManager.State.CONNECTING; + } + + public String getConnectorDescription() + { + return OM.PREF_CONNECTOR_DESCRIPTION.getValue(); + } + + public String getUserID() + { + return OM.PREF_USER_ID.getValue(); + } + + public String getPassword() + { + return OM.PREF_PASSWORD.getValue(); + } + + public Boolean isAutoConnect() + { + return OM.PREF_AUTO_CONNECT.getValue(); + } + + public void connect() + { + new Thread("buddies-connector") //$NON-NLS-1$ + { + @Override + public void run() + { + try + { + setState(ISessionManager.State.CONNECTING); + connecting = true; + while (session == null && connecting) + { + IConnector connector = Net4jUtil.getConnector(IPluginContainer.INSTANCE, getConnectorDescription()); + if (connector == null) + { + throw new IllegalStateException("connector == null"); //$NON-NLS-1$ + } + + session = BuddiesUtil.openSession(connector, getUserID(), getPassword(), 5000L); + if (session != null) + { + if (connecting) + { + session.addListener(SessionManager.this); + setState(ISessionManager.State.CONNECTED); + } + else + { + session.close(); + session = null; + setState(ISessionManager.State.DISCONNECTED); + } + } + } + } + finally + { + connecting = false; + } + } + }.start(); + } + + public void disconnect() + { + connecting = false; + if (session != null) + { + session.removeListener(this); + session.close(); + session = null; + } + + setState(ISessionManager.State.DISCONNECTED); + } + + public void flashMe() + { + if (session != null && !flashing) + { + final Self self = (Self)session.getSelf(); + final IBuddy.State original = self.getState(); + new Thread("buddies-flasher") //$NON-NLS-1$ + { + @Override + public void run() + { + flashing = true; + IBuddy.State state = original == IBuddy.State.AVAILABLE ? IBuddy.State.LONESOME : IBuddy.State.AVAILABLE; + for (int i = 0; i < 15; i++) + { + self.setState(state); + ConcurrencyUtil.sleep(200); + state = state == IBuddy.State.AVAILABLE ? IBuddy.State.LONESOME : IBuddy.State.AVAILABLE; + } + + self.setState(original); + flashing = false; + } + }.start(); + } + } + + public void notifyEvent(IEvent event) + { + if (event.getSource() == session) + { + if (event instanceof ILifecycleEvent) + { + if (((ILifecycleEvent)event).getKind() == ILifecycleEvent.Kind.DEACTIVATED) + { + disconnect(); + if (isAutoConnect()) + { + connect(); + } + } + } + else if (event instanceof IContainerEvent<?>) + { + @SuppressWarnings("unchecked") + IContainerEvent<IBuddy> e = (IContainerEvent<IBuddy>)event; + if (e.getDeltaKind() == IContainerDelta.Kind.ADDED) + { + e.getDeltaElement().addListener(this); + } + else if (e.getDeltaKind() == IContainerDelta.Kind.REMOVED) + { + e.getDeltaElement().removeListener(this); + } + } + } + } + + @Override + protected void doActivate() throws Exception + { + super.doActivate(); + if (isAutoConnect()) + { + connect(); + } + } + + @Override + protected void doDeactivate() throws Exception + { + disconnect(); + super.doDeactivate(); + } + + /** + * @author Eike Stepper + */ + private final class SessionManagerEvent extends Event implements ISessionManagerEvent + { + private static final long serialVersionUID = 1L; + + private State oldState; + + private State newState; + + private IBuddySession session; + + public SessionManagerEvent(State oldState, State newState, IBuddySession session) + { + super(SessionManager.this); + this.oldState = oldState; + this.newState = newState; + this.session = session; + } + + public State getOldState() + { + return oldState; + } + + public State getNewState() + { + return newState; + } + + public IBuddySession getSession() + { + return session; + } + + @Override + public String toString() + { + return MessageFormat.format("SessionManagerEvent[source={0}, oldState={1}, newState={2}, session={3}]", //$NON-NLS-1$ + getSource(), getOldState(), getNewState(), getSession()); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/bundle/OM.java new file mode 100644 index 0000000000..b61a2fbbe8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/bundle/OM.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.pref.OMPreference; +import org.eclipse.net4j.util.om.pref.OMPreferences; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.buddies"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + public static final OMPreferences PREFS = BUNDLE.preferences(); + + public static final OMPreference<String> PREF_CONNECTOR_DESCRIPTION = // + PREFS.init("PREF_CONNECTOR_DESCRIPTION", "tcp://localhost"); //$NON-NLS-1$ //$NON-NLS-2$ + + public static final OMPreference<String> PREF_USER_ID = // + PREFS.init("PREF_USER_ID", System.getProperty("user.name")); //$NON-NLS-1$ //$NON-NLS-2$ + + public static final OMPreference<String> PREF_PASSWORD = // + PREFS.initString("PREF_PASSWORD"); //$NON-NLS-1$ + + public static final OMPreference<Boolean> PREF_AUTO_CONNECT = // + PREFS.init("PREF_AUTO_CONNECT", false); //$NON-NLS-1$ + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddiesClientProtocol.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddiesClientProtocol.java new file mode 100644 index 0000000000..bbb780c94c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddiesClientProtocol.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.common.ISession; +import org.eclipse.net4j.buddies.internal.common.protocol.MessageIndication; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.internal.buddies.ClientSession; +import org.eclipse.net4j.internal.buddies.Self; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.signal.SignalReactor; +import org.eclipse.net4j.util.concurrent.ConcurrencyUtil; + +/** + * @author Eike Stepper + */ +public class BuddiesClientProtocol extends SignalProtocol<ClientSession> +{ + private static final long GET_SESSION_TIMEOUT = 20000; + + private static final int GET_SESSION_INTERVAL = 100; + + public BuddiesClientProtocol(IConnector connector) + { + super(ProtocolConstants.PROTOCOL_NAME); + open(connector); + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + switch (signalID) + { + case ProtocolConstants.SIGNAL_BUDDY_ADDED: + return new BuddyAddedIndication(this); + + case ProtocolConstants.SIGNAL_BUDDY_REMOVED: + return new BuddyRemovedIndication(this); + + case ProtocolConstants.SIGNAL_BUDDY_STATE: + return new ClientBuddyStateIndication(this); + + case ProtocolConstants.SIGNAL_COLLABORATION_INITIATED: + return new CollaborationInitiatedIndication(this); + + case ProtocolConstants.SIGNAL_COLLABORATION_LEFT: + return new ClientCollaborationLeftIndication(this, getSelf()); + + case ProtocolConstants.SIGNAL_FACILITY_INSTALLED: + return new FacilityInstalledIndication(this); + + case ProtocolConstants.SIGNAL_MESSAGE: + return new MessageIndication(this, getSelf()); + + default: + return super.createSignalReactor(signalID); + } + } + + protected Self getSelf() + { + ISession session = getInfraStructure(); + return (Self)session.getSelf(); + } + + public ClientSession getSession() + { + int max = (int)(GET_SESSION_TIMEOUT / GET_SESSION_INTERVAL); + for (int i = 0; i < max; i++) + { + ClientSession session = getInfraStructure(); + if (session == null) + { + ConcurrencyUtil.sleep(GET_SESSION_INTERVAL); + } + else + { + return session; + } + } + + throw new IllegalStateException("No session after " + max + " milliseconds"); //$NON-NLS-1$ //$NON-NLS-2$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddyAddedIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddyAddedIndication.java new file mode 100644 index 0000000000..f92f2730a3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddyAddedIndication.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.internal.buddies.ClientSession; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public class BuddyAddedIndication extends Indication +{ + public BuddyAddedIndication(SignalProtocol<?> protocol) + { + super(protocol, ProtocolConstants.SIGNAL_BUDDY_ADDED); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String buddy = in.readString(); + ClientSession session = ((BuddiesClientProtocol)getProtocol()).getSession(); + session.buddyAdded(buddy); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddyRemovedIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddyRemovedIndication.java new file mode 100644 index 0000000000..36072df9a7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/BuddyRemovedIndication.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.internal.buddies.ClientSession; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public class BuddyRemovedIndication extends Indication +{ + public BuddyRemovedIndication(SignalProtocol<?> protocol) + { + super(protocol, ProtocolConstants.SIGNAL_BUDDY_REMOVED); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String buddy = in.readString(); + ClientSession session = ((BuddiesClientProtocol)getProtocol()).getSession(); + session.buddyRemoved(buddy); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/ClientBuddyStateIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/ClientBuddyStateIndication.java new file mode 100644 index 0000000000..a4824c5440 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/ClientBuddyStateIndication.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy.State; +import org.eclipse.net4j.buddies.internal.common.protocol.BuddyStateIndication; +import org.eclipse.net4j.internal.buddies.ClientBuddy; +import org.eclipse.net4j.internal.buddies.ClientSession; + +/** + * @author Eike Stepper + */ +public class ClientBuddyStateIndication extends BuddyStateIndication +{ + public ClientBuddyStateIndication(BuddiesClientProtocol protocol) + { + super(protocol); + } + + @Override + protected void stateChanged(final String userID, final State state) + { + ClientSession session = ((BuddiesClientProtocol)getProtocol()).getSession(); + ClientBuddy buddy = (ClientBuddy)session.getBuddy(userID); + if (buddy != null) + { + buddy.setState(state); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/ClientCollaborationLeftIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/ClientCollaborationLeftIndication.java new file mode 100644 index 0000000000..4180c89e59 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/ClientCollaborationLeftIndication.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.CollaborationLeftIndication; +import org.eclipse.net4j.internal.buddies.Self; + +/** + * @author Eike Stepper + */ +public class ClientCollaborationLeftIndication extends CollaborationLeftIndication +{ + public ClientCollaborationLeftIndication(BuddiesClientProtocol protocol, Self self) + { + super(protocol, self.getSession(), self); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/CollaborationInitiatedIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/CollaborationInitiatedIndication.java new file mode 100644 index 0000000000..9deee5b493 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/CollaborationInitiatedIndication.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.common.Membership; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.internal.buddies.BuddyCollaboration; +import org.eclipse.net4j.internal.buddies.Self; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +import java.util.Set; + +/** + * @author Eike Stepper + */ +public class CollaborationInitiatedIndication extends Indication +{ + public CollaborationInitiatedIndication(BuddiesClientProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_COLLABORATION_INITIATED); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + IBuddySession session = (IBuddySession)getProtocol().getInfraStructure(); + Self self = (Self)session.getSelf(); + + long collaborationID = in.readLong(); + Set<IBuddy> buddies = ProtocolUtil.readBuddies(in, session); + String[] facilityTypes = ProtocolUtil.readFacilityTypes(in); + + BuddyCollaboration collaboration = (BuddyCollaboration)self.getCollaboration(collaborationID); + if (collaboration == null) + { + collaboration = new BuddyCollaboration(session, collaborationID); + collaboration.activate(); + + Membership.create(self, collaboration); + for (IBuddy buddy : buddies) + { + Membership.create(buddy, collaboration); + } + } + else + { + for (IBuddy buddy : buddies) + { + Membership.create(buddy, collaboration); + } + } + + for (String facilityType : facilityTypes) + { + collaboration.installFacility(facilityType, false); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/FacilityInstalledIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/FacilityInstalledIndication.java new file mode 100644 index 0000000000..9805413d73 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/FacilityInstalledIndication.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.IFacility; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.internal.buddies.BuddyCollaboration; +import org.eclipse.net4j.internal.buddies.Self; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public class FacilityInstalledIndication extends Indication +{ + public FacilityInstalledIndication(BuddiesClientProtocol protocol) + { + super(protocol, ProtocolConstants.SIGNAL_FACILITY_INSTALLED); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + long collaborationID = in.readLong(); + String facilityType = in.readString(); + + IBuddySession session = (IBuddySession)getProtocol().getInfraStructure(); + Self self = (Self)session.getSelf(); + BuddyCollaboration collaboration = (BuddyCollaboration)self.getCollaboration(collaborationID); + if (collaboration != null) + { + IFacility facility = collaboration.createFacility(facilityType); + collaboration.addFacility(facility, true); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InitiateCollaborationRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InitiateCollaborationRequest.java new file mode 100644 index 0000000000..536c767f93 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InitiateCollaborationRequest.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.util.Collection; + +/** + * @author Eike Stepper + */ +public class InitiateCollaborationRequest extends RequestWithConfirmation<Long> +{ + private Collection<IBuddy> buddies; + + public InitiateCollaborationRequest(BuddiesClientProtocol protocol, Collection<IBuddy> buddies) + { + super(protocol, ProtocolConstants.SIGNAL_INITIATE_COLLABORATION); + this.buddies = buddies; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + ProtocolUtil.writeBuddies(out, buddies); + } + + @Override + protected Long confirming(ExtendedDataInputStream in) throws Exception + { + return in.readLong(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InstallFacilityRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InstallFacilityRequest.java new file mode 100644 index 0000000000..547ed3d3fd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InstallFacilityRequest.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class InstallFacilityRequest extends RequestWithConfirmation<Boolean> +{ + private long collaborationID; + + private String facilityType; + + public InstallFacilityRequest(BuddiesClientProtocol protocol, long collaborationID, String facilityType) + { + super(protocol, ProtocolConstants.SIGNAL_INSTALL_FACILITY); + this.collaborationID = collaborationID; + this.facilityType = facilityType; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaborationID); + out.writeString(facilityType); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InviteBuddiesNotification.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InviteBuddiesNotification.java new file mode 100644 index 0000000000..0ba6ad1c81 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/InviteBuddiesNotification.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.common.IBuddy; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.util.Collection; + +/** + * @author Eike Stepper + */ +public class InviteBuddiesNotification extends Request +{ + private long collaborationID; + + private Collection<IBuddy> buddies; + + public InviteBuddiesNotification(BuddiesClientProtocol protocol, long collaborationID, Collection<IBuddy> buddies) + { + super(protocol, ProtocolConstants.SIGNAL_INVITE_BUDDIES); + this.buddies = buddies; + this.collaborationID = collaborationID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(collaborationID); + ProtocolUtil.writeBuddies(out, buddies); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/LoadAccountRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/LoadAccountRequest.java new file mode 100644 index 0000000000..0afdf839e8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/LoadAccountRequest.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class LoadAccountRequest extends RequestWithConfirmation<IAccount> +{ + private String userID; + + public LoadAccountRequest(BuddiesClientProtocol protocol, String userID) + { + super(protocol, ProtocolConstants.SIGNAL_LOAD_ACCOUNT); + this.userID = userID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeString(userID); + } + + @Override + protected IAccount confirming(ExtendedDataInputStream in) throws Exception + { + return ProtocolUtil.readAccount(in); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/OpenSessionRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/OpenSessionRequest.java new file mode 100644 index 0000000000..d6996af089 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/buddies/src/org/eclipse/net4j/internal/buddies/protocol/OpenSessionRequest.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.buddies.protocol; + +import org.eclipse.net4j.buddies.IBuddySession; +import org.eclipse.net4j.buddies.common.IAccount; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolConstants; +import org.eclipse.net4j.buddies.internal.common.protocol.ProtocolUtil; +import org.eclipse.net4j.internal.buddies.ClientSession; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.util.Set; + +/** + * @author Eike Stepper + */ +public class OpenSessionRequest extends RequestWithConfirmation<IBuddySession> +{ + private String userID; + + private String password; + + private Set<String> facilityTypes; + + public OpenSessionRequest(BuddiesClientProtocol protocol, String userID, String password, Set<String> facilityTypes) + { + super(protocol, ProtocolConstants.SIGNAL_OPEN_SESSION); + this.userID = userID; + this.password = password; + this.facilityTypes = facilityTypes; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeString(userID); + out.writeString(password); + out.writeInt(facilityTypes.size()); + for (String facilityType : facilityTypes) + { + out.writeString(facilityType); + } + } + + @Override + protected IBuddySession confirming(ExtendedDataInputStream in) throws Exception + { + IAccount account = ProtocolUtil.readAccount(in); + if (account == null) + { + return null; + } + + BuddiesClientProtocol protocol = (BuddiesClientProtocol)getProtocol(); + ClientSession session = new ClientSession(protocol); + protocol.setInfraStructure(session); + session.setSelf(account, facilityTypes); + + int size = in.readInt(); + for (int i = 0; i < size; i++) + { + session.buddyAdded(in.readString()); + } + + session.activate(); + return session; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.options b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.options new file mode 100644 index 0000000000..ae8a96aa5a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.options @@ -0,0 +1,5 @@ +# Debugging and tracing options + +org.eclipse.net4j.jms.admin/debug = true + +org.eclipse.net4j.jms.admin/debug.protocol = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.project b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.project new file mode 100644 index 0000000000..03535e3c36 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.jms.admin</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..ad04880d1b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:59:09 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..eb37d87e4e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.net4j.jms.admin +Bundle-Version: 4.0.100.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-Activator: org.eclipse.net4j.jms.internal.admin.bundle.OM +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.jms;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Export-Package: org.eclipse.net4j.jms.admin;version="4.0.100", + org.eclipse.net4j.jms.internal.admin;version="4.0.100";x-internal:=true, + org.eclipse.net4j.jms.internal.admin.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.jms.internal.admin.protocol;version="4.0.100";x-internal:=true +Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/build.properties new file mode 100644 index 0000000000..152299f8f0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/build.properties @@ -0,0 +1,23 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + .options,\ + about.html,\ + copyright.txt,\ + plugin.properties +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/plugin.properties new file mode 100644 index 0000000000..78a51ffc88 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j JMS Provider Admin +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/admin/IJMSAdmin.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/admin/IJMSAdmin.java new file mode 100644 index 0000000000..e7a257df39 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/admin/IJMSAdmin.java @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.admin; + +/** + * @author Eike Stepper + */ +public interface IJMSAdmin +{ + public boolean createQueue(String name); + + public boolean createTopic(String name); + + public void close(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/admin/JMSAdminUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/admin/JMSAdminUtil.java new file mode 100644 index 0000000000..9ff874795f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/admin/JMSAdminUtil.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.admin; + +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.jms.internal.admin.JMSAdmin; + +/** + * @author Eike Stepper + */ +public final class JMSAdminUtil +{ + private JMSAdminUtil() + { + } + + public static IJMSAdmin createAdmin(IConnector connector) + { + return new JMSAdmin(connector); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/JMSAdmin.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/JMSAdmin.java new file mode 100644 index 0000000000..95c313f69b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/JMSAdmin.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.admin; + +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.jms.JMSAdminProtocolConstants; +import org.eclipse.net4j.jms.admin.IJMSAdmin; +import org.eclipse.net4j.jms.internal.admin.bundle.OM; +import org.eclipse.net4j.jms.internal.admin.protocol.JMSAdminProtocol; +import org.eclipse.net4j.jms.internal.admin.protocol.JMSCreateDestinationRequest; + +/** + * @author Eike Stepper + */ +public class JMSAdmin implements IJMSAdmin +{ + private JMSAdminProtocol protocol; + + public JMSAdmin(IConnector connector) + { + protocol = new JMSAdminProtocol(connector); + } + + public void close() + { + protocol.close(); + protocol = null; + } + + public boolean createQueue(String name) + { + return createDestination(name, JMSAdminProtocolConstants.DESTINATION_TYPE_QUEUE); + } + + public boolean createTopic(String name) + { + return createDestination(name, JMSAdminProtocolConstants.DESTINATION_TYPE_TOPIC); + } + + private boolean createDestination(String name, byte type) + { + try + { + return new JMSCreateDestinationRequest(protocol, type, name).send(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + return false; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/bundle/OM.java new file mode 100644 index 0000000000..17caf9e2f1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/bundle/OM.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.admin.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.jms.admin"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_PROTOCOL = DEBUG.tracer("protocol"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/protocol/JMSAdminProtocol.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/protocol/JMSAdminProtocol.java new file mode 100644 index 0000000000..cd4828a584 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/protocol/JMSAdminProtocol.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.admin.protocol; + +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.jms.JMSAdminProtocolConstants; +import org.eclipse.net4j.signal.SignalProtocol; + +/** + * @author Eike Stepper + */ +public class JMSAdminProtocol extends SignalProtocol<Object> +{ + public JMSAdminProtocol(IConnector connector) + { + super(JMSAdminProtocolConstants.PROTOCOL_NAME); + open(connector); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/protocol/JMSCreateDestinationRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/protocol/JMSCreateDestinationRequest.java new file mode 100644 index 0000000000..696704d1df --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.admin/src/org/eclipse/net4j/jms/internal/admin/protocol/JMSCreateDestinationRequest.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.admin.protocol; + +import org.eclipse.net4j.jms.JMSAdminProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSCreateDestinationRequest extends RequestWithConfirmation<Boolean> +{ + private byte type; + + private String name; + + public JMSCreateDestinationRequest(JMSAdminProtocol protocol, byte type, String name) + { + super(protocol, JMSAdminProtocolConstants.SIGNAL_CREATE_DESTINATION); + this.type = type; + this.name = name; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeByte(type); + out.writeString(name); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.classpath new file mode 100644 index 0000000000..e721d0c4ea --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.project b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.project new file mode 100644 index 0000000000..212fda7fe8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.jms.api</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..f27dabc53f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:56:11 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..0a0388fcb6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,386 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +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=ignore +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..8e3b872e01 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 11:48:02 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/CDDL.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/CDDL.html new file mode 100644 index 0000000000..978b70815a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/CDDL.html @@ -0,0 +1,584 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> + + + <head> + <title> + glassfish: GlassFish Dual License Header and License Notice GPL v2 and CDDL + </title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Style-Type" content="text/css" /> + <meta name="version" content="4.5.2.148.4" /> +</head> + + +<body class="composite"> + <h3>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</h3> + + <ul> + <li><p><b>1. Definitions.</b></p> + <ul> + <li> + <p> + <b>1.1. “Contributor”</b> means each individual or + entity that creates or contributes to the creation of + Modifications. + </p> + </li> + + <li> + <p> + <b>1.2. “Contributor Version”</b> means + the combination of the Original Software, prior + Modifications used by a Contributor (if any), and the + Modifications made by that particular Contributor. + </p> + </li> + + <li> + <p> + <b>1.3. “Covered Software”</b> means (a) + the Original Software, or (b) Modifications, or (c) the + combination of files containing Original Software with files + containing Modifications, in each case including portions + thereof. + </p> + </li> + + <li> + <p> + <b>1.4. “Executable”</b> means the + Covered Software in any form other than Source Code. + </p> + </li> + + <li> + <p> + <b>1.5. “Initial Developer”</b> means + the individual or entity that first makes Original Software + available under this License. + </p> + </li> + + <li> + <p> + <b>1.6. “Larger Work”</b> means a work + which combines Covered Software or portions thereof with + code not governed by the terms of this License. + </p> + </li> + + <li> + <p> + <b>1.7. “License”</b> means this document. + </p> + </li> + + <li> + <p> + <b>1.8. “Licensable”</b> means having + the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently acquired, + any and all of the rights conveyed herein. + </p> + </li> + + <li> + <p> + <b>1.9. “Modifications”</b> means the + Source Code and Executable form of any of the following: + </p> + <ul> + <li> + <p> + <b>A.</b> Any file that results from an addition + to, deletion from or modification of the contents of a + file containing Original Software or previous + Modifications; + </p> + </li> + <li> + <p> + <b>B.</b> Any new file that contains any part of + the Original Software or previous Modification; or + </p> + </li> + <li> + <p> + <b>C.</b> Any new file that is contributed or + otherwise made available under the terms of this + License. + </p> + </li> + </ul> + </li> + + <li> + <p> + <b>1.10. “Original Software”</b> means + the Source Code and Executable form of computer software + code that is originally released under this License. + </p> + </li> + + <li> + <p> + <b>1.11. “Patent Claims”</b> means any + patent claim(s), now owned or hereafter acquired, including + without limitation, method, process, and apparatus claims, + in any patent Licensable by grantor. + </p> + </li> + + <li> + <p> + <b>1.12. “Source Code”</b> means (a) the + common form of computer software code in which modifications + are made and (b) associated documentation included in or + with such code. + </p> + </li> + + <li> + <p> + <b>1.13. “You” (or + “Your”)</b> means an individual or a legal + entity exercising rights under, and complying with all of + the terms of, this License. For legal entities, + “You” includes any entity which controls, is + controlled by, or is under common control with You. For + purposes of this definition, “control” means + (a) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract + or otherwise, or (b) ownership of more than fifty + percent (50%) of the outstanding shares or beneficial + ownership of such entity. + </p> + </li> + </ul> + </li> + + <li> + <p><b>2. License Grants.</b></p> + <ul> + <li> + <p><b>2.1. The Initial Developer Grant.</b></p> + <p> + Conditioned upon Your compliance with Section 3.1 + below and subject to third party intellectual property + claims, the Initial Developer hereby grants You a + world-wide, royalty-free, non-exclusive license: + </p> + <ul> + <li> + <p> + <b>(a)</b> under intellectual property rights + (other than patent or trademark) Licensable by Initial + Developer, to use, reproduce, modify, display, perform, + sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, and/or + as part of a Larger Work; and + </p> + </li> + <li> + <p> + <b>(b)</b> under Patent Claims infringed by the + making, using or selling of Original Software, to make, + have made, use, practice, sell, and offer for sale, + and/or otherwise dispose of the Original Software (or + portions thereof). + </p> + </li> + <li> + <p> + <b>(c)</b> The licenses granted in Sections 2.1(a) + and (b) are effective on the date Initial Developer first + distributes or otherwise makes the Original Software + available to a third party under the terms of this License. + </p> + </li> + <li> + <p> + <b>(d)</b> Notwithstanding Section 2.1(b) + above, no patent license is granted: (1) for code + that You delete from the Original Software, or + (2) for infringements caused by: (i) the + modification of the Original Software, or (ii) the + combination of the Original Software with other software + or devices. + </p> + </li> + </ul> + </li> + <li> + <p><b>2.2. Contributor Grant.</b></p> + <p> + Conditioned upon Your compliance with Section 3.1 below + and subject to third party intellectual property claims, + each Contributor hereby grants You a world-wide, + royalty-free, non-exclusive license: + </p> + <ul> + <li> + <p> + <b>(a)</b> under intellectual property rights + (other than patent or trademark) Licensable by + Contributor to use, reproduce, modify, display, perform, + sublicense and distribute the Modifications created by + such Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as Covered + Software and/or as part of a Larger Work; and + </p> + </li> + <li> + <p> + <b>(b)</b> under Patent Claims infringed by the + making, using, or selling of Modifications made by that + Contributor either alone and/or in combination with its + Contributor Version (or portions of such combination), + to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by + that Contributor (or portions thereof); and (2) the + combination of Modifications made by that Contributor + with its Contributor Version (or portions of such + combination). + </p> + </li> + <li> + <p> + <b>(c)</b> The licenses granted in Sections 2.2(a) + and 2.2(b) are effective on the date Contributor first + distributes or otherwise makes the Modifications available + to a third party. + </p> + </li> + <li> + <p> + <b>(d)</b> Notwithstanding Section 2.2(b) + above, no patent license is granted: (1) for any + code that Contributor has deleted from the Contributor + Version; (2) for infringements caused by: + (i) third party modifications of Contributor + Version, or (ii) the combination of Modifications + made by that Contributor with other software (except as + part of the Contributor Version) or other devices; or + (3) under Patent Claims infringed by Covered + Software in the absence of Modifications made by that + Contributor. + </p> + </li> + </ul> + </li> + </ul> + </li> + + <li> + <p><b>3. Distribution Obligations.</b></p> + <ul> + <li> + <p><b>3.1. Availability of Source Code.</b></p> + <p> + Any Covered Software that You distribute or otherwise + make available in Executable form must also be made + available in Source Code form and that Source Code form + must be distributed only under the terms of this License. + You must include a copy of this License with every copy of + the Source Code form of the Covered Software You + distribute or otherwise make available. You must inform + recipients of any such Covered Software in Executable form + as to how they can obtain such Covered Software in Source + Code form in a reasonable manner on or through a medium + customarily used for software exchange. + </p> + </li> + <li> + <p><b>3.2. Modifications.</b></p> + <p> + The Modifications that You create or to which You + contribute are governed by the terms of this License. You + represent that You believe Your Modifications are Your + original creation(s) and/or You have sufficient rights to + grant the rights conveyed by this License. + </p> + </li> + <li> + <p><b>3.3. Required Notices.</b></p> + <p> + You must include a notice in each of Your Modifications + that identifies You as the Contributor of the Modification. + You may not remove or alter any copyright, patent or + trademark notices contained within the Covered Software, + or any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + </p> + </li> + <li> + <p><b>3.4. Application of Additional Terms.</b></p> + <p> + You may not offer or impose any terms on any Covered + Software in Source Code form that alters or restricts the + applicable version of this License or the + recipients’ rights hereunder. You may choose to + offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more + recipients of Covered Software. However, you may do so + only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely + clear that any such warranty, support, indemnity or + liability obligation is offered by You alone, and You + hereby agree to indemnify the Initial Developer and every + Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + </p> + </li> + <li> + <p><b>3.5. Distribution of Executable Versions.</b></p> + <p> + You may distribute the Executable form of the Covered + Software under the terms of this License or under the + terms of a license of Your choice, which may contain terms + different from this License, provided that You are in + compliance with the terms of this License and that the + license for the Executable form does not attempt to limit + or alter the recipient’s rights in the Source Code + form from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a + different license, You must make it absolutely clear that + any terms which differ from this License are offered by + You alone, not by the Initial Developer or Contributor. + You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of any + such terms You offer. + </p> + </li> + <li> + <p><b>3.6. Larger Works.</b></p> + <p> + You may create a Larger Work by combining Covered + Software with other code not governed by the terms of this + License and distribute the Larger Work as a single + product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered + Software. + </p> + </li> + </ul> + </li> + + <li> + <p><b>4. Versions of the License.</b></p> + <ul> + <li> + <p><b>4.1. New Versions.</b></p> + <p> + Sun Microsystems, Inc. is the initial license steward + and may publish revised and/or new versions of this + License from time to time. Each version will be given a + distinguishing version number. Except as provided in + Section 4.3, no one other than the license steward has the + right to modify this License. + </p> + </li> + <li> + <p><b>4.2. Effect of New Versions.</b></p> + <p> + You may always continue to use, distribute or otherwise + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. If the Initial Developer includes a + notice in the Original Software prohibiting it from being + distributed or otherwise made available under any + subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the + version of the License under which You originally received + the Covered Software. Otherwise, You may also choose to + use, distribute or otherwise make the Covered Software + available under the terms of any subsequent version of the + License published by the license steward. + </p> + </li> + <li> + <p><b>4.3. Modified Versions.</b></p> + <p> + When You are an Initial Developer and You want to + create a new license for Your Original Software, You may + create and use a modified version of this License if You: + (a) rename the license and remove any references to + the name of the license steward (except to note that the + license differs from this License); and (b) otherwise + make it clear that the license contains terms which differ + from this License. + </p> + </li> + </ul> + </li> + + <li> + <p><b>5. DISCLAIMER OF WARRANTY.</b></p> + <p> + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN + “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, + EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, + WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, + MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE + COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE + PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER + OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY + CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY + COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS + DISCLAIMER. + </p> + </li> + + <li> + <p><b>6. TERMINATION.</b></p> + <ul> + <li> + <p> + <b>6.1.</b> This License and the rights granted + hereunder will terminate automatically if You fail to comply + with terms herein and fail to cure such breach within 30 + days of becoming aware of the breach. Provisions which, by + their nature, must remain in effect beyond the termination + of this License shall survive. + </p> + </li> + <li> + <p> + <b>6.2.</b> If You assert a patent infringement claim + (excluding declaratory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You assert such claim is referred to as “Participant”) + alleging that the Participant Software (meaning the Contributor + Version where the Participant is a Contributor or the Original Software + where the Participant is the Initial Developer) directly or indirectly + infringes any patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial Developer (if the + Initial Developer is not the Participant) and all Contributors under + Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice + from Participant terminate prospectively and automatically at the + expiration of such 60 day notice period, unless if within such 60 day + period You withdraw Your claim with respect to the Participant Software + against such Participant either unilaterally or pursuant to a written + agreement with Participant. + </p> + </li> + <li> + <p> + <b>6.3.</b> In the event of termination under + Sections 6.1 or 6.2 above, all end user licenses + that have been validly granted by You or any distributor + hereunder prior to termination (excluding licenses granted + to You by any distributor) shall survive termination. + </p> + </li> + </ul> + </li> + + <li> + <p><b>7. LIMITATION OF LIABILITY.</b></p> + <p> + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER + TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL + YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY + DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF + SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, + SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER + INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL + OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL + HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS + LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH + OR PERSONAL INJURY RESULTING FROM SUCH PARTY’S + NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH + LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR + LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS + EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + </p> + </li> + + <li> + <p><b>8. U.S. GOVERNMENT END USERS.</b></p> + <p> + The Covered Software is a “commercial item,” as + that term is defined in 48 C.F.R. 2.101 (Oct. 1995), + consisting of “commercial computer software” (as + that term is defined at 48 + C.F.R. § 252.227-7014(a)(1)) and “commercial + computer software documentation” as such terms are used + in 48 C.F.R. 12.212 (Sept. 1995). Consistent with + 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 + (June 1995), all U.S. Government End Users acquire Covered + Software with only those rights set forth herein. This + U.S. Government Rights clause is in lieu of, and supersedes, + any other FAR, DFAR, or other clause or provision that + addresses Government rights in computer software under this + License. + </p> + </li> + + <li> + <p><b>9. MISCELLANEOUS.</b></p> + <p> + This License represents the complete agreement concerning + subject matter hereof. If any provision of this License is + held to be unenforceable, such provision shall be reformed + only to the extent necessary to make it enforceable. This + License shall be governed by the law of the jurisdiction + specified in a notice contained within the Original Software + (except to the extent applicable law, if any, provides + otherwise), excluding such jurisdiction’s + conflict-of-law provisions. Any litigation relating to this + License shall be subject to the jurisdiction of the courts + located in the jurisdiction and venue specified in a notice + contained within the Original Software, with the losing party + responsible for costs, including, without limitation, court + costs and reasonable attorneys’ fees and expenses. The + application of the United Nations Convention on Contracts for + the International Sale of Goods is expressly excluded. Any + law or regulation which provides that the language of a + contract shall be construed against the drafter shall not + apply to this License. You agree that You alone are + responsible for compliance with the United States export + administration regulations (and the export control laws and + regulation of any other countries) when You use, distribute or + otherwise make available any Covered Software. + </p> + </li> + + <li> + <p><b>10. RESPONSIBILITY FOR CLAIMS.</b></p> + <p> + As between Initial Developer and the Contributors, each + party is responsible for claims and damages arising, directly + or indirectly, out of its utilization of rights under this + License and You agree to work with Initial Developer and + Contributors to distribute such responsibility on an equitable + basis. Nothing herein is intended or shall be deemed to + constitute any admission of liability. + </p> + </li> + + <li> + <p> + <b> + NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT + AND DISTRIBUTION LICENSE (CDDL) + </b> + </p> + <p> + The code released under the CDDL shall be governed by the laws + of the State of California (excluding conflict-of-law provisions). + Any litigation relating to this License shall be subject to the + jurisdiction of the Federal Courts of the Northern District of + California and the state courts of the State of California, with + venue lying in Santa Clara County, California. + </p> + </li> + </ul> +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..195c86a056 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.net4j.jms.api +Bundle-Version: 3.1.0.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-ClassPath: . +Export-Package: javax.jms;version="1.1.0" diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/about.html new file mode 100644 index 0000000000..436438fc9b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/about.html @@ -0,0 +1,44 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("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/org/documents/epl-v10.php">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> + +<h3>Third Party Content</h3> +<p>The Content includes items that have been sourced from third parties as set out below. If you +did not receive this Content directly from the Eclipse Foundation, the following is provided +for informational purposes only, and you should look to the Redistributor’s license for +terms and conditions of use.</p> +<em> + +<h4>Java Message Service (JMS) 1.1</h4> +<p>Your use of the JMS code is subject to the terms and +conditions of the COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0. A copy of the license is +contained in the file <a href="CDDL.html">CDDL.html</a> +and is also available at <a href="http://glassfish.dev.java.net/public/CDDL+GPL.html">https://glassfish.dev.java.net/public/CDDL+GPL.html</a>.</p> + +<p>The source for the <a href="lib/jms.jar">jms.jar</a> is available on the Glassfish +website at <a href="https://glassfish.dev.java.net/downloads/v2-b58g.html">https://glassfish.dev.java.net/downloads/v2-b58g.html</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/build.properties new file mode 100644 index 0000000000..9a57a754c7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/build.properties @@ -0,0 +1,23 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +bin.includes = META-INF/,\ + about.html,\ + copyright.txt,\ + plugin.properties,\ + .,\ + CDDL.html +src.includes = about.html,\ + copyright.txt +jars.compile.order = . +source.. = src/ + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/plugin.properties new file mode 100644 index 0000000000..fe3c03a711 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j JMS Provider Spec API +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/BytesMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/BytesMessage.java new file mode 100644 index 0000000000..669d1b3891 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/BytesMessage.java @@ -0,0 +1,577 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +import java.io.InputStream; +import java.io.OutputStream; + +/** A <CODE>BytesMessage</CODE> object is used to send a message containing a + * stream of uninterpreted bytes. It inherits from the <CODE>Message</CODE> + * interface and adds a bytes + * message body. The receiver of the message supplies the interpretation + * of the bytes. + * + * <P>The <CODE>BytesMessage</CODE> methods are based largely on those found in + * <CODE>java.io.DataInputStream</CODE> and + * <CODE>java.io.DataOutputStream</CODE>. + * + * <P>This message type is for client encoding of existing message formats. + * If possible, one of the other self-defining message types should be used + * instead. + * + * <P>Although the JMS API allows the use of message properties with byte + * messages, they are typically not used, since the inclusion of properties + * may affect the format. + * + * <P>The primitive types can be written explicitly using methods + * for each type. They may also be written generically as objects. + * For instance, a call to <CODE>BytesMessage.writeInt(6)</CODE> is + * equivalent to <CODE>BytesMessage.writeObject(new Integer(6))</CODE>. + * Both forms are provided, because the explicit form is convenient for + * static programming, and the object form is needed when types are not known + * at compile time. + * + * <P>When the message is first created, and when <CODE>clearBody</CODE> + * is called, the body of the message is in write-only mode. After the + * first call to <CODE>reset</CODE> has been made, the message body is in + * read-only mode. + * After a message has been sent, the client that sent it can retain and + * modify it without affecting the message that has been sent. The same message + * object can be sent multiple times. + * When a message has been received, the provider has called + * <CODE>reset</CODE> so that the message body is in read-only mode for the client. + * + * <P>If <CODE>clearBody</CODE> is called on a message in read-only mode, + * the message body is cleared and the message is in write-only mode. + * + * <P>If a client attempts to read a message in write-only mode, a + * <CODE>MessageNotReadableException</CODE> is thrown. + * + * <P>If a client attempts to write a message in read-only mode, a + * <CODE>MessageNotWriteableException</CODE> is thrown. + * + * @version 1.1 April 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session#createBytesMessage() + * @see javax.jms.MapMessage + * @see javax.jms.Message + * @see javax.jms.ObjectMessage + * @see javax.jms.StreamMessage + * @see javax.jms.TextMessage + */ + +public interface BytesMessage extends Message { + + /** Gets the number of bytes of the message body when the message + * is in read-only mode. The value returned can be used to allocate + * a byte array. The value returned is the entire length of the message + * body, regardless of where the pointer for reading the message + * is currently located. + * + * @return number of bytes in the message + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageNotReadableException if the message is in write-only + * mode. + * @since 1.1 + */ + + long getBodyLength() throws JMSException; + + /** Reads a <code>boolean</code> from the bytes message stream. + * + * @return the <code>boolean</code> value read + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + + boolean + readBoolean() throws JMSException; + + + /** Reads a signed 8-bit value from the bytes message stream. + * + * @return the next byte from the bytes message stream as a signed 8-bit + * <code>byte</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + byte + readByte() throws JMSException; + + + /** Reads an unsigned 8-bit number from the bytes message stream. + * + * @return the next byte from the bytes message stream, interpreted as an + * unsigned 8-bit number + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + int + readUnsignedByte() throws JMSException; + + + /** Reads a signed 16-bit number from the bytes message stream. + * + * @return the next two bytes from the bytes message stream, interpreted as + * a signed 16-bit number + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + short + readShort() throws JMSException; + + + /** Reads an unsigned 16-bit number from the bytes message stream. + * + * @return the next two bytes from the bytes message stream, interpreted as + * an unsigned 16-bit integer + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + int + readUnsignedShort() throws JMSException; + + + /** Reads a Unicode character value from the bytes message stream. + * + * @return the next two bytes from the bytes message stream as a Unicode + * character + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + char + readChar() throws JMSException; + + + /** Reads a signed 32-bit integer from the bytes message stream. + * + * @return the next four bytes from the bytes message stream, interpreted + * as an <code>int</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + int + readInt() throws JMSException; + + + /** Reads a signed 64-bit integer from the bytes message stream. + * + * @return the next eight bytes from the bytes message stream, interpreted + * as a <code>long</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + long + readLong() throws JMSException; + + + /** Reads a <code>float</code> from the bytes message stream. + * + * @return the next four bytes from the bytes message stream, interpreted + * as a <code>float</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + float + readFloat() throws JMSException; + + + /** Reads a <code>double</code> from the bytes message stream. + * + * @return the next eight bytes from the bytes message stream, interpreted + * as a <code>double</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + double + readDouble() throws JMSException; + + + /** Reads a string that has been encoded using a modified UTF-8 + * format from the bytes message stream. + * + * <P>For more information on the UTF-8 format, see "File System Safe + * UCS Transformation Format (FSS_UTF)", X/Open Preliminary Specification, + * X/Open Company Ltd., Document Number: P316. This information also + * appears in ISO/IEC 10646, Annex P. + * + * @return a Unicode string from the bytes message stream + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of bytes stream has + * been reached. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + String + readUTF() throws JMSException; + + + /** Reads a byte array from the bytes message stream. + * + * <P>If the length of array <code>value</code> is less than the number of + * bytes remaining to be read from the stream, the array should + * be filled. A subsequent call reads the next increment, and so on. + * + * <P>If the number of bytes remaining in the stream is less than the + * length of + * array <code>value</code>, the bytes should be read into the array. + * The return value of the total number of bytes read will be less than + * the length of the array, indicating that there are no more bytes left + * to be read from the stream. The next read of the stream returns -1. + * + * @param value the buffer into which the data is read + * + * @return the total number of bytes read into the buffer, or -1 if + * there is no more data because the end of the stream has been reached + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + int + readBytes(byte[] value) throws JMSException; + + + /** Reads a portion of the bytes message stream. + * + * <P>If the length of array <code>value</code> is less than the number of + * bytes remaining to be read from the stream, the array should + * be filled. A subsequent call reads the next increment, and so on. + * + * <P>If the number of bytes remaining in the stream is less than the + * length of + * array <code>value</code>, the bytes should be read into the array. + * The return value of the total number of bytes read will be less than + * the length of the array, indicating that there are no more bytes left + * to be read from the stream. The next read of the stream returns -1. + * + * <p> If <code>length</code> is negative, or + * <code>length</code> is greater than the length of the array + * <code>value</code>, then an <code>IndexOutOfBoundsException</code> is + * thrown. No bytes will be read from the stream for this exception case. + * + * @param value the buffer into which the data is read + * @param length the number of bytes to read; must be less than or equal to + * <code>value.length</code> + * + * @return the total number of bytes read into the buffer, or -1 if + * there is no more data because the end of the stream has been reached + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + int + readBytes(byte[] value, int length) + throws JMSException; + + + /** Writes a <code>boolean</code> to the bytes message stream as a 1-byte + * value. + * The value <code>true</code> is written as the value + * <code>(byte)1</code>; the value <code>false</code> is written as + * the value <code>(byte)0</code>. + * + * @param value the <code>boolean</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeBoolean(boolean value) + throws JMSException; + + + /** Writes a <code>byte</code> to the bytes message stream as a 1-byte + * value. + * + * @param value the <code>byte</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeByte(byte value) throws JMSException; + + + /** Writes a <code>short</code> to the bytes message stream as two bytes, + * high byte first. + * + * @param value the <code>short</code> to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeShort(short value) throws JMSException; + + + /** Writes a <code>char</code> to the bytes message stream as a 2-byte + * value, high byte first. + * + * @param value the <code>char</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeChar(char value) throws JMSException; + + + /** Writes an <code>int</code> to the bytes message stream as four bytes, + * high byte first. + * + * @param value the <code>int</code> to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeInt(int value) throws JMSException; + + + /** Writes a <code>long</code> to the bytes message stream as eight bytes, + * high byte first. + * + * @param value the <code>long</code> to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeLong(long value) throws JMSException; + + + /** Converts the <code>float</code> argument to an <code>int</code> using + * the + * <code>floatToIntBits</code> method in class <code>Float</code>, + * and then writes that <code>int</code> value to the bytes message + * stream as a 4-byte quantity, high byte first. + * + * @param value the <code>float</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeFloat(float value) throws JMSException; + + + /** Converts the <code>double</code> argument to a <code>long</code> using + * the + * <code>doubleToLongBits</code> method in class <code>Double</code>, + * and then writes that <code>long</code> value to the bytes message + * stream as an 8-byte quantity, high byte first. + * + * @param value the <code>double</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeDouble(double value) throws JMSException; + + + /** Writes a string to the bytes message stream using UTF-8 encoding in a + * machine-independent manner. + * + * <P>For more information on the UTF-8 format, see "File System Safe + * UCS Transformation Format (FSS_UTF)", X/Open Preliminary Specification, + * X/Open Company Ltd., Document Number: P316. This information also + * appears in ISO/IEC 10646, Annex P. + * + * @param value the <code>String</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeUTF(String value) throws JMSException; + + + /** Writes a byte array to the bytes message stream. + * + * @param value the byte array to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeBytes(byte[] value) throws JMSException; + + + /** Writes a portion of a byte array to the bytes message stream. + * + * @param value the byte array value to be written + * @param offset the initial offset within the byte array + * @param length the number of bytes to use + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeBytes(byte[] value, int offset, int length) + throws JMSException; + + + /** Writes an object to the bytes message stream. + * + * <P>This method works only for the objectified primitive + * object types (<code>Integer</code>, <code>Double</code>, + * <code>Long</code> ...), <code>String</code> objects, and byte + * arrays. + * + * @param value the object in the Java programming language ("Java + * object") to be written; it must not be null + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageFormatException if the object is of an invalid type. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + * @exception java.lang.NullPointerException if the parameter + * <code>value</code> is null. + */ + + void + writeObject(Object value) throws JMSException; + + + /** Puts the message body in read-only mode and repositions the stream of + * bytes to the beginning. + * + * @exception JMSException if the JMS provider fails to reset the message + * due to some internal error. + * @exception MessageFormatException if the message has an invalid + * format. + */ + + void + reset() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Connection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Connection.java new file mode 100644 index 0000000000..93e1361bd0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Connection.java @@ -0,0 +1,414 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** A <CODE>Connection</CODE> object is a client's active connection to its JMS + * provider. It typically allocates provider resources outside the Java virtual + * machine (JVM). + * + * <P>Connections support concurrent use. + * + * <P>A connection serves several purposes: + * + * <UL> + * <LI>It encapsulates an open connection with a JMS provider. It + * typically represents an open TCP/IP socket between a client and + * the service provider software. + * <LI>Its creation is where client authentication takes place. + * <LI>It can specify a unique client identifier. + * <LI>It provides a <CODE>ConnectionMetaData</CODE> object. + * <LI>It supports an optional <CODE>ExceptionListener</CODE> object. + * </UL> + * + * <P>Because the creation of a connection involves setting up authentication + * and communication, a connection is a relatively heavyweight + * object. Most clients will do all their messaging with a single connection. + * Other more advanced applications may use several connections. The JMS API + * does + * not architect a reason for using multiple connections; however, there may + * be operational reasons for doing so. + * + * <P>A JMS client typically creates a connection, one or more sessions, + * and a number of message producers and consumers. When a connection is + * created, it is in stopped mode. That means that no messages are being + * delivered. + * + * <P>It is typical to leave the connection in stopped mode until setup + * is complete (that is, until all message consumers have been + * created). At that point, the client calls + * the connection's <CODE>start</CODE> method, and messages begin arriving at + * the connection's consumers. This setup + * convention minimizes any client confusion that may result from + * asynchronous message delivery while the client is still in the process + * of setting itself up. + * + * <P>A connection can be started immediately, and the setup can be done + * afterwards. Clients that do this must be prepared to handle asynchronous + * message delivery while they are still in the process of setting up. + * + * <P>A message producer can send messages while a connection is stopped. + * + * @version 1.1 - February 1, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.ConnectionFactory + * @see javax.jms.QueueConnection + * @see javax.jms.TopicConnection + */ + +public interface Connection { + + /** Creates a <CODE>Session</CODE> object. + * + * @param transacted indicates whether the session is transacted + * @param acknowledgeMode indicates whether the consumer or the + * client will acknowledge any messages it receives; ignored if the session + * is transacted. Legal values are <code>Session.AUTO_ACKNOWLEDGE</code>, + * <code>Session.CLIENT_ACKNOWLEDGE</code>, and + * <code>Session.DUPS_OK_ACKNOWLEDGE</code>. + * + * @return a newly created session + * + * @exception JMSException if the <CODE>Connection</CODE> object fails + * to create a session due to some internal error or + * lack of support for the specific transaction + * and acknowledgement mode. + * @since 1.1 + * + * @see Session#AUTO_ACKNOWLEDGE + * @see Session#CLIENT_ACKNOWLEDGE + * @see Session#DUPS_OK_ACKNOWLEDGE + + */ + + Session + createSession(boolean transacted, + int acknowledgeMode) throws JMSException; + + + /** Gets the client identifier for this connection. + * + * <P>This value is specific to the JMS provider. It is either preconfigured + * by an administrator in a <CODE>ConnectionFactory</CODE> object + * or assigned dynamically by the application by calling the + * <code>setClientID</code> method. + * + * + * @return the unique client identifier + * + * @exception JMSException if the JMS provider fails to return + * the client ID for this connection due + * to some internal error. + * + **/ + String + getClientID() throws JMSException; + + + /** Sets the client identifier for this connection. + * + * <P>The preferred way to assign a JMS client's client identifier is for + * it to be configured in a client-specific <CODE>ConnectionFactory</CODE> + * object and transparently assigned to the <CODE>Connection</CODE> object + * it creates. + * + * <P>Alternatively, a client can set a connection's client identifier + * using a provider-specific value. The facility to set a connection's + * client identifier explicitly is not a mechanism for overriding the + * identifier that has been administratively configured. It is provided + * for the case where no administratively specified identifier exists. + * If one does exist, an attempt to change it by setting it must throw an + * <CODE>IllegalStateException</CODE>. If a client sets the client identifier + * explicitly, it must do so immediately after it creates the connection + * and before any other + * action on the connection is taken. After this point, setting the + * client identifier is a programming error that should throw an + * <CODE>IllegalStateException</CODE>. + * + * <P>The purpose of the client identifier is to associate a connection and + * its objects with a state maintained on behalf of the client by a + * provider. The only such state identified by the JMS API is that required + * to support durable subscriptions. + * + * <P>If another connection with the same <code>clientID</code> is already running when + * this method is called, the JMS provider should detect the duplicate ID and throw + * an <CODE>InvalidClientIDException</CODE>. + * + * @param clientID the unique client identifier + * + * @exception JMSException if the JMS provider fails to + * set the client ID for this connection due + * to some internal error. + * + * @exception InvalidClientIDException if the JMS client specifies an + * invalid or duplicate client ID. + * @exception IllegalStateException if the JMS client attempts to set + * a connection's client ID at the wrong time or + * when it has been administratively configured. + */ + + void + setClientID(String clientID) throws JMSException; + + + /** Gets the metadata for this connection. + * + * @return the connection metadata + * + * @exception JMSException if the JMS provider fails to + * get the connection metadata for this connection. + * + * @see javax.jms.ConnectionMetaData + */ + + ConnectionMetaData + getMetaData() throws JMSException; + + /** + * Gets the <CODE>ExceptionListener</CODE> object for this connection. + * Not every <CODE>Connection</CODE> has an <CODE>ExceptionListener</CODE> + * associated with it. + * + * @return the <CODE>ExceptionListener</CODE> for this connection, or null. + * if no <CODE>ExceptionListener</CODE> is associated + * with this connection. + * + * @exception JMSException if the JMS provider fails to + * get the <CODE>ExceptionListener</CODE> for this + * connection. + * @see javax.jms.Connection#setExceptionListener + */ + + ExceptionListener + getExceptionListener() throws JMSException; + + + /** Sets an exception listener for this connection. + * + * <P>If a JMS provider detects a serious problem with a connection, it + * informs the connection's <CODE>ExceptionListener</CODE>, if one has been + * registered. It does this by calling the listener's + * <CODE>onException</CODE> method, passing it a <CODE>JMSException</CODE> + * object describing the problem. + * + * <P>An exception listener allows a client to be notified of a problem + * asynchronously. + * Some connections only consume messages, so they would have no other + * way to learn their connection has failed. + * + * <P>A connection serializes execution of its + * <CODE>ExceptionListener</CODE>. + * + * <P>A JMS provider should attempt to resolve connection problems + * itself before it notifies the client of them. + * + * @param listener the exception listener + * + * @exception JMSException if the JMS provider fails to + * set the exception listener for this connection. + * + */ + + void + setExceptionListener(ExceptionListener listener) throws JMSException; + + /** Starts (or restarts) a connection's delivery of incoming messages. + * A call to <CODE>start</CODE> on a connection that has already been + * started is ignored. + * + * @exception JMSException if the JMS provider fails to start + * message delivery due to some internal error. + * + * @see javax.jms.Connection#stop + */ + + void + start() throws JMSException; + + + /** Temporarily stops a connection's delivery of incoming messages. + * Delivery can be restarted using the connection's <CODE>start</CODE> + * method. When the connection is stopped, + * delivery to all the connection's message consumers is inhibited: + * synchronous receives block, and messages are not delivered to message + * listeners. + * + * <P>This call blocks until receives and/or message listeners in progress + * have completed. + * + * <P>Stopping a connection has no effect on its ability to send messages. + * A call to <CODE>stop</CODE> on a connection that has already been + * stopped is ignored. + * + * <P>A call to <CODE>stop</CODE> must not return until delivery of messages + * has paused. This means that a client can rely on the fact that none of + * its message listeners will be called and that all threads of control + * waiting for <CODE>receive</CODE> calls to return will not return with a + * message until the + * connection is restarted. The receive timers for a stopped connection + * continue to advance, so receives may time out while the connection is + * stopped. + * + * <P>If message listeners are running when <CODE>stop</CODE> is invoked, + * the <CODE>stop</CODE> call must + * wait until all of them have returned before it may return. While these + * message listeners are completing, they must have the full services of the + * connection available to them. + * + * @exception JMSException if the JMS provider fails to stop + * message delivery due to some internal error. + * + * @see javax.jms.Connection#start + */ + + void + stop() throws JMSException; + + + /** Closes the connection. + * + * <P>Since a provider typically allocates significant resources outside + * the JVM on behalf of a connection, clients should close these resources + * when they are not needed. Relying on garbage collection to eventually + * reclaim these resources may not be timely enough. + * + * <P>There is no need to close the sessions, producers, and consumers + * of a closed connection. + * + * <P>Closing a connection causes all temporary destinations to be + * deleted. + * + * <P>When this method is invoked, it should not return until message + * processing has been shut down in an orderly fashion. This means that all + * message + * listeners that may have been running have returned, and that all pending + * receives have returned. A close terminates all pending message receives + * on the connection's sessions' consumers. The receives may return with a + * message or with null, depending on whether there was a message available + * at the time of the close. If one or more of the connection's sessions' + * message listeners is processing a message at the time when connection + * <CODE>close</CODE> is invoked, all the facilities of the connection and + * its sessions must remain available to those listeners until they return + * control to the JMS provider. + * + * <P>Closing a connection causes any of its sessions' transactions + * in progress to be rolled back. In the case where a session's + * work is coordinated by an external transaction manager, a session's + * <CODE>commit</CODE> and <CODE>rollback</CODE> methods are + * not used and the result of a closed session's work is determined + * later by the transaction manager. + * + * Closing a connection does NOT force an + * acknowledgment of client-acknowledged sessions. + * + * <P>Invoking the <CODE>acknowledge</CODE> method of a received message + * from a closed connection's session must throw an + * <CODE>IllegalStateException</CODE>. Closing a closed connection must + * NOT throw an exception. + * + * @exception JMSException if the JMS provider fails to close the + * connection due to some internal error. For + * example, a failure to release resources + * or to close a socket connection can cause + * this exception to be thrown. + * + */ + + void + close() throws JMSException; + + /** Creates a connection consumer for this connection (optional operation). + * This is an expert facility not used by regular JMS clients. + * + * @param destination the destination to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param sessionPool the server session pool to associate with this + * connection consumer + * @param maxMessages the maximum number of messages that can be + * assigned to a server session at one time + * + * @return the connection consumer + * + * @exception JMSException if the <CODE>Connection</CODE> object fails + * to create a connection consumer due to some + * internal error or invalid arguments for + * <CODE>sessionPool</CODE> and + * <CODE>messageSelector</CODE>. + * @exception InvalidDestinationException if an invalid destination is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * + * @since 1.1 + * @see javax.jms.ConnectionConsumer + */ + + ConnectionConsumer + createConnectionConsumer(Destination destination, + String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) + throws JMSException; + + + /** Create a durable connection consumer for this connection (optional operation). + * This is an expert facility not used by regular JMS clients. + * + * @param topic topic to access + * @param subscriptionName durable subscription name + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param sessionPool the server session pool to associate with this + * durable connection consumer + * @param maxMessages the maximum number of messages that can be + * assigned to a server session at one time + * + * @return the durable connection consumer + * + * @exception JMSException if the <CODE>Connection</CODE> object fails + * to create a connection consumer due to some + * internal error or invalid arguments for + * <CODE>sessionPool</CODE> and + * <CODE>messageSelector</CODE>. + * @exception InvalidDestinationException if an invalid destination + * is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * @since 1.1 + * @see javax.jms.ConnectionConsumer + */ + + ConnectionConsumer + createDurableConnectionConsumer(Topic topic, + String subscriptionName, + String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) + throws JMSException; +} + diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionConsumer.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionConsumer.java new file mode 100644 index 0000000000..d6876fbaac --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionConsumer.java @@ -0,0 +1,85 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** For application servers, <CODE>Connection</CODE> objects provide a special + * facility + * for creating a <CODE>ConnectionConsumer</CODE> (optional). The messages it + * is to consume are + * specified by a <CODE>Destination</CODE> and a message selector. In addition, + * a <CODE>ConnectionConsumer</CODE> must be given a + * <CODE>ServerSessionPool</CODE> to use for + * processing its messages. + * + * <P>Normally, when traffic is light, a <CODE>ConnectionConsumer</CODE> gets a + * <CODE>ServerSession</CODE> from its pool, loads it with a single message, and + * starts it. As traffic picks up, messages can back up. If this happens, + * a <CODE>ConnectionConsumer</CODE> can load each <CODE>ServerSession</CODE> + * with more than one + * message. This reduces the thread context switches and minimizes resource + * use at the expense of some serialization of message processing. + * + * @version 1.1 February 8, 2002 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.Connection#createConnectionConsumer + * @see javax.jms.Connection#createDurableConnectionConsumer + * @see javax.jms.QueueConnection#createConnectionConsumer + * @see javax.jms.TopicConnection#createConnectionConsumer + * @see javax.jms.TopicConnection#createDurableConnectionConsumer + */ + +public interface ConnectionConsumer { + + /** Gets the server session pool associated with this connection consumer. + * + * @return the server session pool used by this connection consumer + * + * @exception JMSException if the JMS provider fails to get the server + * session pool associated with this consumer due + * to some internal error. + */ + + ServerSessionPool + getServerSessionPool() throws JMSException; + + + /** Closes the connection consumer. + * + * <P>Since a provider may allocate some resources on behalf of a + * connection consumer outside the Java virtual machine, clients should + * close these resources when + * they are not needed. Relying on garbage collection to eventually + * reclaim these resources may not be timely enough. + * + * @exception JMSException if the JMS provider fails to release resources + * on behalf of the connection consumer or fails + * to close the connection consumer. + */ + + void + close() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionFactory.java new file mode 100644 index 0000000000..9916d5c3d6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionFactory.java @@ -0,0 +1,126 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** A <CODE>ConnectionFactory</CODE> object encapsulates a set of connection + * configuration + * parameters that has been defined by an administrator. A client uses + * it to create a connection with a JMS provider. + * + * <P>A <CODE>ConnectionFactory</CODE> object is a JMS administered object and + * supports concurrent use. + * + * <P>JMS administered objects are objects containing configuration + * information that are created by an administrator and later used by + * JMS clients. They make it practical to administer the JMS API in the + * enterprise. + * + * <P>Although the interfaces for administered objects do not explicitly + * depend on the Java Naming and Directory Interface (JNDI) API, the JMS API + * establishes the convention that JMS clients find administered objects by + * looking them up in a JNDI namespace. + * + * <P>An administrator can place an administered object anywhere in a + * namespace. The JMS API does not define a naming policy. + * + * <P>It is expected that JMS providers will provide the tools an + * administrator needs to create and configure administered objects in a + * JNDI namespace. JMS provider implementations of administered objects + * should be both <CODE>javax.jndi.Referenceable</CODE> and + * <CODE>java.io.Serializable</CODE> so that they can be stored in all + * JNDI naming contexts. In addition, it is recommended that these + * implementations follow the JavaBeans<SUP><FONT SIZE="-2">TM</FONT></SUP> + * design patterns. + * + * <P>This strategy provides several benefits: + * + * <UL> + * <LI>It hides provider-specific details from JMS clients. + * <LI>It abstracts administrative information into objects in the Java + * programming language ("Java objects") + * that are easily organized and administered from a common + * management console. + * <LI>Since there will be JNDI providers for all popular naming + * services, this means that JMS providers can deliver one implementation + * of administered objects that will run everywhere. + * </UL> + * + * <P>An administered object should not hold on to any remote resources. + * Its lookup should not use remote resources other than those used by the + * JNDI API itself. + * + * <P>Clients should think of administered objects as local Java objects. + * Looking them up should not have any hidden side effects or use surprising + * amounts of local resources. + * + * @version 1.1 - February 1, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Connection + * @see javax.jms.QueueConnectionFactory + * @see javax.jms.TopicConnectionFactory + */ + +public interface ConnectionFactory { + /** Creates a connection with the default user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @return a newly created connection + * + * @exception JMSException if the JMS provider fails to create the + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + * @since 1.1 + */ + + Connection + createConnection() throws JMSException; + + + /** Creates a connection with the specified user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @param userName the caller's user name + * @param password the caller's password + * + * @return a newly created connection + * + * @exception JMSException if the JMS provider fails to create the + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + * @since 1.1 + */ + + Connection + createConnection(String userName, String password) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionMetaData.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionMetaData.java new file mode 100644 index 0000000000..8fb3d50964 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ConnectionMetaData.java @@ -0,0 +1,133 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +import java.util.Enumeration; + +/** A <CODE>ConnectionMetaData</CODE> object provides information describing the + * <CODE>Connection</CODE> object. + * + * @version 1.0 - 13 March 1998 + * @author Mark Hapner + * @author Rich Burridge + */ + +public interface ConnectionMetaData { + + /** Gets the JMS API version. + * + * @return the JMS API version + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + String + getJMSVersion() throws JMSException; + + + /** Gets the JMS major version number. + * + * @return the JMS API major version number + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + int + getJMSMajorVersion() throws JMSException; + + + /** Gets the JMS minor version number. + * + * @return the JMS API minor version number + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + int + getJMSMinorVersion() throws JMSException; + + + /** Gets the JMS provider name. + * + * @return the JMS provider name + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + String + getJMSProviderName() throws JMSException; + + + /** Gets the JMS provider version. + * + * @return the JMS provider version + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + String + getProviderVersion() throws JMSException; + + + /** Gets the JMS provider major version number. + * + * @return the JMS provider major version number + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + int + getProviderMajorVersion() throws JMSException; + + + /** Gets the JMS provider minor version number. + * + * @return the JMS provider minor version number + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + int + getProviderMinorVersion() throws JMSException; + + + /** Gets an enumeration of the JMSX property names. + * + * @return an Enumeration of JMSX property names + * + * @exception JMSException if the JMS provider fails to retrieve the + * metadata due to some internal error. + */ + + Enumeration + getJMSXPropertyNames() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/DeliveryMode.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/DeliveryMode.java new file mode 100644 index 0000000000..b5cab804c1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/DeliveryMode.java @@ -0,0 +1,79 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** The delivery modes supported by the JMS API are <CODE>PERSISTENT</CODE> and + * <CODE>NON_PERSISTENT</CODE>. + * + * <P>A client marks a message as persistent if it feels that the + * application will have problems if the message is lost in transit. + * A client marks a message as non-persistent if an occasional + * lost message is tolerable. Clients use delivery mode to tell a + * JMS provider how to balance message transport reliability with throughput. + * + * <P>Delivery mode covers only the transport of the message to its + * destination. Retention of a message at the destination until + * its receipt is acknowledged is not guaranteed by a <CODE>PERSISTENT</CODE> + * delivery mode. Clients should assume that message retention + * policies are set administratively. Message retention policy + * governs the reliability of message delivery from destination + * to message consumer. For example, if a client's message storage + * space is exhausted, some messages may be dropped in accordance with + * a site-specific message retention policy. + * + * <P>A message is guaranteed to be delivered once and only once + * by a JMS provider if the delivery mode of the message is + * <CODE>PERSISTENT</CODE> + * and if the destination has a sufficient message retention policy. + * + * + * + * @version 1.0 - 7 August 1998 + * @author Mark Hapner + * @author Rich Burridge + */ + +public interface DeliveryMode { + + /** This is the lowest-overhead delivery mode because it does not require + * that the message be logged to stable storage. The level of JMS provider + * failure that causes a <CODE>NON_PERSISTENT</CODE> message to be lost is + * not defined. + * + * <P>A JMS provider must deliver a <CODE>NON_PERSISTENT</CODE> message + * with an + * at-most-once guarantee. This means that it may lose the message, but it + * must not deliver it twice. + */ + + static final int NON_PERSISTENT = 1; + + /** This delivery mode instructs the JMS provider to log the message to stable + * storage as part of the client's send operation. Only a hard media + * failure should cause a <CODE>PERSISTENT</CODE> message to be lost. + */ + + static final int PERSISTENT = 2; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Destination.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Destination.java new file mode 100644 index 0000000000..a7bec1ae86 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Destination.java @@ -0,0 +1,97 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>Destination</CODE> object encapsulates a provider-specific + * address. + * The JMS API does not define a standard address syntax. Although a standard + * address syntax was considered, it was decided that the differences in + * address semantics between existing message-oriented middleware (MOM) + * products were too wide to bridge with a single syntax. + * + * <P>Since <CODE>Destination</CODE> is an administered object, it may + * contain + * provider-specific configuration information in addition to its address. + * + * <P>The JMS API also supports a client's use of provider-specific address + * names. + * + * <P><CODE>Destination</CODE> objects support concurrent use. + * + * <P>A <CODE>Destination</CODE> object is a JMS administered object. + * + * <P>JMS administered objects are objects containing configuration + * information that are created by an administrator and later used by + * JMS clients. They make it practical to administer the JMS API in the + * enterprise. + * + * <P>Although the interfaces for administered objects do not explicitly + * depend on the Java Naming and Directory Interface (JNDI) API, the JMS API + * establishes the convention that JMS clients find administered objects by + * looking them up in a JNDI namespace. + * + * <P>An administrator can place an administered object anywhere in a + * namespace. The JMS API does not define a naming policy. + * + * <P>It is expected that JMS providers will provide the tools an + * administrator needs to create and configure administered objects in a + * JNDI namespace. JMS provider implementations of administered objects + * should implement the <CODE>javax.naming.Referenceable</CODE> and + * <CODE>java.io.Serializable</CODE> interfaces so that they can be stored in + * all JNDI naming contexts. In addition, it is recommended that these + * implementations follow the JavaBeans<SUP><FONT SIZE="-2">TM</FONT></SUP> + * design patterns. + * + * <P>This strategy provides several benefits: + * + * <UL> + * <LI>It hides provider-specific details from JMS clients. + * <LI>It abstracts JMS administrative information into objects in the Java + * programming language ("Java objects") + * that are easily organized and administered from a common + * management console. + * <LI>Since there will be JNDI providers for all popular naming + * services, JMS providers can deliver one implementation + * of administered objects that will run everywhere. + * </UL> + * + * <P>An administered object should not hold on to any remote resources. + * Its lookup should not use remote resources other than those used by the + * JNDI API itself. + * + * <P>Clients should think of administered objects as local Java objects. + * Looking them up should not have any hidden side effects or use surprising + * amounts of local resources. + * + * @version 1.0 - 3 August 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.Queue + * @see javax.jms.Topic + */ + +public interface Destination { +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ExceptionListener.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ExceptionListener.java new file mode 100644 index 0000000000..24904bb097 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ExceptionListener.java @@ -0,0 +1,57 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + + +/** If a JMS provider detects a serious problem with a <CODE>Connection</CODE> + * object, it informs the <CODE>Connection</CODE> object's + * <CODE>ExceptionListener</CODE>, if one has been registered. + * It does this by calling the listener's <CODE>onException</CODE> method, + * passing it a <CODE>JMSException</CODE> argument describing the problem. + * + * <P>An exception listener allows a client to be notified of a problem + * asynchronously. Some connections only consume messages, so they would have no + * other way to learn that their connection has failed. + * + * <P>A JMS provider should attempt to resolve connection problems + * itself before it notifies the client of them. + * + * @version 1.0 - 9 March 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.Connection#setExceptionListener(ExceptionListener) + */ + +public interface ExceptionListener { + + /** Notifies user of a JMS exception. + * + * @param exception the JMS exception + */ + + void + onException(JMSException exception); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/IllegalStateException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/IllegalStateException.java new file mode 100644 index 0000000000..5c80831a90 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/IllegalStateException.java @@ -0,0 +1,48 @@ +/* + * Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + + +package javax.jms; + +/** + * <P> This exception is thrown when a method is + * invoked at an illegal or inappropriate time or if the provider is + * not in an appropriate state for the requested operation. For example, + * this exception must be thrown if <CODE>Session.commit</CODE> is + * called on a non-transacted session. This exception is also called when + * a domain inappropriate method is called, such as calling + * <CODE>TopicSession.CreateQueueBrowser</CODE>. + * + * @version April 9, 2002 + * @author Rahul Sharma + * @author Kate Stout + **/ + +public class IllegalStateException extends JMSException { + + /** Constructs an <CODE>IllegalStateException</CODE> with the specified reason + * and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + IllegalStateException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs an <CODE>IllegalStateException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + IllegalStateException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidClientIDException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidClientIDException.java new file mode 100644 index 0000000000..0c4aae3f7e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidClientIDException.java @@ -0,0 +1,60 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** + * <P> This exception must be thrown when a + * client attempts to set a connection's client ID to a value that + * is rejected by a provider. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class InvalidClientIDException extends JMSException { + + /** Constructs an <CODE>InvalidClientIDException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + InvalidClientIDException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs an <CODE>InvalidClientIDException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + InvalidClientIDException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidDestinationException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidDestinationException.java new file mode 100644 index 0000000000..410b5b1339 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidDestinationException.java @@ -0,0 +1,61 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when a + * destination either is not understood by a provider or is no + * longer valid. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class InvalidDestinationException extends JMSException { + + /** Constructs an <CODE>InvalidDestinationException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + InvalidDestinationException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs an <CODE>InvalidDestinationException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + InvalidDestinationException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidSelectorException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidSelectorException.java new file mode 100644 index 0000000000..3f55c62c6d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/InvalidSelectorException.java @@ -0,0 +1,61 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when a + * JMS client attempts to give a provider a message selector with + * invalid syntax. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class InvalidSelectorException extends JMSException { + + /** Constructs an <CODE>InvalidSelectorException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + InvalidSelectorException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs an <CODE>InvalidSelectorException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + InvalidSelectorException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/JMSException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/JMSException.java new file mode 100644 index 0000000000..38230dbabf --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/JMSException.java @@ -0,0 +1,110 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P>This is the root class of all JMS API exceptions. + * + * <P>It provides the following information: + * <UL> + * <LI> A provider-specific string describing the error. This string is + * the standard exception message and is available via the + * <CODE>getMessage</CODE> method. + * <LI> A provider-specific string error code + * <LI> A reference to another exception. Often a JMS API exception will + * be the result of a lower-level problem. If appropriate, this + * lower-level exception can be linked to the JMS API exception. + * </UL> + * @version 1.0 - 5 Oct 1998 + * @author Mark Hapner + * @author Rich Burridge + **/ + +public class JMSException extends Exception { + + /** Vendor-specific error code. + **/ + private String errorCode; + + /** <CODE>Exception</CODE> reference. + **/ + private Exception linkedException; + + + /** Constructs a <CODE>JMSException</CODE> with the specified reason and + * error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + **/ + public + JMSException(String reason, String errorCode) { + super(reason); + this.errorCode = errorCode; + linkedException = null; + } + + /** Constructs a <CODE>JMSException</CODE> with the specified reason and with + * the error code defaulting to null. + * + * @param reason a description of the exception + **/ + public + JMSException(String reason) { + super(reason); + this.errorCode = null; + linkedException = null; + } + + /** Gets the vendor-specific error code. + * @return a string specifying the vendor-specific + * error code + **/ + public + String getErrorCode() { + return this.errorCode; + } + + /** + * Gets the exception linked to this one. + * + * @return the linked <CODE>Exception</CODE>, null if none + **/ + public + Exception getLinkedException() { + return (linkedException); + } + + /** + * Adds a linked <CODE>Exception</CODE>. + * + * @param ex the linked <CODE>Exception</CODE> + **/ + public + synchronized void setLinkedException(Exception ex) { + linkedException = ex; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/JMSSecurityException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/JMSSecurityException.java new file mode 100644 index 0000000000..61377aca20 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/JMSSecurityException.java @@ -0,0 +1,61 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when a provider rejects a user + * name/password submitted by a client. It may also be thrown for any case + * where a security restriction prevents a method from completing. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class JMSSecurityException extends JMSException { + + /** Constructs a <CODE>JMSSecurityException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + JMSSecurityException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>JMSSecurityException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + JMSSecurityException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MapMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MapMessage.java new file mode 100644 index 0000000000..faada144d1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MapMessage.java @@ -0,0 +1,529 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +import java.util.Enumeration; + +/** A <CODE>MapMessage</CODE> object is used to send a set of name-value pairs. + * The names are <CODE>String</CODE> objects, and the values are primitive + * data types in the Java programming language. The names must have a value that + * is not null, and not an empty string. The entries can be accessed + * sequentially or randomly by name. The order of the entries is undefined. + * <CODE>MapMessage</CODE> inherits from the <CODE>Message</CODE> interface + * and adds a message body that contains a Map. + * + * <P>The primitive types can be read or written explicitly using methods + * for each type. They may also be read or written generically as objects. + * For instance, a call to <CODE>MapMessage.setInt("foo", 6)</CODE> is + * equivalent to <CODE>MapMessage.setObject("foo", new Integer(6))</CODE>. + * Both forms are provided, because the explicit form is convenient for + * static programming, and the object form is needed when types are not known + * at compile time. + * + * <P>When a client receives a <CODE>MapMessage</CODE>, it is in read-only + * mode. If a client attempts to write to the message at this point, a + * <CODE>MessageNotWriteableException</CODE> is thrown. If + * <CODE>clearBody</CODE> is called, the message can now be both read from and + * written to. + * + * <P><CODE>MapMessage</CODE> objects support the following conversion table. + * The marked cases must be supported. The unmarked cases must throw a + * <CODE>JMSException</CODE>. The <CODE>String</CODE>-to-primitive conversions + * may throw a runtime exception if the primitive's <CODE>valueOf()</CODE> + * method does not accept it as a valid <CODE>String</CODE> representation of + * the primitive. + * + * <P>A value written as the row type can be read as the column type. + * + * <PRE> + * | | boolean byte short char int long float double String byte[] + * |---------------------------------------------------------------------- + * |boolean | X X + * |byte | X X X X X + * |short | X X X X + * |char | X X + * |int | X X X + * |long | X X + * |float | X X X + * |double | X X + * |String | X X X X X X X X + * |byte[] | X + * |---------------------------------------------------------------------- + * </PRE> + * + * <P>Attempting to read a null value as a primitive type must be treated + * as calling the primitive's corresponding <code>valueOf(String)</code> + * conversion method with a null value. Since <code>char</code> does not + * support a <code>String</code> conversion, attempting to read a null value + * as a <code>char</code> must throw a <code>NullPointerException</code>. + * + * @version 1.1 February 2, 002 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.Session#createMapMessage() + * @see javax.jms.BytesMessage + * @see javax.jms.Message + * @see javax.jms.ObjectMessage + * @see javax.jms.StreamMessage + * @see javax.jms.TextMessage + */ + +public interface MapMessage extends Message { + + + /** Returns the <CODE>boolean</CODE> value with the specified name. + * + * @param name the name of the <CODE>boolean</CODE> + * + * @return the <CODE>boolean</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + boolean + getBoolean(String name) throws JMSException; + + + /** Returns the <CODE>byte</CODE> value with the specified name. + * + * @param name the name of the <CODE>byte</CODE> + * + * @return the <CODE>byte</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + byte + getByte(String name) throws JMSException; + + + /** Returns the <CODE>short</CODE> value with the specified name. + * + * @param name the name of the <CODE>short</CODE> + * + * @return the <CODE>short</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + short + getShort(String name) throws JMSException; + + + /** Returns the Unicode character value with the specified name. + * + * @param name the name of the Unicode character + * + * @return the Unicode character value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + char + getChar(String name) throws JMSException; + + + /** Returns the <CODE>int</CODE> value with the specified name. + * + * @param name the name of the <CODE>int</CODE> + * + * @return the <CODE>int</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + int + getInt(String name) throws JMSException; + + + /** Returns the <CODE>long</CODE> value with the specified name. + * + * @param name the name of the <CODE>long</CODE> + * + * @return the <CODE>long</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + long + getLong(String name) throws JMSException; + + + /** Returns the <CODE>float</CODE> value with the specified name. + * + * @param name the name of the <CODE>float</CODE> + * + * @return the <CODE>float</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + float + getFloat(String name) throws JMSException; + + + /** Returns the <CODE>double</CODE> value with the specified name. + * + * @param name the name of the <CODE>double</CODE> + * + * @return the <CODE>double</CODE> value with the specified name + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + double + getDouble(String name) throws JMSException; + + + /** Returns the <CODE>String</CODE> value with the specified name. + * + * @param name the name of the <CODE>String</CODE> + * + * @return the <CODE>String</CODE> value with the specified name; if there + * is no item by this name, a null value is returned + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + String + getString(String name) throws JMSException; + + + /** Returns the byte array value with the specified name. + * + * @param name the name of the byte array + * + * @return a copy of the byte array value with the specified name; if there + * is no + * item by this name, a null value is returned. + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + byte[] + getBytes(String name) throws JMSException; + + + /** Returns the value of the object with the specified name. + * + * <P>This method can be used to return, in objectified format, + * an object in the Java programming language ("Java object") that had + * been stored in the Map with the equivalent + * <CODE>setObject</CODE> method call, or its equivalent primitive + * <CODE>set<I>type</I></CODE> method. + * + * <P>Note that byte values are returned as <CODE>byte[]</CODE>, not + * <CODE>Byte[]</CODE>. + * + * @param name the name of the Java object + * + * @return a copy of the Java object value with the specified name, in + * objectified format (for example, if the object was set as an + * <CODE>int</CODE>, an <CODE>Integer</CODE> is returned); if there is no + * item by this name, a null value is returned + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + */ + + Object + getObject(String name) throws JMSException; + + + + /** Returns an <CODE>Enumeration</CODE> of all the names in the + * <CODE>MapMessage</CODE> object. + * + * @return an enumeration of all the names in this <CODE>MapMessage</CODE> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + */ + + Enumeration + getMapNames() throws JMSException; + + + /** Sets a <CODE>boolean</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>boolean</CODE> + * @param value the <CODE>boolean</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setBoolean(String name, boolean value) throws JMSException; + + + /** Sets a <CODE>byte</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>byte</CODE> + * @param value the <CODE>byte</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setByte(String name, byte value) + throws JMSException; + + + /** Sets a <CODE>short</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>short</CODE> + * @param value the <CODE>short</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setShort(String name, short value) + throws JMSException; + + + /** Sets a Unicode character value with the specified name into the Map. + * + * @param name the name of the Unicode character + * @param value the Unicode character value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setChar(String name, char value) + throws JMSException; + + + /** Sets an <CODE>int</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>int</CODE> + * @param value the <CODE>int</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setInt(String name, int value) + throws JMSException; + + + /** Sets a <CODE>long</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>long</CODE> + * @param value the <CODE>long</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setLong(String name, long value) + throws JMSException; + + + /** Sets a <CODE>float</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>float</CODE> + * @param value the <CODE>float</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setFloat(String name, float value) + throws JMSException; + + + /** Sets a <CODE>double</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>double</CODE> + * @param value the <CODE>double</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setDouble(String name, double value) + throws JMSException; + + + /** Sets a <CODE>String</CODE> value with the specified name into the Map. + * + * @param name the name of the <CODE>String</CODE> + * @param value the <CODE>String</CODE> value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setString(String name, String value) + throws JMSException; + + + /** Sets a byte array value with the specified name into the Map. + * + * @param name the name of the byte array + * @param value the byte array value to set in the Map; the array + * is copied so that the value for <CODE>name</CODE> will + * not be altered by future modifications + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception NullPointerException if the name is null, or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setBytes(String name, byte[] value) + throws JMSException; + + + /** Sets a portion of the byte array value with the specified name into the + * Map. + * + * @param name the name of the byte array + * @param value the byte array value to set in the Map + * @param offset the initial offset within the byte array + * @param length the number of bytes to use + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setBytes(String name, byte[] value, + int offset, int length) + throws JMSException; + + + /** Sets an object value with the specified name into the Map. + * + * <P>This method works only for the objectified primitive + * object types (<code>Integer</code>, <code>Double</code>, + * <code>Long</code> ...), <code>String</code> objects, and byte + * arrays. + * + * @param name the name of the Java object + * @param value the Java object value to set in the Map + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageFormatException if the object is invalid. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setObject(String name, Object value) + throws JMSException; + + + /** Indicates whether an item exists in this <CODE>MapMessage</CODE> object. + * + * @param name the name of the item to test + * + * @return true if the item exists + * + * @exception JMSException if the JMS provider fails to determine if the + * item exists due to some internal error. + */ + + boolean + itemExists(String name) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Message.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Message.java new file mode 100644 index 0000000000..e3148ee859 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Message.java @@ -0,0 +1,1511 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +import java.util.Enumeration; +import java.util.Properties; + +/** The <CODE>Message</CODE> interface is the root interface of all JMS + * messages. It defines the message header and the <CODE>acknowledge</CODE> + * method used for all messages. + * + * <P>Most message-oriented middleware (MOM) products treat messages as + * lightweight entities that consist + * of a header and a payload. The header contains fields used for message + * routing and identification; the payload contains the application data + * being sent. + * + * <P>Within this general form, the definition of a message varies + * significantly across products. It would be quite difficult for the JMS API + * to support all of these message models. + * + * <P>With this in mind, the JMS message model has the following goals: + * <UL> + * <LI>Provide a single, unified message API + * <LI>Provide an API suitable for creating messages that match the + * format used by provider-native messaging applications + * <LI>Support the development of heterogeneous applications that span + * operating systems, machine architectures, and computer languages + * <LI>Support messages containing objects in the Java programming language + * ("Java objects") + * <LI>Support messages containing Extensible Markup Language (XML) pages + * </UL> + * + * <P>JMS messages are composed of the following parts: + * <UL> + * <LI>Header - All messages support the same set of header fields. + * Header fields contain values used by both clients and providers to + * identify and route messages. + * <LI>Properties - Each message contains a built-in facility for supporting + * application-defined property values. Properties provide an efficient + * mechanism for supporting application-defined message filtering. + * <LI>Body - The JMS API defines several types of message body, which cover + * the majority of messaging styles currently in use. + * </UL> + * + * <H4>Message Bodies</H4> + * + * <P>The JMS API defines five types of message body: + * <UL> + * <LI>Stream - A <CODE>StreamMessage</CODE> object's message body contains + * a stream of primitive values in the Java programming + * language ("Java primitives"). It is filled and read sequentially. + * <LI>Map - A <CODE>MapMessage</CODE> object's message body contains a set + * of name-value pairs, where names are <CODE>String</CODE> + * objects, and values are Java primitives. The entries can be accessed + * sequentially or randomly by name. The order of the entries is + * undefined. + * <LI>Text - A <CODE>TextMessage</CODE> object's message body contains a + * <CODE>java.lang.String</CODE> object. This message type can be used + * to transport plain-text messages, and XML messages. + * <LI>Object - An <CODE>ObjectMessage</CODE> object's message body contains + * a <CODE>Serializable</CODE> Java object. + * <LI>Bytes - A <CODE>BytesMessage</CODE> object's message body contains a + * stream of uninterpreted bytes. This message type is for + * literally encoding a body to match an existing message format. In + * many cases, it is possible to use one of the other body types, + * which are easier to use. Although the JMS API allows the use of + * message properties with byte messages, they are typically not used, + * since the inclusion of properties may affect the format. + * </UL> + * + * <H4>Message Headers</H4> + * + * <P>The <CODE>JMSCorrelationID</CODE> header field is used for linking one + * message with + * another. It typically links a reply message with its requesting message. + * + * <P><CODE>JMSCorrelationID</CODE> can hold a provider-specific message ID, + * an application-specific <CODE>String</CODE> object, or a provider-native + * <CODE>byte[]</CODE> value. + * + * <H4>Message Properties</H4> + * + * <P>A <CODE>Message</CODE> object contains a built-in facility for supporting + * application-defined property values. In effect, this provides a mechanism + * for adding application-specific header fields to a message. + * + * <P>Properties allow an application, via message selectors, to have a JMS + * provider select, or filter, messages on its behalf using + * application-specific criteria. + * + * <P>Property names must obey the rules for a message selector identifier. + * Property names must not be null, and must not be empty strings. If a property + * name is set and it is either null or an empty string, an + * <CODE>IllegalArgumentException</CODE> must be thrown. + * + * <P>Property values can be <CODE>boolean</CODE>, <CODE>byte</CODE>, + * <CODE>short</CODE>, <CODE>int</CODE>, <CODE>long</CODE>, <CODE>float</CODE>, + * <CODE>double</CODE>, and <CODE>String</CODE>. + * + * <P>Property values are set prior to sending a message. When a client + * receives a message, its properties are in read-only mode. If a + * client attempts to set properties at this point, a + * <CODE>MessageNotWriteableException</CODE> is thrown. If + * <CODE>clearProperties</CODE> is called, the properties can now be both + * read from and written to. Note that header fields are distinct from + * properties. Header fields are never in read-only mode. + * + * <P>A property value may duplicate a value in a message's body, or it may + * not. Although JMS does not define a policy for what should or should not + * be made a property, application developers should note that JMS providers + * will likely handle data in a message's body more efficiently than data in + * a message's properties. For best performance, applications should use + * message properties only when they need to customize a message's header. + * The primary reason for doing this is to support customized message + * selection. + * + * <P>Message properties support the following conversion table. The marked + * cases must be supported. The unmarked cases must throw a + * <CODE>JMSException</CODE>. The <CODE>String</CODE>-to-primitive conversions + * may throw a runtime exception if the + * primitive's <CODE>valueOf</CODE> method does not accept the + * <CODE>String</CODE> as a valid representation of the primitive. + * + * <P>A value written as the row type can be read as the column type. + * + * <PRE> + * | | boolean byte short int long float double String + * |---------------------------------------------------------- + * |boolean | X X + * |byte | X X X X X + * |short | X X X X + * |int | X X X + * |long | X X + * |float | X X X + * |double | X X + * |String | X X X X X X X X + * |---------------------------------------------------------- + * </PRE> + * + * <P>In addition to the type-specific set/get methods for properties, JMS + * provides the <CODE>setObjectProperty</CODE> and + * <CODE>getObjectProperty</CODE> methods. These support the same set of + * property types using the objectified primitive values. Their purpose is + * to allow the decision of property type to made at execution time rather + * than at compile time. They support the same property value conversions. + * + * <P>The <CODE>setObjectProperty</CODE> method accepts values of class + * <CODE>Boolean</CODE>, <CODE>Byte</CODE>, <CODE>Short</CODE>, + * <CODE>Integer</CODE>, <CODE>Long</CODE>, <CODE>Float</CODE>, + * <CODE>Double</CODE>, and <CODE>String</CODE>. An attempt + * to use any other class must throw a <CODE>JMSException</CODE>. + * + * <P>The <CODE>getObjectProperty</CODE> method only returns values of class + * <CODE>Boolean</CODE>, <CODE>Byte</CODE>, <CODE>Short</CODE>, + * <CODE>Integer</CODE>, <CODE>Long</CODE>, <CODE>Float</CODE>, + * <CODE>Double</CODE>, and <CODE>String</CODE>. + * + * <P>The order of property values is not defined. To iterate through a + * message's property values, use <CODE>getPropertyNames</CODE> to retrieve + * a property name enumeration and then use the various property get methods + * to retrieve their values. + * + * <P>A message's properties are deleted by the <CODE>clearProperties</CODE> + * method. This leaves the message with an empty set of properties. + * + * <P>Getting a property value for a name which has not been set returns a + * null value. Only the <CODE>getStringProperty</CODE> and + * <CODE>getObjectProperty</CODE> methods can return a null value. + * Attempting to read a null value as a primitive type must be treated as + * calling the primitive's corresponding <CODE>valueOf(String)</CODE> + * conversion method with a null value. + * + * <P>The JMS API reserves the <CODE>JMSX</CODE> property name prefix for JMS + * defined properties. + * The full set of these properties is defined in the Java Message Service + * specification. New JMS defined properties may be added in later versions + * of the JMS API. Support for these properties is optional. The + * <CODE>String[] ConnectionMetaData.getJMSXPropertyNames</CODE> method + * returns the names of the JMSX properties supported by a connection. + * + * <P>JMSX properties may be referenced in message selectors whether or not + * they are supported by a connection. If they are not present in a + * message, they are treated like any other absent property. + * + * <P>JMSX properties defined in the specification as "set by provider on + * send" are available to both the producer and the consumers of the message. + * JMSX properties defined in the specification as "set by provider on + * receive" are available only to the consumers. + * + * <P><CODE>JMSXGroupID</CODE> and <CODE>JMSXGroupSeq</CODE> are standard + * properties that clients + * should use if they want to group messages. All providers must support them. + * Unless specifically noted, the values and semantics of the JMSX properties + * are undefined. + * + * <P>The JMS API reserves the <CODE>JMS_<I>vendor_name</I></CODE> property + * name prefix for provider-specific properties. Each provider defines its own + * value for <CODE><I>vendor_name</I></CODE>. This is the mechanism a JMS + * provider uses to make its special per-message services available to a JMS + * client. + * + * <P>The purpose of provider-specific properties is to provide special + * features needed to integrate JMS clients with provider-native clients in a + * single JMS application. They should not be used for messaging between JMS + * clients. + * + * <H4>Provider Implementations of JMS Message Interfaces</H4> + * + * <P>The JMS API provides a set of message interfaces that define the JMS + * message + * model. It does not provide implementations of these interfaces. + * + * <P>Each JMS provider supplies a set of message factories with its + * <CODE>Session</CODE> object for creating instances of messages. This allows + * a provider to use message implementations tailored to its specific needs. + * + * <P>A provider must be prepared to accept message implementations that are + * not its own. They may not be handled as efficiently as its own + * implementation; however, they must be handled. + * + * <P>Note the following exception case when a provider is handling a foreign + * message implementation. If the foreign message implementation contains a + * <CODE>JMSReplyTo</CODE> header field that is set to a foreign destination + * implementation, the provider is not required to handle or preserve the + * value of this header field. + * + * <H4>Message Selectors</H4> + * + * <P>A JMS message selector allows a client to specify, by + * header field references and property references, the + * messages it is interested in. Only messages whose header + * and property values + * match the + * selector are delivered. What it means for a message not to be delivered + * depends on the <CODE>MessageConsumer</CODE> being used (see + * {@link javax.jms.QueueReceiver QueueReceiver} and + * {@link javax.jms.TopicSubscriber TopicSubscriber}). + * + * <P>Message selectors cannot reference message body values. + * + * <P>A message selector matches a message if the selector evaluates to + * true when the message's header field values and property values are + * substituted for their corresponding identifiers in the selector. + * + * <P>A message selector is a <CODE>String</CODE> whose syntax is based on a + * subset of + * the SQL92 conditional expression syntax. If the value of a message selector + * is an empty string, the value is treated as a null and indicates that there + * is no message selector for the message consumer. + * + * <P>The order of evaluation of a message selector is from left to right + * within precedence level. Parentheses can be used to change this order. + * + * <P>Predefined selector literals and operator names are shown here in + * uppercase; however, they are case insensitive. + * + * <P>A selector can contain: + * + * <UL> + * <LI>Literals: + * <UL> + * <LI>A string literal is enclosed in single quotes, with a single quote + * represented by doubled single quote; for example, + * <CODE>'literal'</CODE> and <CODE>'literal''s'</CODE>. Like + * string literals in the Java programming language, these use the + * Unicode character encoding. + * <LI>An exact numeric literal is a numeric value without a decimal + * point, such as <CODE>57</CODE>, <CODE>-957</CODE>, and + * <CODE>+62</CODE>; numbers in the range of <CODE>long</CODE> are + * supported. Exact numeric literals use the integer literal + * syntax of the Java programming language. + * <LI>An approximate numeric literal is a numeric value in scientific + * notation, such as <CODE>7E3</CODE> and <CODE>-57.9E2</CODE>, or a + * numeric value with a decimal, such as <CODE>7.</CODE>, + * <CODE>-95.7</CODE>, and <CODE>+6.2</CODE>; numbers in the range of + * <CODE>double</CODE> are supported. Approximate literals use the + * floating-point literal syntax of the Java programming language. + * <LI>The boolean literals <CODE>TRUE</CODE> and <CODE>FALSE</CODE>. + * </UL> + * <LI>Identifiers: + * <UL> + * <LI>An identifier is an unlimited-length sequence of letters + * and digits, the first of which must be a letter. A letter is any + * character for which the method <CODE>Character.isJavaLetter</CODE> + * returns true. This includes <CODE>'_'</CODE> and <CODE>'$'</CODE>. + * A letter or digit is any character for which the method + * <CODE>Character.isJavaLetterOrDigit</CODE> returns true. + * <LI>Identifiers cannot be the names <CODE>NULL</CODE>, + * <CODE>TRUE</CODE>, and <CODE>FALSE</CODE>. + * <LI>Identifiers cannot be <CODE>NOT</CODE>, <CODE>AND</CODE>, + * <CODE>OR</CODE>, <CODE>BETWEEN</CODE>, <CODE>LIKE</CODE>, + * <CODE>IN</CODE>, <CODE>IS</CODE>, or <CODE>ESCAPE</CODE>. + * <LI>Identifiers are either header field references or property + * references. The type of a property value in a message selector + * corresponds to the type used to set the property. If a property + * that does not exist in a message is referenced, its value is + * <CODE>NULL</CODE>. + * <LI>The conversions that apply to the get methods for properties do not + * apply when a property is used in a message selector expression. + * For example, suppose you set a property as a string value, as in the + * following: + * <PRE>myMessage.setStringProperty("NumberOfOrders", "2");</PRE> + * The following expression in a message selector would evaluate to + * false, because a string cannot be used in an arithmetic expression: + * <PRE>"NumberOfOrders > 1"</PRE> + * <LI>Identifiers are case-sensitive. + * <LI>Message header field references are restricted to + * <CODE>JMSDeliveryMode</CODE>, <CODE>JMSPriority</CODE>, + * <CODE>JMSMessageID</CODE>, <CODE>JMSTimestamp</CODE>, + * <CODE>JMSCorrelationID</CODE>, and <CODE>JMSType</CODE>. + * <CODE>JMSMessageID</CODE>, <CODE>JMSCorrelationID</CODE>, and + * <CODE>JMSType</CODE> values may be null and if so are treated as a + * <CODE>NULL</CODE> value. + * <LI>Any name beginning with <CODE>'JMSX'</CODE> is a JMS defined + * property name. + * <LI>Any name beginning with <CODE>'JMS_'</CODE> is a provider-specific + * property name. + * <LI>Any name that does not begin with <CODE>'JMS'</CODE> is an + * application-specific property name. + * </UL> + * <LI>White space is the same as that defined for the Java programming + * language: space, horizontal tab, form feed, and line terminator. + * <LI>Expressions: + * <UL> + * <LI>A selector is a conditional expression; a selector that evaluates + * to <CODE>true</CODE> matches; a selector that evaluates to + * <CODE>false</CODE> or unknown does not match. + * <LI>Arithmetic expressions are composed of themselves, arithmetic + * operations, identifiers (whose value is treated as a numeric + * literal), and numeric literals. + * <LI>Conditional expressions are composed of themselves, comparison + * operations, and logical operations. + * </UL> + * <LI>Standard bracketing <CODE>()</CODE> for ordering expression evaluation + * is supported. + * <LI>Logical operators in precedence order: <CODE>NOT</CODE>, + * <CODE>AND</CODE>, <CODE>OR</CODE> + * <LI>Comparison operators: <CODE>=</CODE>, <CODE>></CODE>, <CODE>>=</CODE>, + * <CODE><</CODE>, <CODE><=</CODE>, <CODE><></CODE> (not equal) + * <UL> + * <LI>Only like type values can be compared. One exception is that it + * is valid to compare exact numeric values and approximate numeric + * values; the type conversion required is defined by the rules of + * numeric promotion in the Java programming language. If the + * comparison of non-like type values is attempted, the value of the + * operation is false. If either of the type values evaluates to + * <CODE>NULL</CODE>, the value of the expression is unknown. + * <LI>String and boolean comparison is restricted to <CODE>=</CODE> and + * <CODE><></CODE>. Two strings are equal + * if and only if they contain the same sequence of characters. + * </UL> + * <LI>Arithmetic operators in precedence order: + * <UL> + * <LI><CODE>+</CODE>, <CODE>-</CODE> (unary) + * <LI><CODE>*</CODE>, <CODE>/</CODE> (multiplication and division) + * <LI><CODE>+</CODE>, <CODE>-</CODE> (addition and subtraction) + * <LI>Arithmetic operations must use numeric promotion in the Java + * programming language. + * </UL> + * <LI><CODE><I>arithmetic-expr1</I> [NOT] BETWEEN <I>arithmetic-expr2</I> + * AND <I>arithmetic-expr3</I></CODE> (comparison operator) + * <UL> + * <LI><CODE>"age BETWEEN 15 AND 19"</CODE> is + * equivalent to + * <CODE>"age >= 15 AND age <= 19"</CODE> + * <LI><CODE>"age NOT BETWEEN 15 AND 19"</CODE> + * is equivalent to + * <CODE>"age < 15 OR age > 19"</CODE> + * </UL> + * <LI><CODE><I>identifier</I> [NOT] IN (<I>string-literal1</I>, + * <I>string-literal2</I>,...)</CODE> (comparison operator where + * <CODE><I>identifier</I></CODE> has a <CODE>String</CODE> or + * <CODE>NULL</CODE> value) + * <UL> + * <LI><CODE>"Country IN (' UK', 'US', 'France')"</CODE> + * is true for + * <CODE>'UK'</CODE> and false for <CODE>'Peru'</CODE>; it is + * equivalent to the expression + * <CODE>"(Country = ' UK') OR (Country = ' US') OR (Country = ' France')"</CODE> + * <LI><CODE>"Country NOT IN (' UK', 'US', 'France')"</CODE> + * is false for <CODE>'UK'</CODE> and true for <CODE>'Peru'</CODE>; it + * is equivalent to the expression + * <CODE>"NOT ((Country = ' UK') OR (Country = ' US') OR (Country = ' France'))"</CODE> + * <LI>If identifier of an <CODE>IN</CODE> or <CODE>NOT IN</CODE> + * operation is <CODE>NULL</CODE>, the value of the operation is + * unknown. + * </UL> + * <LI><CODE><I>identifier</I> [NOT] LIKE <I>pattern-value</I> [ESCAPE + * <I>escape-character</I>]</CODE> (comparison operator, where + * <CODE><I>identifier</I></CODE> has a <CODE>String</CODE> value; + * <CODE><I>pattern-value</I></CODE> is a string literal where + * <CODE>'_'</CODE> stands for any single character; <CODE>'%'</CODE> + * stands for any sequence of characters, including the empty sequence; + * and all other characters stand for themselves. The optional + * <CODE><I>escape-character</I></CODE> is a single-character string + * literal whose character is used to escape the special meaning of the + * <CODE>'_'</CODE> and <CODE>'%'</CODE> in + * <CODE><I>pattern-value</I></CODE>.) + * <UL> + * <LI><CODE>"phone LIKE '12%3'"</CODE> is true for + * <CODE>'123'</CODE> or <CODE>'12993'</CODE> and false for + * <CODE>'1234'</CODE> + * <LI><CODE>"word LIKE 'l_se'"</CODE> is true for + * <CODE>'lose'</CODE> and false for <CODE>'loose'</CODE> + * <LI><CODE>"underscored LIKE '\_%' ESCAPE '\'"</CODE> + * is true for <CODE>'_foo'</CODE> and false for <CODE>'bar'</CODE> + * <LI><CODE>"phone NOT LIKE '12%3'"</CODE> is false for + * <CODE>'123'</CODE> or <CODE>'12993'</CODE> and true for + * <CODE>'1234'</CODE> + * <LI>If <CODE><I>identifier</I></CODE> of a <CODE>LIKE</CODE> or + * <CODE>NOT LIKE</CODE> operation is <CODE>NULL</CODE>, the value + * of the operation is unknown. + * </UL> + * <LI><CODE><I>identifier</I> IS NULL</CODE> (comparison operator that tests + * for a null header field value or a missing property value) + * <UL> + * <LI><CODE>"prop_name IS NULL"</CODE> + * </UL> + * <LI><CODE><I>identifier</I> IS NOT NULL</CODE> (comparison operator that + * tests for the existence of a non-null header field value or a property + * value) + * <UL> + * <LI><CODE>"prop_name IS NOT NULL"</CODE> + * </UL> + * + * <P>JMS providers are required to verify the syntactic correctness of a + * message selector at the time it is presented. A method that provides a + * syntactically incorrect selector must result in a <CODE>JMSException</CODE>. + * JMS providers may also optionally provide some semantic checking at the time + * the selector is presented. Not all semantic checking can be performed at + * the time a message selector is presented, because property types are not known. + * + * <P>The following message selector selects messages with a message type + * of car and color of blue and weight greater than 2500 pounds: + * + * <PRE>"JMSType = 'car' AND color = 'blue' AND weight > 2500"</PRE> + * + * <H4>Null Values</H4> + * + * <P>As noted above, property values may be <CODE>NULL</CODE>. The evaluation + * of selector expressions containing <CODE>NULL</CODE> values is defined by + * SQL92 <CODE>NULL</CODE> semantics. A brief description of these semantics + * is provided here. + * + * <P>SQL treats a <CODE>NULL</CODE> value as unknown. Comparison or arithmetic + * with an unknown value always yields an unknown value. + * + * <P>The <CODE>IS NULL</CODE> and <CODE>IS NOT NULL</CODE> operators convert + * an unknown value into the respective <CODE>TRUE</CODE> and + * <CODE>FALSE</CODE> values. + * + * <P>The boolean operators use three-valued logic as defined by the + * following tables: + * + * <P><B>The definition of the <CODE>AND</CODE> operator</B> + * + * <PRE> + * | AND | T | F | U + * +------+-------+-------+------- + * | T | T | F | U + * | F | F | F | F + * | U | U | F | U + * +------+-------+-------+------- + * </PRE> + * + * <P><B>The definition of the <CODE>OR</CODE> operator</B> + * + * <PRE> + * | OR | T | F | U + * +------+-------+-------+-------- + * | T | T | T | T + * | F | T | F | U + * | U | T | U | U + * +------+-------+-------+------- + * </PRE> + * + * <P><B>The definition of the <CODE>NOT</CODE> operator</B> + * + * <PRE> + * | NOT + * +------+------ + * | T | F + * | F | T + * | U | U + * +------+------- + * </PRE> + * + * <H4>Special Notes</H4> + * + * <P>When used in a message selector, the <CODE>JMSDeliveryMode</CODE> header + * field is treated as having the values <CODE>'PERSISTENT'</CODE> and + * <CODE>'NON_PERSISTENT'</CODE>. + * + * <P>Date and time values should use the standard <CODE>long</CODE> + * millisecond value. When a date or time literal is included in a message + * selector, it should be an integer literal for a millisecond value. The + * standard way to produce millisecond values is to use + * <CODE>java.util.Calendar</CODE>. + * + * <P>Although SQL supports fixed decimal comparison and arithmetic, JMS + * message selectors do not. This is the reason for restricting exact + * numeric literals to those without a decimal (and the addition of + * numerics with a decimal as an alternate representation for + * approximate numeric values). + * + * <P>SQL comments are not supported. + * + * @version 1.1 April 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.MessageConsumer#receive() + * @see javax.jms.MessageConsumer#receive(long) + * @see javax.jms.MessageConsumer#receiveNoWait() + * @see javax.jms.MessageListener#onMessage(Message) + * @see javax.jms.BytesMessage + * @see javax.jms.MapMessage + * @see javax.jms.ObjectMessage + * @see javax.jms.StreamMessage + * @see javax.jms.TextMessage + */ + +public interface Message { + + /** The message producer's default delivery mode is <CODE>PERSISTENT</CODE>. + * + * @see DeliveryMode#PERSISTENT + */ + static final int DEFAULT_DELIVERY_MODE = DeliveryMode.PERSISTENT; + + /** The message producer's default priority is 4. + */ + static final int DEFAULT_PRIORITY = 4; + + /** The message producer's default time to live is unlimited; the message + * never expires. + */ + static final long DEFAULT_TIME_TO_LIVE = 0; + + + /** Gets the message ID. + * + * <P>The <CODE>JMSMessageID</CODE> header field contains a value that + * uniquely identifies each message sent by a provider. + * + * <P>When a message is sent, <CODE>JMSMessageID</CODE> can be ignored. + * When the <CODE>send</CODE> or <CODE>publish</CODE> method returns, it + * contains a provider-assigned value. + * + * <P>A <CODE>JMSMessageID</CODE> is a <CODE>String</CODE> value that + * should function as a + * unique key for identifying messages in a historical repository. + * The exact scope of uniqueness is provider-defined. It should at + * least cover all messages for a specific installation of a + * provider, where an installation is some connected set of message + * routers. + * + * <P>All <CODE>JMSMessageID</CODE> values must start with the prefix + * <CODE>'ID:'</CODE>. + * Uniqueness of message ID values across different providers is + * not required. + * + * <P>Since message IDs take some effort to create and increase a + * message's size, some JMS providers may be able to optimize message + * overhead if they are given a hint that the message ID is not used by + * an application. By calling the + * <CODE>MessageProducer.setDisableMessageID</CODE> method, a JMS client + * enables this potential optimization for all messages sent by that + * message producer. If the JMS provider accepts this + * hint, these messages must have the message ID set to null; if the + * provider ignores the hint, the message ID must be set to its normal + * unique value. + * + * @return the message ID + * + * @exception JMSException if the JMS provider fails to get the message ID + * due to some internal error. + * @see javax.jms.Message#setJMSMessageID(String) + * @see javax.jms.MessageProducer#setDisableMessageID(boolean) + */ + + String + getJMSMessageID() throws JMSException; + + + /** Sets the message ID. + * + * <P>JMS providers set this field when a message is sent. This method + * can be used to change the value for a message that has been received. + * + * @param id the ID of the message + * + * @exception JMSException if the JMS provider fails to set the message ID + * due to some internal error. + * + * @see javax.jms.Message#getJMSMessageID() + */ + + void + setJMSMessageID(String id) throws JMSException; + + + /** Gets the message timestamp. + * + * <P>The <CODE>JMSTimestamp</CODE> header field contains the time a + * message was + * handed off to a provider to be sent. It is not the time the + * message was actually transmitted, because the actual send may occur + * later due to transactions or other client-side queueing of messages. + * + * <P>When a message is sent, <CODE>JMSTimestamp</CODE> is ignored. When + * the <CODE>send</CODE> or <CODE>publish</CODE> + * method returns, it contains a time value somewhere in the interval + * between the call and the return. The value is in the format of a normal + * millis time value in the Java programming language. + * + * <P>Since timestamps take some effort to create and increase a + * message's size, some JMS providers may be able to optimize message + * overhead if they are given a hint that the timestamp is not used by an + * application. By calling the + * <CODE>MessageProducer.setDisableMessageTimestamp</CODE> method, a JMS + * client enables this potential optimization for all messages sent by + * that message producer. If the JMS provider accepts this + * hint, these messages must have the timestamp set to zero; if the + * provider ignores the hint, the timestamp must be set to its normal + * value. + * + * @return the message timestamp + * + * @exception JMSException if the JMS provider fails to get the timestamp + * due to some internal error. + * + * @see javax.jms.Message#setJMSTimestamp(long) + * @see javax.jms.MessageProducer#setDisableMessageTimestamp(boolean) + */ + + long + getJMSTimestamp() throws JMSException; + + + /** Sets the message timestamp. + * + * <P>JMS providers set this field when a message is sent. This method + * can be used to change the value for a message that has been received. + * + * @param timestamp the timestamp for this message + * + * @exception JMSException if the JMS provider fails to set the timestamp + * due to some internal error. + * + * @see javax.jms.Message#getJMSTimestamp() + */ + + void + setJMSTimestamp(long timestamp) throws JMSException; + + + /** Gets the correlation ID as an array of bytes for the message. + * + * <P>The use of a <CODE>byte[]</CODE> value for + * <CODE>JMSCorrelationID</CODE> is non-portable. + * + * @return the correlation ID of a message as an array of bytes + * + * @exception JMSException if the JMS provider fails to get the correlation + * ID due to some internal error. + * + * @see javax.jms.Message#setJMSCorrelationID(String) + * @see javax.jms.Message#getJMSCorrelationID() + * @see javax.jms.Message#setJMSCorrelationIDAsBytes(byte[]) + */ + + byte [] + getJMSCorrelationIDAsBytes() throws JMSException; + + + /** Sets the correlation ID as an array of bytes for the message. + * + * <P>The array is copied before the method returns, so + * future modifications to the array will not alter this message header. + * + * <P>If a provider supports the native concept of correlation ID, a + * JMS client may need to assign specific <CODE>JMSCorrelationID</CODE> + * values to match those expected by native messaging clients. + * JMS providers without native correlation ID values are not required to + * support this method and its corresponding get method; their + * implementation may throw a + * <CODE>java.lang.UnsupportedOperationException</CODE>. + * + * <P>The use of a <CODE>byte[]</CODE> value for + * <CODE>JMSCorrelationID</CODE> is non-portable. + * + * @param correlationID the correlation ID value as an array of bytes + * + * @exception JMSException if the JMS provider fails to set the correlation + * ID due to some internal error. + * + * @see javax.jms.Message#setJMSCorrelationID(String) + * @see javax.jms.Message#getJMSCorrelationID() + * @see javax.jms.Message#getJMSCorrelationIDAsBytes() + */ + + void + setJMSCorrelationIDAsBytes(byte[] correlationID) throws JMSException; + + + /** Sets the correlation ID for the message. + * + * <P>A client can use the <CODE>JMSCorrelationID</CODE> header field to + * link one message with another. A typical use is to link a response + * message with its request message. + * + * <P><CODE>JMSCorrelationID</CODE> can hold one of the following: + * <UL> + * <LI>A provider-specific message ID + * <LI>An application-specific <CODE>String</CODE> + * <LI>A provider-native <CODE>byte[]</CODE> value + * </UL> + * + * <P>Since each message sent by a JMS provider is assigned a message ID + * value, it is convenient to link messages via message ID. All message ID + * values must start with the <CODE>'ID:'</CODE> prefix. + * + * <P>In some cases, an application (made up of several clients) needs to + * use an application-specific value for linking messages. For instance, + * an application may use <CODE>JMSCorrelationID</CODE> to hold a value + * referencing some external information. Application-specified values + * must not start with the <CODE>'ID:'</CODE> prefix; this is reserved for + * provider-generated message ID values. + * + * <P>If a provider supports the native concept of correlation ID, a JMS + * client may need to assign specific <CODE>JMSCorrelationID</CODE> values + * to match those expected by clients that do not use the JMS API. A + * <CODE>byte[]</CODE> value is used for this + * purpose. JMS providers without native correlation ID values are not + * required to support <CODE>byte[]</CODE> values. The use of a + * <CODE>byte[]</CODE> value for <CODE>JMSCorrelationID</CODE> is + * non-portable. + * + * @param correlationID the message ID of a message being referred to + * + * @exception JMSException if the JMS provider fails to set the correlation + * ID due to some internal error. + * + * @see javax.jms.Message#getJMSCorrelationID() + * @see javax.jms.Message#getJMSCorrelationIDAsBytes() + * @see javax.jms.Message#setJMSCorrelationIDAsBytes(byte[]) + */ + + void + setJMSCorrelationID(String correlationID) throws JMSException; + + + /** Gets the correlation ID for the message. + * + * <P>This method is used to return correlation ID values that are + * either provider-specific message IDs or application-specific + * <CODE>String</CODE> values. + * + * @return the correlation ID of a message as a <CODE>String</CODE> + * + * @exception JMSException if the JMS provider fails to get the correlation + * ID due to some internal error. + * + * @see javax.jms.Message#setJMSCorrelationID(String) + * @see javax.jms.Message#getJMSCorrelationIDAsBytes() + * @see javax.jms.Message#setJMSCorrelationIDAsBytes(byte[]) + */ + + String + getJMSCorrelationID() throws JMSException; + + + /** Gets the <CODE>Destination</CODE> object to which a reply to this + * message should be sent. + * + * @return <CODE>Destination</CODE> to which to send a response to this + * message + * + * @exception JMSException if the JMS provider fails to get the + * <CODE>JMSReplyTo</CODE> destination due to some + * internal error. + * + * @see javax.jms.Message#setJMSReplyTo(Destination) + */ + + Destination + getJMSReplyTo() throws JMSException; + + + /** Sets the <CODE>Destination</CODE> object to which a reply to this + * message should be sent. + * + * <P>The <CODE>JMSReplyTo</CODE> header field contains the destination + * where a reply + * to the current message should be sent. If it is null, no reply is + * expected. The destination may be either a <CODE>Queue</CODE> object or + * a <CODE>Topic</CODE> object. + * + * <P>Messages sent with a null <CODE>JMSReplyTo</CODE> value may be a + * notification of some event, or they may just be some data the sender + * thinks is of interest. + * + * <P>Messages with a <CODE>JMSReplyTo</CODE> value typically expect a + * response. A response is optional; it is up to the client to decide. + * These messages are called requests. A message sent in response to a + * request is called a reply. + * + * <P>In some cases a client may wish to match a request it sent earlier + * with a reply it has just received. The client can use the + * <CODE>JMSCorrelationID</CODE> header field for this purpose. + * + * @param replyTo <CODE>Destination</CODE> to which to send a response to + * this message + * + * @exception JMSException if the JMS provider fails to set the + * <CODE>JMSReplyTo</CODE> destination due to some + * internal error. + * + * @see javax.jms.Message#getJMSReplyTo() + */ + + void + setJMSReplyTo(Destination replyTo) throws JMSException; + + + /** Gets the <CODE>Destination</CODE> object for this message. + * + * <P>The <CODE>JMSDestination</CODE> header field contains the + * destination to which the message is being sent. + * + * <P>When a message is sent, this field is ignored. After completion + * of the <CODE>send</CODE> or <CODE>publish</CODE> method, the field + * holds the destination specified by the method. + * + * <P>When a message is received, its <CODE>JMSDestination</CODE> value + * must be equivalent to the value assigned when it was sent. + * + * @return the destination of this message + * + * @exception JMSException if the JMS provider fails to get the destination + * due to some internal error. + * + * @see javax.jms.Message#setJMSDestination(Destination) + */ + + Destination + getJMSDestination() throws JMSException; + + + /** Sets the <CODE>Destination</CODE> object for this message. + * + * <P>JMS providers set this field when a message is sent. This method + * can be used to change the value for a message that has been received. + * + * @param destination the destination for this message + * + * @exception JMSException if the JMS provider fails to set the destination + * due to some internal error. + * + * @see javax.jms.Message#getJMSDestination() + */ + + void + setJMSDestination(Destination destination) throws JMSException; + + + /** Gets the <CODE>DeliveryMode</CODE> value specified for this message. + * + * @return the delivery mode for this message + * + * @exception JMSException if the JMS provider fails to get the + * delivery mode due to some internal error. + * + * @see javax.jms.Message#setJMSDeliveryMode(int) + * @see javax.jms.DeliveryMode + */ + + int + getJMSDeliveryMode() throws JMSException; + + + /** Sets the <CODE>DeliveryMode</CODE> value for this message. + * + * <P>JMS providers set this field when a message is sent. This method + * can be used to change the value for a message that has been received. + * + * @param deliveryMode the delivery mode for this message + * + * @exception JMSException if the JMS provider fails to set the + * delivery mode due to some internal error. + * + * @see javax.jms.Message#getJMSDeliveryMode() + * @see javax.jms.DeliveryMode + */ + + void + setJMSDeliveryMode(int deliveryMode) throws JMSException; + + + /** Gets an indication of whether this message is being redelivered. + * + * <P>If a client receives a message with the <CODE>JMSRedelivered</CODE> + * field set, + * it is likely, but not guaranteed, that this message was delivered + * earlier but that its receipt was not acknowledged + * at that time. + * + * @return true if this message is being redelivered + * + * @exception JMSException if the JMS provider fails to get the redelivered + * state due to some internal error. + * + * @see javax.jms.Message#setJMSRedelivered(boolean) + */ + + boolean + getJMSRedelivered() throws JMSException; + + + /** Specifies whether this message is being redelivered. + * + * <P>This field is set at the time the message is delivered. This + * method can be used to change the value for a message that has + * been received. + * + * @param redelivered an indication of whether this message is being + * redelivered + * + * @exception JMSException if the JMS provider fails to set the redelivered + * state due to some internal error. + * + * @see javax.jms.Message#getJMSRedelivered() + */ + + void + setJMSRedelivered(boolean redelivered) throws JMSException; + + + /** Gets the message type identifier supplied by the client when the + * message was sent. + * + * @return the message type + * + * @exception JMSException if the JMS provider fails to get the message + * type due to some internal error. + * + * @see javax.jms.Message#setJMSType(String) + */ + + String + getJMSType() throws JMSException; + + + /** Sets the message type. + * + * <P>Some JMS providers use a message repository that contains the + * definitions of messages sent by applications. The <CODE>JMSType</CODE> + * header field may reference a message's definition in the provider's + * repository. + * + * <P>The JMS API does not define a standard message definition repository, + * nor does it define a naming policy for the definitions it contains. + * + * <P>Some messaging systems require that a message type definition for + * each application message be created and that each message specify its + * type. In order to work with such JMS providers, JMS clients should + * assign a value to <CODE>JMSType</CODE>, whether the application makes + * use of it or not. This ensures that the field is properly set for those + * providers that require it. + * + * <P>To ensure portability, JMS clients should use symbolic values for + * <CODE>JMSType</CODE> that can be configured at installation time to the + * values defined in the current provider's message repository. If string + * literals are used, they may not be valid type names for some JMS + * providers. + * + * @param type the message type + * + * @exception JMSException if the JMS provider fails to set the message + * type due to some internal error. + * + * @see javax.jms.Message#getJMSType() + */ + + void + setJMSType(String type) throws JMSException; + + + /** Gets the message's expiration value. + * + * <P>When a message is sent, the <CODE>JMSExpiration</CODE> header field + * is left unassigned. After completion of the <CODE>send</CODE> or + * <CODE>publish</CODE> method, it holds the expiration time of the + * message. This is the sum of the time-to-live value specified by the + * client and the GMT at the time of the <CODE>send</CODE> or + * <CODE>publish</CODE>. + * + * <P>If the time-to-live is specified as zero, <CODE>JMSExpiration</CODE> + * is set to zero to indicate that the message does not expire. + * + * <P>When a message's expiration time is reached, a provider should + * discard it. The JMS API does not define any form of notification of + * message expiration. + * + * <P>Clients should not receive messages that have expired; however, + * the JMS API does not guarantee that this will not happen. + * + * @return the time the message expires, which is the sum of the + * time-to-live value specified by the client and the GMT at the + * time of the send + * + * @exception JMSException if the JMS provider fails to get the message + * expiration due to some internal error. + * + * @see javax.jms.Message#setJMSExpiration(long) + */ + + long + getJMSExpiration() throws JMSException; + + + /** Sets the message's expiration value. + * + * <P>JMS providers set this field when a message is sent. This method + * can be used to change the value for a message that has been received. + * + * @param expiration the message's expiration time + * + * @exception JMSException if the JMS provider fails to set the message + * expiration due to some internal error. + * + * @see javax.jms.Message#getJMSExpiration() + */ + + void + setJMSExpiration(long expiration) throws JMSException; + + + /** Gets the message priority level. + * + * <P>The JMS API defines ten levels of priority value, with 0 as the + * lowest + * priority and 9 as the highest. In addition, clients should consider + * priorities 0-4 as gradations of normal priority and priorities 5-9 + * as gradations of expedited priority. + * + * <P>The JMS API does not require that a provider strictly implement + * priority + * ordering of messages; however, it should do its best to deliver + * expedited messages ahead of normal messages. + * + * @return the default message priority + * + * @exception JMSException if the JMS provider fails to get the message + * priority due to some internal error. + * + * @see javax.jms.Message#setJMSPriority(int) + */ + + int + getJMSPriority() throws JMSException; + + + /** Sets the priority level for this message. + * + * <P>JMS providers set this field when a message is sent. This method + * can be used to change the value for a message that has been received. + * + * @param priority the priority of this message + * + * @exception JMSException if the JMS provider fails to set the message + * priority due to some internal error. + * + * @see javax.jms.Message#getJMSPriority() + */ + + void + setJMSPriority(int priority) throws JMSException; + + + /** Clears a message's properties. + * + * <P>The message's header fields and body are not cleared. + * + * @exception JMSException if the JMS provider fails to clear the message + * properties due to some internal error. + */ + + void + clearProperties() throws JMSException; + + + /** Indicates whether a property value exists. + * + * @param name the name of the property to test + * + * @return true if the property exists + * + * @exception JMSException if the JMS provider fails to determine if the + * property exists due to some internal error. + */ + + boolean + propertyExists(String name) throws JMSException; + + + /** Returns the value of the <CODE>boolean</CODE> property with the + * specified name. + * + * @param name the name of the <CODE>boolean</CODE> property + * + * @return the <CODE>boolean</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + boolean + getBooleanProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>byte</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>byte</CODE> property + * + * @return the <CODE>byte</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + byte + getByteProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>short</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>short</CODE> property + * + * @return the <CODE>short</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + short + getShortProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>int</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>int</CODE> property + * + * @return the <CODE>int</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + int + getIntProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>long</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>long</CODE> property + * + * @return the <CODE>long</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + long + getLongProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>float</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>float</CODE> property + * + * @return the <CODE>float</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + float + getFloatProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>double</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>double</CODE> property + * + * @return the <CODE>double</CODE> property value for the specified name + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + double + getDoubleProperty(String name) throws JMSException; + + + /** Returns the value of the <CODE>String</CODE> property with the specified + * name. + * + * @param name the name of the <CODE>String</CODE> property + * + * @return the <CODE>String</CODE> property value for the specified name; + * if there is no property by this name, a null value is returned + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + * @exception MessageFormatException if this type conversion is invalid. + */ + + String + getStringProperty(String name) throws JMSException; + + + /** Returns the value of the Java object property with the specified name. + * + * <P>This method can be used to return, in objectified format, + * an object that has been stored as a property in the message with the + * equivalent <CODE>setObjectProperty</CODE> method call, or its equivalent + * primitive <CODE>set<I>type</I>Property</CODE> method. + * + * @param name the name of the Java object property + * + * @return the Java object property value with the specified name, in + * objectified format (for example, if the property was set as an + * <CODE>int</CODE>, an <CODE>Integer</CODE> is + * returned); if there is no property by this name, a null value + * is returned + * + * @exception JMSException if the JMS provider fails to get the property + * value due to some internal error. + */ + + Object + getObjectProperty(String name) throws JMSException; + + + /** Returns an <CODE>Enumeration</CODE> of all the property names. + * + * <P>Note that JMS standard header fields are not considered + * properties and are not returned in this enumeration. + * + * @return an enumeration of all the names of property values + * + * @exception JMSException if the JMS provider fails to get the property + * names due to some internal error. + */ + + Enumeration + getPropertyNames() throws JMSException; + + + /** Sets a <CODE>boolean</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>boolean</CODE> property + * @param value the <CODE>boolean</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setBooleanProperty(String name, boolean value) + throws JMSException; + + + /** Sets a <CODE>byte</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>byte</CODE> property + * @param value the <CODE>byte</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setByteProperty(String name, byte value) + throws JMSException; + + + /** Sets a <CODE>short</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>short</CODE> property + * @param value the <CODE>short</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setShortProperty(String name, short value) + throws JMSException; + + + /** Sets an <CODE>int</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>int</CODE> property + * @param value the <CODE>int</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setIntProperty(String name, int value) + throws JMSException; + + + /** Sets a <CODE>long</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>long</CODE> property + * @param value the <CODE>long</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setLongProperty(String name, long value) + throws JMSException; + + + /** Sets a <CODE>float</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>float</CODE> property + * @param value the <CODE>float</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setFloatProperty(String name, float value) + throws JMSException; + + + /** Sets a <CODE>double</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>double</CODE> property + * @param value the <CODE>double</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setDoubleProperty(String name, double value) + throws JMSException; + + + /** Sets a <CODE>String</CODE> property value with the specified name into + * the message. + * + * @param name the name of the <CODE>String</CODE> property + * @param value the <CODE>String</CODE> property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setStringProperty(String name, String value) + throws JMSException; + + + /** Sets a Java object property value with the specified name into the + * message. + * + * <P>Note that this method works only for the objectified primitive + * object types (<CODE>Integer</CODE>, <CODE>Double</CODE>, + * <CODE>Long</CODE> ...) and <CODE>String</CODE> objects. + * + * @param name the name of the Java object property + * @param value the Java object property value to set + * + * @exception JMSException if the JMS provider fails to set the property + * due to some internal error. + * @exception IllegalArgumentException if the name is null or if the name is + * an empty string. + * @exception MessageFormatException if the object is invalid + * @exception MessageNotWriteableException if properties are read-only + */ + + void + setObjectProperty(String name, Object value) + throws JMSException; + + + /** Acknowledges all consumed messages of the session of this consumed + * message. + * + * <P>All consumed JMS messages support the <CODE>acknowledge</CODE> + * method for use when a client has specified that its JMS session's + * consumed messages are to be explicitly acknowledged. By invoking + * <CODE>acknowledge</CODE> on a consumed message, a client acknowledges + * all messages consumed by the session that the message was delivered to. + * + * <P>Calls to <CODE>acknowledge</CODE> are ignored for both transacted + * sessions and sessions specified to use implicit acknowledgement modes. + * + * <P>A client may individually acknowledge each message as it is consumed, + * or it may choose to acknowledge messages as an application-defined group + * (which is done by calling acknowledge on the last received message of the group, + * thereby acknowledging all messages consumed by the session.) + * + * <P>Messages that have been received but not acknowledged may be + * redelivered. + * + * @exception JMSException if the JMS provider fails to acknowledge the + * messages due to some internal error. + * @exception IllegalStateException if this method is called on a closed + * session. + * + * @see javax.jms.Session#CLIENT_ACKNOWLEDGE + */ + + void + acknowledge() throws JMSException; + + + /** Clears out the message body. Clearing a message's body does not clear + * its header values or property entries. + * + * <P>If this message body was read-only, calling this method leaves + * the message body in the same state as an empty body in a newly + * created message. + * + * @exception JMSException if the JMS provider fails to clear the message + * body due to some internal error. + */ + + void + clearBody() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageConsumer.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageConsumer.java new file mode 100644 index 0000000000..f6e7664b6e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageConsumer.java @@ -0,0 +1,191 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** A client uses a <CODE>MessageConsumer</CODE> object to receive messages + * from a destination. A <CODE>MessageConsumer</CODE> object is created by + * passing a <CODE>Destination</CODE> object to a message-consumer creation + * method supplied by a session. + * + * <P><CODE>MessageConsumer</CODE> is the parent interface for all message + * consumers. + * + * <P>A message consumer can be created with a message selector. A message + * selector allows + * the client to restrict the messages delivered to the message consumer to + * those that match the selector. + * + * <P>A client may either synchronously receive a message consumer's messages + * or have the consumer asynchronously deliver them as they arrive. + * + * <P>For synchronous receipt, a client can request the next message from a + * message consumer using one of its <CODE>receive</CODE> methods. There are + * several variations of <CODE>receive</CODE> that allow a + * client to poll or wait for the next message. + * + * <P>For asynchronous delivery, a client can register a + * <CODE>MessageListener</CODE> object with a message consumer. + * As messages arrive at the message consumer, it delivers them by calling the + * <CODE>MessageListener</CODE>'s <CODE>onMessage</CODE> method. + * + * <P>It is a client programming error for a <CODE>MessageListener</CODE> to + * throw an exception. + * + * @version 1.0 - 13 March 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.QueueReceiver + * @see javax.jms.TopicSubscriber + * @see javax.jms.Session + */ + +public interface MessageConsumer { + + /** Gets this message consumer's message selector expression. + * + * @return this message consumer's message selector, or null if no + * message selector exists for the message consumer (that is, if + * the message selector was not set or was set to null or the + * empty string) + * + * @exception JMSException if the JMS provider fails to get the message + * selector due to some internal error. + */ + + String + getMessageSelector() throws JMSException; + + + /** Gets the message consumer's <CODE>MessageListener</CODE>. + * + * @return the listener for the message consumer, or null if no listener + * is set + * + * @exception JMSException if the JMS provider fails to get the message + * listener due to some internal error. + * @see javax.jms.MessageConsumer#setMessageListener + */ + + MessageListener + getMessageListener() throws JMSException; + + + /** Sets the message consumer's <CODE>MessageListener</CODE>. + * + * <P>Setting the message listener to null is the equivalent of + * unsetting the message listener for the message consumer. + * + * <P>The effect of calling <CODE>MessageConsumer.setMessageListener</CODE> + * while messages are being consumed by an existing listener + * or the consumer is being used to consume messages synchronously + * is undefined. + * + * @param listener the listener to which the messages are to be + * delivered + * + * @exception JMSException if the JMS provider fails to set the message + * listener due to some internal error. + * @see javax.jms.MessageConsumer#getMessageListener + */ + + void + setMessageListener(MessageListener listener) throws JMSException; + + + /** Receives the next message produced for this message consumer. + * + * <P>This call blocks indefinitely until a message is produced + * or until this message consumer is closed. + * + * <P>If this <CODE>receive</CODE> is done within a transaction, the + * consumer retains the message until the transaction commits. + * + * @return the next message produced for this message consumer, or + * null if this message consumer is concurrently closed + * + * @exception JMSException if the JMS provider fails to receive the next + * message due to some internal error. + * + */ + + Message + receive() throws JMSException; + + + /** Receives the next message that arrives within the specified + * timeout interval. + * + * <P>This call blocks until a message arrives, the + * timeout expires, or this message consumer is closed. + * A <CODE>timeout</CODE> of zero never expires, and the call blocks + * indefinitely. + * + * @param timeout the timeout value (in milliseconds) + * + * @return the next message produced for this message consumer, or + * null if the timeout expires or this message consumer is concurrently + * closed + * + * @exception JMSException if the JMS provider fails to receive the next + * message due to some internal error. + */ + + Message + receive(long timeout) throws JMSException; + + + /** Receives the next message if one is immediately available. + * + * @return the next message produced for this message consumer, or + * null if one is not available + * + * @exception JMSException if the JMS provider fails to receive the next + * message due to some internal error. + */ + + Message + receiveNoWait() throws JMSException; + + + /** Closes the message consumer. + * + * <P>Since a provider may allocate some resources on behalf of a + * <CODE>MessageConsumer</CODE> outside the Java virtual machine, clients + * should close them when they + * are not needed. Relying on garbage collection to eventually reclaim + * these resources may not be timely enough. + * + * <P>This call blocks until a <CODE>receive</CODE> or message listener in + * progress has completed. A blocked message consumer <CODE>receive</CODE> + * call + * returns null when this message consumer is closed. + * + * @exception JMSException if the JMS provider fails to close the consumer + * due to some internal error. + */ + + void + close() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageEOFException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageEOFException.java new file mode 100644 index 0000000000..1006ebd816 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageEOFException.java @@ -0,0 +1,61 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when an unexpected + * end of stream has been reached when a <CODE>StreamMessage</CODE> or + * <CODE>BytesMessage</CODE> is being read. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class MessageEOFException extends JMSException { + + /** Constructs a <CODE>MessageEOFException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + MessageEOFException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>MessageEOFException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + MessageEOFException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageFormatException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageFormatException.java new file mode 100644 index 0000000000..50b685cf03 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageFormatException.java @@ -0,0 +1,69 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when a JMS client + * attempts to use a data type not supported by a message or attempts to + * read data in a message as the wrong type. It must also be thrown when + * equivalent type errors are made with message property values. For + * example, this exception must be thrown if + * <CODE>StreamMessage.writeObject</CODE> is given an unsupported class or + * if <CODE>StreamMessage.readShort</CODE> is used to read a + * <CODE>boolean</CODE> value. Note that the special case of a failure + * caused by an attempt to read improperly formatted <CODE>String</CODE> + * data as numeric values must throw the + * <CODE>java.lang.NumberFormatException</CODE>. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class MessageFormatException extends JMSException { + + /** Constructs a <CODE>MessageFormatException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + MessageFormatException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>MessageFormatException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + MessageFormatException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageListener.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageListener.java new file mode 100644 index 0000000000..a35fa42b4f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageListener.java @@ -0,0 +1,51 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + + +/** A <CODE>MessageListener</CODE> object is used to receive asynchronously + * delivered messages. + * + * <P>Each session must insure that it passes messages serially to the + * listener. This means that a listener assigned to one or more consumers + * of the same session can assume that the <CODE>onMessage</CODE> method + * is not called with the next message until the session has completed the + * last call. + * + * @version 1.0 - 13 March 1998 + * @author Mark Hapner + * @author Rich Burridge + */ + +public interface MessageListener { + + /** Passes a message to the listener. + * + * @param message the message passed to the listener + */ + + void + onMessage(Message message); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageNotReadableException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageNotReadableException.java new file mode 100644 index 0000000000..95c90b5352 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageNotReadableException.java @@ -0,0 +1,60 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when a JMS client attempts to read a + * write-only message. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class MessageNotReadableException extends JMSException { + + /** Constructs a <CODE>MessageNotReadableException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + MessageNotReadableException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>MessageNotReadableException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + MessageNotReadableException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageNotWriteableException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageNotWriteableException.java new file mode 100644 index 0000000000..b8852c9905 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageNotWriteableException.java @@ -0,0 +1,60 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P> This exception must be thrown when a JMS client attempts to write to a + * read-only message. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class MessageNotWriteableException extends JMSException { + + /** Constructs a <CODE>MessageNotWriteableException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + MessageNotWriteableException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>MessageNotWriteableException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + MessageNotWriteableException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageProducer.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageProducer.java new file mode 100644 index 0000000000..a9658bb771 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/MessageProducer.java @@ -0,0 +1,389 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A client uses a <CODE>MessageProducer</CODE> object to send messages to a + * destination. A <CODE>MessageProducer</CODE> object is created by passing a + * <CODE>Destination</CODE> object to a message-producer creation method + * supplied by a session. + * + * <P><CODE>MessageProducer</CODE> is the parent interface for all message + * producers. + * + * <P>A client also has the option of creating a message producer without + * supplying a destination. In this case, a destination must be provided with + * every send operation. A typical use for this kind of message producer is + * to send replies to requests using the request's <CODE>JMSReplyTo</CODE> + * destination. + * + * <P>A client can specify a default delivery mode, priority, and time to live + * for messages sent by a message producer. It can also specify the delivery + * mode, priority, and time to live for an individual message. + * + * <P>A client can specify a time-to-live value in milliseconds for each + * message it sends. This value defines a message expiration time that + * is the sum of the message's time-to-live and the GMT when it is sent (for + * transacted sends, this is the time the client sends the message, not + * the time the transaction is committed). + * + * <P>A JMS provider should do its best to expire messages accurately; + * however, the JMS API does not define the accuracy provided. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.TopicPublisher + * @see javax.jms.QueueSender + * @see javax.jms.Session#createProducer + */ + +public interface MessageProducer { + + /** Sets whether message IDs are disabled. + * + * <P>Since message IDs take some effort to create and increase a + * message's size, some JMS providers may be able to optimize message + * overhead if they are given a hint that the message ID is not used by + * an application. By calling the <CODE>setDisableMessageID</CODE> + * method on this message producer, a JMS client enables this potential + * optimization for all messages sent by this message producer. If the JMS + * provider accepts this hint, + * these messages must have the message ID set to null; if the provider + * ignores the hint, the message ID must be set to its normal unique value. + * + * <P>Message IDs are enabled by default. + * + * @param value indicates if message IDs are disabled + * + * @exception JMSException if the JMS provider fails to set message ID to + * disabled due to some internal error. + */ + + void + setDisableMessageID(boolean value) throws JMSException; + + + /** Gets an indication of whether message IDs are disabled. + * + * @return an indication of whether message IDs are disabled + * + * @exception JMSException if the JMS provider fails to determine if + * message IDs are disabled due to some internal + * error. + */ + + boolean + getDisableMessageID() throws JMSException; + + + /** Sets whether message timestamps are disabled. + * + * <P>Since timestamps take some effort to create and increase a + * message's size, some JMS providers may be able to optimize message + * overhead if they are given a hint that the timestamp is not used by an + * application. By calling the <CODE>setDisableMessageTimestamp</CODE> + * method on this message producer, a JMS client enables this potential + * optimization for all messages sent by this message producer. If the + * JMS provider accepts this hint, + * these messages must have the timestamp set to zero; if the provider + * ignores the hint, the timestamp must be set to its normal value. + * + * <P>Message timestamps are enabled by default. + * + * @param value indicates if message timestamps are disabled + * + * @exception JMSException if the JMS provider fails to set timestamps to + * disabled due to some internal error. + */ + + void + setDisableMessageTimestamp(boolean value) throws JMSException; + + + /** Gets an indication of whether message timestamps are disabled. + * + * @return an indication of whether message timestamps are disabled + * + * @exception JMSException if the JMS provider fails to determine if + * timestamps are disabled due to some internal + * error. + */ + + boolean + getDisableMessageTimestamp() throws JMSException; + + + /** Sets the producer's default delivery mode. + * + * <P>Delivery mode is set to <CODE>PERSISTENT</CODE> by default. + * + * @param deliveryMode the message delivery mode for this message + * producer; legal values are <code>DeliveryMode.NON_PERSISTENT</code> + * and <code>DeliveryMode.PERSISTENT</code> + * + * @exception JMSException if the JMS provider fails to set the delivery + * mode due to some internal error. + * + * @see javax.jms.MessageProducer#getDeliveryMode + * @see javax.jms.DeliveryMode#NON_PERSISTENT + * @see javax.jms.DeliveryMode#PERSISTENT + * @see javax.jms.Message#DEFAULT_DELIVERY_MODE + */ + + void + setDeliveryMode(int deliveryMode) throws JMSException; + + + /** Gets the producer's default delivery mode. + * + * @return the message delivery mode for this message producer + * + * @exception JMSException if the JMS provider fails to get the delivery + * mode due to some internal error. + * + * @see javax.jms.MessageProducer#setDeliveryMode + */ + + int + getDeliveryMode() throws JMSException; + + + /** Sets the producer's default priority. + * + * <P>The JMS API defines ten levels of priority value, with 0 as the + * lowest priority and 9 as the highest. Clients should consider priorities + * 0-4 as gradations of normal priority and priorities 5-9 as gradations + * of expedited priority. Priority is set to 4 by default. + * + * @param defaultPriority the message priority for this message producer; + * must be a value between 0 and 9 + * + * + * @exception JMSException if the JMS provider fails to set the priority + * due to some internal error. + * + * @see javax.jms.MessageProducer#getPriority + * @see javax.jms.Message#DEFAULT_PRIORITY + */ + + void + setPriority(int defaultPriority) throws JMSException; + + + /** Gets the producer's default priority. + * + * @return the message priority for this message producer + * + * @exception JMSException if the JMS provider fails to get the priority + * due to some internal error. + * + * @see javax.jms.MessageProducer#setPriority + */ + + int + getPriority() throws JMSException; + + + /** Sets the default length of time in milliseconds from its dispatch time + * that a produced message should be retained by the message system. + * + * <P>Time to live is set to zero by default. + * + * @param timeToLive the message time to live in milliseconds; zero is + * unlimited + * + * @exception JMSException if the JMS provider fails to set the time to + * live due to some internal error. + * + * @see javax.jms.MessageProducer#getTimeToLive + * @see javax.jms.Message#DEFAULT_TIME_TO_LIVE + */ + + void + setTimeToLive(long timeToLive) throws JMSException; + + + /** Gets the default length of time in milliseconds from its dispatch time + * that a produced message should be retained by the message system. + * + * @return the message time to live in milliseconds; zero is unlimited + * + * @exception JMSException if the JMS provider fails to get the time to + * live due to some internal error. + * + * @see javax.jms.MessageProducer#setTimeToLive + */ + + long + getTimeToLive() throws JMSException; + + /** Gets the destination associated with this <CODE>MessageProducer</CODE>. + * + * @return this producer's <CODE>Destination/<CODE> + * + * @exception JMSException if the JMS provider fails to get the destination for + * this <CODE>MessageProducer</CODE> + * due to some internal error. + *@since 1.1 + */ + + Destination + getDestination() throws JMSException; + + /** Closes the message producer. + * + * <P>Since a provider may allocate some resources on behalf of a + * <CODE>MessageProducer</CODE> outside the Java virtual machine, clients + * should close them when they + * are not needed. Relying on garbage collection to eventually reclaim + * these resources may not be timely enough. + * + * @exception JMSException if the JMS provider fails to close the producer + * due to some internal error. + */ + + void + close() throws JMSException; + + + /** Sends a message using the <CODE>MessageProducer</CODE>'s + * default delivery mode, priority, and time to live. + * + * @param message the message to send + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with a <CODE>MessageProducer</CODE> with + * an invalid destination. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>MessageProducer</CODE> that did + * not specify a destination at creation time. + * + * @see javax.jms.Session#createProducer + * @see javax.jms.MessageProducer + * + * @since 1.1 + */ + + void + send(Message message) throws JMSException; + + /** Sends a message to the destination, specifying delivery mode, priority, and + * time to live. + * + * @param message the message to send + * @param deliveryMode the delivery mode to use + * @param priority the priority for this message + * @param timeToLive the message's lifetime (in milliseconds) + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with a <CODE>MessageProducer</CODE> with + * an invalid destination. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>MessageProducer</CODE> that did + * not specify a destination at creation time. + * + * @see javax.jms.Session#createProducer + * @since 1.1 + */ + + void + send(Message message, + int deliveryMode, + int priority, + long timeToLive) throws JMSException; + + + /**Sends a message to a destination for an unidentified message producer. + * Uses the <CODE>MessageProducer</CODE>'s default delivery mode, priority, + * and time to live. + * + * <P>Typically, a message producer is assigned a destination at creation + * time; however, the JMS API also supports unidentified message producers, + * which require that the destination be supplied every time a message is + * sent. + * + * @param destination the destination to send this message to + * @param message the message to send + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with an invalid destination. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>MessageProducer</CODE> that + * specified a destination at creation time. + * + * @see javax.jms.Session#createProducer + * @see javax.jms.MessageProducer + * @since 1.1 + */ + + void + send(Destination destination, Message message) throws JMSException; + + + /** Sends a message to a destination for an unidentified message producer, + * specifying delivery mode, priority and time to live. + * + * <P>Typically, a message producer is assigned a destination at creation + * time; however, the JMS API also supports unidentified message producers, + * which require that the destination be supplied every time a message is + * sent. + * + * @param destination the destination to send this message to + * @param message the message to send + * @param deliveryMode the delivery mode to use + * @param priority the priority for this message + * @param timeToLive the message's lifetime (in milliseconds) + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with an invalid destination. + * + * @see javax.jms.Session#createProducer + * @since 1.1 + */ + + void + send(Destination destination, + Message message, + int deliveryMode, + int priority, + long timeToLive) throws JMSException; + + + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ObjectMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ObjectMessage.java new file mode 100644 index 0000000000..8c0fff03de --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ObjectMessage.java @@ -0,0 +1,90 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +import java.io.Serializable; + +/** An <CODE>ObjectMessage</CODE> object is used to send a message that contains + * a serializable object in the Java programming language ("Java object"). + * It inherits from the <CODE>Message</CODE> interface and adds a body + * containing a single reference to an object. Only <CODE>Serializable</CODE> + * Java objects can be used. + * + * <P>If a collection of Java objects must be sent, one of the + * <CODE>Collection</CODE> classes provided since JDK 1.2 can be used. + * + * <P>When a client receives an <CODE>ObjectMessage</CODE>, it is in read-only + * mode. If a client attempts to write to the message at this point, a + * <CODE>MessageNotWriteableException</CODE> is thrown. If + * <CODE>clearBody</CODE> is called, the message can now be both read from and + * written to. + * + * @version 1.0 - 6 August 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.Session#createObjectMessage() + * @see javax.jms.Session#createObjectMessage(Serializable) + * @see javax.jms.BytesMessage + * @see javax.jms.MapMessage + * @see javax.jms.Message + * @see javax.jms.StreamMessage + * @see javax.jms.TextMessage + */ + +public interface ObjectMessage extends Message { + + /** Sets the serializable object containing this message's data. + * It is important to note that an <CODE>ObjectMessage</CODE> + * contains a snapshot of the object at the time <CODE>setObject()</CODE> + * is called; subsequent modifications of the object will have no + * effect on the <CODE>ObjectMessage</CODE> body. + * + * @param object the message's data + * + * @exception JMSException if the JMS provider fails to set the object + * due to some internal error. + * @exception MessageFormatException if object serialization fails. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setObject(Serializable object) throws JMSException; + + + /** Gets the serializable object containing this message's data. The + * default value is null. + * + * @return the serializable object containing this message's data + * + * @exception JMSException if the JMS provider fails to get the object + * due to some internal error. + * @exception MessageFormatException if object deserialization fails. + */ + + Serializable + getObject() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Queue.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Queue.java new file mode 100644 index 0000000000..0a9ec202cd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Queue.java @@ -0,0 +1,81 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + + +/** A <CODE>Queue</CODE> object encapsulates a provider-specific queue name. + * It is the way a client specifies the identity of a queue to JMS API methods. + * For those methods that use a <CODE>Destination</CODE> as a parameter, a + * <CODE>Queue</CODE> object used as an argument. For example, a queue can + * be used to create a <CODE>MessageConsumer</CODE> and a + * <CODE>MessageProducer</CODE> by calling: + *<UL> + *<LI> <CODE>Session.CreateConsumer(Destination destination)</CODE> + *<LI> <CODE>Session.CreateProducer(Destination destination)</CODE> + * + *</UL> + * + * <P>The actual length of time messages are held by a queue and the + * consequences of resource overflow are not defined by the JMS API. + * + * + * + * @version 1.1 February 2 - 2000 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see Session#createConsumer(Destination) + * @see Session#createProducer(Destination) + * @see Session#createQueue(String) + * @see QueueSession#createQueue(String) + */ + +public interface Queue extends Destination { + + /** Gets the name of this queue. + * + * <P>Clients that depend upon the name are not portable. + * + * @return the queue name + * + * @exception JMSException if the JMS provider implementation of + * <CODE>Queue</CODE> fails to return the queue + * name due to some internal + * error. + */ + + String + getQueueName() throws JMSException; + + + /** Returns a string representation of this object. + * + * @return the provider-specific identity values for this queue + */ + + String + toString(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueBrowser.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueBrowser.java new file mode 100644 index 0000000000..0bb06ffb55 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueBrowser.java @@ -0,0 +1,115 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +import java.util.Enumeration; + +/** A client uses a <CODE>QueueBrowser</CODE> object to look at messages on a + * queue without removing them. + * + * <P>The <CODE>getEnumeration</CODE> method returns a + * <CODE>java.util.Enumeration</CODE> that is used to scan + * the queue's messages. It may be an enumeration of the entire content of a + * queue, or it may contain only the messages matching a message selector. + * + * <P>Messages may be arriving and expiring while the scan is done. The JMS API + * does + * not require the content of an enumeration to be a static snapshot of queue + * content. Whether these changes are visible or not depends on the JMS + * provider. + * + *<P>A <CODE>QueueBrowser</CODE> can be created from either a + * <CODE>Session</CODE> or a <CODE> QueueSession</CODE>. + * + * @version 1.1 April 9, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session#createBrowser + * @see javax.jms.QueueSession#createBrowser + * @see javax.jms.QueueReceiver + */ + +public interface QueueBrowser { + + /** Gets the queue associated with this queue browser. + * + * @return the queue + * + * @exception JMSException if the JMS provider fails to get the + * queue associated with this browser + * due to some internal error. + */ + + Queue + getQueue() throws JMSException; + + + /** Gets this queue browser's message selector expression. + * + * @return this queue browser's message selector, or null if no + * message selector exists for the message consumer (that is, if + * the message selector was not set or was set to null or the + * empty string) + * + * @exception JMSException if the JMS provider fails to get the + * message selector for this browser + * due to some internal error. + */ + + String + getMessageSelector() throws JMSException; + + + /** Gets an enumeration for browsing the current queue messages in the + * order they would be received. + * + * @return an enumeration for browsing the messages + * + * @exception JMSException if the JMS provider fails to get the + * enumeration for this browser + * due to some internal error. + */ + + Enumeration + getEnumeration() throws JMSException; + + + /** Closes the <CODE>QueueBrowser</CODE>. + * + * <P>Since a provider may allocate some resources on behalf of a + * QueueBrowser outside the Java virtual machine, clients should close them + * when they + * are not needed. Relying on garbage collection to eventually reclaim + * these resources may not be timely enough. + * + * @exception JMSException if the JMS provider fails to close this + * browser due to some internal error. + */ + + void + close() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueConnection.java new file mode 100644 index 0000000000..ef21a6db56 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueConnection.java @@ -0,0 +1,118 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>QueueConnection</CODE> object is an active connection to a + * point-to-point JMS provider. A client uses a <CODE>QueueConnection</CODE> + * object to create one or more <CODE>QueueSession</CODE> objects + * for producing and consuming messages. + * + *<P>A <CODE>QueueConnection</CODE> can be used to create a + * <CODE>QueueSession</CODE>, from which specialized queue-related objects + * can be created. + * A more general, and recommended, approach is to use the + * <CODE>Connection</CODE> object. + * + * + * <P>The <CODE>QueueConnection</CODE> object + * should be used to support existing code that has already used it. + * + * <P>A <CODE>QueueConnection</CODE> cannot be used to create objects + * specific to the publish/subscribe domain. The + * <CODE>createDurableConnectionConsumer</CODE> method inherits + * from <CODE>Connection</CODE>, but must throw an + * <CODE>IllegalStateException</CODE> + * if used from <CODE>QueueConnection</CODE>. + * + * @version 1.1 - April 9, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Connection + * @see javax.jms.ConnectionFactory + * @see javax.jms.QueueConnectionFactory + */ + +public interface QueueConnection extends Connection { + + /** Creates a <CODE>QueueSession</CODE> object. + * + * @param transacted indicates whether the session is transacted + * @param acknowledgeMode indicates whether the consumer or the + * client will acknowledge any messages it receives; ignored if the session + * is transacted. Legal values are <code>Session.AUTO_ACKNOWLEDGE</code>, + * <code>Session.CLIENT_ACKNOWLEDGE</code>, and + * <code>Session.DUPS_OK_ACKNOWLEDGE</code>. + * + * @return a newly created queue session + * + * @exception JMSException if the <CODE>QueueConnection</CODE> object fails + * to create a session due to some internal error or + * lack of support for the specific transaction + * and acknowledgement mode. + * + * @see Session#AUTO_ACKNOWLEDGE + * @see Session#CLIENT_ACKNOWLEDGE + * @see Session#DUPS_OK_ACKNOWLEDGE + */ + + QueueSession + createQueueSession(boolean transacted, + int acknowledgeMode) throws JMSException; + + + /** Creates a connection consumer for this connection (optional operation). + * This is an expert facility not used by regular JMS clients. + * + * @param queue the queue to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param sessionPool the server session pool to associate with this + * connection consumer + * @param maxMessages the maximum number of messages that can be + * assigned to a server session at one time + * + * @return the connection consumer + * + * @exception JMSException if the <CODE>QueueConnection</CODE> object fails + * to create a connection consumer due to some + * internal error or invalid arguments for + * <CODE>sessionPool</CODE> and + * <CODE>messageSelector</CODE>. + * @exception InvalidDestinationException if an invalid queue is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * @see javax.jms.ConnectionConsumer + */ + + ConnectionConsumer + createConnectionConsumer(Queue queue, + String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueConnectionFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueConnectionFactory.java new file mode 100644 index 0000000000..dd1d570c82 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueConnectionFactory.java @@ -0,0 +1,87 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + + +package javax.jms; + +/** A client uses a <CODE>QueueConnectionFactory</CODE> object to create + * <CODE>QueueConnection</CODE> objects with a point-to-point JMS provider. + * + * <P><CODE>QueueConnectionFactory</CODE> can be used to create a + * <CODE>QueueConnection</CODE>, from which specialized queue-related objects + * can be created. A more general, and recommended, approach + * is to use the <CODE>ConnectionFactory</CODE> object. + * + *<P> The <CODE>QueueConnectionFactory</CODE> object + * can be used to support existing code that already uses it. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.ConnectionFactory + */ + +public interface QueueConnectionFactory extends ConnectionFactory { + + /** Creates a queue connection with the default user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + . + * + * @return a newly created queue connection + * + * @exception JMSException if the JMS provider fails to create the queue + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + QueueConnection + createQueueConnection() throws JMSException; + + + /** Creates a queue connection with the specified user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @param userName the caller's user name + * @param password the caller's password + * + * @return a newly created queue connection + * + * @exception JMSException if the JMS provider fails to create the queue + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + QueueConnection + createQueueConnection(String userName, String password) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueReceiver.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueReceiver.java new file mode 100644 index 0000000000..20d3300b82 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueReceiver.java @@ -0,0 +1,73 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + + +/** A client uses a <CODE>QueueReceiver</CODE> object to receive messages that + * have been delivered to a queue. + * + * <P>Although it is possible to have multiple <CODE>QueueReceiver</CODE>s + * for the same queue, the JMS API does not define how messages are + * distributed between the <CODE>QueueReceiver</CODE>s. + * + * <P>If a <CODE>QueueReceiver</CODE> specifies a message selector, the + * messages that are not selected remain on the queue. By definition, a message + * selector allows a <CODE>QueueReceiver</CODE> to skip messages. This + * means that when the skipped messages are eventually read, the total ordering + * of the reads does not retain the partial order defined by each message + * producer. Only <CODE>QueueReceiver</CODE>s without a message selector + * will read messages in message producer order. + * + * <P>Creating a <CODE>MessageConsumer</CODE> provides the same features as + * creating a <CODE>QueueReceiver</CODE>. A <CODE>MessageConsumer</CODE> object is + * recommended for creating new code. The <CODE>QueueReceiver</CODE> is + * provided to support existing code. + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session#createConsumer(Destination, String) + * @see javax.jms.Session#createConsumer(Destination) + * @see javax.jms.QueueSession#createReceiver(Queue, String) + * @see javax.jms.QueueSession#createReceiver(Queue) + * @see javax.jms.MessageConsumer + */ + +public interface QueueReceiver extends MessageConsumer { + + /** Gets the <CODE>Queue</CODE> associated with this queue receiver. + * + * @return this receiver's <CODE>Queue</CODE> + * + * @exception JMSException if the JMS provider fails to get the queue for + * this queue receiver + * due to some internal error. + */ + + Queue + getQueue() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueRequestor.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueRequestor.java new file mode 100644 index 0000000000..68860de448 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueRequestor.java @@ -0,0 +1,124 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** The <CODE>QueueRequestor</CODE> helper class simplifies + * making service requests. + * + * <P>The <CODE>QueueRequestor</CODE> constructor is given a non-transacted + * <CODE>QueueSession</CODE> and a destination <CODE>Queue</CODE>. It creates a + * <CODE>TemporaryQueue</CODE> for the responses and provides a + * <CODE>request</CODE> method that sends the request message and waits + * for its reply. + * + * <P>This is a basic request/reply abstraction that should be sufficient + * for most uses. JMS providers and clients are free to create more + * sophisticated versions. + * + * @version 1.0 - 8 July 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.TopicRequestor + */ + +public class QueueRequestor { + + QueueSession session; // The queue session the queue belongs to. + Queue queue; // The queue to perform the request/reply on. + TemporaryQueue tempQueue; + QueueSender sender; + QueueReceiver receiver; + + + /** Constructor for the <CODE>QueueRequestor</CODE> class. + * + * <P>This implementation assumes the session parameter to be non-transacted, + * with a delivery mode of either <CODE>AUTO_ACKNOWLEDGE</CODE> or + * <CODE>DUPS_OK_ACKNOWLEDGE</CODE>. + * + * @param session the <CODE>QueueSession</CODE> the queue belongs to + * @param queue the queue to perform the request/reply call on + * + * @exception JMSException if the JMS provider fails to create the + * <CODE>QueueRequestor</CODE> due to some internal + * error. + * @exception InvalidDestinationException if an invalid queue is specified. + */ + + public + QueueRequestor(QueueSession session, Queue queue) throws JMSException { + this.session = session; + this.queue = queue; + tempQueue = session.createTemporaryQueue(); + sender = session.createSender(queue); + receiver = session.createReceiver(tempQueue); + } + + + /** Sends a request and waits for a reply. The temporary queue is used for + * the <CODE>JMSReplyTo</CODE> destination, and only one reply per request + * is expected. + * + * @param message the message to send + * + * @return the reply message + * + * @exception JMSException if the JMS provider fails to complete the + * request due to some internal error. + */ + + public Message + request(Message message) throws JMSException { + message.setJMSReplyTo(tempQueue); + sender.send(message); + return (receiver.receive()); + } + + + /** Closes the <CODE>QueueRequestor</CODE> and its session. + * + * <P>Since a provider may allocate some resources on behalf of a + * <CODE>QueueRequestor</CODE> outside the Java virtual machine, clients + * should close them when they + * are not needed. Relying on garbage collection to eventually reclaim + * these resources may not be timely enough. + * + * <P>Note that this method closes the <CODE>QueueSession</CODE> object + * passed to the <CODE>QueueRequestor</CODE> constructor. + * + * @exception JMSException if the JMS provider fails to close the + * <CODE>QueueRequestor</CODE> due to some internal + * error. + */ + + public void + close() throws JMSException { + + // publisher and consumer created by constructor are implicitly closed. + session.close(); + tempQueue.delete(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueSender.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueSender.java new file mode 100644 index 0000000000..57035f7a6e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueSender.java @@ -0,0 +1,197 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A client uses a <CODE>QueueSender</CODE> object to send messages to a queue. + * + * <P>Normally, the <CODE>Queue</CODE> is specified when a + * <CODE>QueueSender</CODE> is created. In this case, an attempt to use + * the <CODE>send</CODE> methods for an unidentified + * <CODE>QueueSender</CODE> will throw a + * <CODE>java.lang.UnsupportedOperationException</CODE>. + * + * <P>If the <CODE>QueueSender</CODE> is created with an unidentified + * <CODE>Queue</CODE>, an attempt to use the <CODE>send</CODE> methods that + * assume that the <CODE>Queue</CODE> has been identified will throw a + * <CODE>java.lang.UnsupportedOperationException</CODE>. + * + * <P>During the execution of its <CODE>send</CODE> method, a message + * must not be changed by other threads within the client. + * If the message is modified, the result of the <CODE>send</CODE> is + * undefined. + * + * <P>After sending a message, a client may retain and modify it + * without affecting the message that has been sent. The same message + * object may be sent multiple times. + * + * <P>The following message headers are set as part of sending a + * message: <code>JMSDestination</code>, <code>JMSDeliveryMode</code>, + * <code>JMSExpiration</code>, <code>JMSPriority</code>, + * <code>JMSMessageID</code> and <code>JMSTimeStamp</code>. + * When the message is sent, the values of these headers are ignored. + * After the completion of the <CODE>send</CODE>, the headers hold the values + * specified by the method sending the message. It is possible for the + * <code>send</code> method not to set <code>JMSMessageID</code> and + * <code>JMSTimeStamp</code> if the + * setting of these headers is explicitly disabled by the + * <code>MessageProducer.setDisableMessageID</code> or + * <code>MessageProducer.setDisableMessageTimestamp</code> method. + * + * <P>Creating a <CODE>MessageProducer</CODE> provides the same features as + * creating a <CODE>QueueSender</CODE>. A <CODE>MessageProducer</CODE> object is + * recommended when creating new code. The <CODE>QueueSender</CODE> is + * provided to support existing code. + * + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.MessageProducer + * @see javax.jms.Session#createProducer(Destination) + * @see javax.jms.QueueSession#createSender(Queue) + */ + +public interface QueueSender extends MessageProducer { + + /** Gets the queue associated with this <CODE>QueueSender</CODE>. + * + * @return this sender's queue + * + * @exception JMSException if the JMS provider fails to get the queue for + * this <CODE>QueueSender</CODE> + * due to some internal error. + */ + + Queue + getQueue() throws JMSException; + + + /** Sends a message to the queue. Uses the <CODE>QueueSender</CODE>'s + * default delivery mode, priority, and time to live. + * + * @param message the message to send + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with a <CODE>QueueSender</CODE> with + * an invalid queue. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>QueueSender</CODE> that did + * not specify a queue at creation time. + * + * @see javax.jms.MessageProducer#getDeliveryMode() + * @see javax.jms.MessageProducer#getTimeToLive() + * @see javax.jms.MessageProducer#getPriority() + */ + + void + send(Message message) throws JMSException; + + + /** Sends a message to the queue, specifying delivery mode, priority, and + * time to live. + * + * @param message the message to send + * @param deliveryMode the delivery mode to use + * @param priority the priority for this message + * @param timeToLive the message's lifetime (in milliseconds) + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with a <CODE>QueueSender</CODE> with + * an invalid queue. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>QueueSender</CODE> that did + * not specify a queue at creation time. + */ + + void + send(Message message, + int deliveryMode, + int priority, + long timeToLive) throws JMSException; + + + /** Sends a message to a queue for an unidentified message producer. + * Uses the <CODE>QueueSender</CODE>'s default delivery mode, priority, + * and time to live. + * + * <P>Typically, a message producer is assigned a queue at creation + * time; however, the JMS API also supports unidentified message producers, + * which require that the queue be supplied every time a message is + * sent. + * + * @param queue the queue to send this message to + * @param message the message to send + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with an invalid queue. + * + * @see javax.jms.MessageProducer#getDeliveryMode() + * @see javax.jms.MessageProducer#getTimeToLive() + * @see javax.jms.MessageProducer#getPriority() + */ + + void + send(Queue queue, Message message) throws JMSException; + + + /** Sends a message to a queue for an unidentified message producer, + * specifying delivery mode, priority and time to live. + * + * <P>Typically, a message producer is assigned a queue at creation + * time; however, the JMS API also supports unidentified message producers, + * which require that the queue be supplied every time a message is + * sent. + * + * @param queue the queue to send this message to + * @param message the message to send + * @param deliveryMode the delivery mode to use + * @param priority the priority for this message + * @param timeToLive the message's lifetime (in milliseconds) + * + * @exception JMSException if the JMS provider fails to send the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with an invalid queue. + */ + + void + send(Queue queue, + Message message, + int deliveryMode, + int priority, + long timeToLive) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueSession.java new file mode 100644 index 0000000000..1c9399205e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/QueueSession.java @@ -0,0 +1,187 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + + +package javax.jms; + +/** A <CODE>QueueSession</CODE> object provides methods for creating + * <CODE>QueueReceiver</CODE>, <CODE>QueueSender</CODE>, + * <CODE>QueueBrowser</CODE>, and <CODE>TemporaryQueue</CODE> objects. + * + * <P>If there are messages that have been received but not acknowledged + * when a <CODE>QueueSession</CODE> terminates, these messages will be retained + * and redelivered when a consumer next accesses the queue. + * + *<P>A <CODE>QueueSession</CODE> is used for creating Point-to-Point specific + * objects. In general, use the <CODE>Session</CODE> object. + * The <CODE>QueueSession</CODE> is used to support + * existing code. Using the <CODE>Session</CODE> object simplifies the + * programming model, and allows transactions to be used across the two + * messaging domains. + * + * <P>A <CODE>QueueSession</CODE> cannot be used to create objects specific to the + * publish/subscribe domain. The following methods inherit from + * <CODE>Session</CODE>, but must throw an + * <CODE>IllegalStateException</CODE> + * if they are used from <CODE>QueueSession</CODE>: + *<UL> + * <LI><CODE>createDurableSubscriber</CODE> + * <LI><CODE>createTemporaryTopic</CODE> + * <LI><CODE>createTopic</CODE> + * <LI><CODE>unsubscribe</CODE> + * </UL> + * + * @version 1.1 - April 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session + * @see javax.jms.QueueConnection#createQueueSession(boolean, int) + * @see javax.jms.XAQueueSession#getQueueSession() + */ + +public interface QueueSession extends Session { + + /** Creates a queue identity given a <CODE>Queue</CODE> name. + * + * <P>This facility is provided for the rare cases where clients need to + * dynamically manipulate queue identity. It allows the creation of a + * queue identity with a provider-specific name. Clients that depend + * on this ability are not portable. + * + * <P>Note that this method is not for creating the physical queue. + * The physical creation of queues is an administrative task and is not + * to be initiated by the JMS API. The one exception is the + * creation of temporary queues, which is accomplished with the + * <CODE>createTemporaryQueue</CODE> method. + * + * @param queueName the name of this <CODE>Queue</CODE> + * + * @return a <CODE>Queue</CODE> with the given name + * + * @exception JMSException if the session fails to create a queue + * due to some internal error. + */ + + Queue + createQueue(String queueName) throws JMSException; + + + /** Creates a <CODE>QueueReceiver</CODE> object to receive messages from the + * specified queue. + * + * @param queue the <CODE>Queue</CODE> to access + * + * @exception JMSException if the session fails to create a receiver + * due to some internal error. + * @exception InvalidDestinationException if an invalid queue is specified. + */ + + QueueReceiver + createReceiver(Queue queue) throws JMSException; + + + /** Creates a <CODE>QueueReceiver</CODE> object to receive messages from the + * specified queue using a message selector. + * + * @param queue the <CODE>Queue</CODE> to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * + * @exception JMSException if the session fails to create a receiver + * due to some internal error. + * @exception InvalidDestinationException if an invalid queue is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * + */ + + QueueReceiver + createReceiver(Queue queue, + String messageSelector) throws JMSException; + + + /** Creates a <CODE>QueueSender</CODE> object to send messages to the + * specified queue. + * + * @param queue the <CODE>Queue</CODE> to access, or null if this is an + * unidentified producer + * + * @exception JMSException if the session fails to create a sender + * due to some internal error. + * @exception InvalidDestinationException if an invalid queue is specified. + */ + + QueueSender + createSender(Queue queue) throws JMSException; + + + /** Creates a <CODE>QueueBrowser</CODE> object to peek at the messages on + * the specified queue. + * + * @param queue the <CODE>Queue</CODE> to access + * + * @exception JMSException if the session fails to create a browser + * due to some internal error. + * @exception InvalidDestinationException if an invalid queue is specified. + */ + + QueueBrowser + createBrowser(Queue queue) throws JMSException; + + + /** Creates a <CODE>QueueBrowser</CODE> object to peek at the messages on + * the specified queue using a message selector. + * + * @param queue the <CODE>Queue</CODE> to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * + * @exception JMSException if the session fails to create a browser + * due to some internal error. + * @exception InvalidDestinationException if an invalid queue is specified. + * @exception InvalidSelectorException if the message selector is invalid. + */ + + QueueBrowser + createBrowser(Queue queue, + String messageSelector) throws JMSException; + + + /** Creates a <CODE>TemporaryQueue</CODE> object. Its lifetime will be that + * of the <CODE>QueueConnection</CODE> unless it is deleted earlier. + * + * @return a temporary queue identity + * + * @exception JMSException if the session fails to create a temporary queue + * due to some internal error. + */ + + TemporaryQueue + createTemporaryQueue() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ResourceAllocationException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ResourceAllocationException.java new file mode 100644 index 0000000000..9a865d2752 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ResourceAllocationException.java @@ -0,0 +1,63 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** + * <P>This exception is thrown when a provider is unable to allocate the + * resources required by a method. For example, this exception should be + * thrown when a call to + * <CODE>TopicConnectionFactory.createTopicConnection</CODE> fails due to a + * lack of JMS provider resources. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class ResourceAllocationException extends JMSException { + + /** Constructs a <CODE>ResourceAllocationException</CODE> with the specified + * reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + ResourceAllocationException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>ResourceAllocationException</CODE> with the specified + * reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + ResourceAllocationException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ServerSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ServerSession.java new file mode 100644 index 0000000000..85a224e1fd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ServerSession.java @@ -0,0 +1,102 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>ServerSession</CODE> object is an application server object that + * is used by a server to associate a thread with a JMS session (optional). + * + * <P>A <CODE>ServerSession</CODE> implements two methods: + * + * <UL> + * <LI><CODE>getSession</CODE> - returns the <CODE>ServerSession</CODE>'s + * JMS session. + * <LI><CODE>start</CODE> - starts the execution of the + * <CODE>ServerSession</CODE> + * thread and results in the execution of the JMS session's + * <CODE>run</CODE> method. + * </UL> + * + * <P>A <CODE>ConnectionConsumer</CODE> implemented by a JMS provider uses a + * <CODE>ServerSession</CODE> to process one or more messages that have + * arrived. It does this by getting a <CODE>ServerSession</CODE> from the + * <CODE>ConnectionConsumer</CODE>'s <CODE>ServerSessionPool</CODE>; getting + * the <CODE>ServerSession</CODE>'s JMS session; loading it with the messages; + * and then starting the <CODE>ServerSession</CODE>. + * + * <P>In most cases the <CODE>ServerSession</CODE> will register some object + * it provides as the <CODE>ServerSession</CODE>'s thread run object. The + * <CODE>ServerSession</CODE>'s <CODE>start</CODE> method will call the + * thread's <CODE>start</CODE> method, which will start the new thread, and + * from it, call the <CODE>run</CODE> method of the + * <CODE>ServerSession</CODE>'s run object. This object will do some + * housekeeping and then call the <CODE>Session</CODE>'s <CODE>run</CODE> + * method. When <CODE>run</CODE> returns, the <CODE>ServerSession</CODE>'s run + * object can return the <CODE>ServerSession</CODE> to the + * <CODE>ServerSessionPool</CODE>, and the cycle starts again. + * + * <P>Note that the JMS API does not architect how the + * <CODE>ConnectionConsumer</CODE> loads the <CODE>Session</CODE> with + * messages. Since both the <CODE>ConnectionConsumer</CODE> and + * <CODE>Session</CODE> are implemented by the same JMS provider, they can + * accomplish the load using a private mechanism. + * + * @version 1.0 - 9 March 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.ServerSessionPool + * @see javax.jms.ConnectionConsumer + */ + +public interface ServerSession { + + /** Return the <CODE>ServerSession</CODE>'s <CODE>Session</CODE>. This must + * be a <CODE>Session</CODE> created by the same <CODE>Connection</CODE> + * that will be dispatching messages to it. The provider will assign one or + * more messages to the <CODE>Session</CODE> + * and then call <CODE>start</CODE> on the <CODE>ServerSession</CODE>. + * + * @return the server session's session + * + * @exception JMSException if the JMS provider fails to get the associated + * session for this <CODE>ServerSession</CODE> due + * to some internal error. + **/ + + Session + getSession() throws JMSException; + + + /** Cause the <CODE>Session</CODE>'s <CODE>run</CODE> method to be called + * to process messages that were just assigned to it. + * + * @exception JMSException if the JMS provider fails to start the server + * session to process messages due to some internal + * error. + */ + + void + start() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ServerSessionPool.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ServerSessionPool.java new file mode 100644 index 0000000000..858b937a2a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/ServerSessionPool.java @@ -0,0 +1,63 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>ServerSessionPool</CODE> object is an object implemented by an + * application server to provide a pool of <CODE>ServerSession</CODE> objects + * for processing the messages of a <CODE>ConnectionConsumer</CODE> (optional). + * + * <P>Its only method is <CODE>getServerSession</CODE>. The JMS API does not + * architect how the pool is implemented. It could be a static pool of + * <CODE>ServerSession</CODE> objects, or it could use a sophisticated + * algorithm to dynamically create <CODE>ServerSession</CODE> objects as + * needed. + * + * <P>If the <CODE>ServerSessionPool</CODE> is out of + * <CODE>ServerSession</CODE> objects, the <CODE>getServerSession</CODE> call + * may block. If a <CODE>ConnectionConsumer</CODE> is blocked, it cannot + * deliver new messages until a <CODE>ServerSession</CODE> is + * eventually returned. + * + * @version 1.0 - 9 March 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.ServerSession + */ + +public interface ServerSessionPool { + + /** Return a server session from the pool. + * + * @return a server session from the pool + * + * @exception JMSException if an application server fails to + * return a <CODE>ServerSession</CODE> out of its + * server session pool. + */ + + ServerSession + getServerSession() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Session.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Session.java new file mode 100644 index 0000000000..c71cddfd48 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Session.java @@ -0,0 +1,807 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + + +package javax.jms; + +import java.io.Serializable; + +/** <P>A <CODE>Session</CODE> object is a single-threaded context for producing and consuming + * messages. Although it may allocate provider resources outside the Java + * virtual machine (JVM), it is considered a lightweight JMS object. + * + * <P>A session serves several purposes: + * + * <UL> + * <LI>It is a factory for its message producers and consumers. + * <LI>It supplies provider-optimized message factories. + * <LI>It is a factory for <CODE>TemporaryTopics</CODE> and + * <CODE>TemporaryQueues</CODE>. + * <LI> It provides a way to create <CODE>Queue</CODE> or <CODE>Topic</CODE> + * objects for those clients that need to dynamically manipulate + * provider-specific destination names. + * <LI>It supports a single series of transactions that combine work + * spanning its producers and consumers into atomic units. + * <LI>It defines a serial order for the messages it consumes and + * the messages it produces. + * <LI>It retains messages it consumes until they have been + * acknowledged. + * <LI>It serializes execution of message listeners registered with + * its message consumers. + * <LI> It is a factory for <CODE>QueueBrowsers</CODE>. + * </UL> + * + * <P>A session can create and service multiple message producers and + * consumers. + * + * <P>One typical use is to have a thread block on a synchronous + * <CODE>MessageConsumer</CODE> until a message arrives. The thread may then + * use one or more of the <CODE>Session</CODE>'s <CODE>MessageProducer</CODE>s. + * + * <P>If a client desires to have one thread produce messages while others + * consume them, the client should use a separate session for its producing + * thread. + * + * <P>Once a connection has been started, any session with one or more + * registered message listeners is dedicated to the thread of control that + * delivers messages to it. It is erroneous for client code to use this session + * or any of its constituent objects from another thread of control. The + * only exception to this rule is the use of the session or connection + * <CODE>close</CODE> method. + * + * <P>It should be easy for most clients to partition their work naturally + * into sessions. This model allows clients to start simply and incrementally + * add message processing complexity as their need for concurrency grows. + * + * <P>The <CODE>close</CODE> method is the only session method that can be + * called while some other session method is being executed in another thread. + * + * <P>A session may be specified as transacted. Each transacted + * session supports a single series of transactions. Each transaction groups + * a set of message sends and a set of message receives into an atomic unit + * of work. In effect, transactions organize a session's input message + * stream and output message stream into series of atomic units. When a + * transaction commits, its atomic unit of input is acknowledged and its + * associated atomic unit of output is sent. If a transaction rollback is + * done, the transaction's sent messages are destroyed and the session's input + * is automatically recovered. + * + * <P>The content of a transaction's input and output units is simply those + * messages that have been produced and consumed within the session's current + * transaction. + * + * <P>A transaction is completed using either its session's <CODE>commit</CODE> + * method or its session's <CODE>rollback</CODE> method. The completion of a + * session's current transaction automatically begins the next. The result is + * that a transacted session always has a current transaction within which its + * work is done. + * + * <P>The Java Transaction Service (JTS) or some other transaction monitor may + * be used to combine a session's transaction with transactions on other + * resources (databases, other JMS sessions, etc.). Since Java distributed + * transactions are controlled via the Java Transaction API (JTA), use of the + * session's <CODE>commit</CODE> and <CODE>rollback</CODE> methods in + * this context is prohibited. + * + * <P>The JMS API does not require support for JTA; however, it does define + * how a provider supplies this support. + * + * <P>Although it is also possible for a JMS client to handle distributed + * transactions directly, it is unlikely that many JMS clients will do this. + * Support for JTA in the JMS API is targeted at systems vendors who will be + * integrating the JMS API into their application server products. + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.QueueSession + * @see javax.jms.TopicSession + * @see javax.jms.XASession + */ + +public interface Session extends Runnable { + + /** With this acknowledgment mode, the session automatically acknowledges + * a client's receipt of a message either when the session has successfully + * returned from a call to <CODE>receive</CODE> or when the message + * listener the session has called to process the message successfully + * returns. + */ + + static final int AUTO_ACKNOWLEDGE = 1; + + /** With this acknowledgment mode, the client acknowledges a consumed + * message by calling the message's <CODE>acknowledge</CODE> method. + * Acknowledging a consumed message acknowledges all messages that the + * session has consumed. + * + * <P>When client acknowledgment mode is used, a client may build up a + * large number of unacknowledged messages while attempting to process + * them. A JMS provider should provide administrators with a way to + * limit client overrun so that clients are not driven to resource + * exhaustion and ensuing failure when some resource they are using + * is temporarily blocked. + * + * @see javax.jms.Message#acknowledge() + */ + + static final int CLIENT_ACKNOWLEDGE = 2; + + /** This acknowledgment mode instructs the session to lazily acknowledge + * the delivery of messages. This is likely to result in the delivery of + * some duplicate messages if the JMS provider fails, so it should only be + * used by consumers that can tolerate duplicate messages. Use of this + * mode can reduce session overhead by minimizing the work the + * session does to prevent duplicates. + */ + + static final int DUPS_OK_ACKNOWLEDGE = 3; + + /** This value is returned from the method + * <CODE>getAcknowledgeMode</CODE> if the session is transacted. + * If a <CODE>Session</CODE> is transacted, the acknowledgement mode + * is ignored. + */ + static final int SESSION_TRANSACTED = 0; + + /** Creates a <CODE>BytesMessage</CODE> object. A <CODE>BytesMessage</CODE> + * object is used to send a message containing a stream of uninterpreted + * bytes. + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + + BytesMessage + createBytesMessage() throws JMSException; + + + /** Creates a <CODE>MapMessage</CODE> object. A <CODE>MapMessage</CODE> + * object is used to send a self-defining set of name-value pairs, where + * names are <CODE>String</CODE> objects and values are primitive values + * in the Java programming language. + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + MapMessage + createMapMessage() throws JMSException; + + + /** Creates a <CODE>Message</CODE> object. The <CODE>Message</CODE> + * interface is the root interface of all JMS messages. A + * <CODE>Message</CODE> object holds all the + * standard message header information. It can be sent when a message + * containing only header information is sufficient. + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + Message + createMessage() throws JMSException; + + + /** Creates an <CODE>ObjectMessage</CODE> object. An + * <CODE>ObjectMessage</CODE> object is used to send a message + * that contains a serializable Java object. + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + ObjectMessage + createObjectMessage() throws JMSException; + + + /** Creates an initialized <CODE>ObjectMessage</CODE> object. An + * <CODE>ObjectMessage</CODE> object is used + * to send a message that contains a serializable Java object. + * + * @param object the object to use to initialize this message + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + ObjectMessage + createObjectMessage(Serializable object) throws JMSException; + + + /** Creates a <CODE>StreamMessage</CODE> object. A + * <CODE>StreamMessage</CODE> object is used to send a + * self-defining stream of primitive values in the Java programming + * language. + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + StreamMessage + createStreamMessage() throws JMSException; + + + /** Creates a <CODE>TextMessage</CODE> object. A <CODE>TextMessage</CODE> + * object is used to send a message containing a <CODE>String</CODE> + * object. + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + TextMessage + createTextMessage() throws JMSException; + + + /** Creates an initialized <CODE>TextMessage</CODE> object. A + * <CODE>TextMessage</CODE> object is used to send + * a message containing a <CODE>String</CODE>. + * + * @param text the string used to initialize this message + * + * @exception JMSException if the JMS provider fails to create this message + * due to some internal error. + */ + + TextMessage + createTextMessage(String text) throws JMSException; + + + /** Indicates whether the session is in transacted mode. + * + * @return true if the session is in transacted mode + * + * @exception JMSException if the JMS provider fails to return the + * transaction mode due to some internal error. + */ + + boolean + getTransacted() throws JMSException; + + /** Returns the acknowledgement mode of the session. The acknowledgement + * mode is set at the time that the session is created. If the session is + * transacted, the acknowledgement mode is ignored. + * + *@return If the session is not transacted, returns the + * current acknowledgement mode for the session. + * If the session + * is transacted, returns SESSION_TRANSACTED. + * + *@exception JMSException if the JMS provider fails to return the + * acknowledgment mode due to some internal error. + * + *@see Connection#createSession + *@since 1.1 + */ + int + getAcknowledgeMode() throws JMSException; + + + /** Commits all messages done in this transaction and releases any locks + * currently held. + * + * @exception JMSException if the JMS provider fails to commit the + * transaction due to some internal error. + * @exception TransactionRolledBackException if the transaction + * is rolled back due to some internal error + * during commit. + * @exception IllegalStateException if the method is not called by a + * transacted session. + */ + + void + commit() throws JMSException; + + + /** Rolls back any messages done in this transaction and releases any locks + * currently held. + * + * @exception JMSException if the JMS provider fails to roll back the + * transaction due to some internal error. + * @exception IllegalStateException if the method is not called by a + * transacted session. + * + */ + + void + rollback() throws JMSException; + + + /** Closes the session. + * + * <P>Since a provider may allocate some resources on behalf of a session + * outside the JVM, clients should close the resources when they are not + * needed. + * Relying on garbage collection to eventually reclaim these resources + * may not be timely enough. + * + * <P>There is no need to close the producers and consumers + * of a closed session. + * + * <P> This call will block until a <CODE>receive</CODE> call or message + * listener in progress has completed. A blocked message consumer + * <CODE>receive</CODE> call returns <CODE>null</CODE> when this session + * is closed. + * + * <P>Closing a transacted session must roll back the transaction + * in progress. + * + * <P>This method is the only <CODE>Session</CODE> method that can + * be called concurrently. + * + * <P>Invoking any other <CODE>Session</CODE> method on a closed session + * must throw a <CODE>JMSException.IllegalStateException</CODE>. Closing a + * closed session must <I>not</I> throw an exception. + * + * @exception JMSException if the JMS provider fails to close the + * session due to some internal error. + */ + + void + close() throws JMSException; + + + /** Stops message delivery in this session, and restarts message delivery + * with the oldest unacknowledged message. + * + * <P>All consumers deliver messages in a serial order. + * Acknowledging a received message automatically acknowledges all + * messages that have been delivered to the client. + * + * <P>Restarting a session causes it to take the following actions: + * + * <UL> + * <LI>Stop message delivery + * <LI>Mark all messages that might have been delivered but not + * acknowledged as "redelivered" + * <LI>Restart the delivery sequence including all unacknowledged + * messages that had been previously delivered. Redelivered messages + * do not have to be delivered in + * exactly their original delivery order. + * </UL> + * + * @exception JMSException if the JMS provider fails to stop and restart + * message delivery due to some internal error. + * @exception IllegalStateException if the method is called by a + * transacted session. + */ + + void + recover() throws JMSException; + + + /** Returns the session's distinguished message listener (optional). + * + * @return the message listener associated with this session + * + * @exception JMSException if the JMS provider fails to get the message + * listener due to an internal error. + * + * @see javax.jms.Session#setMessageListener + * @see javax.jms.ServerSessionPool + * @see javax.jms.ServerSession + */ + + MessageListener + getMessageListener() throws JMSException; + + + /** Sets the session's distinguished message listener (optional). + * + * <P>When the distinguished message listener is set, no other form of + * message receipt in the session can + * be used; however, all forms of sending messages are still supported. + * + * <P>This is an expert facility not used by regular JMS clients. + * + * @param listener the message listener to associate with this session + * + * @exception JMSException if the JMS provider fails to set the message + * listener due to an internal error. + * + * @see javax.jms.Session#getMessageListener + * @see javax.jms.ServerSessionPool + * @see javax.jms.ServerSession + */ + + void + setMessageListener(MessageListener listener) throws JMSException; + + /** + * Optional operation, intended to be used only by Application Servers, + * not by ordinary JMS clients. + * + * @see javax.jms.ServerSession + */ + public void run(); + + /** Creates a <CODE>MessageProducer</CODE> to send messages to the specified + * destination. + * + * <P>A client uses a <CODE>MessageProducer</CODE> object to send + * messages to a destination. Since <CODE>Queue</CODE> and <CODE>Topic</CODE> + * both inherit from <CODE>Destination</CODE>, they can be used in + * the destination parameter to create a <CODE>MessageProducer</CODE> object. + * + * @param destination the <CODE>Destination</CODE> to send to, + * or null if this is a producer which does not have a specified + * destination. + * + * @exception JMSException if the session fails to create a MessageProducer + * due to some internal error. + * @exception InvalidDestinationException if an invalid destination + * is specified. + * + * @since 1.1 + * + */ + + MessageProducer + createProducer(Destination destination) throws JMSException; + + + /** Creates a <CODE>MessageConsumer</CODE> for the specified destination. + * Since <CODE>Queue</CODE> and <CODE>Topic</CODE> + * both inherit from <CODE>Destination</CODE>, they can be used in + * the destination parameter to create a <CODE>MessageConsumer</CODE>. + * + * @param destination the <CODE>Destination</CODE> to access. + * + * @exception JMSException if the session fails to create a consumer + * due to some internal error. + * @exception InvalidDestinationException if an invalid destination + * is specified. + * + * @since 1.1 + */ + + MessageConsumer + createConsumer(Destination destination) throws JMSException; + + /** Creates a <CODE>MessageConsumer</CODE> for the specified destination, + * using a message selector. + * Since <CODE>Queue</CODE> and <CODE>Topic</CODE> + * both inherit from <CODE>Destination</CODE>, they can be used in + * the destination parameter to create a <CODE>MessageConsumer</CODE>. + * + * <P>A client uses a <CODE>MessageConsumer</CODE> object to receive + * messages that have been sent to a destination. + * + * + * @param destination the <CODE>Destination</CODE> to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * + * + * @exception JMSException if the session fails to create a MessageConsumer + * due to some internal error. + * @exception InvalidDestinationException if an invalid destination + * is specified. + + * @exception InvalidSelectorException if the message selector is invalid. + * + * @since 1.1 + */ + MessageConsumer + createConsumer(Destination destination, java.lang.String messageSelector) + throws JMSException; + + + /** Creates <CODE>MessageConsumer</CODE> for the specified destination, using a + * message selector. This method can specify whether messages published by + * its own connection should be delivered to it, if the destination is a + * topic. + *<P> Since <CODE>Queue</CODE> and <CODE>Topic</CODE> + * both inherit from <CODE>Destination</CODE>, they can be used in + * the destination parameter to create a <CODE>MessageConsumer</CODE>. + * <P>A client uses a <CODE>MessageConsumer</CODE> object to receive + * messages that have been published to a destination. + * + * <P>In some cases, a connection may both publish and subscribe to a + * topic. The consumer <CODE>NoLocal</CODE> attribute allows a consumer + * to inhibit the delivery of messages published by its own connection. + * The default value for this attribute is False. The <CODE>noLocal</CODE> + * value must be supported by destinations that are topics. + * + * @param destination the <CODE>Destination</CODE> to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param NoLocal - if true, and the destination is a topic, + * inhibits the delivery of messages published + * by its own connection. The behavior for + * <CODE>NoLocal</CODE> is + * not specified if the destination is a queue. + * + * @exception JMSException if the session fails to create a MessageConsumer + * due to some internal error. + * @exception InvalidDestinationException if an invalid destination + * is specified. + + * @exception InvalidSelectorException if the message selector is invalid. + * + * @since 1.1 + * + */ + MessageConsumer + createConsumer(Destination destination, java.lang.String messageSelector, + boolean NoLocal) throws JMSException; + + + /** Creates a queue identity given a <CODE>Queue</CODE> name. + * + * <P>This facility is provided for the rare cases where clients need to + * dynamically manipulate queue identity. It allows the creation of a + * queue identity with a provider-specific name. Clients that depend + * on this ability are not portable. + * + * <P>Note that this method is not for creating the physical queue. + * The physical creation of queues is an administrative task and is not + * to be initiated by the JMS API. The one exception is the + * creation of temporary queues, which is accomplished with the + * <CODE>createTemporaryQueue</CODE> method. + * + * @param queueName the name of this <CODE>Queue</CODE> + * + * @return a <CODE>Queue</CODE> with the given name + * + * @exception JMSException if the session fails to create a queue + * due to some internal error. + * @since 1.1 + */ + + Queue + createQueue(String queueName) throws JMSException; + + /** Creates a topic identity given a <CODE>Topic</CODE> name. + * + * <P>This facility is provided for the rare cases where clients need to + * dynamically manipulate topic identity. This allows the creation of a + * topic identity with a provider-specific name. Clients that depend + * on this ability are not portable. + * + * <P>Note that this method is not for creating the physical topic. + * The physical creation of topics is an administrative task and is not + * to be initiated by the JMS API. The one exception is the + * creation of temporary topics, which is accomplished with the + * <CODE>createTemporaryTopic</CODE> method. + * + * @param topicName the name of this <CODE>Topic</CODE> + * + * @return a <CODE>Topic</CODE> with the given name + * + * @exception JMSException if the session fails to create a topic + * due to some internal error. + * @since 1.1 + */ + + Topic + createTopic(String topicName) throws JMSException; + + /** Creates a <CODE>QueueBrowser</CODE> object to peek at the messages on + * the specified queue. + * + * @param queue the <CODE>queue</CODE> to access + * + * @exception InvalidDestinationException if an invalid destination + * is specified + * + * @since 1.1 + */ + + + /** Creates a durable subscriber to the specified topic. + * + * <P>If a client needs to receive all the messages published on a + * topic, including the ones published while the subscriber is inactive, + * it uses a durable <CODE>TopicSubscriber</CODE>. The JMS provider + * retains a record of this + * durable subscription and insures that all messages from the topic's + * publishers are retained until they are acknowledged by this + * durable subscriber or they have expired. + * + * <P>Sessions with durable subscribers must always provide the same + * client identifier. In addition, each client must specify a name that + * uniquely identifies (within client identifier) each durable + * subscription it creates. Only one session at a time can have a + * <CODE>TopicSubscriber</CODE> for a particular durable subscription. + * + * <P>A client can change an existing durable subscription by creating + * a durable <CODE>TopicSubscriber</CODE> with the same name and a new + * topic and/or + * message selector. Changing a durable subscriber is equivalent to + * unsubscribing (deleting) the old one and creating a new one. + * + * <P>In some cases, a connection may both publish and subscribe to a + * topic. The subscriber <CODE>NoLocal</CODE> attribute allows a subscriber + * to inhibit the delivery of messages published by its own connection. + * The default value for this attribute is false. + * + * @param topic the non-temporary <CODE>Topic</CODE> to subscribe to + * @param name the name used to identify this subscription + * + * @exception JMSException if the session fails to create a subscriber + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + * + * @since 1.1 + */ + + TopicSubscriber + createDurableSubscriber(Topic topic, + String name) throws JMSException; + + + /** Creates a durable subscriber to the specified topic, using a + * message selector and specifying whether messages published by its + * own connection should be delivered to it. + * + * <P>If a client needs to receive all the messages published on a + * topic, including the ones published while the subscriber is inactive, + * it uses a durable <CODE>TopicSubscriber</CODE>. The JMS provider + * retains a record of this + * durable subscription and insures that all messages from the topic's + * publishers are retained until they are acknowledged by this + * durable subscriber or they have expired. + * + * <P>Sessions with durable subscribers must always provide the same + * client identifier. In addition, each client must specify a name which + * uniquely identifies (within client identifier) each durable + * subscription it creates. Only one session at a time can have a + * <CODE>TopicSubscriber</CODE> for a particular durable subscription. + * An inactive durable subscriber is one that exists but + * does not currently have a message consumer associated with it. + * + * <P>A client can change an existing durable subscription by creating + * a durable <CODE>TopicSubscriber</CODE> with the same name and a new + * topic and/or + * message selector. Changing a durable subscriber is equivalent to + * unsubscribing (deleting) the old one and creating a new one. + * + * @param topic the non-temporary <CODE>Topic</CODE> to subscribe to + * @param name the name used to identify this subscription + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param noLocal if set, inhibits the delivery of messages published + * by its own connection + * + * @exception JMSException if the session fails to create a subscriber + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * + * @since 1.1 + */ + + TopicSubscriber + createDurableSubscriber(Topic topic, + String name, + String messageSelector, + boolean noLocal) throws JMSException; + + /** Creates a <CODE>QueueBrowser</CODE> object to peek at the messages on + * the specified queue. + * + * @param queue the <CODE>queue</CODE> to access + * + * + * @exception JMSException if the session fails to create a browser + * due to some internal error. + * @exception InvalidDestinationException if an invalid destination + * is specified + * + * @since 1.1 + */ + QueueBrowser + createBrowser(Queue queue) throws JMSException; + + + /** Creates a <CODE>QueueBrowser</CODE> object to peek at the messages on + * the specified queue using a message selector. + * + * @param queue the <CODE>queue</CODE> to access + * + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * + * @exception JMSException if the session fails to create a browser + * due to some internal error. + * @exception InvalidDestinationException if an invalid destination + * is specified + * @exception InvalidSelectorException if the message selector is invalid. + * + * @since 1.1 + */ + + QueueBrowser + createBrowser(Queue queue, + String messageSelector) throws JMSException; + + + /** Creates a <CODE>TemporaryQueue</CODE> object. Its lifetime will be that + * of the <CODE>Connection</CODE> unless it is deleted earlier. + * + * @return a temporary queue identity + * + * @exception JMSException if the session fails to create a temporary queue + * due to some internal error. + * + *@since 1.1 + */ + + TemporaryQueue + createTemporaryQueue() throws JMSException; + + + /** Creates a <CODE>TemporaryTopic</CODE> object. Its lifetime will be that + * of the <CODE>Connection</CODE> unless it is deleted earlier. + * + * @return a temporary topic identity + * + * @exception JMSException if the session fails to create a temporary + * topic due to some internal error. + * + * @since 1.1 + */ + + TemporaryTopic + createTemporaryTopic() throws JMSException; + + + /** Unsubscribes a durable subscription that has been created by a client. + * + * <P>This method deletes the state being maintained on behalf of the + * subscriber by its provider. + * + * <P>It is erroneous for a client to delete a durable subscription + * while there is an active <CODE>MessageConsumer</CODE> + * or <CODE>TopicSubscriber</CODE> for the + * subscription, or while a consumed message is part of a pending + * transaction or has not been acknowledged in the session. + * + * @param name the name used to identify this subscription + * + * @exception JMSException if the session fails to unsubscribe to the + * durable subscription due to some internal error. + * @exception InvalidDestinationException if an invalid subscription name + * is specified. + * + * @since 1.1 + */ + + void + unsubscribe(String name) throws JMSException; + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/StreamMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/StreamMessage.java new file mode 100644 index 0000000000..d3de3eeb0d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/StreamMessage.java @@ -0,0 +1,550 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>StreamMessage</CODE> object is used to send a stream of primitive + * types in the Java programming language. It is filled and read sequentially. + * It inherits from the <CODE>Message</CODE> interface + * and adds a stream message body. Its methods are based largely on those + * found in <CODE>java.io.DataInputStream</CODE> and + * <CODE>java.io.DataOutputStream</CODE>. + * + * <P>The primitive types can be read or written explicitly using methods + * for each type. They may also be read or written generically as objects. + * For instance, a call to <CODE>StreamMessage.writeInt(6)</CODE> is + * equivalent to <CODE>StreamMessage.writeObject(new Integer(6))</CODE>. + * Both forms are provided, because the explicit form is convenient for + * static programming, and the object form is needed when types are not known + * at compile time. + * + * <P>When the message is first created, and when <CODE>clearBody</CODE> + * is called, the body of the message is in write-only mode. After the + * first call to <CODE>reset</CODE> has been made, the message body is in + * read-only mode. + * After a message has been sent, the client that sent it can retain and + * modify it without affecting the message that has been sent. The same message + * object can be sent multiple times. + * When a message has been received, the provider has called + * <CODE>reset</CODE> so that the message body is in read-only mode for the client. + * + * <P>If <CODE>clearBody</CODE> is called on a message in read-only mode, + * the message body is cleared and the message body is in write-only mode. + * + * <P>If a client attempts to read a message in write-only mode, a + * <CODE>MessageNotReadableException</CODE> is thrown. + * + * <P>If a client attempts to write a message in read-only mode, a + * <CODE>MessageNotWriteableException</CODE> is thrown. + * + * <P><CODE>StreamMessage</CODE> objects support the following conversion + * table. The marked cases must be supported. The unmarked cases must throw a + * <CODE>JMSException</CODE>. The <CODE>String</CODE>-to-primitive conversions + * may throw a runtime exception if the primitive's <CODE>valueOf()</CODE> + * method does not accept it as a valid <CODE>String</CODE> representation of + * the primitive. + * + * <P>A value written as the row type can be read as the column type. + * + * <PRE> + * | | boolean byte short char int long float double String byte[] + * |---------------------------------------------------------------------- + * |boolean | X X + * |byte | X X X X X + * |short | X X X X + * |char | X X + * |int | X X X + * |long | X X + * |float | X X X + * |double | X X + * |String | X X X X X X X X + * |byte[] | X + * |---------------------------------------------------------------------- + * </PRE> + * + * <P>Attempting to read a null value as a primitive type must be treated + * as calling the primitive's corresponding <code>valueOf(String)</code> + * conversion method with a null value. Since <code>char</code> does not + * support a <code>String</code> conversion, attempting to read a null value + * as a <code>char</code> must throw a <code>NullPointerException</code>. + * + * @version 1.0 - 6 August 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.Session#createStreamMessage() + * @see javax.jms.BytesMessage + * @see javax.jms.MapMessage + * @see javax.jms.Message + * @see javax.jms.ObjectMessage + * @see javax.jms.TextMessage + */ + +public interface StreamMessage extends Message { + + + /** Reads a <code>boolean</code> from the stream message. + * + * @return the <code>boolean</code> value read + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + boolean + readBoolean() throws JMSException; + + + /** Reads a <code>byte</code> value from the stream message. + * + * @return the next byte from the stream message as a 8-bit + * <code>byte</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + byte + readByte() throws JMSException; + + + /** Reads a 16-bit integer from the stream message. + * + * @return a 16-bit integer from the stream message + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + short + readShort() throws JMSException; + + + /** Reads a Unicode character value from the stream message. + * + * @return a Unicode character from the stream message + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + char + readChar() throws JMSException; + + + /** Reads a 32-bit integer from the stream message. + * + * @return a 32-bit integer value from the stream message, interpreted + * as an <code>int</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + int + readInt() throws JMSException; + + + /** Reads a 64-bit integer from the stream message. + * + * @return a 64-bit integer value from the stream message, interpreted as + * a <code>long</code> + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + long + readLong() throws JMSException; + + + /** Reads a <code>float</code> from the stream message. + * + * @return a <code>float</code> value from the stream message + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + float + readFloat() throws JMSException; + + + /** Reads a <code>double</code> from the stream message. + * + * @return a <code>double</code> value from the stream message + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + double + readDouble() throws JMSException; + + + /** Reads a <CODE>String</CODE> from the stream message. + * + * @return a Unicode string from the stream message + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + */ + + String + readString() throws JMSException; + + + /** Reads a byte array field from the stream message into the + * specified <CODE>byte[]</CODE> object (the read buffer). + * + * <P>To read the field value, <CODE>readBytes</CODE> should be + * successively called + * until it returns a value less than the length of the read buffer. + * The value of the bytes in the buffer following the last byte + * read is undefined. + * + * <P>If <CODE>readBytes</CODE> returns a value equal to the length of the + * buffer, a subsequent <CODE>readBytes</CODE> call must be made. If there + * are no more bytes to be read, this call returns -1. + * + * <P>If the byte array field value is null, <CODE>readBytes</CODE> + * returns -1. + * + * <P>If the byte array field value is empty, <CODE>readBytes</CODE> + * returns 0. + * + * <P>Once the first <CODE>readBytes</CODE> call on a <CODE>byte[]</CODE> + * field value has been made, + * the full value of the field must be read before it is valid to read + * the next field. An attempt to read the next field before that has + * been done will throw a <CODE>MessageFormatException</CODE>. + * + * <P>To read the byte field value into a new <CODE>byte[]</CODE> object, + * use the <CODE>readObject</CODE> method. + * + * @param value the buffer into which the data is read + * + * @return the total number of bytes read into the buffer, or -1 if + * there is no more data because the end of the byte field has been + * reached + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + * + * @see #readObject() + */ + + int + readBytes(byte[] value) throws JMSException; + + + /** Reads an object from the stream message. + * + * <P>This method can be used to return, in objectified format, + * an object in the Java programming language ("Java object") that has + * been written to the stream with the equivalent + * <CODE>writeObject</CODE> method call, or its equivalent primitive + * <CODE>write<I>type</I></CODE> method. + * + * <P>Note that byte values are returned as <CODE>byte[]</CODE>, not + * <CODE>Byte[]</CODE>. + * + * <P>An attempt to call <CODE>readObject</CODE> to read a byte field + * value into a new <CODE>byte[]</CODE> object before the full value of the + * byte field has been read will throw a + * <CODE>MessageFormatException</CODE>. + * + * @return a Java object from the stream message, in objectified + * format (for example, if the object was written as an <CODE>int</CODE>, + * an <CODE>Integer</CODE> is returned) + * + * @exception JMSException if the JMS provider fails to read the message + * due to some internal error. + * @exception MessageEOFException if unexpected end of message stream has + * been reached. + * @exception MessageFormatException if this type conversion is invalid. + * @exception MessageNotReadableException if the message is in write-only + * mode. + * + * @see #readBytes(byte[] value) + */ + + Object + readObject() throws JMSException; + + + + /** Writes a <code>boolean</code> to the stream message. + * The value <code>true</code> is written as the value + * <code>(byte)1</code>; the value <code>false</code> is written as + * the value <code>(byte)0</code>. + * + * @param value the <code>boolean</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeBoolean(boolean value) + throws JMSException; + + + /** Writes a <code>byte</code> to the stream message. + * + * @param value the <code>byte</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeByte(byte value) throws JMSException; + + + /** Writes a <code>short</code> to the stream message. + * + * @param value the <code>short</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeShort(short value) throws JMSException; + + + /** Writes a <code>char</code> to the stream message. + * + * @param value the <code>char</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeChar(char value) throws JMSException; + + + /** Writes an <code>int</code> to the stream message. + * + * @param value the <code>int</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeInt(int value) throws JMSException; + + + /** Writes a <code>long</code> to the stream message. + * + * @param value the <code>long</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeLong(long value) throws JMSException; + + + /** Writes a <code>float</code> to the stream message. + * + * @param value the <code>float</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeFloat(float value) throws JMSException; + + + /** Writes a <code>double</code> to the stream message. + * + * @param value the <code>double</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeDouble(double value) throws JMSException; + + + /** Writes a <code>String</code> to the stream message. + * + * @param value the <code>String</code> value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeString(String value) throws JMSException; + + + /** Writes a byte array field to the stream message. + * + * <P>The byte array <code>value</code> is written to the message + * as a byte array field. Consecutively written byte array fields are + * treated as two distinct fields when the fields are read. + * + * @param value the byte array value to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeBytes(byte[] value) throws JMSException; + + + /** Writes a portion of a byte array as a byte array field to the stream + * message. + * + * <P>The a portion of the byte array <code>value</code> is written to the + * message as a byte array field. Consecutively written byte + * array fields are treated as two distinct fields when the fields are + * read. + * + * @param value the byte array value to be written + * @param offset the initial offset within the byte array + * @param length the number of bytes to use + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeBytes(byte[] value, int offset, int length) + throws JMSException; + + + /** Writes an object to the stream message. + * + * <P>This method works only for the objectified primitive + * object types (<code>Integer</code>, <code>Double</code>, + * <code>Long</code> ...), <code>String</code> objects, and byte + * arrays. + * + * @param value the Java object to be written + * + * @exception JMSException if the JMS provider fails to write the message + * due to some internal error. + * @exception MessageFormatException if the object is invalid. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + writeObject(Object value) throws JMSException; + + + /** Puts the message body in read-only mode and repositions the stream + * to the beginning. + * + * @exception JMSException if the JMS provider fails to reset the message + * due to some internal error. + * @exception MessageFormatException if the message has an invalid + * format. + */ + + void + reset() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TemporaryQueue.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TemporaryQueue.java new file mode 100644 index 0000000000..1de79ef678 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TemporaryQueue.java @@ -0,0 +1,58 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** A <CODE>TemporaryQueue</CODE> object is a unique <CODE>Queue</CODE> object + * created for the duration of a <CODE>Connection</CODE>. It is a + * system-defined queue that can be consumed only by the + * <CODE>Connection</CODE> that created it. + * + *<P>A <CODE>TemporaryQueue</CODE> object can be created at either the + * <CODE>Session</CODE> or <CODE>QueueSession</CODE> level. Creating it at the + * <CODE>Session</CODE> level allows to the <CODE>TemporaryQueue</CODE> to + * participate in transactions with objects from the Pub/Sub domain. + * If it is created at the <CODE>QueueSession</CODE>, it will only + * be able participate in transactions with objects from the PTP domain. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see Session#createTemporaryQueue() + * @see QueueSession#createTemporaryQueue() + */ + +public interface TemporaryQueue extends Queue { + + /** Deletes this temporary queue. If there are existing receivers + * still using it, a <CODE>JMSException</CODE> will be thrown. + * + * @exception JMSException if the JMS provider fails to delete the + * temporary queue due to some internal error. + */ + + void + delete() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TemporaryTopic.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TemporaryTopic.java new file mode 100644 index 0000000000..cf56d565f6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TemporaryTopic.java @@ -0,0 +1,60 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>TemporaryTopic</CODE> object is a unique <CODE>Topic</CODE> object + * created for the duration of a <CODE>Connection</CODE>. It is a + * system-defined topic that can be consumed only by the + * <CODE>Connection</CODE> that created it. + * + *<P>A <CODE>TemporaryTopic</CODE> object can be created either at the + * <CODE>Session</CODE> or <CODE>TopicSession</CODE> level. Creating it at the + * <CODE>Session</CODE> level allows the <CODE>TemporaryTopic</CODE> to participate + * in the same transaction with objects from the PTP domain. + * If a <CODE>TemporaryTopic</CODE> is created at the + * <CODE>TopicSession</CODE>, it will only + * be able participate in transactions with objects from the Pub/Sub domain. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see Session#createTemporaryTopic() + * @see TopicSession#createTemporaryTopic() + */ + +public interface TemporaryTopic extends Topic { + + /** Deletes this temporary topic. If there are existing subscribers + * still using it, a <CODE>JMSException</CODE> will be thrown. + * + * @exception JMSException if the JMS provider fails to delete the + * temporary topic due to some internal error. + */ + + void + delete() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TextMessage.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TextMessage.java new file mode 100644 index 0000000000..0ee45a0df1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TextMessage.java @@ -0,0 +1,82 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** A <CODE>TextMessage</CODE> object is used to send a message containing a + * <CODE>java.lang.String</CODE>. + * It inherits from the <CODE>Message</CODE> interface and adds a text message + * body. + * + * <P>This message type can be used to transport text-based messages, including + * those with XML content. + * + * <P>When a client receives a <CODE>TextMessage</CODE>, it is in read-only + * mode. If a client attempts to write to the message at this point, a + * <CODE>MessageNotWriteableException</CODE> is thrown. If + * <CODE>clearBody</CODE> is + * called, the message can now be both read from and written to. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session#createTextMessage() + * @see javax.jms.Session#createTextMessage(String) + * @see javax.jms.BytesMessage + * @see javax.jms.MapMessage + * @see javax.jms.Message + * @see javax.jms.ObjectMessage + * @see javax.jms.StreamMessage + * @see java.lang.String + */ + +public interface TextMessage extends Message { + + /** Sets the string containing this message's data. + * + * @param string the <CODE>String</CODE> containing the message's data + * + * @exception JMSException if the JMS provider fails to set the text due to + * some internal error. + * @exception MessageNotWriteableException if the message is in read-only + * mode. + */ + + void + setText(String string) throws JMSException; + + + /** Gets the string containing this message's data. The default + * value is null. + * + * @return the <CODE>String</CODE> containing the message's data + * + * @exception JMSException if the JMS provider fails to get the text due to + * some internal error. + */ + + String + getText() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Topic.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Topic.java new file mode 100644 index 0000000000..37db768ce5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/Topic.java @@ -0,0 +1,90 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + + +/** A <CODE>Topic</CODE> object encapsulates a provider-specific topic name. + * It is the way a client specifies the identity of a topic to JMS API methods. + * For those methods that use a <CODE>Destination</CODE> as a parameter, a + * <CODE>Topic</CODE> object may used as an argument . For + * example, a Topic can be used to create a <CODE>MessageConsumer</CODE> + * and a <CODE>MessageProducer</CODE> + * by calling: + *<UL> + *<LI> <CODE>Session.CreateConsumer(Destination destination)</CODE> + *<LI> <CODE>Session.CreateProducer(Destination destination)</CODE> + * + *</UL> + * + * <P>Many publish/subscribe (pub/sub) providers group topics into hierarchies + * and provide various options for subscribing to parts of the hierarchy. The + * JMS API places no restriction on what a <CODE>Topic</CODE> object + * represents. It may be a leaf in a topic hierarchy, or it may be a larger + * part of the hierarchy. + * + * <P>The organization of topics and the granularity of subscriptions to + * them is an important part of a pub/sub application's architecture. The JMS + * API + * does not specify a policy for how this should be done. If an application + * takes advantage of a provider-specific topic-grouping mechanism, it + * should document this. If the application is installed using a different + * provider, it is the job of the administrator to construct an equivalent + * topic architecture and create equivalent <CODE>Topic</CODE> objects. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see Session#createConsumer(Destination) + * @see Session#createProducer(Destination) + * @see javax.jms.TopicSession#createTopic(String) + */ + +public interface Topic extends Destination { + + /** Gets the name of this topic. + * + * <P>Clients that depend upon the name are not portable. + * + * @return the topic name + * + * @exception JMSException if the JMS provider implementation of + * <CODE>Topic</CODE> fails to return the topic + * name due to some internal + * error. + */ + + String + getTopicName() throws JMSException; + + + /** Returns a string representation of this object. + * + * @return the provider-specific identity values for this topic + */ + + String + toString(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicConnection.java new file mode 100644 index 0000000000..15d9a9f605 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicConnection.java @@ -0,0 +1,146 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>TopicConnection</CODE> object is an active connection to a + * publish/subscribe JMS provider. A client uses a <CODE>TopicConnection</CODE> + * object to create one or more <CODE>TopicSession</CODE> objects + * for producing and consuming messages. + * + *<P>A <CODE>TopicConnection</CODE> can be used to create a + *<CODE>TopicSession</CODE>, from which + * specialized topic-related objects can be created. + * A more general, and recommended approach is to use the + * <CODE>Connection</CODE> object. + * + * + * <P>The <CODE>TopicConnection</CODE> object + * should be used to support existing code. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Connection + * @see javax.jms.ConnectionFactory + * @see javax.jms.TopicConnectionFactory + */ + +public interface TopicConnection extends Connection { + + /** Creates a <CODE>TopicSession</CODE> object. + * + * @param transacted indicates whether the session is transacted + * @param acknowledgeMode indicates whether the consumer or the + * client will acknowledge any messages it receives; ignored if the session + * is transacted. Legal values are <code>Session.AUTO_ACKNOWLEDGE</code>, + * <code>Session.CLIENT_ACKNOWLEDGE</code>, and + * <code>Session.DUPS_OK_ACKNOWLEDGE</code>. + * + * @return a newly created topic session + * + * @exception JMSException if the <CODE>TopicConnection</CODE> object fails + * to create a session due to some internal error or + * lack of support for the specific transaction + * and acknowledgement mode. + * + * @see Session#AUTO_ACKNOWLEDGE + * @see Session#CLIENT_ACKNOWLEDGE + * @see Session#DUPS_OK_ACKNOWLEDGE + */ + + TopicSession + createTopicSession(boolean transacted, + int acknowledgeMode) throws JMSException; + + + /** Creates a connection consumer for this connection (optional operation). + * This is an expert facility not used by regular JMS clients. + * + * @param topic the topic to access + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param sessionPool the server session pool to associate with this + * connection consumer + * @param maxMessages the maximum number of messages that can be + * assigned to a server session at one time + * + * @return the connection consumer + * + * @exception JMSException if the <CODE>TopicConnection</CODE> object fails + * to create a connection consumer due to some + * internal error or invalid arguments for + * <CODE>sessionPool</CODE> and + * <CODE>messageSelector</CODE>. + * @exception InvalidDestinationException if an invalid topic is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * @see javax.jms.ConnectionConsumer + */ + + ConnectionConsumer + createConnectionConsumer(Topic topic, + String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) + throws JMSException; + + + /** Create a durable connection consumer for this connection (optional operation). + * This is an expert facility not used by regular JMS clients. + * + * @param topic the topic to access + * @param subscriptionName durable subscription name + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param sessionPool the server session pool to associate with this + * durable connection consumer + * @param maxMessages the maximum number of messages that can be + * assigned to a server session at one time + * + * @return the durable connection consumer + * + * @exception JMSException if the <CODE>TopicConnection</CODE> object fails + * to create a connection consumer due to some + * internal error or invalid arguments for + * <CODE>sessionPool</CODE> and + * <CODE>messageSelector</CODE>. + * @exception InvalidDestinationException if an invalid topic is specified. + * @exception InvalidSelectorException if the message selector is invalid. + * @see javax.jms.ConnectionConsumer + */ + + ConnectionConsumer + createDurableConnectionConsumer(Topic topic, + String subscriptionName, + String messageSelector, + ServerSessionPool sessionPool, + int maxMessages) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicConnectionFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicConnectionFactory.java new file mode 100644 index 0000000000..68376b3a53 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicConnectionFactory.java @@ -0,0 +1,84 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A client uses a <CODE>TopicConnectionFactory</CODE> object to create + * <CODE>TopicConnection</CODE> objects with a publish/subscribe JMS provider. + * + * <P>A<CODE> TopicConnectionFactory</CODE> can be used to create a + * <CODE>TopicConnection</CODE>, from which specialized topic-related objects + * can be created. A more general, and recommended approach + * is to use the <CODE>ConnectionFactory</CODE> object. + * + * <P> The <CODE>TopicConnectionFactory</CODE> object + * should be used to support existing code. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.ConnectionFactory + */ + +public interface TopicConnectionFactory extends ConnectionFactory { + + /** Creates a topic connection with the default user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @return a newly created topic connection + * + * @exception JMSException if the JMS provider fails to create a topic + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + TopicConnection + createTopicConnection() throws JMSException; + + + /** Creates a topic connection with the specified user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @param userName the caller's user name + * @param password the caller's password + * + * @return a newly created topic connection + * + * @exception JMSException if the JMS provider fails to create a topic + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + TopicConnection + createTopicConnection(String userName, String password) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicPublisher.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicPublisher.java new file mode 100644 index 0000000000..b7dbb9fc69 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicPublisher.java @@ -0,0 +1,207 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A client uses a <CODE>TopicPublisher</CODE> object to publish messages on a + * topic. A <CODE>TopicPublisher</CODE> object is the publish-subscribe form + * of a message producer. + * + * <P>Normally, the <CODE>Topic</CODE> is specified when a + * <CODE>TopicPublisher</CODE> is created. In this case, an attempt to use + * the <CODE>publish</CODE> methods for an unidentified + * <CODE>TopicPublisher</CODE> will throw a + * <CODE>java.lang.UnsupportedOperationException</CODE>. + * + * <P>If the <CODE>TopicPublisher</CODE> is created with an unidentified + * <CODE>Topic</CODE>, an attempt to use the <CODE>publish</CODE> methods that + * assume that the <CODE>Topic</CODE> has been identified will throw a + * <CODE>java.lang.UnsupportedOperationException</CODE>. + * + * <P>During the execution of its <CODE>publish</CODE> method, + * a message must not be changed by other threads within the client. + * If the message is modified, the result of the <CODE>publish</CODE> is + * undefined. + * + * <P>After publishing a message, a client may retain and modify it + * without affecting the message that has been published. The same message + * object may be published multiple times. + * + * <P>The following message headers are set as part of publishing a + * message: <code>JMSDestination</code>, <code>JMSDeliveryMode</code>, + * <code>JMSExpiration</code>, <code>JMSPriority</code>, + * <code>JMSMessageID</code> and <code>JMSTimeStamp</code>. + * When the message is published, the values of these headers are ignored. + * After completion of the <CODE>publish</CODE>, the headers hold the values + * specified by the method publishing the message. It is possible for the + * <CODE>publish</CODE> method not to set <code>JMSMessageID</code> and + * <code>JMSTimeStamp</code> if the + * setting of these headers is explicitly disabled by the + * <code>MessageProducer.setDisableMessageID</code> or + * <code>MessageProducer.setDisableMessageTimestamp</code> method. + * + *<P>Creating a <CODE>MessageProducer</CODE> provides the same features as + * creating a <CODE>TopicPublisher</CODE>. A <CODE>MessageProducer</CODE> object is + * recommended when creating new code. The <CODE>TopicPublisher</CODE> is + * provided to support existing code. + + * + *<P>Because <CODE>TopicPublisher</CODE> inherits from + * <CODE>MessageProducer</CODE>, it inherits the + * <CODE>send</CODE> methods that are a part of the <CODE>MessageProducer</CODE> + * interface. Using the <CODE>send</CODE> methods will have the same + * effect as using the + * <CODE>publish</CODE> methods: they are functionally the same. + * + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see Session#createProducer(Destination) + * @see TopicSession#createPublisher(Topic) + */ + +public interface TopicPublisher extends MessageProducer { + + /** Gets the topic associated with this <CODE>TopicPublisher</CODE>. + * + * @return this publisher's topic + * + * @exception JMSException if the JMS provider fails to get the topic for + * this <CODE>TopicPublisher</CODE> + * due to some internal error. + */ + + Topic + getTopic() throws JMSException; + + + /** Publishes a message to the topic. + * Uses the <CODE>TopicPublisher</CODE>'s default delivery mode, priority, + * and time to live. + * + * @param message the message to publish + * + * @exception JMSException if the JMS provider fails to publish the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses this method + * with a <CODE>TopicPublisher</CODE> with + * an invalid topic. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>TopicPublisher</CODE> that + * did not specify a topic at creation time. + * + * @see javax.jms.MessageProducer#getDeliveryMode() + * @see javax.jms.MessageProducer#getTimeToLive() + * @see javax.jms.MessageProducer#getPriority() + */ + + void + publish(Message message) throws JMSException; + + + /** Publishes a message to the topic, specifying delivery mode, + * priority, and time to live. + * + * @param message the message to publish + * @param deliveryMode the delivery mode to use + * @param priority the priority for this message + * @param timeToLive the message's lifetime (in milliseconds) + * + * @exception JMSException if the JMS provider fails to publish the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses this method + * with a <CODE>TopicPublisher</CODE> with + * an invalid topic. + * @exception java.lang.UnsupportedOperationException if a client uses this + * method with a <CODE>TopicPublisher</CODE> that + * did not specify a topic at creation time. + */ + + void + publish(Message message, + int deliveryMode, + int priority, + long timeToLive) throws JMSException; + + + /** Publishes a message to a topic for an unidentified message producer. + * Uses the <CODE>TopicPublisher</CODE>'s default delivery mode, + * priority, and time to live. + * + * <P>Typically, a message producer is assigned a topic at creation + * time; however, the JMS API also supports unidentified message producers, + * which require that the topic be supplied every time a message is + * published. + * + * @param topic the topic to publish this message to + * @param message the message to publish + * + * @exception JMSException if the JMS provider fails to publish the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with an invalid topic. + * + * @see javax.jms.MessageProducer#getDeliveryMode() + * @see javax.jms.MessageProducer#getTimeToLive() + * @see javax.jms.MessageProducer#getPriority() + */ + + void + publish(Topic topic, Message message) throws JMSException; + + + /** Publishes a message to a topic for an unidentified message + * producer, specifying delivery mode, priority and time to live. + * + * <P>Typically, a message producer is assigned a topic at creation + * time; however, the JMS API also supports unidentified message producers, + * which require that the topic be supplied every time a message is + * published. + * + * @param topic the topic to publish this message to + * @param message the message to publish + * @param deliveryMode the delivery mode to use + * @param priority the priority for this message + * @param timeToLive the message's lifetime (in milliseconds) + * + * @exception JMSException if the JMS provider fails to publish the message + * due to some internal error. + * @exception MessageFormatException if an invalid message is specified. + * @exception InvalidDestinationException if a client uses + * this method with an invalid topic. + */ + + void + publish(Topic topic, + Message message, + int deliveryMode, + int priority, + long timeToLive) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicRequestor.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicRequestor.java new file mode 100644 index 0000000000..0ef194b428 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicRequestor.java @@ -0,0 +1,123 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** The <CODE>TopicRequestor</CODE> helper class simplifies + * making service requests. + * + * <P>The <CODE>TopicRequestor</CODE> constructor is given a non-transacted + * <CODE>TopicSession</CODE> and a destination <CODE>Topic</CODE>. It creates a + * <CODE>TemporaryTopic</CODE> for the responses and provides a + * <CODE>request</CODE> method that sends the request message and waits + * for its reply. + * + * <P>This is a basic request/reply abstraction that should be sufficient + * for most uses. JMS providers and clients are free to create more + * sophisticated versions. + * + * @version 1.0 - 8 July 1998 + * @author Mark Hapner + * @author Rich Burridge + * + * @see javax.jms.QueueRequestor + */ + +public class TopicRequestor { + + TopicSession session; // The topic session the topic belongs to. + Topic topic; // The topic to perform the request/reply on. + TemporaryTopic tempTopic; + TopicPublisher publisher; + TopicSubscriber subscriber; + + + /** Constructor for the <CODE>TopicRequestor</CODE> class. + * + * <P>This implementation assumes the session parameter to be non-transacted, + * with a delivery mode of either <CODE>AUTO_ACKNOWLEDGE</CODE> or + * <CODE>DUPS_OK_ACKNOWLEDGE</CODE>. + * + * @param session the <CODE>TopicSession</CODE> the topic belongs to + * @param topic the topic to perform the request/reply call on + * + * @exception JMSException if the JMS provider fails to create the + * <CODE>TopicRequestor</CODE> due to some internal + * error. + * @exception InvalidDestinationException if an invalid topic is specified. + */ + + public + TopicRequestor(TopicSession session, Topic topic) throws JMSException { + this.session = session; + this.topic = topic; + tempTopic = session.createTemporaryTopic(); + publisher = session.createPublisher(topic); + subscriber = session.createSubscriber(tempTopic); + } + + + /** Sends a request and waits for a reply. The temporary topic is used for + * the <CODE>JMSReplyTo</CODE> destination; the first reply is returned, + * and any following replies are discarded. + * + * @param message the message to send + * + * @return the reply message + * + * @exception JMSException if the JMS provider fails to complete the + * request due to some internal error. + */ + + public Message + request(Message message) throws JMSException { + message.setJMSReplyTo(tempTopic); + publisher.publish(message); + return(subscriber.receive()); + } + + + /** Closes the <CODE>TopicRequestor</CODE> and its session. + * + * <P>Since a provider may allocate some resources on behalf of a + * <CODE>TopicRequestor</CODE> outside the Java virtual machine, clients + * should close them when they + * are not needed. Relying on garbage collection to eventually reclaim + * these resources may not be timely enough. + * + * <P>Note that this method closes the <CODE>TopicSession</CODE> object + * passed to the <CODE>TopicRequestor</CODE> constructor. + * + * @exception JMSException if the JMS provider fails to close the + * <CODE>TopicRequestor</CODE> due to some internal + * error. + */ + + public void + close() throws JMSException { + + // publisher and consumer created by constructor are implicitly closed. + session.close(); + tempTopic.delete(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicSession.java new file mode 100644 index 0000000000..d42dc5fb94 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicSession.java @@ -0,0 +1,293 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A <CODE>TopicSession</CODE> object provides methods for creating + * <CODE>TopicPublisher</CODE>, <CODE>TopicSubscriber</CODE>, and + * <CODE>TemporaryTopic</CODE> objects. It also provides a method for + * deleting its client's durable subscribers. + * + *<P>A <CODE>TopicSession</CODE> is used for creating Pub/Sub specific + * objects. In general, use the <CODE>Session</CODE> object, and + * use <CODE>TopicSession</CODE> only to support + * existing code. Using the <CODE>Session</CODE> object simplifies the + * programming model, and allows transactions to be used across the two + * messaging domains. + * + * <P>A <CODE>TopicSession</CODE> cannot be used to create objects specific to the + * point-to-point domain. The following methods inherit from + * <CODE>Session</CODE>, but must throw an + * <CODE>IllegalStateException</CODE> + * if used from <CODE>TopicSession</CODE>: + *<UL> + * <LI><CODE>createBrowser</CODE> + * <LI><CODE>createQueue</CODE> + * <LI><CODE>createTemporaryQueue</CODE> + *</UL> + * + * @version 1.1 - April 9, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session + * @see javax.jms.Connection#createSession(boolean, int) + * @see javax.jms.TopicConnection#createTopicSession(boolean, int) + * @see javax.jms.XATopicSession#getTopicSession() + */ + +public interface TopicSession extends Session { + + /** Creates a topic identity given a <CODE>Topic</CODE> name. + * + * <P>This facility is provided for the rare cases where clients need to + * dynamically manipulate topic identity. This allows the creation of a + * topic identity with a provider-specific name. Clients that depend + * on this ability are not portable. + * + * <P>Note that this method is not for creating the physical topic. + * The physical creation of topics is an administrative task and is not + * to be initiated by the JMS API. The one exception is the + * creation of temporary topics, which is accomplished with the + * <CODE>createTemporaryTopic</CODE> method. + * + * @param topicName the name of this <CODE>Topic</CODE> + * + * @return a <CODE>Topic</CODE> with the given name + * + * @exception JMSException if the session fails to create a topic + * due to some internal error. + */ + + Topic + createTopic(String topicName) throws JMSException; + + + /** Creates a nondurable subscriber to the specified topic. + * + * <P>A client uses a <CODE>TopicSubscriber</CODE> object to receive + * messages that have been published to a topic. + * + * <P>Regular <CODE>TopicSubscriber</CODE> objects are not durable. + * They receive only messages that are published while they are active. + * + * <P>In some cases, a connection may both publish and subscribe to a + * topic. The subscriber <CODE>NoLocal</CODE> attribute allows a subscriber + * to inhibit the delivery of messages published by its own connection. + * The default value for this attribute is false. + * + * @param topic the <CODE>Topic</CODE> to subscribe to + * + * @exception JMSException if the session fails to create a subscriber + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + */ + + TopicSubscriber + createSubscriber(Topic topic) throws JMSException; + + + /** Creates a nondurable subscriber to the specified topic, using a + * message selector or specifying whether messages published by its + * own connection should be delivered to it. + * + * <P>A client uses a <CODE>TopicSubscriber</CODE> object to receive + * messages that have been published to a topic. + * + * <P>Regular <CODE>TopicSubscriber</CODE> objects are not durable. + * They receive only messages that are published while they are active. + * + * <P>Messages filtered out by a subscriber's message selector will + * never be delivered to the subscriber. From the subscriber's + * perspective, they do not exist. + * + * <P>In some cases, a connection may both publish and subscribe to a + * topic. The subscriber <CODE>NoLocal</CODE> attribute allows a subscriber + * to inhibit the delivery of messages published by its own connection. + * The default value for this attribute is false. + * + * @param topic the <CODE>Topic</CODE> to subscribe to + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param noLocal if set, inhibits the delivery of messages published + * by its own connection + * + * @exception JMSException if the session fails to create a subscriber + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + * @exception InvalidSelectorException if the message selector is invalid. + */ + + TopicSubscriber + createSubscriber(Topic topic, + String messageSelector, + boolean noLocal) throws JMSException; + + + /** Creates a durable subscriber to the specified topic. + * + * <P>If a client needs to receive all the messages published on a + * topic, including the ones published while the subscriber is inactive, + * it uses a durable <CODE>TopicSubscriber</CODE>. The JMS provider + * retains a record of this + * durable subscription and insures that all messages from the topic's + * publishers are retained until they are acknowledged by this + * durable subscriber or they have expired. + * + * <P>Sessions with durable subscribers must always provide the same + * client identifier. In addition, each client must specify a name that + * uniquely identifies (within client identifier) each durable + * subscription it creates. Only one session at a time can have a + * <CODE>TopicSubscriber</CODE> for a particular durable subscription. + * + * <P>A client can change an existing durable subscription by creating + * a durable <CODE>TopicSubscriber</CODE> with the same name and a new + * topic and/or + * message selector. Changing a durable subscriber is equivalent to + * unsubscribing (deleting) the old one and creating a new one. + * + * <P>In some cases, a connection may both publish and subscribe to a + * topic. The subscriber <CODE>NoLocal</CODE> attribute allows a subscriber + * to inhibit the delivery of messages published by its own connection. + * The default value for this attribute is false. + * + * @param topic the non-temporary <CODE>Topic</CODE> to subscribe to + * @param name the name used to identify this subscription + * + * @exception JMSException if the session fails to create a subscriber + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + */ + + TopicSubscriber + createDurableSubscriber(Topic topic, + String name) throws JMSException; + + + /** Creates a durable subscriber to the specified topic, using a + * message selector or specifying whether messages published by its + * own connection should be delivered to it. + * + * <P>If a client needs to receive all the messages published on a + * topic, including the ones published while the subscriber is inactive, + * it uses a durable <CODE>TopicSubscriber</CODE>. The JMS provider + * retains a record of this + * durable subscription and insures that all messages from the topic's + * publishers are retained until they are acknowledged by this + * durable subscriber or they have expired. + * + * <P>Sessions with durable subscribers must always provide the same + * client identifier. In addition, each client must specify a name which + * uniquely identifies (within client identifier) each durable + * subscription it creates. Only one session at a time can have a + * <CODE>TopicSubscriber</CODE> for a particular durable subscription. + * An inactive durable subscriber is one that exists but + * does not currently have a message consumer associated with it. + * + * <P>A client can change an existing durable subscription by creating + * a durable <CODE>TopicSubscriber</CODE> with the same name and a new + * topic and/or + * message selector. Changing a durable subscriber is equivalent to + * unsubscribing (deleting) the old one and creating a new one. + * + * @param topic the non-temporary <CODE>Topic</CODE> to subscribe to + * @param name the name used to identify this subscription + * @param messageSelector only messages with properties matching the + * message selector expression are delivered. A value of null or + * an empty string indicates that there is no message selector + * for the message consumer. + * @param noLocal if set, inhibits the delivery of messages published + * by its own connection + * + * @exception JMSException if the session fails to create a subscriber + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + * @exception InvalidSelectorException if the message selector is invalid. + */ + + TopicSubscriber + createDurableSubscriber(Topic topic, + String name, + String messageSelector, + boolean noLocal) throws JMSException; + + + /** Creates a publisher for the specified topic. + * + * <P>A client uses a <CODE>TopicPublisher</CODE> object to publish + * messages on a topic. + * Each time a client creates a <CODE>TopicPublisher</CODE> on a topic, it + * defines a + * new sequence of messages that have no ordering relationship with the + * messages it has previously sent. + * + * @param topic the <CODE>Topic</CODE> to publish to, or null if this is an + * unidentified producer + * + * @exception JMSException if the session fails to create a publisher + * due to some internal error. + * @exception InvalidDestinationException if an invalid topic is specified. + */ + + TopicPublisher + createPublisher(Topic topic) throws JMSException; + + + /** Creates a <CODE>TemporaryTopic</CODE> object. Its lifetime will be that + * of the <CODE>TopicConnection</CODE> unless it is deleted earlier. + * + * @return a temporary topic identity + * + * @exception JMSException if the session fails to create a temporary + * topic due to some internal error. + */ + + TemporaryTopic + createTemporaryTopic() throws JMSException; + + + /** Unsubscribes a durable subscription that has been created by a client. + * + * <P>This method deletes the state being maintained on behalf of the + * subscriber by its provider. + * + * <P>It is erroneous for a client to delete a durable subscription + * while there is an active <CODE>TopicSubscriber</CODE> for the + * subscription, or while a consumed message is part of a pending + * transaction or has not been acknowledged in the session. + * + * @param name the name used to identify this subscription + * + * @exception JMSException if the session fails to unsubscribe to the + * durable subscription due to some internal error. + * @exception InvalidDestinationException if an invalid subscription name + * is specified. + */ + + void + unsubscribe(String name) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicSubscriber.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicSubscriber.java new file mode 100644 index 0000000000..9a1337c5cb --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TopicSubscriber.java @@ -0,0 +1,125 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** A client uses a <CODE>TopicSubscriber</CODE> object to receive messages that + * have been published to a topic. A <CODE>TopicSubscriber</CODE> object is the + * publish/subscribe form of a message consumer. A <CODE>MessageConsumer</CODE> + * can be created by using <CODE>Session.createConsumer</CODE>. + * + * <P>A <CODE>TopicSession</CODE> allows the creation of multiple + * <CODE>TopicSubscriber</CODE> objects per topic. It will deliver each + * message for a topic to each + * subscriber eligible to receive it. Each copy of the message + * is treated as a completely separate message. Work done on one copy has + * no effect on the others; acknowledging one does not acknowledge the + * others; one message may be delivered immediately, while another waits + * for its subscriber to process messages ahead of it. + * + * <P>Regular <CODE>TopicSubscriber</CODE> objects are not durable. They + * receive only messages that are published while they are active. + * + * <P>Messages filtered out by a subscriber's message selector will never + * be delivered to the subscriber. From the subscriber's perspective, they + * do not exist. + * + * <P>In some cases, a connection may both publish and subscribe to a topic. + * The subscriber <CODE>NoLocal</CODE> attribute allows a subscriber to inhibit + * the + * delivery of messages published by its own connection. + * + * <P>If a client needs to receive all the messages published on a topic, + * including the ones published while the subscriber is inactive, it uses + * a durable <CODE>TopicSubscriber</CODE>. The JMS provider retains a record of + * this durable + * subscription and insures that all messages from the topic's publishers + * are retained until they are acknowledged by this durable + * subscriber or they have expired. + * + * <P>Sessions with durable subscribers must always provide the same client + * identifier. In addition, each client must specify a name that uniquely + * identifies (within client identifier) each durable subscription it creates. + * Only one session at a time can have a <CODE>TopicSubscriber</CODE> for a + * particular durable subscription. + * + * <P>A client can change an existing durable subscription by creating a + * durable <CODE>TopicSubscriber</CODE> with the same name and a new topic + * and/or message + * selector. Changing a durable subscription is equivalent to unsubscribing + * (deleting) the old one and creating a new one. + * + * <P>The <CODE>unsubscribe</CODE> method is used to delete a durable + * subscription. The <CODE>unsubscribe</CODE> method can be used at the + * <CODE>Session</CODE> or <CODE>TopicSession</CODE> level. + * This method deletes the state being + * maintained on behalf of the subscriber by its provider. + * + * <P>Creating a <CODE>MessageConsumer</CODE> provides the same features as + * creating a <CODE>TopicSubscriber</CODE>. To create a durable subscriber, + * use of <CODE>Session.CreateDurableSubscriber</CODE> is recommended. The + * <CODE>TopicSubscriber</CODE> is provided to support existing code. + * + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session#createConsumer + * @see javax.jms.Session#createDurableSubscriber + * @see javax.jms.TopicSession + * @see javax.jms.TopicSession#createSubscriber + * @see javax.jms.MessageConsumer + */ + +public interface TopicSubscriber extends MessageConsumer { + + /** Gets the <CODE>Topic</CODE> associated with this subscriber. + * + * @return this subscriber's <CODE>Topic</CODE> + * + * @exception JMSException if the JMS provider fails to get the topic for + * this topic subscriber + * due to some internal error. + */ + + Topic + getTopic() throws JMSException; + + + /** Gets the <CODE>NoLocal</CODE> attribute for this subscriber. + * The default value for this attribute is false. + * + * @return true if locally published messages are being inhibited + * + * @exception JMSException if the JMS provider fails to get the + * <CODE>NoLocal</CODE> attribute for + * this topic subscriber + * due to some internal error. + */ + + boolean + getNoLocal() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TransactionInProgressException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TransactionInProgressException.java new file mode 100644 index 0000000000..010bb58c2b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TransactionInProgressException.java @@ -0,0 +1,62 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** + * <P> This exception is thrown when an + * operation is invalid because a transaction is in progress. + * For instance, an attempt to call <CODE>Session.commit</CODE> when a + * session is part of a distributed transaction should throw a + * <CODE>TransactionInProgressException</CODE>. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class TransactionInProgressException extends JMSException { + + /** Constructs a <CODE>TransactionInProgressException</CODE> with the + * specified reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + TransactionInProgressException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>TransactionInProgressException</CODE> with the + * specified reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + TransactionInProgressException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TransactionRolledBackException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TransactionRolledBackException.java new file mode 100644 index 0000000000..d23a9f70a5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/TransactionRolledBackException.java @@ -0,0 +1,60 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** + * <P> This exception must be thrown when a + * call to <CODE>Session.commit</CODE> results in a rollback of the current + * transaction. + * + * @version 26 August 1998 + * @author Rahul Sharma + **/ + +public class TransactionRolledBackException extends JMSException { + + /** Constructs a <CODE>TransactionRolledBackException</CODE> with the + * specified reason and error code. + * + * @param reason a description of the exception + * @param errorCode a string specifying the vendor-specific + * error code + * + **/ + public + TransactionRolledBackException(String reason, String errorCode) { + super(reason, errorCode); + } + + /** Constructs a <CODE>TransactionRolledBackException</CODE> with the + * specified reason. The error code defaults to null. + * + * @param reason a description of the exception + **/ + public + TransactionRolledBackException(String reason) { + super(reason); + } + +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAConnection.java new file mode 100644 index 0000000000..cd308aaa4e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAConnection.java @@ -0,0 +1,78 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** The <CODE>XAConnection</CODE> interface extends the capability of + * <CODE>Connection</CODE> by providing an <CODE>XASession</CODE> (optional). + * + *<P>The <CODE>XAConnection</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.XAQueueConnection + * @see javax.jms.XATopicConnection + */ + +public interface XAConnection extends Connection{ + + /** Creates an <CODE>XASession</CODE> object. + * + * @return a newly created <CODE>XASession</CODE> + * + * @exception JMSException if the <CODE>XAConnection</CODE> object + * fails to create an <CODE>XASession</CODE> due to + * some internal error. + * + * @since 1.1 + */ + + XASession + createXASession() throws JMSException; + + /** Creates an <CODE>Session</CODE> object. + * + * @param transacted usage undefined + * @param acknowledgeMode usage undefined + * + * @return a <CODE>Session</CODE> object + * + * @exception JMSException if the <CODE>XAConnection</CODE> object + * fails to create an <CODE>Session</CODE> due to + * some internal error. + * + * @since 1.1 + */ + Session + createSession(boolean transacted, + int acknowledgeMode) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAConnectionFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAConnectionFactory.java new file mode 100644 index 0000000000..bf4dc2393f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAConnectionFactory.java @@ -0,0 +1,101 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** The <CODE>XAConnectionFactory</CODE> interface is a base interface for the + * <CODE>XAQueueConnectionFactory</CODE> and + * <CODE>XATopicConnectionFactory</CODE> interfaces. + * + * <P>Some application servers provide support for grouping JTS capable + * resource use into a distributed transaction (optional). To include JMS API transactions + * in a JTS transaction, an application server requires a JTS aware JMS + * provider. A JMS provider exposes its JTS support using an + * <CODE>XAConnectionFactory</CODE> object, which an application server uses + * to create <CODE>XAConnection</CODE> objects. + * + * <P><CODE>XAConnectionFactory</CODE> objects are JMS administered objects, + * just like <CODE>ConnectionFactory</CODE> objects. It is expected that + * application servers will find them using the Java Naming and Directory + * Interface (JNDI) API. + * + *<P>The <CODE>XAConnectionFactory</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 April 4, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.XAQueueConnectionFactory + * @see javax.jms.XATopicConnectionFactory + */ + +public interface XAConnectionFactory { + + /** Creates an <CODE>XAConnection</CODE> with the default user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @return a newly created <CODE>XAConnection</CODE> + * + * @exception JMSException if the JMS provider fails to create an XA + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + * + * @since 1.1 + */ + + XAConnection + createXAConnection() throws JMSException; + + + /** Creates an XA connection with the specified user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @param userName the caller's user name + * @param password the caller's password + * + * @return a newly created XA connection + * + * @exception JMSException if the JMS provider fails to create an XA + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + * + * @since 1.1 + */ + + XAConnection + createXAConnection(String userName, String password) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueConnection.java new file mode 100644 index 0000000000..691c7fdd46 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueConnection.java @@ -0,0 +1,75 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** An <CODE>XAQueueConnection</CODE> provides the same create options as + * <CODE>QueueConnection</CODE> (optional). + * The only difference is that an <CODE>XAConnection</CODE> is by definition + * transacted. + * + *<P>The <CODE>XAQueueConnection</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 February 2 - 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.XAConnection + */ + +public interface XAQueueConnection + extends XAConnection, QueueConnection { + + /** Creates an <CODE>XAQueueSession</CODE> object. + * + * @return a newly created <CODE>XAQueueSession</CODE> + * + * @exception JMSException if the <CODE>XAQueueConnection</CODE> object + * fails to create an XA queue session due to some + * internal error. + */ + + XAQueueSession + createXAQueueSession() throws JMSException; + + /** Creates an <CODE>XAQueueSession</CODE> object. + * + * @param transacted usage undefined + * @param acknowledgeMode usage undefined + * + * @return a newly created <CODE>XAQueueSession</CODE> + * + * @exception JMSException if the <CODE>XAQueueConnection</CODE> object + * fails to create an XA queue session due to some + * internal error. + */ + QueueSession + createQueueSession(boolean transacted, + int acknowledgeMode) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueConnectionFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueConnectionFactory.java new file mode 100644 index 0000000000..5978e54d12 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueConnectionFactory.java @@ -0,0 +1,85 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** An <CODE>XAQueueConnectionFactory</CODE> provides the same create options as + * a <CODE>QueueConnectionFactory</CODE> (optional). + * + * <P>The <CODE>XATopicConnectionFactory</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 - 8 April 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.QueueConnectionFactory + * @see javax.jms.XAConnectionFactory + */ + +public interface XAQueueConnectionFactory + extends XAConnectionFactory, QueueConnectionFactory { + + /** Creates an XA queue connection with the default user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @return a newly created XA queue connection + * + * @exception JMSException if the JMS provider fails to create an XA queue + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + XAQueueConnection + createXAQueueConnection() throws JMSException; + + + /** Creates an XA queue connection with the specified user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @param userName the caller's user name + * @param password the caller's password + * + * @return a newly created XA queue connection + * + * @exception JMSException if the JMS provider fails to create an XA queue + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + XAQueueConnection + createXAQueueConnection(String userName, String password) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueSession.java new file mode 100644 index 0000000000..d524162a6a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XAQueueSession.java @@ -0,0 +1,58 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** An <CODE>XAQueueSession</CODE> provides a regular <CODE>QueueSession</CODE>, + * which can be used to + * create <CODE>QueueReceiver</CODE>, <CODE>QueueSender</CODE>, and + *<CODE>QueueBrowser</CODE> objects (optional). + * + * <P>The <CODE>XAQueueSession</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.XASession + */ + +public interface XAQueueSession extends XASession { + + /** Gets the queue session associated with this <CODE>XAQueueSession</CODE>. + * + * @return the queue session object + * + * @exception JMSException if an internal error occurs. + */ + + QueueSession + getQueueSession() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XASession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XASession.java new file mode 100644 index 0000000000..31689cf49c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XASession.java @@ -0,0 +1,123 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +import javax.transaction.xa.XAResource; + +/** The <CODE>XASession</CODE> interface extends the capability of + * <CODE>Session</CODE> by adding access to a JMS provider's support for the + * Java Transaction API (JTA) (optional). This support takes the form of a + * <CODE>javax.transaction.xa.XAResource</CODE> object. The functionality of + * this object closely resembles that defined by the standard X/Open XA + * Resource interface. + * + * <P>An application server controls the transactional assignment of an + * <CODE>XASession</CODE> by obtaining its <CODE>XAResource</CODE>. It uses + * the <CODE>XAResource</CODE> to assign the session to a transaction, prepare + * and commit work on the transaction, and so on. + * + * <P>An <CODE>XAResource</CODE> provides some fairly sophisticated facilities + * for interleaving work on multiple transactions, recovering a list of + * transactions in progress, and so on. A JTA aware JMS provider must fully + * implement this functionality. This could be done by using the services + * of a database that supports XA, or a JMS provider may choose to implement + * this functionality from scratch. + * + * <P>A client of the application server is given what it thinks is a + * regular JMS <CODE>Session</CODE>. Behind the scenes, the application server + * controls the transaction management of the underlying + * <CODE>XASession</CODE>. + * + * <P>The <CODE>XASession</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.Session + */ + +public interface XASession extends Session { + + /** Gets the session associated with this <CODE>XASession</CODE>. + * + * @return the session object + * + * @exception JMSException if an internal error occurs. + * + * @since 1.1 + */ + + Session + getSession() throws JMSException; + + /** Returns an XA resource to the caller. + * + * @return an XA resource to the caller + */ + + XAResource + getXAResource(); + + /** Indicates whether the session is in transacted mode. + * + * @return true + * + * @exception JMSException if the JMS provider fails to return the + * transaction mode due to some internal error. + */ + + boolean + getTransacted() throws JMSException; + + + /** Throws a <CODE>TransactionInProgressException</CODE>, since it should + * not be called for an <CODE>XASession</CODE> object. + * + * @exception TransactionInProgressException if the method is called on + * an <CODE>XASession</CODE>. + * + */ + + void + commit() throws JMSException; + + + /** Throws a <CODE>TransactionInProgressException</CODE>, since it should + * not be called for an <CODE>XASession</CODE> object. + * + * @exception TransactionInProgressException if the method is called on + * an <CODE>XASession</CODE>. + * + */ + + void + rollback() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicConnection.java new file mode 100644 index 0000000000..5f6b218fff --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicConnection.java @@ -0,0 +1,76 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** An <CODE>XATopicConnection</CODE> provides the same create options as + * <CODE>TopicConnection</CODE> (optional). The Topic connections created are + * transactional. + * + * <P>The <CODE>XATopicConnection</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 - February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.XAConnection + */ + +public interface XATopicConnection + extends XAConnection, TopicConnection { + + /** Creates an <CODE>XATopicSession</CODE> object. + * + * @return a newly created XA topic session + * + * @exception JMSException if the <CODE>XATopicConnection</CODE> object + * fails to create an XA topic session due to some + * internal error. + */ + + XATopicSession + createXATopicSession() throws JMSException; + + /** Creates an <CODE>XATopicSession</CODE> object. + * + * @param transacted usage undefined + * @param acknowledgeMode usage undefined + * + * @return a newly created XA topic session + * + * @exception JMSException if the <CODE>XATopicConnection</CODE> object + * fails to create an XA topic session due to some + * internal error. + */ + + TopicSession + createTopicSession(boolean transacted, + int acknowledgeMode) throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicConnectionFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicConnectionFactory.java new file mode 100644 index 0000000000..6f589d1493 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicConnectionFactory.java @@ -0,0 +1,85 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + + +package javax.jms; + +/** An <CODE>XATopicConnectionFactory</CODE> provides the same create options as + * a <CODE>TopicConnectionFactory</CODE> (optional). + * + * <P>The <CODE>XATopicConnectionFactory</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than use these XA + * interfaces directly. + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.TopicConnectionFactory + * @see javax.jms.XAConnectionFactory + */ + +public interface XATopicConnectionFactory + extends XAConnectionFactory, TopicConnectionFactory { + + /** Creates an XA topic connection with the default user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @return a newly created XA topic connection + * + * @exception JMSException if the JMS provider fails to create an XA topic + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + XATopicConnection + createXATopicConnection() throws JMSException; + + + /** Creates an XA topic connection with the specified user identity. + * The connection is created in stopped mode. No messages + * will be delivered until the <code>Connection.start</code> method + * is explicitly called. + * + * @param userName the caller's user name + * @param password the caller's password + * + * @return a newly created XA topic connection + * + * @exception JMSException if the JMS provider fails to create an XA topic + * connection due to some internal error. + * @exception JMSSecurityException if client authentication fails due to + * an invalid user name or password. + */ + + XATopicConnection + createXATopicConnection(String userName, String password) + throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicSession.java new file mode 100644 index 0000000000..091e391438 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.api/src/javax/jms/XATopicSession.java @@ -0,0 +1,57 @@ +/* + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the License). You may not use this file except in + * compliance with the License. + * + * You can obtain a copy of the license at + * https://glassfish.dev.java.net/public/CDDLv1.0.html or + * glassfish/bootstrap/legal/CDDLv1.0.txt. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * Header Notice in each file and include the License file + * at glassfish/bootstrap/legal/CDDLv1.0.txt. + * If applicable, add the following below the CDDL Header, + * with the fields enclosed by brackets [] replaced by + * you own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + */ + +package javax.jms; + +/** An <CODE>XATopicSession</CODE> provides a regular <CODE>TopicSession</CODE>. + * which can be used to create <CODE>TopicSubscriber</CODE> and + * <CODE>TopicPublisher</CODE> objects (optional). + * + * <P>The <CODE>XATopicSession</CODE> interface is optional. JMS providers + * are not required to support this interface. This interface is for + * use by JMS providers to support transactional environments. + * Client programs are strongly encouraged to use the transactional support + * available in their environment, rather than using these XA + * interfaces directly. + * + * @version 1.1 February 2, 2002 + * @author Mark Hapner + * @author Rich Burridge + * @author Kate Stout + * + * @see javax.jms.XASession + * @see javax.jms.TopicSession + */ + +public interface XATopicSession extends XASession { + + /** Gets the topic session associated with this <CODE>XATopicSession</CODE>. + * + * @return the topic session object + * + * @exception JMSException if an internal error occurs. + */ + + TopicSession + getTopicSession() throws JMSException; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.options b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.options new file mode 100644 index 0000000000..43a5c9f199 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.options @@ -0,0 +1,3 @@ +# Debugging and tracing options + +org.eclipse.net4j.jms.server.jdbc/debug = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.project b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.project new file mode 100644 index 0000000000..7768ecb159 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.jms.server.jdbc</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..64b4cb8d2c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 13:02:04 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..7b696b453b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.net4j.jms.server.jdbc +Bundle-Version: 4.0.100.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.net4j.jms.server.internal.jdbc.bundle.OM +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-ClassPath: . +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.jms.server;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Import-Package: javax.jms;version="[1.1.0,2.0.0)" +Export-Package: org.eclipse.net4j.jms.server.internal.jdbc;version="4.0.100";x-internal:=true, + org.eclipse.net4j.jms.server.internal.jdbc.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.jms.server.jdbc;version="4.0.100" diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/build.properties new file mode 100644 index 0000000000..152299f8f0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/build.properties @@ -0,0 +1,23 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + .options,\ + about.html,\ + copyright.txt,\ + plugin.properties +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/db.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/db.txt new file mode 100644 index 0000000000..531b9c2161 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/db.txt @@ -0,0 +1,61 @@ +SYSTEM_DATA +=========== + id bigint + version varchar(20) + creationdate date + + + +SEEDS +===== + name varchar(20) + seed bigint + + + +DESTINATIONS +============ + name varchar(255) + isqueue int + destination_id bigint + + + +MESSAGES +======== + message_id varchar(64) + destination_id bigint + priority int + createtime bigint + expirytime bigint + processed int + messageblob longblob + + + +MESSAGE_HANDLES +=============== + message_id varchar(64) + destination_id bigint + consumer_id bigint + priority int + acceptedtime bigint + sequencenumber bigint + expirytime bigint + delivered int + + + +CONSUMERS +========= + name varchar(255) + destination_id bigint + consumer_id bigint + created bigint + + + +USERS +===== + username varchar(50) + password varchar(50) diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/plugin.properties new file mode 100644 index 0000000000..18072b3d17 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j JMS Provider Server DB +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JDBCStore.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JDBCStore.java new file mode 100644 index 0000000000..d340b5909b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JDBCStore.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server.internal.jdbc; + +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.jms.internal.server.store.AbstractStore; +import org.eclipse.net4j.jms.internal.server.store.StoreException; +import org.eclipse.net4j.jms.server.IStoreTransaction; + +import javax.sql.DataSource; + +import java.sql.Connection; +import java.sql.SQLException; + +/** + * @author Eike Stepper + */ +public class JDBCStore extends AbstractStore +{ + private static final String STORE_TYPE = "JDBC"; //$NON-NLS-1$ + + private IDBAdapter dbAdapter; + + private DataSource dataSource; + + public JDBCStore(IDBAdapter dbAdapter, DataSource dataSource) + { + super(STORE_TYPE); + if (dbAdapter == null) + { + throw new IllegalArgumentException("dbAdapter == null"); //$NON-NLS-1$ + } + + if (dataSource == null) + { + throw new IllegalArgumentException("dataSource == null"); //$NON-NLS-1$ + } + + this.dbAdapter = dbAdapter; + this.dataSource = dataSource; + } + + public IDBAdapter getDBAdapter() + { + return dbAdapter; + } + + public DataSource getDataSource() + { + return dataSource; + } + + public Connection getConnection() + { + try + { + return dataSource.getConnection(); + } + catch (SQLException ex) + { + throw new StoreException(ex); + } + } + + public void initDatabase(String instanceID) + { + JMSSchema.INSTANCE.create(dbAdapter, dataSource); + // TODO Store instanceID + } + + public IStoreTransaction startTransaction() + { + try + { + Connection connection = getConnection(); + connection.setAutoCommit(false); + return new JDBCTransaction(this, connection); + } + catch (SQLException ex) + { + throw new StoreException(ex); + } + } + + public void commitTransaction(IStoreTransaction transaction) + { + JDBCTransaction jdbcTransaction = (JDBCTransaction)transaction; + try + { + Connection connection = jdbcTransaction.getConnection(); + connection.commit(); + } + catch (SQLException ex) + { + throw new StoreException(ex); + } + finally + { + jdbcTransaction.dispose(); + } + } + + public void rollbackTransaction(IStoreTransaction transaction) + { + JDBCTransaction jdbcTransaction = (JDBCTransaction)transaction; + try + { + Connection connection = jdbcTransaction.getConnection(); + connection.rollback(); + } + catch (SQLException ex) + { + throw new StoreException(ex); + } + finally + { + jdbcTransaction.dispose(); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JDBCTransaction.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JDBCTransaction.java new file mode 100644 index 0000000000..6857c0c34a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JDBCTransaction.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server.internal.jdbc; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.jms.internal.server.ServerConsumer; +import org.eclipse.net4j.jms.internal.server.ServerDestination; +import org.eclipse.net4j.jms.internal.server.store.AbstractStore; +import org.eclipse.net4j.jms.internal.server.store.AbstractTransaction; + +import java.sql.Connection; + +/** + * @author Eike Stepper + */ +public class JDBCTransaction extends AbstractTransaction +{ + private Connection connection; + + public JDBCTransaction(AbstractStore store, Connection connection) + { + super(store); + this.connection = connection; + } + + public Connection getConnection() + { + return connection; + } + + public void dispose() + { + connection = null; + } + + @Override + protected String[] doGetDestinationNames() + { + return NO_DESTINATION_NAMES; + } + + @Override + protected ServerDestination doGetDestination(String name) + { + return null; + } + + @Override + protected long[] doGetConsumerIDs() + { + return NO_CONSUMER_IDS; + } + + @Override + protected ServerConsumer doGetConsumer(long id) + { + return null; + } + + @Override + protected void doDestinationAdded(ServerDestination destination) + { + } + + @Override + protected void doDestinationRemoved(ServerDestination destination) + { + } + + @Override + protected void doConsumerAdded(ServerConsumer consumer) + { + } + + @Override + protected void doConsumerRemoved(ServerConsumer consumer) + { + } + + @Override + protected void doMessageReceived(MessageImpl message) + { + } + + @Override + protected void doMessageSent(MessageImpl message, long consumerID) + { + } + + @Override + protected void doMessageAcknowledged(MessageImpl message, long consumerID) + { + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JMSSchema.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JMSSchema.java new file mode 100644 index 0000000000..75fb324616 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/JMSSchema.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server.internal.jdbc; + +import org.eclipse.net4j.db.DBType; +import org.eclipse.net4j.db.ddl.IDBField; +import org.eclipse.net4j.db.ddl.IDBIndex; +import org.eclipse.net4j.db.ddl.IDBTable; +import org.eclipse.net4j.spi.db.DBSchema; + +/** + * @author Eike Stepper + */ +public class JMSSchema extends DBSchema +{ + public static final JMSSchema INSTANCE = new JMSSchema(); + + /** + * DBTable Destinations + */ + public static final IDBTable DESTINATIONS = INSTANCE.addTable("destinations"); //$NON-NLS-1$ + + public static final IDBField DESTINATIONS_NAME = // + DESTINATIONS.addField("name", DBType.VARCHAR, 255); //$NON-NLS-1$ + + public static final IDBField DESTINATIONS_TYPE = // + DESTINATIONS.addField("type", DBType.INTEGER); //$NON-NLS-1$ + + public static final IDBIndex INDEX_DESTINATIONS_PK = // + DESTINATIONS.addIndex(IDBIndex.Type.PRIMARY_KEY, DESTINATIONS_NAME); + + /** + * DBTable Messages + */ + public static final IDBTable MESSAGES = INSTANCE.addTable("messages"); //$NON-NLS-1$ + + public static final IDBField MESSAGES_ID = // + MESSAGES.addField("id", DBType.VARCHAR); //$NON-NLS-1$ + + public static final IDBField MESSAGES_DESTINATION = // + MESSAGES.addField("destination", DBType.VARCHAR); //$NON-NLS-1$ + + public static final IDBField MESSAGES_PRIORITY = // + MESSAGES.addField("priority", DBType.INTEGER); //$NON-NLS-1$ + + public static final IDBIndex INDEX_MESSAGES_PK = // + MESSAGES.addIndex(IDBIndex.Type.PRIMARY_KEY, MESSAGES_ID); + + /** + * Queries + */ + public static final String QUERY = "SELECT " + DESTINATIONS_TYPE + ", " + MESSAGES_ID + ", " + MESSAGES_PRIORITY //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + + " FROM " + DESTINATIONS + ", " + MESSAGES + " WHERE " + DESTINATIONS_NAME + "=" + MESSAGES_DESTINATION //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + + " AND " + DESTINATIONS_NAME + "=?"; //$NON-NLS-1$ //$NON-NLS-2$ + + private JMSSchema() + { + super("JMS"); //$NON-NLS-1$ + } + + static + { + INSTANCE.lock(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/bundle/OM.java new file mode 100644 index 0000000000..ddd0ad9f94 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/internal/jdbc/bundle/OM.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server.internal.jdbc.bundle; + +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.jms.server.jdbc"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/jdbc/JDBCUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/jdbc/JDBCUtil.java new file mode 100644 index 0000000000..9d19da7f50 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server.jdbc/src/org/eclipse/net4j/jms/server/jdbc/JDBCUtil.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server.jdbc; + +import org.eclipse.net4j.db.DBUtil; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.jms.server.internal.jdbc.JDBCStore; +import org.eclipse.net4j.jms.server.internal.jdbc.bundle.OM; + +import javax.sql.DataSource; + +import java.util.Properties; + +/** + * @author Eike Stepper + */ +public final class JDBCUtil +{ + private JDBCUtil() + { + } + + public static IStore getStore(IDBAdapter dbAdapter, DataSource dataSource, String instanceID) + { + JDBCStore store = new JDBCStore(dbAdapter, dataSource); + store.initDatabase(instanceID); + return store; + } + + public static IStore getStore() + { + Properties properties = OM.BUNDLE.getConfigProperties(); + String adapterName = properties.getProperty("store.adapterName", "derby-embedded"); //$NON-NLS-1$ //$NON-NLS-2$ + IDBAdapter dbAdapter = DBUtil.getDBAdapter(adapterName); + DataSource dataSource = DBUtil.createDataSource(properties, "datasource"); //$NON-NLS-1$ + String instanceID = properties.getProperty("store.instanceID", "00000000"); //$NON-NLS-1$ //$NON-NLS-2$ + return getStore(dbAdapter, dataSource, instanceID); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.options b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.options new file mode 100644 index 0000000000..1fd37aa77e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.options @@ -0,0 +1,6 @@ +# Debugging and tracing options + +org.eclipse.net4j.jms.server/debug = true + +org.eclipse.net4j.jms.server/debug.protocol = true +org.eclipse.net4j.jms.server/debug.store = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.project b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.project new file mode 100644 index 0000000000..1038549765 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.jms.server</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..08d1ab430d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:57:30 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..396f50b675 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/META-INF/MANIFEST.MF @@ -0,0 +1,21 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.net4j.jms.server +Bundle-Version: 4.0.100.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.net4j.jms.internal.server.bundle.OM +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-ClassPath: . +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.jms;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Import-Package: javax.jms;version="[1.1.0,2.0.0)" +Export-Package: org.eclipse.net4j.jms.internal.server;version="4.0.100";x-friends:="org.eclipse.net4j.jms.server.jdbc,org.eclipse.net4j.jms.tests", + org.eclipse.net4j.jms.internal.server.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.jms.internal.server.messages;version="4.0.100";x-internal:=true, + org.eclipse.net4j.jms.internal.server.protocol;version="4.0.100";x-friends:="org.eclipse.net4j.jms.server.jdbc,org.eclipse.net4j.jms.tests", + org.eclipse.net4j.jms.internal.server.protocol.admin;version="4.0.100";x-friends:="org.eclipse.net4j.jms.server.jdbc,org.eclipse.net4j.jms.tests", + org.eclipse.net4j.jms.internal.server.store;version="4.0.100";x-friends:="org.eclipse.net4j.jms.server.jdbc,org.eclipse.net4j.jms.tests", + org.eclipse.net4j.jms.server;version="4.0.100" diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/build.properties new file mode 100644 index 0000000000..152299f8f0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/build.properties @@ -0,0 +1,23 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + .options,\ + about.html,\ + copyright.txt,\ + plugin.properties +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/plugin.properties new file mode 100644 index 0000000000..e5bdacfa85 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j JMS Provider Server +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/Server.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/Server.java new file mode 100644 index 0000000000..4e95accebc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/Server.java @@ -0,0 +1,235 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server; + +import org.eclipse.net4j.internal.jms.ConnectionFactoryImpl; +import org.eclipse.net4j.internal.jms.JMSDestination; +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.jms.server.IDestination; +import org.eclipse.net4j.jms.server.IServer; +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.jms.server.IStoreTransaction; +import org.eclipse.net4j.util.HexUtil; +import org.eclipse.net4j.util.concurrent.NonBlockingLongCounter; +import org.eclipse.net4j.util.concurrent.QueueWorker; +import org.eclipse.net4j.util.om.OMPlatform; + +import javax.jms.Destination; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; + +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @author Eike Stepper + */ +public class Server extends QueueWorker<MessageImpl> implements IServer +{ + public static final Server INSTANCE = new Server(); + + private static final boolean REBIND_DESTINATIONS = true; + + private NonBlockingLongCounter messageIDCounter = new NonBlockingLongCounter(); + + private NonBlockingLongCounter consumerIDCounter = new NonBlockingLongCounter(); + + private IStore store = null; + + private Context jndiContext; + + private ConcurrentMap<String, ServerDestination> destinations = new ConcurrentHashMap<String, ServerDestination>(); + + private Set<ServerConnection> connections = new HashSet<ServerConnection>(); + + private ConcurrentMap<Long, ServerConsumer> consumers = new ConcurrentHashMap<Long, ServerConsumer>(); + + public Server() + { + } + + public IStore getStore() + { + return store; + } + + public void setStore(IStore store) + { + this.store = store; + } + + public IDestination createDestination(String name, IDestination.Type type) + { + ServerDestination destination = new ServerDestination(name, type); + ServerDestination existing = destinations.putIfAbsent(name, destination); + if (existing != null) + { + throw new IllegalStateException("Destination " + type + " " + name + " does already exist"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + + IStoreTransaction transaction = store.startTransaction(); + transaction.destinationAdded(destination); + store.commitTransaction(transaction); + + try + { + destination.bind(jndiContext, REBIND_DESTINATIONS); + } + catch (NamingException ex) + { + OM.LOG.error(ex); + destinations.remove(name); + destination = null; + } + + return destination; + } + + public ServerDestination getDestination(String name) + { + return destinations.get(name); + } + + public ServerDestination getServerDestination(Destination jmsDestination) + { + String name = ((JMSDestination)jmsDestination).getName(); + ServerDestination destination = destinations.get(name); + if (destination == null) + { + OM.LOG.error(Messages.getString("Server.3") + name); //$NON-NLS-1$ + return null; + } + + return destination; + } + + public ServerConnection logon(String userName, String password) + { + ServerConnection connection = new ServerConnection(this, userName); + synchronized (connections) + { + connections.add(connection); + } + + return connection; + } + + public ServerConsumer createConsumer(ServerDestination destination, String messageSelector, boolean noLocal, + boolean durable) + { + long consumerID = consumerIDCounter.increment(); + ServerConsumer consumer = new ServerConsumer(consumerID, destination, messageSelector, noLocal, durable); + consumers.put(consumer.getID(), consumer); + return consumer; + } + + public ServerConsumer getConsumer(long consumerID) + { + return consumers.get(consumerID); + } + + public String[] handleClientMessages(MessageImpl[] messages) + { + IStoreTransaction transaction = store.startTransaction(); + String[] messageIDs = handleClientMessagesInTransaction(transaction, messages); + store.commitTransaction(transaction); + return messageIDs; + } + + public String[] handleClientMessagesInTransaction(IStoreTransaction transaction, MessageImpl[] messages) + { + String[] messageIDs = new String[messages.length]; + for (int i = 0; i < messages.length; i++) + { + MessageImpl message = messages[i]; + if (getServerDestination(message.getJMSDestination()) == null) + { + return null; + } + + messageIDs[i] = "ID:NET4J:" + HexUtil.longToHex(messageIDCounter.increment()); //$NON-NLS-1$ + message.setJMSMessageID(messageIDs[i]); + } + + for (MessageImpl message : messages) + { + transaction.messageReceived(message); + addWork(message); + } + + return messageIDs; + } + + @Override + protected String getThreadName() + { + return "jms-server"; //$NON-NLS-1$ + } + + @Override + protected void work(WorkContext context, MessageImpl message) + { + ServerDestination destination = getServerDestination(message.getJMSDestination()); + IStoreTransaction transaction = store.startTransaction(); + destination.handleClientMessage(transaction, message); + store.commitTransaction(transaction); + } + + @Override + protected void doBeforeActivate() throws Exception + { + super.doBeforeActivate(); + if (store == null) + { + throw new IllegalStateException("store == null"); //$NON-NLS-1$ + } + } + + @Override + protected void doActivate() throws Exception + { + super.doActivate(); + String name = OMPlatform.INSTANCE.getProperty("net4j.jms.connection.factory.name", "net4j.jms.ConnectionFactory"); //$NON-NLS-1$ //$NON-NLS-2$ + String type = OMPlatform.INSTANCE.getProperty("net4j.jms.connector.type", "tcp"); //$NON-NLS-1$ //$NON-NLS-2$ + String desc = OMPlatform.INSTANCE.getProperty("net4j.jms.connector.description", "localhost"); //$NON-NLS-1$ //$NON-NLS-2$ + + jndiContext = new InitialContext(); + jndiContext.rebind(name, new ConnectionFactoryImpl(type, desc)); + } + + @Override + protected void doDeactivate() throws Exception + { + synchronized (connections) + { + for (ServerConnection connection : connections) + { + try + { + connection.close(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + } + + jndiContext.close(); + jndiContext = null; + super.doDeactivate(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerConnection.java new file mode 100644 index 0000000000..b073bb1d68 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerConnection.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server; + +import org.eclipse.net4j.jms.internal.server.protocol.JMSServerProtocol; +import org.eclipse.net4j.jms.server.IConnection; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Eike Stepper + */ +public class ServerConnection implements IConnection +{ + private Server server; + + private String userName; + + private List<ServerSession> sessions = new ArrayList<ServerSession>(0); + + private JMSServerProtocol protocol; + + public ServerConnection(Server server, String userName) + { + this.server = server; + this.userName = userName; + } + + public Server getServer() + { + return server; + } + + public String getUserName() + { + return userName; + } + + public JMSServerProtocol getProtocol() + { + return protocol; + } + + public void setProtocol(JMSServerProtocol protocol) + { + this.protocol = protocol; + } + + public ServerSession openSession(int sessionID) + { + ServerSession session = new ServerSession(this, sessionID); + synchronized (sessions) + { + while (sessionID >= sessions.size()) + { + sessions.add(null); + } + + sessions.set(sessionID, session); + } + + return session; + } + + public ServerSession getSession(int sessionID) + { + return sessions.get(sessionID); + } + + public ServerSession[] getSessions() + { + List<ServerSession> result = new ArrayList<ServerSession>(sessions.size()); + synchronized (sessions) + { + for (ServerSession session : sessions) + { + if (session != null) + { + result.add(session); + } + } + } + + return result.toArray(new ServerSession[result.size()]); + } + + public void close() + { + protocol.getChannel().close(); + } + + protected boolean removeSession(ServerSession session) + { + synchronized (sessions) + { + int sessionID = session.getID(); + if (sessions.get(sessionID) == session) + { + sessions.set(sessionID, null); + return true; + } + + return false; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerConsumer.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerConsumer.java new file mode 100644 index 0000000000..fd84f292cd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerConsumer.java @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.protocol.JMSServerMessageRequest; +import org.eclipse.net4j.jms.internal.server.protocol.JMSServerProtocol; +import org.eclipse.net4j.jms.server.IServerConsumer; +import org.eclipse.net4j.jms.server.IStoreTransaction; +import org.eclipse.net4j.util.io.IOUtil; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @author Eike Stepper + */ +public class ServerConsumer implements IServerConsumer +{ + private ServerSession session; + + private long id; + + private ServerDestination destination; + + private String messageSelector; + + private boolean noLocal; + + private boolean durable; + + private ConcurrentMap<String, MessageImpl> messages = new ConcurrentHashMap<String, MessageImpl>(); + + public ServerConsumer(long id, ServerDestination destination, String messageSelector, boolean noLocal, boolean durable) + { + this.id = id; + this.destination = destination; + this.messageSelector = messageSelector; + this.noLocal = noLocal; + this.durable = durable; + } + + public ServerSession getSession() + { + return session; + } + + public void setSession(ServerSession session) + { + this.session = session; + } + + public long getID() + { + return id; + } + + public ServerDestination getDestination() + { + return destination; + } + + public String getMessageSelector() + { + return messageSelector; + } + + public boolean isNoLocal() + { + return noLocal; + } + + public JMSServerProtocol getProtocol() + { + return session.getConnection().getProtocol(); + } + + public boolean isDurable() + { + return durable; + } + + public boolean handleClientMessage(IStoreTransaction transaction, MessageImpl message) + { + try + { + String messageID = message.getJMSMessageID(); + synchronized (messages) + { + messages.put(messageID, message); + } + + new JMSServerMessageRequest(getProtocol(), session.getID(), id, message).sendAsync(); + transaction.messageSent(message, id); + return true; + } + catch (Exception ex) + { + OM.LOG.error(ex); + return false; + } + } + + public void handleAcknowledge(IStoreTransaction transaction) + { + synchronized (messages) + { + if (messages.isEmpty()) + { + return; + } + + for (MessageImpl message : messages.values()) + { + transaction.messageAcknowledged(message, id); + IOUtil.OUT().println("\nMessage acknowledged: " + message.getJMSMessageID() + " (consumer=" + id + ")\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + + messages.clear(); + } + } + + public void handleRecover(IStoreTransaction transaction) + { + synchronized (messages) + { + if (messages.isEmpty()) + { + return; + } + + for (MessageImpl message : messages.values()) + { + IOUtil.OUT().println("\nRecovering message: " + message.getJMSMessageID() + " (consumer=" + id + ")\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + session.getConnection().getServer().addWork(message); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerDestination.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerDestination.java new file mode 100644 index 0000000000..4ea2d66dab --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerDestination.java @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server; + +import org.eclipse.net4j.internal.jms.DestinationImpl; +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.QueueImpl; +import org.eclipse.net4j.internal.jms.TopicImpl; +import org.eclipse.net4j.jms.server.IDestination; +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.jms.server.IStoreTransaction; +import org.eclipse.net4j.util.concurrent.RoundRobinList; + +import javax.naming.Context; +import javax.naming.NamingException; + +import java.util.Iterator; + +/** + * @author Eike Stepper + */ +public class ServerDestination implements IDestination +{ + private String name; + + private Type type; + + private RoundRobinList<ServerConsumer> consumers = new RoundRobinList<ServerConsumer>(); + + public ServerDestination(String name, Type type) + { + this.name = name; + this.type = type; + } + + public String getName() + { + return name; + } + + public Type getType() + { + return type; + } + + public DestinationImpl bind(Context context, boolean rebind) throws NamingException + { + DestinationImpl destination = type == Type.QUEUE ? new QueueImpl(name) : new TopicImpl(name); + if (rebind) + { + context.rebind(name, destination); + } + else + { + context.bind(name, destination); + } + + return destination; + } + + public boolean addConsumer(ServerConsumer consumer) + { + if (consumer.isDurable()) + { + IStore store = Server.INSTANCE.getStore(); + IStoreTransaction transaction = store.startTransaction(); + transaction.consumerAdded(consumer); + store.commitTransaction(transaction); + } + + return consumers.add(consumer); + } + + public boolean removeConsumer(final long consumerID) + { + final boolean[] modified = { false }; + consumers.executeWrites(new Runnable() + { + public void run() + { + for (Iterator<ServerConsumer> it = consumers.iterator(); it.hasNext();) + { + ServerConsumer consumer = it.next(); + if (consumer.getID() == consumerID) + { + it.remove(); + modified[0] = true; + return; + } + } + } + }); + + return modified[0]; + } + + /** + * Called by worker thread of the server + */ + public void handleClientMessage(IStoreTransaction transaction, MessageImpl message) + { + if (type == Type.QUEUE) + { + ServerConsumer consumer = consumers.element(); + if (consumer != null) + { + consumer.handleClientMessage(transaction, message); + } + } + else + { + ServerConsumer[] consumers = this.consumers.toArray(new ServerConsumer[0]); + for (ServerConsumer consumer : consumers) + { + consumer.handleClientMessage(transaction, message); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerSession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerSession.java new file mode 100644 index 0000000000..255c03ff26 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/ServerSession.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server; + +import org.eclipse.net4j.internal.jms.DestinationImpl; +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.jms.server.ISession; +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.jms.server.IStoreTransaction; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import java.text.MessageFormat; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @author Eike Stepper + */ +public class ServerSession extends Lifecycle implements ISession +{ + private ServerConnection connection; + + private int id; + + private ConcurrentMap<Long, ServerConsumer> consumers = new ConcurrentHashMap<Long, ServerConsumer>(); + + public ServerSession(ServerConnection connection, int id) + { + this.connection = connection; + this.id = id; + } + + public ServerConnection getConnection() + { + return connection; + } + + public int getID() + { + return id; + } + + public long registerConsumer(DestinationImpl dest, String messageSelector, boolean noLocal, boolean durable) + { + Server server = connection.getServer(); + String name = dest.getName(); + ServerDestination destination = server.getDestination(name); + if (destination == null) + { + OM.LOG.error(MessageFormat.format(Messages.getString("ServerSession_0"), name)); //$NON-NLS-1$ + return -1; + } + + ServerConsumer consumer = server.createConsumer(destination, messageSelector, noLocal, durable); + consumer.setSession(this); + consumers.put(consumer.getID(), consumer); + destination.addConsumer(consumer); + return consumer.getID(); + } + + public void handleAcknowledge() + { + IStore store = connection.getServer().getStore(); + IStoreTransaction transaction = store.startTransaction(); + handleAcknowledgeInTransaction(transaction); + store.commitTransaction(transaction); + } + + public void handleAcknowledgeInTransaction(IStoreTransaction transaction) + { + for (ServerConsumer consumer : consumers.values()) + { + consumer.handleAcknowledge(transaction); + } + } + + public void handleRecover() + { + IStore store = connection.getServer().getStore(); + IStoreTransaction transaction = store.startTransaction(); + Collection<ServerConsumer> values = consumers.values(); + for (ServerConsumer consumer : values) + { + consumer.handleRecover(transaction); + } + + store.commitTransaction(transaction); + } + + public String[] handleCommit(MessageImpl[] messages) + { + Server server = connection.getServer(); + IStore store = server.getStore(); + + IStoreTransaction transaction = store.startTransaction(); + handleAcknowledgeInTransaction(transaction); + String[] messageIDs = server.handleClientMessagesInTransaction(transaction, messages); + store.commitTransaction(transaction); + + return messageIDs; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/bundle/OM.java new file mode 100644 index 0000000000..0dc7a59890 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/bundle/OM.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.bundle; + +import org.eclipse.net4j.jms.internal.server.Server; +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.jms.server"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_PROTOCOL = DEBUG.tracer("protocol"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_STORE = DEBUG.tracer("store"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + static void start() throws Exception + { + Server.INSTANCE.activate(); + } + + static void stop() throws Exception + { + Server.INSTANCE.deactivate(); + } + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/messages/Messages.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/messages/Messages.java new file mode 100644 index 0000000000..9dc5329eb5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/messages/Messages.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Victor Roldan Betancort - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.net4j.jms.internal.server.messages; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * @author Victor Roldan Betancort + */ +public class Messages +{ + private static final String BUNDLE_NAME = "org.eclipse.net4j.jms.internal.server.messages.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/messages/messages.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/messages/messages.properties new file mode 100644 index 0000000000..0755149def --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/messages/messages.properties @@ -0,0 +1,17 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Victor Roldan Betancort - initial API and implementation +# Eike Stepper - maintenance + +JMSAcknowledgeIndication_0=Session {0} not found. Acknowledgement discarded. +JMSCommitIndication_0=Session {0} not found +JMSLogonIndication_0=Access to JMS server denied +JMSRecoverIndication_0=Session {0} not found +JMSRollbackIndication_0=Session {0} not found +Server.3=Invalid destination: +ServerSession_0=Destination not found: {0} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSAcknowledgeIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSAcknowledgeIndication.java new file mode 100644 index 0000000000..d79d8ed15c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSAcknowledgeIndication.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.ServerSession; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +import java.text.MessageFormat; + +/** + * @author Eike Stepper + */ +public class JMSAcknowledgeIndication extends Indication +{ + public JMSAcknowledgeIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_ACKNOWLEDGE); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + ServerSession session = connection.getSession(sessionID); + if (session == null) + { + OM.LOG.info(MessageFormat.format(Messages.getString("JMSAcknowledgeIndication_0"), sessionID)); //$NON-NLS-1$ + return; + } + + session.handleAcknowledge(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSClientMessageIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSClientMessageIndication.java new file mode 100644 index 0000000000..e31cd262d2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSClientMessageIndication.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.Server; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSClientMessageIndication extends IndicationWithResponse +{ + private String messageID; + + public JMSClientMessageIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_CLIENT_MESSAGE); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + MessageImpl[] messages = { MessageUtil.read(in) }; + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + Server server = connection.getServer(); + String[] ids = server.handleClientMessages(messages); + if (ids != null && ids.length != 0) + { + messageID = ids[0]; + } + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeString(messageID); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSCommitIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSCommitIndication.java new file mode 100644 index 0000000000..6c11c01189 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSCommitIndication.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.ServerSession; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.text.MessageFormat; + +/** + * @author Eike Stepper + */ +public class JMSCommitIndication extends IndicationWithResponse +{ + private String[] messageIDs; + + public JMSCommitIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_COMMIT); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + int size = in.readInt(); + MessageImpl[] messages = new MessageImpl[size]; + for (int i = 0; i < messages.length; i++) + { + messages[i] = MessageUtil.read(in); + } + + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + ServerSession session = connection.getSession(sessionID); + if (session == null) + { + OM.LOG.warn(MessageFormat.format(Messages.getString("JMSCommitIndication_0"), sessionID)); //$NON-NLS-1$ + return; + } + + messageIDs = session.handleCommit(messages); + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + if (messageIDs == null) + { + out.writeInt(-1); + } + else + { + out.writeInt(messageIDs.length); + for (String messageID : messageIDs) + { + out.writeString(messageID); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSLogonIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSLogonIndication.java new file mode 100644 index 0000000000..849b7efa83 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSLogonIndication.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.Server; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSLogonIndication extends IndicationWithResponse +{ + private boolean ok; + + public JMSLogonIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_LOGON); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + String userName = in.readString(); + String password = in.readString(); + ServerConnection connection = Server.INSTANCE.logon(userName, password); + if (connection == null) + { + OM.LOG.error(Messages.getString("JMSLogonIndication_0")); //$NON-NLS-1$ + return; + } + + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + connection.setProtocol(protocol); + protocol.setInfraStructure(connection); + ok = true; + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(ok); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSOpenSessionIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSOpenSessionIndication.java new file mode 100644 index 0000000000..080d003211 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSOpenSessionIndication.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.ServerSession; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSOpenSessionIndication extends IndicationWithResponse +{ + private boolean ok; + + public JMSOpenSessionIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_OPEN_SESSION); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + ServerSession session = connection.openSession(sessionID); + if (session != null) + { + ok = true; + } + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(ok); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRecoverIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRecoverIndication.java new file mode 100644 index 0000000000..8b4ec05341 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRecoverIndication.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.ServerSession; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.text.MessageFormat; + +/** + * @author Eike Stepper + */ +public class JMSRecoverIndication extends IndicationWithResponse +{ + public JMSRecoverIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_RECOVER); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + ServerSession session = connection.getSession(sessionID); + if (session == null) + { + OM.LOG.warn(MessageFormat.format(Messages.getString("JMSRecoverIndication_0"), sessionID)); //$NON-NLS-1$ + return; + } + + session.handleRecover(); + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRegisterConsumerIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRegisterConsumerIndication.java new file mode 100644 index 0000000000..658aaec0f9 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRegisterConsumerIndication.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.internal.jms.DestinationImpl; +import org.eclipse.net4j.internal.jms.util.DestinationUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.ServerSession; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSRegisterConsumerIndication extends IndicationWithResponse +{ + private long consumerID; + + public JMSRegisterConsumerIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_REGISTER_CONSUMER); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + DestinationImpl destination = DestinationUtil.read(in); + String messageSelector = in.readString(); + boolean noLocal = in.readBoolean(); + boolean durable = in.readBoolean(); + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + ServerSession session = connection.getSession(sessionID); + consumerID = session.registerConsumer(destination, messageSelector, noLocal, durable); + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(consumerID); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRollbackIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRollbackIndication.java new file mode 100644 index 0000000000..f801774ac1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSRollbackIndication.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.jms.internal.server.ServerSession; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.internal.server.messages.Messages; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.text.MessageFormat; + +/** + * @author Eike Stepper + */ +public class JMSRollbackIndication extends IndicationWithResponse +{ + public JMSRollbackIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_ROLLBACK); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + JMSServerProtocol protocol = (JMSServerProtocol)getProtocol(); + ServerConnection connection = protocol.getInfraStructure(); + ServerSession session = connection.getSession(sessionID); + if (session == null) + { + OM.LOG.warn(MessageFormat.format(Messages.getString("JMSRollbackIndication_0"), sessionID)); //$NON-NLS-1$ + return; + } + + session.handleRecover(); + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(true); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerMessageRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerMessageRequest.java new file mode 100644 index 0000000000..24f50d231b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerMessageRequest.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSServerMessageRequest extends Request +{ + private int sessionID; + + private long consumerID; + + private MessageImpl message; + + public JMSServerMessageRequest(JMSServerProtocol protocol, int sessionID, long consumerID, MessageImpl message) + { + super(protocol, JMSProtocolConstants.SIGNAL_SERVER_MESSAGE); + this.sessionID = sessionID; + this.consumerID = consumerID; + this.message = message; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + out.writeLong(consumerID); + MessageUtil.write(out, message); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerProtocol.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerProtocol.java new file mode 100644 index 0000000000..2f5f9be1e2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerProtocol.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.jms.internal.server.ServerConnection; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.signal.SignalReactor; + +/** + * @author Eike Stepper + */ +public class JMSServerProtocol extends SignalProtocol<ServerConnection> +{ + public JMSServerProtocol() + { + super(JMSProtocolConstants.PROTOCOL_NAME); + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + switch (signalID) + { + case JMSProtocolConstants.SIGNAL_SYNC: + return new JMSSyncIndication(this); + + case JMSProtocolConstants.SIGNAL_LOGON: + return new JMSLogonIndication(this); + + case JMSProtocolConstants.SIGNAL_OPEN_SESSION: + return new JMSOpenSessionIndication(this); + + case JMSProtocolConstants.SIGNAL_REGISTER_CONSUMER: + return new JMSRegisterConsumerIndication(this); + + case JMSProtocolConstants.SIGNAL_CLIENT_MESSAGE: + return new JMSClientMessageIndication(this); + + case JMSProtocolConstants.SIGNAL_ACKNOWLEDGE: + return new JMSAcknowledgeIndication(this); + + case JMSProtocolConstants.SIGNAL_RECOVER: + return new JMSRecoverIndication(this); + + case JMSProtocolConstants.SIGNAL_COMMIT: + return new JMSCommitIndication(this); + + case JMSProtocolConstants.SIGNAL_ROLLBACK: + return new JMSRollbackIndication(this); + + default: + return super.createSignalReactor(signalID); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerProtocolFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerProtocolFactory.java new file mode 100644 index 0000000000..068a09211f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSServerProtocolFactory.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.util.container.IManagedContainer; + +import org.eclipse.spi.net4j.ServerProtocolFactory; + +/** + * @author Eike Stepper + */ +public final class JMSServerProtocolFactory extends ServerProtocolFactory +{ + public static final String TYPE = JMSProtocolConstants.PROTOCOL_NAME; + + public JMSServerProtocolFactory() + { + super(TYPE); + } + + public JMSServerProtocol create(String description) + { + return new JMSServerProtocol(); + } + + public static JMSServerProtocol get(IManagedContainer container, String description) + { + return (JMSServerProtocol)container.getElement(PRODUCT_GROUP, TYPE, description); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSSyncIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSSyncIndication.java new file mode 100644 index 0000000000..9260ed6381 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/JMSSyncIndication.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSSyncIndication extends IndicationWithResponse +{ + public JMSSyncIndication(JMSServerProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_SYNC); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeLong(System.currentTimeMillis()); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSAdminServerProtocol.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSAdminServerProtocol.java new file mode 100644 index 0000000000..7fbeccd8dd --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSAdminServerProtocol.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol.admin; + +import org.eclipse.net4j.jms.JMSAdminProtocolConstants; +import org.eclipse.net4j.jms.server.IServer; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.signal.SignalReactor; + +/** + * @author Eike Stepper + */ +public class JMSAdminServerProtocol extends SignalProtocol<Object> +{ + public JMSAdminServerProtocol() + { + super(JMSAdminProtocolConstants.PROTOCOL_NAME); + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + switch (signalID) + { + case JMSAdminProtocolConstants.SIGNAL_CREATE_DESTINATION: + return new JMSCreateDestinationIndication(this); + + default: + return super.createSignalReactor(signalID); + } + } + + public IServer getServer() + { + return IServer.INSTANCE; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSAdminServerProtocolFactory.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSAdminServerProtocolFactory.java new file mode 100644 index 0000000000..1351ac0793 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSAdminServerProtocolFactory.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol.admin; + +import org.eclipse.net4j.jms.JMSAdminProtocolConstants; +import org.eclipse.net4j.util.container.IManagedContainer; + +import org.eclipse.spi.net4j.ServerProtocolFactory; + +/** + * @author Eike Stepper + */ +public final class JMSAdminServerProtocolFactory extends ServerProtocolFactory +{ + public static final String TYPE = JMSAdminProtocolConstants.PROTOCOL_NAME; + + public JMSAdminServerProtocolFactory() + { + super(TYPE); + } + + public JMSAdminServerProtocol create(String description) + { + return new JMSAdminServerProtocol(); + } + + public static JMSAdminServerProtocol get(IManagedContainer container, String description) + { + return (JMSAdminServerProtocol)container.getElement(PRODUCT_GROUP, TYPE, description); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSCreateDestinationIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSCreateDestinationIndication.java new file mode 100644 index 0000000000..89bbd3539e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/protocol/admin/JMSCreateDestinationIndication.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.protocol.admin; + +import org.eclipse.net4j.jms.JMSAdminProtocolConstants; +import org.eclipse.net4j.jms.server.IDestination; +import org.eclipse.net4j.jms.server.IDestination.Type; +import org.eclipse.net4j.jms.server.IServer; +import org.eclipse.net4j.signal.IndicationWithResponse; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSCreateDestinationIndication extends IndicationWithResponse +{ + private boolean ok; + + public JMSCreateDestinationIndication(JMSAdminServerProtocol protocol) + { + super(protocol, JMSAdminProtocolConstants.SIGNAL_CREATE_DESTINATION); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + byte type = in.readByte(); + String name = in.readString(); + JMSAdminServerProtocol protocol = (JMSAdminServerProtocol)getProtocol(); + IServer server = protocol.getServer(); + IDestination destination = server.createDestination(name, getDestinationType(type)); + if (destination != null) + { + ok = true; + } + } + + @Override + protected void responding(ExtendedDataOutputStream out) throws Exception + { + out.writeBoolean(ok); + } + + private Type getDestinationType(byte type) + { + switch (type) + { + case JMSAdminProtocolConstants.DESTINATION_TYPE_QUEUE: + return IDestination.Type.QUEUE; + case JMSAdminProtocolConstants.DESTINATION_TYPE_TOPIC: + return IDestination.Type.TOPIC; + } + + throw new IllegalArgumentException("type: " + type); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/AbstractStore.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/AbstractStore.java new file mode 100644 index 0000000000..49fc030b0f --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/AbstractStore.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.store; + +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +/** + * @author Eike Stepper + */ +public abstract class AbstractStore extends Lifecycle implements IStore +{ + private String storeType; + + private String instanceID; + + public AbstractStore(String storeType) + { + this.storeType = storeType; + } + + public String getStoreType() + { + return storeType; + } + + public String getInstanceID() + { + return instanceID; + } + + public void setInstanceID(String instanceID) + { + this.instanceID = instanceID; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/AbstractTransaction.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/AbstractTransaction.java new file mode 100644 index 0000000000..cf4c883e4e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/AbstractTransaction.java @@ -0,0 +1,230 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.store; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.jms.internal.server.ServerConsumer; +import org.eclipse.net4j.jms.internal.server.ServerDestination; +import org.eclipse.net4j.jms.internal.server.bundle.OM; +import org.eclipse.net4j.jms.server.IDestination; +import org.eclipse.net4j.jms.server.IServerConsumer; +import org.eclipse.net4j.jms.server.IStoreTransaction; +import org.eclipse.net4j.util.om.trace.ContextTracer; + +import javax.jms.Message; + +/** + * @author Eike Stepper + */ +public abstract class AbstractTransaction implements IStoreTransaction +{ + public static final String[] NO_DESTINATION_NAMES = new String[0]; + + public static final long[] NO_CONSUMER_IDS = new long[0]; + + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_STORE, AbstractTransaction.class); + + private AbstractStore store; + + public AbstractTransaction(AbstractStore store) + { + this.store = store; + } + + public AbstractStore getStore() + { + return store; + } + + public String[] getDestinationNames() + { + if (TRACER.isEnabled()) + { + TRACER.trace("Getting destination names"); //$NON-NLS-1$ + } + + String[] names = doGetDestinationNames(); + if (TRACER.isEnabled()) + { + TRACER.trace("Got destination names " + names); //$NON-NLS-1$ + } + + return names; + } + + public ServerDestination getDestination(String name) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Getting destination " + name); //$NON-NLS-1$ + } + + ServerDestination destination = doGetDestination(name); + if (TRACER.isEnabled()) + { + TRACER.trace("Got destination " + destination); //$NON-NLS-1$ + } + + return destination; + } + + public long[] getConsumerIDs() + { + if (TRACER.isEnabled()) + { + TRACER.trace("Getting consumer IDs"); //$NON-NLS-1$ + } + + long[] ids = doGetConsumerIDs(); + if (TRACER.isEnabled()) + { + TRACER.trace("Got consumer IDs " + ids); //$NON-NLS-1$ + } + + return ids; + } + + public ServerConsumer getConsumer(long id) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Getting consumer " + id); //$NON-NLS-1$ + } + + ServerConsumer consumer = doGetConsumer(id); + if (TRACER.isEnabled()) + { + TRACER.trace("Got consumer " + consumer); //$NON-NLS-1$ + } + + return consumer; + } + + public void destinationAdded(IDestination destination) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Adding destination " + destination); //$NON-NLS-1$ + } + + doDestinationAdded((ServerDestination)destination); + if (TRACER.isEnabled()) + { + TRACER.trace("Added destination " + destination); //$NON-NLS-1$ + } + } + + public void destinationRemoved(IDestination destination) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Removing destination " + destination); //$NON-NLS-1$ + } + + doDestinationRemoved((ServerDestination)destination); + if (TRACER.isEnabled()) + { + TRACER.trace("Removed destination " + destination); //$NON-NLS-1$ + } + } + + public void consumerAdded(IServerConsumer consumer) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Adding consumer " + consumer); //$NON-NLS-1$ + } + + doConsumerAdded((ServerConsumer)consumer); + if (TRACER.isEnabled()) + { + TRACER.trace("Added consumer " + consumer); //$NON-NLS-1$ + } + } + + public void consumerRemoved(IServerConsumer consumer) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Removing consumer " + consumer); //$NON-NLS-1$ + } + + doConsumerRemoved((ServerConsumer)consumer); + if (TRACER.isEnabled()) + { + TRACER.trace("Removed consumer " + consumer); //$NON-NLS-1$ + } + } + + public void messageReceived(Message message) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Logging received message " + message); //$NON-NLS-1$ + } + + doMessageReceived((MessageImpl)message); + if (TRACER.isEnabled()) + { + TRACER.trace("Logged received message " + message); //$NON-NLS-1$ + } + } + + public void messageSent(Message message, long consumerID) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Logging sent message " + message); //$NON-NLS-1$ + } + + doMessageSent((MessageImpl)message, consumerID); + if (TRACER.isEnabled()) + { + TRACER.trace("Logged sent message " + message); //$NON-NLS-1$ + } + } + + public void messageAcknowledged(Message message, long consumerID) + { + if (TRACER.isEnabled()) + { + TRACER.trace("Logging acknowledged message " + message); //$NON-NLS-1$ + } + + doMessageAcknowledged((MessageImpl)message, consumerID); + if (TRACER.isEnabled()) + { + TRACER.trace("Logged acknowledged message " + message); //$NON-NLS-1$ + } + } + + protected abstract String[] doGetDestinationNames(); + + protected abstract ServerDestination doGetDestination(String name); + + protected abstract long[] doGetConsumerIDs(); + + protected abstract ServerConsumer doGetConsumer(long id); + + protected abstract void doDestinationAdded(ServerDestination destination); + + protected abstract void doDestinationRemoved(ServerDestination destination); + + protected abstract void doConsumerAdded(ServerConsumer consumer); + + protected abstract void doConsumerRemoved(ServerConsumer consumer); + + protected abstract void doMessageReceived(MessageImpl message); + + protected abstract void doMessageSent(MessageImpl message, long consumerID); + + protected abstract void doMessageAcknowledged(MessageImpl message, long consumerID); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/NOOPStore.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/NOOPStore.java new file mode 100644 index 0000000000..f149857ce3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/NOOPStore.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.store; + +import org.eclipse.net4j.jms.server.IStoreTransaction; + +/** + * @author Eike Stepper + */ +public class NOOPStore extends AbstractStore +{ + private static final String STORE_TYPE = "NOOP"; //$NON-NLS-1$ + + public NOOPStore() + { + super(STORE_TYPE); + setInstanceID(STORE_TYPE); + } + + public IStoreTransaction startTransaction() + { + return new NOOPTransaction(this); + } + + public void commitTransaction(IStoreTransaction transaction) + { + } + + public void rollbackTransaction(IStoreTransaction transaction) + { + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/NOOPTransaction.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/NOOPTransaction.java new file mode 100644 index 0000000000..1e99f31740 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/NOOPTransaction.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.store; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.jms.internal.server.ServerConsumer; +import org.eclipse.net4j.jms.internal.server.ServerDestination; + +/** + * @author Eike Stepper + */ +public class NOOPTransaction extends AbstractTransaction +{ + public NOOPTransaction(AbstractStore store) + { + super(store); + } + + @Override + protected String[] doGetDestinationNames() + { + return NO_DESTINATION_NAMES; + } + + @Override + protected ServerDestination doGetDestination(String name) + { + return null; + } + + @Override + protected long[] doGetConsumerIDs() + { + return NO_CONSUMER_IDS; + } + + @Override + protected ServerConsumer doGetConsumer(long id) + { + return null; + } + + @Override + protected void doDestinationAdded(ServerDestination destination) + { + } + + @Override + protected void doDestinationRemoved(ServerDestination destination) + { + } + + @Override + protected void doConsumerAdded(ServerConsumer consumer) + { + } + + @Override + protected void doConsumerRemoved(ServerConsumer consumer) + { + } + + @Override + protected void doMessageReceived(MessageImpl message) + { + } + + @Override + protected void doMessageSent(MessageImpl message, long consumerID) + { + } + + @Override + protected void doMessageAcknowledged(MessageImpl message, long consumerID) + { + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/StoreException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/StoreException.java new file mode 100644 index 0000000000..a26ac8d570 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/internal/server/store/StoreException.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.internal.server.store; + +/** + * @author Eike Stepper + */ +public class StoreException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public StoreException() + { + } + + public StoreException(String message) + { + super(message); + } + + public StoreException(Throwable cause) + { + super(cause); + } + + public StoreException(String message, Throwable cause) + { + super(message, cause); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IConnection.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IConnection.java new file mode 100644 index 0000000000..92e6cb9abf --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IConnection.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +/** + * @author Eike Stepper + */ +public interface IConnection +{ + public IServer getServer(); + + public String getUserName(); + + public ISession openSession(int sessionID); + + public ISession getSession(int sessionID); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IDestination.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IDestination.java new file mode 100644 index 0000000000..860dbe1699 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IDestination.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +/** + * @author Eike Stepper + */ +public interface IDestination +{ + public String getName(); + + public Type getType(); + + /** + * @author Eike Stepper + */ + public enum Type + { + QUEUE, TOPIC; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IServer.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IServer.java new file mode 100644 index 0000000000..1123120044 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IServer.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +import org.eclipse.net4j.jms.internal.server.Server; + +/** + * @author Eike Stepper + */ +public interface IServer +{ + public static final IServer INSTANCE = Server.INSTANCE; + + public IDestination createDestination(String name, IDestination.Type type); + + public IConnection logon(String userName, String password); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IServerConsumer.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IServerConsumer.java new file mode 100644 index 0000000000..401941ddc2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IServerConsumer.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +import org.eclipse.net4j.protocol.IProtocol; + +/** + * @author Eike Stepper + * @since 2.0 + */ +public interface IServerConsumer +{ + public long getID(); + + public IDestination getDestination(); + + public String getMessageSelector(); + + public ISession getSession(); + + public IProtocol<?> getProtocol(); + + public boolean isNoLocal(); + + public boolean isDurable(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/ISession.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/ISession.java new file mode 100644 index 0000000000..d90a2eb53e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/ISession.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +/** + * @author Eike Stepper + */ +public interface ISession +{ + public IConnection getConnection(); + + public int getID(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IStore.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IStore.java new file mode 100644 index 0000000000..8320f3a822 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IStore.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +/** + * @author Eike Stepper + */ +public interface IStore +{ + public String getStoreType(); + + public String getInstanceID(); + + public IStoreTransaction startTransaction(); + + public void commitTransaction(IStoreTransaction transaction); + + public void rollbackTransaction(IStoreTransaction transaction); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IStoreTransaction.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IStoreTransaction.java new file mode 100644 index 0000000000..0c541b4e1b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/IStoreTransaction.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +import javax.jms.Message; + +/** + * @author Eike Stepper + */ +public interface IStoreTransaction +{ + public String[] getDestinationNames(); + + /** + * @since 2.0 + */ + public IDestination getDestination(String name); + + public long[] getConsumerIDs(); + + /** + * @since 2.0 + */ + public IServerConsumer getConsumer(long id); + + /** + * @since 2.0 + */ + public void destinationAdded(IDestination destination); + + /** + * @since 2.0 + */ + public void destinationRemoved(IDestination destination); + + /** + * @since 2.0 + */ + public void consumerAdded(IServerConsumer consumer); + + /** + * @since 2.0 + */ + public void consumerRemoved(IServerConsumer consumer); + + /** + * @since 2.0 + */ + public void messageReceived(Message message); + + /** + * @since 2.0 + */ + public void messageSent(Message message, long consumerID); + + /** + * @since 2.0 + */ + public void messageAcknowledged(Message message, long consumerID); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/JMSServerUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/JMSServerUtil.java new file mode 100644 index 0000000000..70d000e798 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.server/src/org/eclipse/net4j/jms/server/JMSServerUtil.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.server; + +import org.eclipse.net4j.jms.internal.server.protocol.JMSServerProtocolFactory; +import org.eclipse.net4j.jms.internal.server.protocol.admin.JMSAdminServerProtocolFactory; +import org.eclipse.net4j.jms.internal.server.store.NOOPStore; +import org.eclipse.net4j.util.container.IManagedContainer; + +/** + * @author Eike Stepper + */ +public final class JMSServerUtil +{ + private JMSServerUtil() + { + } + + public static void prepareContainer(IManagedContainer container) + { + container.registerFactory(new JMSServerProtocolFactory()); + container.registerFactory(new JMSAdminServerProtocolFactory()); + } + + public static IStore createNOOPStore() + { + return new NOOPStore(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.project b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.project new file mode 100644 index 0000000000..417871d1db --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.jms.tests</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..73cb07cd04 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:55:53 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..943e40043d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.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=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..fe4c748ace --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..4fc4ff0069 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Warning +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/JMSSeparatedTest.launch b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/JMSSeparatedTest.launch new file mode 100644 index 0000000000..b1506d86da --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/JMSSeparatedTest.launch @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/org.eclipse.net4j.jms.tests/src/org/eclipse/net4j/jms/tests/JMSSeparatedTest.java"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.net4j.jms.tests.JMSSeparatedTest"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.net4j.jms.tests"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.naming.factory.initial=com.sun.jndi.rmi.registry.RegistryContextFactory -Djava.naming.provider.url=rmi://localhost:1199 -Dnet4j.config=config"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/JMSTest.launch b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/JMSTest.launch new file mode 100644 index 0000000000..202d555696 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/JMSTest.launch @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/org.eclipse.net4j.jms.tests/src/org/eclipse/net4j/jms/tests/JMSTest.java"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.net4j.jms.tests.JMSTest"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.net4j.jms.tests"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.naming.factory.initial=com.sun.jndi.rmi.registry.RegistryContextFactory -Djava.naming.provider.url=rmi://localhost:1199 -Dnet4j.config=config"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..825babc063 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.net4j.jms.tests +Bundle-Version: 4.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-ClassPath: . +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j.tcp;bundle-version="[4.0.0,5.0.0)", + org.eclipse.net4j.jms;bundle-version="[4.0.0,5.0.0)", + org.eclipse.net4j.jms.admin;bundle-version="[4.0.0,5.0.0)", + org.eclipse.net4j.jms.server;bundle-version="[4.0.0,5.0.0)", + org.eclipse.net4j.jms.server.jdbc;bundle-version="[4.0.0,5.0.0)" +Import-Package: javax.jms;version="[1.1.0,2.0.0)", + org.eclipse.net4j.db.derby;version="[4.0.0,5.0.0)" +Export-Package: org.eclipse.net4j.jms.tests;version="4.0.0";x-internal:=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/RMIRegistry.launch b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/RMIRegistry.launch new file mode 100644 index 0000000000..ed57c0f7a4 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/RMIRegistry.launch @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"> +<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> +<mapAttribute key="org.eclipse.debug.core.environmentVariables"> +<mapEntry key="CLASSPATH" value="${workspace_loc}/org.eclipse.net4j.jms.api/lib/jms.jar;${workspace_loc}/org.eclipse.net4j.jms/bin"/> +</mapAttribute> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.ui.externaltools.launchGroup"/> +</listAttribute> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_property:java.home}/bin/rmiregistry.exe"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="1199"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.net4j.tests}"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/build.properties new file mode 100644 index 0000000000..809d1198ed --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/build.properties @@ -0,0 +1,26 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + about.html,\ + copyright.txt,\ + plugin.properties,\ + config/ +src.includes = about.html,\ + copyright.txt,\ + JMSSeparatedTest.launch,\ + JMSTest.launch,\ + RMIRegistry.launch + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/config/org.eclipse.net4j.jms.server.jdbc.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/config/org.eclipse.net4j.jms.server.jdbc.properties new file mode 100644 index 0000000000..644309a4db --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/config/org.eclipse.net4j.jms.server.jdbc.properties @@ -0,0 +1,15 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +store.instanceID = TEST0001 +store.dbAdapter = derby + +datasource.class = org.apache.derby.jdbc.EmbeddedDataSource +datasource.databaseName = C:/temp/jmsdb +datasource.createDatabase = create diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/plugin.properties new file mode 100644 index 0000000000..f71abbe0a6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j JMS Provider Tests (Experimental) +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/src/org/eclipse/net4j/jms/tests/JMSSeparatedTest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/src/org/eclipse/net4j/jms/tests/JMSSeparatedTest.java new file mode 100644 index 0000000000..0f84f27fb2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/src/org/eclipse/net4j/jms/tests/JMSSeparatedTest.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.tests; + +import org.eclipse.net4j.Net4jUtil; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.derby.EmbeddedDerbyAdapter; +import org.eclipse.net4j.jms.JMSInitialContext; +import org.eclipse.net4j.jms.admin.IJMSAdmin; +import org.eclipse.net4j.jms.admin.JMSAdminUtil; +import org.eclipse.net4j.jms.internal.server.Server; +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.jms.server.JMSServerUtil; +import org.eclipse.net4j.jms.server.jdbc.JDBCUtil; +import org.eclipse.net4j.tcp.TCPUtil; +import org.eclipse.net4j.util.concurrent.ConcurrencyUtil; +import org.eclipse.net4j.util.container.IManagedContainer; +import org.eclipse.net4j.util.container.ManagedContainer; +import org.eclipse.net4j.util.io.IOUtil; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.log.PrintLogHandler; +import org.eclipse.net4j.util.om.trace.PrintTraceHandler; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.ObjectMessage; +import javax.jms.Session; +import javax.naming.Context; +import javax.naming.NamingException; + +public class JMSSeparatedTest +{ + public static void main(String[] args) throws Exception + { + try + { + Context context = init(); + ConnectionFactory connectionFactory = (ConnectionFactory)context.lookup("net4j.jms.ConnectionFactory"); //$NON-NLS-1$ + Destination destination = (Destination)context.lookup("StockTopic"); //$NON-NLS-1$ + + Connection connection = connectionFactory.createConnection(); + Session session = connection.createSession(true, 0); + + MessageProducer publisher = session.createProducer(destination); + MessageConsumer subscriber1 = session.createConsumer(destination); + MessageConsumer subscriber2 = session.createConsumer(destination); + subscriber1.setMessageListener(new MessageLogger("subscriber1")); //$NON-NLS-1$ + subscriber2.setMessageListener(new MessageLogger("subscriber2")); //$NON-NLS-1$ + + connection.start(); + + publisher.send(session.createObjectMessage("Message 1")); //$NON-NLS-1$ + publisher.send(session.createObjectMessage("Message 2")); //$NON-NLS-1$ + publisher.send(session.createObjectMessage("Message 3")); //$NON-NLS-1$ + publisher.send(session.createObjectMessage("Message 4")); //$NON-NLS-1$ + + session.commit(); + } + finally + { + ConcurrencyUtil.sleep(500); + Server.INSTANCE.deactivate(); + } + } + + private static Context init() throws Exception + { + OMPlatform.INSTANCE.addLogHandler(PrintLogHandler.CONSOLE); + OMPlatform.INSTANCE.addTraceHandler(PrintTraceHandler.CONSOLE); + OMPlatform.INSTANCE.setDebugging(true); + + initServer(); + return initClient(); + } + + private static void initServer() throws Exception + { + IDBAdapter.REGISTRY.put(EmbeddedDerbyAdapter.NAME, new EmbeddedDerbyAdapter()); + IStore store = JDBCUtil.getStore(); + Server.INSTANCE.setStore(store); + Server.INSTANCE.activate(); + + IManagedContainer serverContainer = new ManagedContainer(); + Net4jUtil.prepareContainer(serverContainer); + TCPUtil.prepareContainer(serverContainer); + JMSServerUtil.prepareContainer(serverContainer); + + TCPUtil.getAcceptor(serverContainer, null); + } + + private static Context initClient() throws NamingException + { + IManagedContainer clientContainer = new ManagedContainer(); + Net4jUtil.prepareContainer(clientContainer); + TCPUtil.prepareContainer(clientContainer); + + IConnector connector = TCPUtil.getConnector(clientContainer, "localhost"); //$NON-NLS-1$ + + IJMSAdmin admin = JMSAdminUtil.createAdmin(connector); + admin.createQueue("StockQueue"); //$NON-NLS-1$ + admin.createTopic("StockTopic"); //$NON-NLS-1$ + + return new JMSInitialContext(clientContainer); + } + + /** + * @author Eike Stepper + */ + private static final class MessageLogger implements MessageListener + { + private String name; + + public MessageLogger(String name) + { + this.name = name; + } + + public void onMessage(Message message) + { + try + { + Object object = ((ObjectMessage)message).getObject(); + IOUtil.OUT().println("\n------> MESSAGE for " + name + ": " + object + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + message.acknowledge(); + } + catch (JMSException ex) + { + IOUtil.print(ex); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/src/org/eclipse/net4j/jms/tests/JMSTest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/src/org/eclipse/net4j/jms/tests/JMSTest.java new file mode 100644 index 0000000000..912c0a047b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms.tests/src/org/eclipse/net4j/jms/tests/JMSTest.java @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms.tests; + +import org.eclipse.net4j.Net4jUtil; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.derby.EmbeddedDerbyAdapter; +import org.eclipse.net4j.jms.JMSInitialContext; +import org.eclipse.net4j.jms.admin.IJMSAdmin; +import org.eclipse.net4j.jms.admin.JMSAdminUtil; +import org.eclipse.net4j.jms.internal.server.Server; +import org.eclipse.net4j.jms.server.IStore; +import org.eclipse.net4j.jms.server.JMSServerUtil; +import org.eclipse.net4j.jms.server.jdbc.JDBCUtil; +import org.eclipse.net4j.tcp.TCPUtil; +import org.eclipse.net4j.util.concurrent.ConcurrencyUtil; +import org.eclipse.net4j.util.container.IManagedContainer; +import org.eclipse.net4j.util.container.ManagedContainer; +import org.eclipse.net4j.util.io.IOUtil; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.log.PrintLogHandler; +import org.eclipse.net4j.util.om.trace.PrintTraceHandler; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.ObjectMessage; +import javax.jms.Session; +import javax.naming.Context; + +public class JMSTest +{ + public static void main(String[] args) throws Exception + { + try + { + Context context = init(); + ConnectionFactory connectionFactory = (ConnectionFactory)context.lookup("net4j.jms.ConnectionFactory"); //$NON-NLS-1$ + Destination destination = (Destination)context.lookup("StockTopic"); //$NON-NLS-1$ + + Connection connection = connectionFactory.createConnection(); + Session session = connection.createSession(true, 0); + + MessageProducer publisher = session.createProducer(destination); + MessageConsumer subscriber1 = session.createConsumer(destination); + MessageConsumer subscriber2 = session.createConsumer(destination); + subscriber1.setMessageListener(new MessageLogger("subscriber1")); //$NON-NLS-1$ + subscriber2.setMessageListener(new MessageLogger("subscriber2")); //$NON-NLS-1$ + + connection.start(); + + publisher.send(session.createObjectMessage("Message 1")); //$NON-NLS-1$ + publisher.send(session.createObjectMessage("Message 2")); //$NON-NLS-1$ + publisher.send(session.createObjectMessage("Message 3")); //$NON-NLS-1$ + publisher.send(session.createObjectMessage("Message 4")); //$NON-NLS-1$ + + session.commit(); + } + finally + { + ConcurrencyUtil.sleep(500); + Server.INSTANCE.deactivate(); + } + } + + private static Context init() throws Exception + { + OMPlatform.INSTANCE.addLogHandler(PrintLogHandler.CONSOLE); + OMPlatform.INSTANCE.addTraceHandler(PrintTraceHandler.CONSOLE); + OMPlatform.INSTANCE.setDebugging(true); + + IDBAdapter.REGISTRY.put(EmbeddedDerbyAdapter.NAME, new EmbeddedDerbyAdapter()); + IStore store = JDBCUtil.getStore(); + Server.INSTANCE.setStore(store); + Server.INSTANCE.activate(); + + IManagedContainer container = new ManagedContainer(); + Net4jUtil.prepareContainer(container); + TCPUtil.prepareContainer(container); + JMSServerUtil.prepareContainer(container); + + TCPUtil.getAcceptor(container, null); + IConnector connector = TCPUtil.getConnector(container, "localhost"); //$NON-NLS-1$ + + IJMSAdmin admin = JMSAdminUtil.createAdmin(connector); + admin.createQueue("StockQueue"); //$NON-NLS-1$ + admin.createTopic("StockTopic"); //$NON-NLS-1$ + + return new JMSInitialContext(container); + } + + /** + * @author Eike Stepper + */ + private static final class MessageLogger implements MessageListener + { + private String name; + + public MessageLogger(String name) + { + this.name = name; + } + + public void onMessage(Message message) + { + try + { + Object object = ((ObjectMessage)message).getObject(); + IOUtil.OUT().println("\n------> MESSAGE for " + name + ": " + object + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + message.acknowledge(); + } + catch (JMSException ex) + { + IOUtil.print(ex); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.classpath b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.classpath new file mode 100644 index 0000000000..64c5e31b7a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.options b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.options new file mode 100644 index 0000000000..f67a398eae --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.options @@ -0,0 +1,5 @@ +# Debugging and tracing options + +org.eclipse.net4j.jms/debug = true + +org.eclipse.net4j.jms/debug.protocol = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.project b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.project new file mode 100644 index 0000000000..0cb927d9c7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.project @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.net4j.jms</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> + <arguments> + <dictionary> + <key>release.path</key> + <value>/org.eclipse.emf.cdo.releng/release.xml</value> + </dictionary> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> + <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..6e23520ec5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Jul 04 12:53:34 CEST 2011 +eclipse.preferences.version=1 +encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b28293508e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,382 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.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=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +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=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=next_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=120 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=2 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=120 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=space +org.eclipse.jdt.core.formatter.tabulation.size=2 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000000..4343e2f963 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,119 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=true +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=true +cleanup.format_source_code=true +cleanup.format_source_code_changes_only=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=false +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_trailing_whitespaces=true +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_parentheses_in_expressions=true +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=_EMFT +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMFT +formatter_settings_version=12 +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=false +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Eike Stepper - initial API and implementation\r\n */</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author Eike Stepper\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=true +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=true +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.ltk.core.refactoring.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000000..864e30fe5d --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.mylyn.tasks.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000000..b050639a54 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 09:44:24 CET 2010 +eclipse.preferences.version=1 +project.repository.kind=bugzilla +project.repository.url=https\://bugs.eclipse.org/bugs diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.mylyn.team.ui.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.mylyn.team.ui.prefs new file mode 100644 index 0000000000..2f50f36c0c --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.mylyn.team.ui.prefs @@ -0,0 +1,3 @@ +#Thu Feb 04 09:44:24 CET 2010 +commit.comment.template=[${task.id}] ${task.description} \r\n${task.url} +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 0000000000..f8d0a0660e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,94 @@ +#Thu Feb 04 09:44:24 CET 2010 +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Error +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +FIELD_ELEMENT_TYPE_ADDED_VALUE=Error +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error +UNUSED_PROBLEM_FILTERS=Ignore +automatically_removed_unused_problem_filters=Disabled +eclipse.preferences.version=1 +incompatible_api_component_version=Error +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Error +malformed_since_tag=Error +missing_since_tag=Error +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.pde.prefs new file mode 100644 index 0000000000..c6b96bb45e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/.settings/org.eclipse.pde.prefs @@ -0,0 +1,31 @@ +#Thu Feb 04 09:44:24 CET 2010 +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=1 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.examples.installer/examples/jms/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..cd613307b6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.net4j.jms +Bundle-Version: 4.0.100.qualifier +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.net4j.internal.jms.bundle.OM$Activator +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-ClassPath: . +Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", + org.eclipse.net4j;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Import-Package: javax.jms;version="[1.1.0,2.0.0)" +Export-Package: org.eclipse.net4j.internal.jms;version="4.0.100", + org.eclipse.net4j.internal.jms.bundle;version="4.0.100";x-internal:=true, + org.eclipse.net4j.internal.jms.messages;version="4.0.100";x-internal:=true, + org.eclipse.net4j.internal.jms.protocol;version="4.0.100", + org.eclipse.net4j.internal.jms.util;version="4.0.100", + org.eclipse.net4j.jms;version="4.0.100" diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/about.html b/plugins/org.eclipse.net4j.examples.installer/examples/jms/about.html new file mode 100644 index 0000000000..d35d5aed64 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2007</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/build.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms/build.properties new file mode 100644 index 0000000000..152299f8f0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/build.properties @@ -0,0 +1,23 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +# NLS_MESSAGEFORMAT_VAR + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + .options,\ + about.html,\ + copyright.txt,\ + plugin.properties +src.includes = about.html,\ + copyright.txt + +generateSourceReferences = true diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/copyright.txt b/plugins/org.eclipse.net4j.examples.installer/examples/jms/copyright.txt new file mode 100644 index 0000000000..0a0f67e6d7 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/copyright.txt @@ -0,0 +1,8 @@ +Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: + Eike Stepper - initial API and implementation
\ No newline at end of file diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms/plugin.properties new file mode 100644 index 0000000000..152d1a6cba --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/plugin.properties @@ -0,0 +1,11 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j JMS Provider +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/BytesMessageImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/BytesMessageImpl.java new file mode 100644 index 0000000000..afffcf9636 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/BytesMessageImpl.java @@ -0,0 +1,185 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.BytesMessage; +import javax.jms.JMSException; +import javax.jms.Message; + +import java.io.IOException; + +public class BytesMessageImpl extends MessageImpl implements BytesMessage +{ + public long getBodyLength() + { + throw new NotYetImplementedException(); + } + + public boolean readBoolean() + { + throw new NotYetImplementedException(); + } + + public byte readByte() + { + throw new NotYetImplementedException(); + } + + public int readBytes(byte[] value) + { + throw new NotYetImplementedException(); + } + + public int readBytes(byte[] value, int length) + { + throw new NotYetImplementedException(); + } + + public char readChar() + { + throw new NotYetImplementedException(); + } + + public double readDouble() + { + throw new NotYetImplementedException(); + } + + public float readFloat() + { + throw new NotYetImplementedException(); + } + + public int readInt() + { + throw new NotYetImplementedException(); + } + + public long readLong() + { + throw new NotYetImplementedException(); + } + + public short readShort() + { + throw new NotYetImplementedException(); + } + + public String readUTF() + { + throw new NotYetImplementedException(); + } + + public int readUnsignedByte() + { + throw new NotYetImplementedException(); + } + + public int readUnsignedShort() + { + throw new NotYetImplementedException(); + } + + public void reset() + { + throw new NotYetImplementedException(); + } + + public void writeBoolean(boolean value) + { + throw new NotYetImplementedException(); + } + + public void writeByte(byte value) + { + throw new NotYetImplementedException(); + } + + public void writeBytes(byte[] value) + { + throw new NotYetImplementedException(); + } + + public void writeBytes(byte[] value, int offset, int length) + { + throw new NotYetImplementedException(); + } + + public void writeChar(char value) + { + throw new NotYetImplementedException(); + } + + public void writeDouble(double value) + { + throw new NotYetImplementedException(); + } + + public void writeFloat(float value) + { + throw new NotYetImplementedException(); + } + + public void writeInt(int value) + { + throw new NotYetImplementedException(); + } + + public void writeLong(long value) + { + throw new NotYetImplementedException(); + } + + public void writeObject(Object value) + { + throw new NotYetImplementedException(); + } + + public void writeShort(short value) + { + throw new NotYetImplementedException(); + } + + public void writeUTF(String value) + { + throw new NotYetImplementedException(); + } + + @Override + public void populate(Message source) throws JMSException + { + super.populate(source); + byte[] buffer = new byte[512]; + BytesMessage bytes = (BytesMessage)source; + + bytes.reset(); + int count; + while ((count = bytes.readBytes(buffer)) != -1) + { + writeBytes(buffer, 0, count); + } + } + + @Override + public void write(ExtendedDataOutputStream out) throws IOException + { + super.write(out); + } + + @Override + public void read(ExtendedDataInputStream in) throws IOException + { + super.read(in); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionFactoryImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionFactoryImpl.java new file mode 100644 index 0000000000..763a62e0f2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionFactoryImpl.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.util.container.IManagedContainer; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.JMSException; + +import java.io.Serializable; +import java.rmi.Remote; + +public class ConnectionFactoryImpl implements ConnectionFactory, Remote, Serializable +{ + private static final long serialVersionUID = 1L; + + private String connectorType; + + private String connectorDescription; + + private Object transportContainer; + + public ConnectionFactoryImpl(String connectorType, String connectorDescription) + { + this.connectorType = connectorType; + this.connectorDescription = connectorDescription; + } + + public String getConnectorType() + { + return connectorType; + } + + public String getConnectorDescription() + { + return connectorDescription; + } + + public Object getTransportContainer() + { + return transportContainer; + } + + public void setTransportContainer(Object transportContainer) + { + this.transportContainer = transportContainer; + } + + public Connection createConnection() throws JMSException + { + return createConnection(null, null); + } + + public Connection createConnection(String userName, String password) throws JMSException + { + return new ConnectionImpl((IManagedContainer)transportContainer, connectorType, connectorDescription, userName, + password); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionImpl.java new file mode 100644 index 0000000000..a4f30d9496 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionImpl.java @@ -0,0 +1,407 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.Net4jUtil; +import org.eclipse.net4j.channel.IChannel; +import org.eclipse.net4j.connector.IConnector; +import org.eclipse.net4j.internal.jms.bundle.OM; +import org.eclipse.net4j.internal.jms.messages.Messages; +import org.eclipse.net4j.internal.jms.protocol.JMSClientProtocol; +import org.eclipse.net4j.internal.jms.protocol.JMSLogonRequest; +import org.eclipse.net4j.internal.jms.protocol.JMSOpenSessionRequest; +import org.eclipse.net4j.jms.JMSUtil; +import org.eclipse.net4j.util.container.Container; +import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.net4j.util.container.IContainerDelta; +import org.eclipse.net4j.util.container.IContainerDelta.Kind; +import org.eclipse.net4j.util.container.IContainerEvent; +import org.eclipse.net4j.util.container.IManagedContainer; +import org.eclipse.net4j.util.container.LifecycleEventConverter; +import org.eclipse.net4j.util.container.SingleDeltaContainerEvent; +import org.eclipse.net4j.util.event.IListener; +import org.eclipse.net4j.util.lifecycle.ILifecycle; +import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter; + +import javax.jms.Connection; +import javax.jms.ConnectionConsumer; +import javax.jms.ConnectionMetaData; +import javax.jms.Destination; +import javax.jms.ExceptionListener; +import javax.jms.JMSException; +import javax.jms.ServerSessionPool; +import javax.jms.Session; +import javax.jms.Topic; + +import java.util.ArrayList; +import java.util.List; + +public class ConnectionImpl extends Container<Session> implements Connection +{ + private String connectorType; + + private String connectorDescription; + + private String userName; + + private String password; + + private ExceptionListener exceptionListener; + + private String clientID; + + private ConnectionMetaData metaData = new ConnectionMetaDataImpl(this); + + private long sendTimeout = 2500; + + private IManagedContainer transportContainer; + + private JMSClientProtocol protocol; + + private List<SessionImpl> sessions = new ArrayList<SessionImpl>(0); + + private transient IListener sessionListener = new LifecycleEventConverter<Session>(this) + { + @Override + protected IContainerEvent<Session> createContainerEvent(IContainer<Session> container, Session element, Kind kind) + { + if (kind == IContainerDelta.Kind.REMOVED) + { + removeSession((SessionImpl)element); + } + + return new SingleDeltaContainerEvent<Session>(container, element, kind); + } + }; + + private transient IListener channelListener = new LifecycleEventAdapter() + { + @Override + protected void onDeactivated(ILifecycle lifecycle) + { + close(); + } + }; + + private boolean modified; + + private boolean stopped = true; + + public ConnectionImpl(IManagedContainer transportContainer, String connectorType, String connectorDescription, + String userName, String password) throws JMSException + { + this.transportContainer = transportContainer == null ? JMSUtil.getTransportContainer() : transportContainer; + if (transportContainer == null) + { + throw new JMSException(Messages.getString("ConnectionImpl_0")); //$NON-NLS-1$ + } + + this.connectorType = connectorType; + this.connectorDescription = connectorDescription; + this.userName = userName; + this.password = password; + + IConnector connector = Net4jUtil.getConnector(transportContainer, connectorType, connectorDescription); + JMSClientProtocol protocol = new JMSClientProtocol(this); + IChannel channel = protocol.open(connector); + channel.addListener(channelListener); + + try + { + if (!new JMSLogonRequest(protocol, userName, password).send()) + { + throw new JMSException(Messages.getString("ConnectionImpl_1")); //$NON-NLS-1$ + } + } + catch (JMSException ex) + { + throw ex; + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + } + + public ConnectionConsumer createConnectionConsumer(Destination destination, String messageSelector, + ServerSessionPool sessionPool, int maxMessages) + { + throw new UnsupportedOperationException(); + } + + public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String subscriptionName, + String messageSelector, ServerSessionPool sessionPool, int maxMessages) + { + throw new UnsupportedOperationException(); + } + + public Session createSession(boolean transacted, int acknowledgeMode) throws JMSException + { + ensureOpen(); + setModified(); + int sessionID = findFreeSessionID(); + SessionImpl session = new SessionImpl(this, sessionID, transacted, acknowledgeMode); + addSession(session); + + try + { + if (!new JMSOpenSessionRequest(protocol, sessionID).send()) + { + throw new JMSException(Messages.getString("ConnectionImpl_2")); //$NON-NLS-1$ + } + } + catch (JMSException ex) + { + throw ex; + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + + return session; + } + + public IManagedContainer getTransportContainer() + { + return transportContainer; + } + + public String getConnectorType() + { + return connectorType; + } + + public String getConnectorDescription() + { + return connectorDescription; + } + + public String getUserName() + { + return userName; + } + + public String getPassword() + { + return password; + } + + public ConnectionMetaData getMetaData() + { + ensureOpen(); + setModified(); + return metaData; + } + + public String getClientID() + { + ensureOpen(); + setModified(); + return clientID; + } + + public void setClientID(String clientID) + { + ensureOpen(); + if (clientID != null) + { + throw new IllegalStateException("clientID != null"); //$NON-NLS-1$ + } + + if (modified) + { + throw new IllegalStateException("modified == true"); //$NON-NLS-1$ + } + + this.clientID = clientID; + } + + public ExceptionListener getExceptionListener() + { + ensureOpen(); + setModified(); + return exceptionListener; + } + + public void setExceptionListener(ExceptionListener listener) + { + ensureOpen(); + setModified(); + exceptionListener = listener; + } + + public long getSendTimeout() + { + return sendTimeout; + } + + public void setSendTimeout(long sendTimeout) + { + this.sendTimeout = sendTimeout; + } + + public synchronized void start() throws JMSException + { + ensureOpen(); + setModified(); + if (stopped) + { + for (SessionImpl session : getSessions()) + { + try + { + session.activate(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + throw new JMSException(ex.getMessage()); + } + } + + stopped = false; + } + } + + public synchronized void stop() + { + ensureOpen(); + setModified(); + if (!stopped) + { + for (SessionImpl session : getSessions()) + { + session.deactivate(); + } + + stopped = true; + } + } + + public synchronized void close() + { + if (protocol != null) + { + stop(); + for (SessionImpl session : getSessions()) + { + session.close(); + } + + protocol.getChannel().removeListener(channelListener); + protocol.close(); + protocol = null; + } + } + + /** + * @since 2.0 + */ + public JMSClientProtocol getProtocol() + { + return protocol; + } + + public void handleMessageFromSignal(int sessionID, long consumerID, MessageImpl message) + { + SessionImpl session = sessions.get(sessionID); + session.handleServerMessage(consumerID, message); + } + + public SessionImpl[] getSessions() + { + List<SessionImpl> result = new ArrayList<SessionImpl>(sessions.size()); + synchronized (sessions) + { + for (SessionImpl session : sessions) + { + if (session != null) + { + result.add(session); + } + } + } + + return result.toArray(new SessionImpl[result.size()]); + } + + public Session[] getElements() + { + return getSessions(); + } + + @Override + public boolean isEmpty() + { + return getSessions().length == 0; + } + + private int findFreeSessionID() + { + synchronized (sessions) + { + int size = sessions.size(); + for (int i = 0; i < size; i++) + { + if (sessions.get(i) == null) + { + return i; + } + } + + return size; + } + } + + private void addSession(SessionImpl session) + { + synchronized (sessions) + { + int sessionID = session.getID(); + while (sessionID >= sessions.size()) + { + sessions.add(null); + } + + sessions.set(sessionID, session); + } + } + + private boolean removeSession(SessionImpl session) + { + synchronized (sessions) + { + int sessionID = session.getID(); + if (sessions.get(sessionID) == session) + { + session.removeListener(sessionListener); + sessions.set(sessionID, null); + return true; + } + + return false; + } + } + + private void setModified() + { + modified = true; + } + + private void ensureOpen() throws IllegalStateException + { + if (protocol == null) + { + throw new IllegalStateException("protocol == null"); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionMetaDataImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionMetaDataImpl.java new file mode 100644 index 0000000000..fc7c611260 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ConnectionMetaDataImpl.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.ConnectionMetaData; + +import java.util.Enumeration; +import java.util.StringTokenizer; + +public class ConnectionMetaDataImpl implements ConnectionMetaData +{ + private ConnectionImpl connection; + + public ConnectionMetaDataImpl(ConnectionImpl connection) + { + this.connection = connection; + } + + public ConnectionImpl getConnection() + { + return connection; + } + + public int getJMSMajorVersion() + { + return 1; + } + + public int getJMSMinorVersion() + { + return 1; + } + + public String getJMSVersion() + { + return "1.1"; //$NON-NLS-1$ + } + + public String getJMSProviderName() + { + return "Net4j JMS"; //$NON-NLS-1$ + } + + public int getProviderMajorVersion() + { + return 0; + } + + public int getProviderMinorVersion() + { + return 8; + } + + public String getProviderVersion() + { + return "0.8.0"; //$NON-NLS-1$ + } + + public Enumeration<?> getJMSXPropertyNames() + { + return new StringTokenizer(""); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/DestinationImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/DestinationImpl.java new file mode 100644 index 0000000000..1a7c5b3cd0 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/DestinationImpl.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import java.io.Serializable; +import java.rmi.Remote; + +public abstract class DestinationImpl implements JMSDestination, Remote, Serializable +{ + private static final long serialVersionUID = 1L; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/JMSDestination.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/JMSDestination.java new file mode 100644 index 0000000000..8b760504c6 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/JMSDestination.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.Destination; + +public interface JMSDestination extends Destination +{ + public String getName(); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/JMSTemporaryDestination.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/JMSTemporaryDestination.java new file mode 100644 index 0000000000..226c565383 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/JMSTemporaryDestination.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +public interface JMSTemporaryDestination extends JMSDestination +{ + public ConnectionImpl getOwningConnection(); + + public long getConnectionId(); + + public boolean validForConnection(ConnectionImpl connection); +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MapMessageImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MapMessageImpl.java new file mode 100644 index 0000000000..883bb6ddb1 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MapMessageImpl.java @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.JMSException; +import javax.jms.MapMessage; +import javax.jms.Message; + +import java.io.IOException; +import java.util.Enumeration; + +public class MapMessageImpl extends MessageImpl implements MapMessage +{ + public boolean getBoolean(String name) + { + throw new NotYetImplementedException(); + } + + public byte getByte(String name) + { + throw new NotYetImplementedException(); + } + + public byte[] getBytes(String name) + { + throw new NotYetImplementedException(); + } + + public char getChar(String name) + { + throw new NotYetImplementedException(); + } + + public double getDouble(String name) + { + throw new NotYetImplementedException(); + } + + public float getFloat(String name) + { + throw new NotYetImplementedException(); + } + + public int getInt(String name) + { + throw new NotYetImplementedException(); + } + + public long getLong(String name) + { + throw new NotYetImplementedException(); + } + + public Enumeration<?> getMapNames() + { + throw new NotYetImplementedException(); + } + + public Object getObject(String name) + { + throw new NotYetImplementedException(); + } + + public short getShort(String name) + { + throw new NotYetImplementedException(); + } + + public String getString(String name) + { + throw new NotYetImplementedException(); + } + + public boolean itemExists(String name) + { + throw new NotYetImplementedException(); + } + + public void setBoolean(String name, boolean value) + { + throw new NotYetImplementedException(); + } + + public void setByte(String name, byte value) + { + throw new NotYetImplementedException(); + } + + public void setBytes(String name, byte[] value) + { + throw new NotYetImplementedException(); + } + + public void setBytes(String name, byte[] value, int offset, int length) + { + throw new NotYetImplementedException(); + } + + public void setChar(String name, char value) + { + throw new NotYetImplementedException(); + } + + public void setDouble(String name, double value) + { + throw new NotYetImplementedException(); + } + + public void setFloat(String name, float value) + { + throw new NotYetImplementedException(); + } + + public void setInt(String name, int value) + { + throw new NotYetImplementedException(); + } + + public void setLong(String name, long value) + { + throw new NotYetImplementedException(); + } + + public void setObject(String name, Object value) + { + throw new NotYetImplementedException(); + } + + public void setShort(String name, short value) + { + throw new NotYetImplementedException(); + } + + public void setString(String name, String value) + { + throw new NotYetImplementedException(); + } + + @Override + public void populate(Message source) throws JMSException + { + super.populate(source); + MapMessage map = (MapMessage)source; + Enumeration<?> e = map.getMapNames(); + while (e.hasMoreElements()) + { + String name = (String)e.nextElement(); + Object value = map.getObject(name); + setObject(name, value); + } + } + + @Override + public void write(ExtendedDataOutputStream out) throws IOException + { + super.write(out); + } + + @Override + public void read(ExtendedDataInputStream in) throws IOException + { + super.read(in); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageConsumerImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageConsumerImpl.java new file mode 100644 index 0000000000..e29160a7de --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageConsumerImpl.java @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.internal.jms.bundle.OM; +import org.eclipse.net4j.internal.jms.messages.Messages; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.Session; + +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; + +public class MessageConsumerImpl extends Lifecycle implements MessageConsumer +{ + private static final long DO_NOT_WAIT = -1L; + + private SessionImpl session; + + private long consumerID; + + private DestinationImpl destination; + + private String messageSelector; + + private MessageListener messageListener; + + /** + * Incoming messages + */ + private BlockingQueue<MessageImpl> messages = new LinkedBlockingQueue<MessageImpl>(); + + public MessageConsumerImpl(SessionImpl session, long consumerID, DestinationImpl destination, String messageSelector) + { + this.session = session; + this.consumerID = consumerID; + this.destination = destination; + this.messageSelector = messageSelector; + } + + public SessionImpl getSession() + { + return session; + } + + public long getConsumerID() + { + return consumerID; + } + + public DestinationImpl getDestination() + { + return destination; + } + + public String getMessageSelector() + { + return messageSelector; + } + + public MessageListener getMessageListener() + { + return messageListener; + } + + public void setMessageListener(MessageListener listener) + { + messageListener = listener; + if (messageListener != null) + { + session.addWork(this); + } + } + + public Message receive() throws JMSException + { + return receive(Long.MAX_VALUE); + } + + public Message receive(long timeout) throws JMSException + { + if (messageListener != null) + { + throw new JMSException(Messages.getString("MessageConsumerImpl.0")); //$NON-NLS-1$ + } + + if (timeout == DO_NOT_WAIT) + { + return messages.poll(); + } + + try + { + return messages.poll(timeout, TimeUnit.MILLISECONDS); + } + catch (InterruptedException ex) + { + throw new JMSException(ex.getMessage()); + } + } + + public Message receiveNoWait() throws JMSException + { + return receive(DO_NOT_WAIT); + } + + public void close() + { + throw new NotYetImplementedException(); + } + + public void handleServerMessage(MessageImpl message) + { + messages.add(message); + if (messageListener != null) + { + session.addWork(this); + } + } + + public void dispatchMessage() + { + MessageListener listener = messageListener; + if (listener != null) + { + MessageImpl message = messages.poll(); + if (message == null) + { + OM.LOG.warn(Messages.getString("MessageConsumerImpl.1")); //$NON-NLS-1$ + return; + } + + try + { + listener.onMessage(message); + if (!session.getTransacted() && session.getAcknowledgeMode() != Session.CLIENT_ACKNOWLEDGE) + { + session.acknowledgeMessages(this); + } + } + catch (RuntimeException ex) + { + OM.LOG.warn(ex); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageImpl.java new file mode 100644 index 0000000000..ef43d9489e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageImpl.java @@ -0,0 +1,464 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.internal.jms.messages.Messages; +import org.eclipse.net4j.internal.jms.util.DestinationUtil; +import org.eclipse.net4j.internal.jms.util.TypeUtil; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageFormatException; +import javax.jms.Session; + +import java.io.IOException; +import java.text.MessageFormat; +import java.util.Collections; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + +public class MessageImpl implements Message, Comparable<MessageImpl> +{ + private static final String[] KEYWORDS = { "and", "between", "escape", "in", "is", "like", "false", "null", "or", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ + "not", "true" }; //$NON-NLS-1$ //$NON-NLS-2$ + + private Map<String, Object> properties = new HashMap<String, Object>(); + + private byte[] correlationID; + + private int deliveryMode; + + private DestinationImpl destination; + + private long expiration; + + private String messageID; + + private int priority; + + private boolean redelivered; + + private DestinationImpl replyTo; + + private long timestamp; + + private String type; + + private SessionImpl receivingSession; + + private MessageConsumerImpl receivingConsumer; + + public MessageImpl() + { + } + + public SessionImpl getReceivingSession() + { + return receivingSession; + } + + public void setReceivingSession(SessionImpl receivingSession) + { + this.receivingSession = receivingSession; + } + + public MessageConsumerImpl getReceivingConsumer() + { + return receivingConsumer; + } + + public void setReceivingConsumer(MessageConsumerImpl receivingConsumer) + { + this.receivingConsumer = receivingConsumer; + } + + public String getJMSCorrelationID() + { + if (correlationID == null) + { + return null; + } + + return new String(correlationID); + } + + public void setJMSCorrelationID(String correlationID) + { + this.correlationID = correlationID == null ? null : correlationID.getBytes(); + } + + public byte[] getJMSCorrelationIDAsBytes() + { + return correlationID; + } + + public void setJMSCorrelationIDAsBytes(byte[] correlationID) + { + this.correlationID = correlationID; + } + + public int getJMSDeliveryMode() + { + return deliveryMode; + } + + public void setJMSDeliveryMode(int deliveryMode) + { + this.deliveryMode = deliveryMode; + } + + public Destination getJMSDestination() + { + return destination; + } + + public void setJMSDestination(Destination destination) throws JMSException + { + this.destination = DestinationUtil.convert(destination); + } + + public long getJMSExpiration() + { + return expiration; + } + + public void setJMSExpiration(long expiration) + { + this.expiration = expiration; + } + + public String getJMSMessageID() + { + return messageID; + } + + public void setJMSMessageID(String messageID) + { + this.messageID = messageID; + } + + public int getJMSPriority() + { + return priority; + } + + public void setJMSPriority(int priority) + { + this.priority = priority; + } + + public boolean getJMSRedelivered() + { + return redelivered; + } + + public void setJMSRedelivered(boolean redelivered) + { + this.redelivered = redelivered; + } + + public Destination getJMSReplyTo() + { + return replyTo; + } + + public void setJMSReplyTo(Destination replyTo) throws JMSException + { + this.replyTo = DestinationUtil.convert(replyTo); + } + + public long getJMSTimestamp() + { + return timestamp; + } + + public void setJMSTimestamp(long timestamp) + { + this.timestamp = timestamp; + } + + public String getJMSType() + { + return type; + } + + public void setJMSType(String type) + { + this.type = type; + } + + public void clearProperties() + { + properties.clear(); + } + + public boolean propertyExists(String name) + { + return properties.containsKey(name); + } + + public boolean getBooleanProperty(String name) throws MessageFormatException + { + return TypeUtil.getBoolean(properties.get(name)); + } + + public byte getByteProperty(String name) throws MessageFormatException + { + return TypeUtil.getByte(properties.get(name)); + } + + public short getShortProperty(String name) throws MessageFormatException + { + return TypeUtil.getShort(properties.get(name)); + } + + public int getIntProperty(String name) throws MessageFormatException + { + return TypeUtil.getInt(properties.get(name)); + } + + public long getLongProperty(String name) throws MessageFormatException + { + return TypeUtil.getLong(properties.get(name)); + } + + public float getFloatProperty(String name) throws MessageFormatException + { + return TypeUtil.getFloat(properties.get(name)); + } + + public double getDoubleProperty(String name) throws MessageFormatException + { + return TypeUtil.getDouble(properties.get(name)); + } + + public String getStringProperty(String name) throws MessageFormatException + { + return TypeUtil.getString(properties.get(name)); + } + + public Object getObjectProperty(String name) + { + return properties.get(name); + } + + public Enumeration<String> getPropertyNames() + { + return Collections.enumeration(properties.keySet()); + } + + public void setBooleanProperty(String name, boolean value) throws JMSException + { + setProperty(name, value); + } + + public void setByteProperty(String name, byte value) throws JMSException + { + setProperty(name, value); + } + + public void setShortProperty(String name, short value) throws JMSException + { + setProperty(name, value); + } + + public void setIntProperty(String name, int value) throws JMSException + { + setProperty(name, value); + } + + public void setLongProperty(String name, long value) throws JMSException + { + setProperty(name, value); + } + + public void setFloatProperty(String name, float value) throws JMSException + { + setProperty(name, value); + } + + public void setDoubleProperty(String name, double value) throws JMSException + { + setProperty(name, value); + } + + public void setStringProperty(String name, String value) throws JMSException + { + setProperty(name, value); + } + + public void setObjectProperty(String name, Object value) throws JMSException + { + if (value instanceof Boolean || value instanceof Byte || value instanceof Short || value instanceof Integer + || value instanceof Long || value instanceof Float || value instanceof Double || value instanceof String + || value == null) + { + setProperty(name, value); + } + else + { + throw new MessageFormatException(MessageFormat.format( + Messages.getString("MessageImpl_11"), value.getClass().getName())); //$NON-NLS-1$ + } + } + + protected void setProperty(String name, Object value) throws JMSException + { + if (name == null) + { + throw new JMSException(MessageFormat.format(Messages.getString("MessageImpl_13"), name)); //$NON-NLS-1$ + } + + char[] chars = name.toCharArray(); + if (chars.length == 0) + { + throw new JMSException(MessageFormat.format(Messages.getString("MessageImpl_13"), name)); //$NON-NLS-1$ + } + + if (!Character.isJavaIdentifierStart(chars[0])) + { + throw new JMSException(MessageFormat.format(Messages.getString("MessageImpl_13"), name)); //$NON-NLS-1$ + } + + for (int i = 1; i < chars.length; ++i) + { + if (!Character.isJavaIdentifierPart(chars[i])) + { + throw new JMSException(MessageFormat.format(Messages.getString("MessageImpl_13"), name)); //$NON-NLS-1$ + } + } + + for (int i = 0; i < KEYWORDS.length; ++i) + { + if (name.equalsIgnoreCase(KEYWORDS[i])) + { + throw new JMSException(MessageFormat.format(Messages.getString("MessageImpl_13"), name)); //$NON-NLS-1$ + } + } + + properties.put(name, value); + } + + public void acknowledge() + { + if (receivingSession == null) + { + return; + } + + if (!receivingSession.isActive()) + { + return; + } + + if (receivingSession.getTransacted()) + { + return; + } + + if (receivingSession.getAcknowledgeMode() != Session.CLIENT_ACKNOWLEDGE) + { + return; + } + + receivingSession.acknowledgeMessages(receivingConsumer); + } + + public void clearBody() + { + throw new NotYetImplementedException(); + } + + public int compareTo(MessageImpl obj) + { + if (priority < obj.priority) + { + return -1; + } + + if (priority > obj.priority) + { + return 1; + } + + return 0; + } + + @SuppressWarnings("unchecked") + public void populate(Message source) throws JMSException + { + setJMSMessageID(source.getJMSMessageID()); + setJMSDestination(source.getJMSDestination()); + setJMSTimestamp(source.getJMSTimestamp()); + setJMSPriority(source.getJMSPriority()); + setJMSExpiration(source.getJMSExpiration()); + setJMSDeliveryMode(source.getJMSDeliveryMode()); + setJMSCorrelationID(source.getJMSCorrelationID()); + setJMSType(source.getJMSType()); + setJMSReplyTo(source.getJMSReplyTo()); + + Enumeration<String> e = source.getPropertyNames(); + while (e.hasMoreElements()) + { + String name = e.nextElement(); + Object value = source.getObjectProperty(name); + setObjectProperty(name, value); + } + } + + public void write(ExtendedDataOutputStream out) throws IOException + { + out.writeByteArray(correlationID); + out.writeByte(deliveryMode); + DestinationUtil.write(out, destination); + out.writeLong(expiration); + out.writeString(messageID); + out.writeByte(priority); + out.writeBoolean(redelivered); + DestinationUtil.write(out, replyTo); + out.writeLong(timestamp); + out.writeString(type); + + out.writeInt(properties.size()); + for (Entry<String, Object> entry : properties.entrySet()) + { + out.writeString(entry.getKey()); + TypeUtil.write(out, entry.getValue()); + } + } + + public void read(ExtendedDataInputStream in) throws IOException + { + correlationID = in.readByteArray(); + deliveryMode = in.readByte(); + destination = DestinationUtil.read(in); + expiration = in.readLong(); + messageID = in.readString(); + priority = in.readByte(); + redelivered = in.readBoolean(); + replyTo = DestinationUtil.read(in); + timestamp = in.readLong(); + type = in.readString(); + + int size = in.readInt(); + for (int i = 0; i < size; i++) + { + String key = in.readString(); + Object value = TypeUtil.read(in); + properties.put(key, value); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageProducerImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageProducerImpl.java new file mode 100644 index 0000000000..9f5d1b3ddc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/MessageProducerImpl.java @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.internal.jms.messages.Messages; +import org.eclipse.net4j.util.lifecycle.Lifecycle; + +import javax.jms.DeliveryMode; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageFormatException; +import javax.jms.MessageProducer; + +import java.util.Date; + +public class MessageProducerImpl extends Lifecycle implements MessageProducer +{ + private SessionImpl session; + + private DestinationImpl destination; + + private int deliveryMode = DeliveryMode.PERSISTENT; + + private int priority = Message.DEFAULT_PRIORITY; + + private long timeToLive; + + private boolean disableMessageTimestamp; + + private boolean disableMessageID; + + public MessageProducerImpl(SessionImpl session, DestinationImpl destination) + { + this.session = session; + this.destination = destination; + } + + public SessionImpl getSession() + { + return session; + } + + public int getDeliveryMode() + { + return deliveryMode; + } + + public void setDeliveryMode(int deliveryMode) + { + this.deliveryMode = deliveryMode; + } + + public int getPriority() + { + return priority; + } + + public void setPriority(int priority) + { + this.priority = priority; + } + + public long getTimeToLive() + { + return timeToLive; + } + + public void setTimeToLive(long timeToLive) + { + this.timeToLive = timeToLive; + } + + public DestinationImpl getDestination() + { + return destination; + } + + public boolean getDisableMessageID() + { + return disableMessageID; + } + + public void setDisableMessageID(boolean disableMessageID) + { + this.disableMessageID = disableMessageID; + } + + public boolean getDisableMessageTimestamp() + { + return disableMessageTimestamp; + } + + public void setDisableMessageTimestamp(boolean disableMessageTimestamp) + { + this.disableMessageTimestamp = disableMessageTimestamp; + } + + public void send(Message message) throws JMSException + { + send(getDestination(), message, getDeliveryMode(), getPriority(), getTimeToLive()); + } + + public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException + { + send(getDestination(), message, getDeliveryMode(), getPriority(), getTimeToLive()); + } + + public void send(Destination destination, Message message) throws JMSException + { + send(destination, message, getDeliveryMode(), getPriority(), getTimeToLive()); + } + + public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) + throws JMSException + { + if (message == null) + { + throw new MessageFormatException(Messages.getString("MessageProducerImpl_0")); //$NON-NLS-1$ + } + + // message.setJMSMessageID(MessageId.create()); + message.setJMSDestination(destination); + message.setJMSTimestamp(new Date().getTime()); + message.setJMSPriority(priority); + + if (timeToLive > 0) + { + message.setJMSExpiration(System.currentTimeMillis() + timeToLive); + } + else + { + message.setJMSExpiration(0); + } + + if (destination instanceof JMSTemporaryDestination) + { + message.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); + } + else + { + message.setJMSDeliveryMode(deliveryMode); + } + + session.sendMessage(message); + } + + public void close() + { + throw new NotYetImplementedException(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/NotYetImplementedException.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/NotYetImplementedException.java new file mode 100644 index 0000000000..37df50ca25 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/NotYetImplementedException.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +public class NotYetImplementedException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public NotYetImplementedException() + { + } + + public NotYetImplementedException(String message) + { + super(message); + } + + public NotYetImplementedException(Throwable cause) + { + super(cause); + } + + public NotYetImplementedException(String message, Throwable cause) + { + super(message, cause); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ObjectMessageImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ObjectMessageImpl.java new file mode 100644 index 0000000000..c9193c0575 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/ObjectMessageImpl.java @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.internal.jms.bundle.OM; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.ObjectMessage; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; + +public class ObjectMessageImpl extends MessageImpl implements ObjectMessage +{ + private Serializable object; + + public ObjectMessageImpl() + { + } + + public ObjectMessageImpl(Serializable object) + { + this.object = object; + } + + public Serializable getObject() + { + return object; + } + + public void setObject(Serializable object) + { + this.object = object; + } + + @Override + public void populate(Message source) throws JMSException + { + super.populate(source); + ObjectMessage object = (ObjectMessage)source; + setObject(object.getObject()); + } + + @Override + public void write(ExtendedDataOutputStream out) throws IOException + { + super.write(out); + if (object != null) + { + out.writeBoolean(true); + ObjectOutputStream stream = new ObjectOutputStream(out); + stream.writeObject(object); + } + else + { + out.writeBoolean(false); + } + } + + @Override + public void read(ExtendedDataInputStream in) throws IOException + { + super.read(in); + boolean notNull = in.readBoolean(); + if (notNull) + { + try + { + ObjectInputStream stream = new ObjectInputStream(in); + object = (Serializable)stream.readObject(); + } + catch (ClassNotFoundException ex) + { + OM.LOG.error(ex); + throw new IOException(ex.getMessage()); + } + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueBrowserImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueBrowserImpl.java new file mode 100644 index 0000000000..5ae59878ae --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueBrowserImpl.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.Queue; +import javax.jms.QueueBrowser; + +import java.util.Enumeration; + +public class QueueBrowserImpl implements QueueBrowser +{ + private Queue queue; + + private String messageSelector; + + public QueueBrowserImpl(Queue queue, String messageSelector) + { + this.queue = queue; + this.messageSelector = messageSelector; + } + + public QueueBrowserImpl(Queue queue) + { + this(queue, null); + } + + public Queue getQueue() + { + return queue; + } + + public String getMessageSelector() + { + return messageSelector; + } + + public void close() + { + throw new NotYetImplementedException(); + } + + public Enumeration<?> getEnumeration() + { + throw new NotYetImplementedException(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueImpl.java new file mode 100644 index 0000000000..e3df26bd08 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueImpl.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.Queue; + +public class QueueImpl extends DestinationImpl implements Queue +{ + private static final long serialVersionUID = 1L; + + private String queueName; + + public QueueImpl(String queueName) + { + this.queueName = queueName; + } + + public String getQueueName() + { + return queueName; + } + + public String getName() + { + return queueName; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueReceiverImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueReceiverImpl.java new file mode 100644 index 0000000000..cee70ee771 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueReceiverImpl.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.QueueReceiver; + +public class QueueReceiverImpl extends MessageConsumerImpl implements QueueReceiver +{ + public QueueReceiverImpl(SessionImpl session, int id, QueueImpl queue, String messageSelector) + { + super(session, id, queue, messageSelector); + } + + public QueueImpl getQueue() + { + return (QueueImpl)getDestination(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueSenderImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueSenderImpl.java new file mode 100644 index 0000000000..b240c1daca --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/QueueSenderImpl.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.Queue; +import javax.jms.QueueSender; + +public class QueueSenderImpl extends MessageProducerImpl implements QueueSender +{ + public QueueSenderImpl(SessionImpl session, QueueImpl queue) + { + super(session, queue); + } + + public QueueImpl getQueue() + { + return (QueueImpl)getDestination(); + } + + public void send(Queue queue, Message message) throws JMSException + { + send(queue, message, getDeliveryMode(), getPriority(), getTimeToLive()); + } + + public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException + { + super.send(queue, message, deliveryMode, priority, timeToLive); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/SessionImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/SessionImpl.java new file mode 100644 index 0000000000..c1ec43bd5b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/SessionImpl.java @@ -0,0 +1,455 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.internal.jms.bundle.OM; +import org.eclipse.net4j.internal.jms.messages.Messages; +import org.eclipse.net4j.internal.jms.protocol.JMSAcknowledgeRequest; +import org.eclipse.net4j.internal.jms.protocol.JMSClientMessageRequest; +import org.eclipse.net4j.internal.jms.protocol.JMSCommitRequest; +import org.eclipse.net4j.internal.jms.protocol.JMSRecoverRequest; +import org.eclipse.net4j.internal.jms.protocol.JMSRegisterConsumerRequest; +import org.eclipse.net4j.internal.jms.protocol.JMSRollbackRequest; +import org.eclipse.net4j.internal.jms.util.DestinationUtil; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.util.concurrent.QueueWorker; +import org.eclipse.net4j.util.lifecycle.LifecycleUtil; +import org.eclipse.net4j.util.om.log.OMLogger; + +import javax.jms.BytesMessage; +import javax.jms.Destination; +import javax.jms.IllegalStateException; +import javax.jms.JMSException; +import javax.jms.MapMessage; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.ObjectMessage; +import javax.jms.Queue; +import javax.jms.QueueBrowser; +import javax.jms.Session; +import javax.jms.StreamMessage; +import javax.jms.TemporaryQueue; +import javax.jms.TemporaryTopic; +import javax.jms.TextMessage; +import javax.jms.Topic; +import javax.jms.TopicSubscriber; +import javax.transaction.TransactionRolledbackException; + +import java.io.Serializable; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class SessionImpl extends QueueWorker<MessageConsumerImpl> implements Session +{ + private ConnectionImpl connection; + + private int id; + + private boolean transacted; + + private int acknowledgeMode; + + private Map<Long, MessageConsumerImpl> consumers = new HashMap<Long, MessageConsumerImpl>(); + + /** + * Outgoing transacted messages + */ + private List<MessageImpl> messages = new ArrayList<MessageImpl>(); + + private Set<MessageProducerImpl> producers = new HashSet<MessageProducerImpl>(); + + public SessionImpl(ConnectionImpl connection, int id, boolean transacted, int acknowledgeMode) throws JMSException + { + this.connection = connection; + this.id = id; + this.transacted = transacted; + this.acknowledgeMode = acknowledgeMode; + + try + { + activate(); + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + } + + public ConnectionImpl getConnection() + { + return connection; + } + + public int getID() + { + return id; + } + + public boolean getTransacted() + { + return transacted; + } + + public int getAcknowledgeMode() + { + return acknowledgeMode; + } + + public MessageListener getMessageListener() + { + return null; + } + + public void setMessageListener(MessageListener listener) + { + throw new UnsupportedOperationException(); + } + + public MessageProducer createProducer(Destination destination) throws JMSException + { + DestinationImpl dest = DestinationUtil.convert(destination); + MessageProducerImpl producer = new MessageProducerImpl(this, dest); + producers.add(producer); + return producer; + } + + public MessageConsumer createConsumer(Destination destination) throws JMSException + { + return createConsumer(destination, null); + } + + public MessageConsumer createConsumer(Destination destination, String messageSelector) throws JMSException + { + return createConsumer(destination, null, false); + } + + public MessageConsumer createConsumer(Destination destination, String messageSelector, boolean noLocal) + throws JMSException + { + DestinationImpl dest = DestinationUtil.convert(destination); + long consumerID = registerConsumer(dest, messageSelector, noLocal, false); + MessageConsumerImpl consumer = new MessageConsumerImpl(this, consumerID, dest, messageSelector); + consumers.put(consumerID, consumer); + return consumer; + } + + public Queue createQueue(String queueName) + { + return new QueueImpl(queueName); + } + + public TemporaryQueue createTemporaryQueue() + { + return new TemporaryQueueImpl(); + } + + public QueueBrowser createBrowser(Queue queue) + { + return new QueueBrowserImpl(queue); + } + + public QueueBrowser createBrowser(Queue queue, String messageSelector) + { + return new QueueBrowserImpl(queue, messageSelector); + } + + public Topic createTopic(String topicName) + { + return new TopicImpl(topicName); + } + + public TemporaryTopic createTemporaryTopic() + { + return new TemporaryTopicImpl(); + } + + public TopicSubscriber createDurableSubscriber(Topic topic, String name) throws JMSException + { + return createDurableSubscriber(topic, name, null, false); + } + + public TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) + throws JMSException + { + TopicImpl dest = (TopicImpl)DestinationUtil.convert(topic); + long consumerID = registerConsumer(dest, messageSelector, noLocal, true); + TopicSubscriberImpl subscriber = new TopicSubscriberImpl(this, consumerID, dest, name, messageSelector, noLocal); + consumers.put(consumerID, subscriber); + return subscriber; + } + + public void unsubscribe(String name) + { + throw new NotYetImplementedException(); + } + + public Message createMessage() + { + return new MessageImpl(); + } + + public StreamMessage createStreamMessage() + { + return new StreamMessageImpl(); + } + + public BytesMessage createBytesMessage() + { + return new BytesMessageImpl(); + } + + public MapMessage createMapMessage() + { + return new MapMessageImpl(); + } + + public ObjectMessage createObjectMessage() + { + return createObjectMessage(null); + } + + public ObjectMessage createObjectMessage(Serializable object) + { + return new ObjectMessageImpl(object); + } + + public TextMessage createTextMessage() + { + return createTextMessage(null); + } + + public TextMessage createTextMessage(String text) + { + return new TextMessageImpl(text); + } + + public void recover() throws JMSException + { + ensureNotTransacted(); + try + { + stop(); + new JMSRecoverRequest(connection.getProtocol(), id).send(); + start(); + } + catch (Exception ex) + { + OM.LOG.error(ex); + close(); + } + } + + public void commit() throws JMSException + { + ensureTransacted(); + synchronized (messages) + { + try + { + String[] messageIDs = new JMSCommitRequest(connection.getProtocol(), id, messages).send(); + if (messageIDs == null) + { + throw new TransactionRolledbackException(Messages.getString("SessionImpl_0")); //$NON-NLS-1$ + } + + for (int i = 0; i < messageIDs.length; i++) + { + messages.get(i).setJMSMessageID(messageIDs[i]); + } + + messages.clear(); + } + catch (JMSException ex) + { + throw ex; + } + catch (RuntimeException ex) + { + throw ex; + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + } + } + + public void rollback() throws JMSException + { + ensureTransacted(); + synchronized (messages) + { + try + { + if (!new JMSRollbackRequest(connection.getProtocol(), id).send()) + { + throw new JMSException(Messages.getString("SessionImpl_1")); //$NON-NLS-1$ + } + + messages.clear(); + } + catch (JMSException ex) + { + throw ex; + } + catch (RuntimeException ex) + { + throw ex; + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + } + } + + public void close() + { + LifecycleUtil.deactivate(this, OMLogger.Level.DEBUG); + } + + public void run() + { + throw new UnsupportedOperationException(); + } + + public long registerConsumer(DestinationImpl destination, String messageSelector, boolean noLocal, boolean durable) + throws JMSException + { + try + { + return new JMSRegisterConsumerRequest(connection.getProtocol(), id, destination, messageSelector, noLocal, + durable).send(); + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + } + + public void sendMessage(Message message) throws JMSException + { + if (getTransacted()) + { + synchronized (messages) + { + if (message instanceof MessageImpl) + { + messages.add(MessageUtil.copy(message)); + } + else + { + messages.add(MessageUtil.convert(message)); + } + } + } + else + { + try + { + MessageImpl impl = MessageUtil.convert(message); + JMSClientMessageRequest request = new JMSClientMessageRequest(connection.getProtocol(), impl); + String messageID = request.send(connection.getSendTimeout()); + if (messageID == null) + { + throw new JMSException(Messages.getString("SessionImpl_2")); //$NON-NLS-1$ + } + + message.setJMSMessageID(messageID); + } + catch (JMSException ex) + { + throw ex; + } + catch (RuntimeException ex) + { + throw ex; + } + catch (Exception ex) + { + throw new JMSException(ex.getMessage()); + } + } + } + + public boolean acknowledgeMessages(MessageConsumerImpl consumer) + { + try + { + new JMSAcknowledgeRequest(connection.getProtocol(), id).sendAsync(); + return true; + } + catch (Exception ex) + { + OM.LOG.error(ex); + return true; + } + } + + public void handleServerMessage(long consumerID, MessageImpl message) + { + message.setReceivingSession(this); + MessageConsumerImpl consumer = consumers.get(consumerID); + if (consumer == null) + { + OM.LOG.warn(MessageFormat.format(Messages.getString("SessionImpl_3"), consumerID)); //$NON-NLS-1$ + return; + } + + consumer.handleServerMessage(message); + } + + @Override + protected String getThreadName() + { + return "jms-session"; //$NON-NLS-1$ + } + + /** + * @since 2.0 + */ + @Override + protected void work(WorkContext context, MessageConsumerImpl consumer) + { + consumer.dispatchMessage(); + } + + private void ensureTransacted() throws IllegalStateException + { + if (!transacted) + { + throw new IllegalStateException("Session " + id + " not transacted"); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + + private void ensureNotTransacted() throws IllegalStateException + { + if (transacted) + { + throw new IllegalStateException("Session " + id + " transacted"); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + + private void start() + { + } + + private void stop() + { + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/StreamMessageImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/StreamMessageImpl.java new file mode 100644 index 0000000000..2c0c6ac554 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/StreamMessageImpl.java @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageEOFException; +import javax.jms.StreamMessage; + +import java.io.IOException; + +public class StreamMessageImpl extends MessageImpl implements StreamMessage +{ + public boolean readBoolean() + { + throw new NotYetImplementedException(); + } + + public byte readByte() + { + throw new NotYetImplementedException(); + } + + public int readBytes(byte[] value) + { + throw new NotYetImplementedException(); + } + + public char readChar() + { + throw new NotYetImplementedException(); + } + + public double readDouble() + { + throw new NotYetImplementedException(); + } + + public float readFloat() + { + throw new NotYetImplementedException(); + } + + public int readInt() + { + throw new NotYetImplementedException(); + } + + public long readLong() + { + throw new NotYetImplementedException(); + } + + public Object readObject() + { + throw new NotYetImplementedException(); + } + + public short readShort() + { + throw new NotYetImplementedException(); + } + + public String readString() + { + throw new NotYetImplementedException(); + } + + public void reset() + { + throw new NotYetImplementedException(); + } + + public void writeBoolean(boolean value) + { + throw new NotYetImplementedException(); + } + + public void writeByte(byte value) + { + throw new NotYetImplementedException(); + } + + public void writeBytes(byte[] value) + { + throw new NotYetImplementedException(); + } + + public void writeBytes(byte[] value, int offset, int length) + { + throw new NotYetImplementedException(); + } + + public void writeChar(char value) + { + throw new NotYetImplementedException(); + } + + public void writeDouble(double value) + { + throw new NotYetImplementedException(); + } + + public void writeFloat(float value) + { + throw new NotYetImplementedException(); + } + + public void writeInt(int value) + { + throw new NotYetImplementedException(); + } + + public void writeLong(long value) + { + throw new NotYetImplementedException(); + } + + public void writeObject(Object value) + { + throw new NotYetImplementedException(); + } + + public void writeShort(short value) + { + throw new NotYetImplementedException(); + } + + public void writeString(String value) + { + throw new NotYetImplementedException(); + } + + @Override + public void populate(Message source) throws JMSException + { + super.populate(source); + StreamMessage from = (StreamMessage)source; + from.reset(); + try + { + while (true) + { + Object object = from.readObject(); + writeObject(object); + } + } + catch (MessageEOFException ignore) + { + } + } + + @Override + public void write(ExtendedDataOutputStream out) throws IOException + { + super.write(out); + } + + @Override + public void read(ExtendedDataInputStream in) throws IOException + { + super.read(in); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TemporaryQueueImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TemporaryQueueImpl.java new file mode 100644 index 0000000000..781c6b65a8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TemporaryQueueImpl.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.TemporaryQueue; + +public class TemporaryQueueImpl extends QueueImpl implements TemporaryQueue +{ + private static final long serialVersionUID = 1L; + + private static int counter; + + public TemporaryQueueImpl() + { + super("TempQueue" + ++counter); //$NON-NLS-1$ + } + + public void delete() + { + throw new NotYetImplementedException(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TemporaryTopicImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TemporaryTopicImpl.java new file mode 100644 index 0000000000..5d877f2098 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TemporaryTopicImpl.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.TemporaryTopic; + +public class TemporaryTopicImpl extends TopicImpl implements TemporaryTopic +{ + private static final long serialVersionUID = 1L; + + private static int counter; + + public TemporaryTopicImpl() + { + super("TempTopic" + ++counter); //$NON-NLS-1$ + } + + public void delete() + { + throw new NotYetImplementedException(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TextMessageImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TextMessageImpl.java new file mode 100644 index 0000000000..eb077e24ea --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TextMessageImpl.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.TextMessage; + +import java.io.IOException; + +public class TextMessageImpl extends MessageImpl implements TextMessage +{ + private String text; + + public TextMessageImpl() + { + } + + public TextMessageImpl(String text) + { + this.text = text; + } + + public String getText() + { + return text; + } + + public void setText(String text) + { + this.text = text; + } + + @Override + public void populate(Message source) throws JMSException + { + super.populate(source); + TextMessage text = (TextMessage)source; + setText(text.getText()); + } + + @Override + public void write(ExtendedDataOutputStream out) throws IOException + { + super.write(out); + out.writeString(text); + } + + @Override + public void read(ExtendedDataInputStream in) throws IOException + { + super.read(in); + text = in.readString(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicImpl.java new file mode 100644 index 0000000000..13fc819620 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicImpl.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.Topic; + +public class TopicImpl extends DestinationImpl implements Topic +{ + private static final long serialVersionUID = 1L; + + private String topicName; + + public TopicImpl(String topicName) + { + this.topicName = topicName; + } + + public String getTopicName() + { + return topicName; + } + + public String getName() + { + return topicName; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicPublisherImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicPublisherImpl.java new file mode 100644 index 0000000000..aada738620 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicPublisherImpl.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.Topic; +import javax.jms.TopicPublisher; + +public class TopicPublisherImpl extends MessageProducerImpl implements TopicPublisher +{ + public TopicPublisherImpl(SessionImpl session, TopicImpl topic) + { + super(session, topic); + } + + public TopicImpl getTopic() + { + return (TopicImpl)getDestination(); + } + + public void publish(Message message) throws JMSException + { + publish(getTopic(), message, getDeliveryMode(), getPriority(), getTimeToLive()); + } + + public void publish(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException + { + publish(getTopic(), message, deliveryMode, priority, timeToLive); + } + + public void publish(Topic topic, Message message) throws JMSException + { + publish(topic, message, getDeliveryMode(), getPriority(), getTimeToLive()); + } + + public void publish(Topic topic, Message message, int deliveryMode, int priority, long timeToLive) + throws JMSException + { + send(topic, message, deliveryMode, priority, timeToLive); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicSubscriberImpl.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicSubscriberImpl.java new file mode 100644 index 0000000000..08c4c2184e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/TopicSubscriberImpl.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms; + +import javax.jms.TopicSubscriber; + +public class TopicSubscriberImpl extends MessageConsumerImpl implements TopicSubscriber +{ + private String name; + + private boolean noLocal; + + public TopicSubscriberImpl(SessionImpl session, long id, TopicImpl topic, String name, String messageSelector, + boolean noLocal) + { + super(session, id, topic, messageSelector); + this.name = name; + this.noLocal = noLocal; + } + + public boolean getNoLocal() + { + return noLocal; + } + + public TopicImpl getTopic() + { + return (TopicImpl)getDestination(); + } + + public String getName() + { + return name; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/bundle/OM.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/bundle/OM.java new file mode 100644 index 0000000000..26aed04d24 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/bundle/OM.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.bundle; + +import org.eclipse.net4j.jms.JMSUtil; +import org.eclipse.net4j.util.container.IPluginContainer; +import org.eclipse.net4j.util.om.OMBundle; +import org.eclipse.net4j.util.om.OMPlatform; +import org.eclipse.net4j.util.om.OSGiActivator; +import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.trace.OMTracer; + +/** + * The <em>Operations & Maintenance</em> class of this bundle. + * + * @author Eike Stepper + */ +public abstract class OM +{ + public static final String BUNDLE_ID = "org.eclipse.net4j.jms"; //$NON-NLS-1$ + + public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class); + + public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$ + + public static final OMTracer DEBUG_PROTOCOL = DEBUG.tracer("protocol"); //$NON-NLS-1$ + + public static final OMLogger LOG = BUNDLE.logger(); + + static void start() throws Exception + { + JMSUtil.setTransportContainer(IPluginContainer.INSTANCE); + } + + /** + * @author Eike Stepper + */ + public static final class Activator extends OSGiActivator + { + public Activator() + { + super(BUNDLE); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/messages/Messages.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/messages/Messages.java new file mode 100644 index 0000000000..3ff414fbec --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/messages/Messages.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Victor Roldan Betancort - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.net4j.internal.jms.messages; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * @author Victor Roldan Betancort + */ +public class Messages +{ + private static final String BUNDLE_NAME = "org.eclipse.net4j.internal.jms.messages.messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/messages/messages.properties b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/messages/messages.properties new file mode 100644 index 0000000000..3523f413c3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/messages/messages.properties @@ -0,0 +1,22 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Victor Roldan Betancort - initial API and implementation +# Eike Stepper - maintenance + +ConnectionImpl_0=No transport container available +ConnectionImpl_1=Server rejected logon request +ConnectionImpl_2=Server rejected open session request +MessageConsumerImpl.0=Consumer is configured for asynchronous delivery +MessageConsumerImpl.1=No message to dispatch +MessageImpl_11=Values of type {0} are not supported +MessageImpl_13=Invalid property name {0} +MessageProducerImpl_0=Null message +SessionImpl_0=Transaction rolled back by JMS server +SessionImpl_1=JMS server failed to rolled back transaction +SessionImpl_2=Message not accepted by JMS server +SessionImpl_3=Consumer {0} not found. Discarding message. diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSAcknowledgeRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSAcknowledgeRequest.java new file mode 100644 index 0000000000..12725979fc --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSAcknowledgeRequest.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSAcknowledgeRequest extends Request +{ + private int sessionID; + + /** + * @since 2.0 + */ + public JMSAcknowledgeRequest(JMSClientProtocol protocol, int sessionID) + { + super(protocol, JMSProtocolConstants.SIGNAL_ACKNOWLEDGE); + this.sessionID = sessionID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSClientMessageRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSClientMessageRequest.java new file mode 100644 index 0000000000..e69dbe9138 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSClientMessageRequest.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSClientMessageRequest extends RequestWithConfirmation<String> +{ + private MessageImpl message; + + /** + * @since 2.0 + */ + public JMSClientMessageRequest(JMSClientProtocol protocol, MessageImpl message) + { + super(protocol, JMSProtocolConstants.SIGNAL_CLIENT_MESSAGE); + this.message = message; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + MessageUtil.write(out, message); + } + + @Override + protected String confirming(ExtendedDataInputStream in) throws Exception + { + return in.readString(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSClientProtocol.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSClientProtocol.java new file mode 100644 index 0000000000..6781d677ed --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSClientProtocol.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.internal.jms.ConnectionImpl; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.SignalProtocol; +import org.eclipse.net4j.signal.SignalReactor; + +/** + * @author Eike Stepper + */ +public class JMSClientProtocol extends SignalProtocol<ConnectionImpl> +{ + /** + * @since 2.0 + */ + public JMSClientProtocol(ConnectionImpl connection) + { + super(JMSProtocolConstants.PROTOCOL_NAME); + setInfraStructure(connection); + } + + @Override + protected SignalReactor createSignalReactor(short signalID) + { + switch (signalID) + { + case JMSProtocolConstants.SIGNAL_SERVER_MESSAGE: + return new JMSServerMessageIndication(this); + + default: + return super.createSignalReactor(signalID); + } + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSCloseSessionRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSCloseSessionRequest.java new file mode 100644 index 0000000000..d751b7c286 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSCloseSessionRequest.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSCloseSessionRequest extends RequestWithConfirmation<Boolean> +{ + private int sessionID; + + /** + * @since 2.0 + */ + public JMSCloseSessionRequest(JMSClientProtocol protocol, int sessionID) + { + super(protocol, JMSProtocolConstants.SIGNAL_CLOSE_SESSION); + this.sessionID = sessionID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSCommitRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSCommitRequest.java new file mode 100644 index 0000000000..9e61552ddf --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSCommitRequest.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import java.util.List; + +/** + * @author Eike Stepper + */ +public class JMSCommitRequest extends RequestWithConfirmation<String[]> +{ + private int sessionID; + + private List<MessageImpl> messages; + + /** + * @since 2.0 + */ + public JMSCommitRequest(JMSClientProtocol protocol, int sessionID, List<MessageImpl> messages) + { + super(protocol, JMSProtocolConstants.SIGNAL_COMMIT); + this.sessionID = sessionID; + this.messages = messages; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + out.writeInt(messages.size()); + for (MessageImpl message : messages) + { + MessageUtil.write(out, message); + } + } + + @Override + protected String[] confirming(ExtendedDataInputStream in) throws Exception + { + int size = in.readInt(); + if (size == -1) + { + return null; + } + + String[] messageIDs = new String[size]; + for (int i = 0; i < size; i++) + { + messageIDs[i] = in.readString(); + } + + return messageIDs; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSDeregisterConsumerRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSDeregisterConsumerRequest.java new file mode 100644 index 0000000000..312b76c621 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSDeregisterConsumerRequest.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSDeregisterConsumerRequest extends RequestWithConfirmation<Boolean> +{ + private int sessionID; + + private long consumerID; + + /** + * @since 2.0 + */ + public JMSDeregisterConsumerRequest(JMSClientProtocol protocol, int sessionID, long consumerID) + { + super(protocol, JMSProtocolConstants.SIGNAL_DEREGISTER_CONSUMER); + this.sessionID = sessionID; + this.consumerID = consumerID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + out.writeLong(consumerID); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSLogoffRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSLogoffRequest.java new file mode 100644 index 0000000000..f555a4c92a --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSLogoffRequest.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.Request; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSLogoffRequest extends Request +{ + /** + * @since 2.0 + */ + public JMSLogoffRequest(JMSClientProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_LOGOFF); + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSLogonRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSLogonRequest.java new file mode 100644 index 0000000000..a175e9e1c8 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSLogonRequest.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSLogonRequest extends RequestWithConfirmation<Boolean> +{ + private String userName; + + private String password; + + /** + * @since 2.0 + */ + public JMSLogonRequest(JMSClientProtocol protocol, String userName, String password) + { + super(protocol, JMSProtocolConstants.SIGNAL_LOGON); + this.userName = userName; + this.password = password; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeString(userName); + out.writeString(password); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSOpenSessionRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSOpenSessionRequest.java new file mode 100644 index 0000000000..d12d93fca3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSOpenSessionRequest.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSOpenSessionRequest extends RequestWithConfirmation<Boolean> +{ + private int sessionID; + + /** + * @since 2.0 + */ + public JMSOpenSessionRequest(JMSClientProtocol protocol, int sessionID) + { + super(protocol, JMSProtocolConstants.SIGNAL_OPEN_SESSION); + this.sessionID = sessionID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRecoverRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRecoverRequest.java new file mode 100644 index 0000000000..c7e5010958 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRecoverRequest.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSRecoverRequest extends RequestWithConfirmation<Object> +{ + private int sessionID; + + /** + * @since 2.0 + */ + public JMSRecoverRequest(JMSClientProtocol protocol, int sessionID) + { + super(protocol, JMSProtocolConstants.SIGNAL_RECOVER); + this.sessionID = sessionID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + } + + @Override + protected Object confirming(ExtendedDataInputStream in) throws Exception + { + return null; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRegisterConsumerRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRegisterConsumerRequest.java new file mode 100644 index 0000000000..d1ad44e456 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRegisterConsumerRequest.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.internal.jms.DestinationImpl; +import org.eclipse.net4j.internal.jms.util.DestinationUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSRegisterConsumerRequest extends RequestWithConfirmation<Long> +{ + private int sessionID; + + private DestinationImpl destination; + + private String messageSelector; + + private boolean noLocal; + + private boolean durable; + + /** + * @since 2.0 + */ + public JMSRegisterConsumerRequest(JMSClientProtocol protocol, int sessionID, DestinationImpl destination, + String messageSelector, boolean noLocal, boolean durable) + { + super(protocol, JMSProtocolConstants.SIGNAL_REGISTER_CONSUMER); + this.sessionID = sessionID; + this.destination = destination; + this.messageSelector = messageSelector; + this.noLocal = noLocal; + this.durable = durable; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + DestinationUtil.write(out, destination); + out.writeString(messageSelector); + out.writeBoolean(noLocal); + out.writeBoolean(durable); + } + + @Override + protected Long confirming(ExtendedDataInputStream in) throws Exception + { + return in.readLong(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRollbackRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRollbackRequest.java new file mode 100644 index 0000000000..18c6e9beb4 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSRollbackRequest.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSRollbackRequest extends RequestWithConfirmation<Boolean> +{ + private int sessionID; + + /** + * @since 2.0 + */ + public JMSRollbackRequest(JMSClientProtocol protocol, int sessionID) + { + super(protocol, JMSProtocolConstants.SIGNAL_ROLLBACK); + this.sessionID = sessionID; + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + out.writeInt(sessionID); + } + + @Override + protected Boolean confirming(ExtendedDataInputStream in) throws Exception + { + return in.readBoolean(); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSServerMessageIndication.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSServerMessageIndication.java new file mode 100644 index 0000000000..3f1da2b156 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSServerMessageIndication.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.internal.jms.ConnectionImpl; +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.util.MessageUtil; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.Indication; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; + +/** + * @author Eike Stepper + */ +public class JMSServerMessageIndication extends Indication +{ + /** + * @since 2.0 + */ + public JMSServerMessageIndication(JMSClientProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_SERVER_MESSAGE); + } + + @Override + protected void indicating(ExtendedDataInputStream in) throws Exception + { + int sessionID = in.readInt(); + long consumerID = in.readLong(); + MessageImpl message = MessageUtil.read(in); + JMSClientProtocol protocol = (JMSClientProtocol)getProtocol(); + ConnectionImpl connection = protocol.getInfraStructure(); + connection.handleMessageFromSignal(sessionID, consumerID, message); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSSyncRequest.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSSyncRequest.java new file mode 100644 index 0000000000..cf62439a22 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/protocol/JMSSyncRequest.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.protocol; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.signal.RequestWithConfirmation; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +/** + * @author Eike Stepper + */ +public class JMSSyncRequest extends RequestWithConfirmation<Long> +{ + private long clientTime0; + + /** + * @since 2.0 + */ + public JMSSyncRequest(JMSClientProtocol protocol) + { + super(protocol, JMSProtocolConstants.SIGNAL_SYNC); + } + + @Override + protected void requesting(ExtendedDataOutputStream out) throws Exception + { + clientTime0 = System.currentTimeMillis(); + } + + @Override + protected Long confirming(ExtendedDataInputStream in) throws Exception + { + long serverTime = in.readLong(); + long clientTime1 = System.currentTimeMillis(); + long roundTripDuration = clientTime1 - clientTime0; + return serverTime + roundTripDuration / 2; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/DestinationUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/DestinationUtil.java new file mode 100644 index 0000000000..711d978525 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/DestinationUtil.java @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.util; + +import org.eclipse.net4j.internal.jms.DestinationImpl; +import org.eclipse.net4j.internal.jms.QueueImpl; +import org.eclipse.net4j.internal.jms.TopicImpl; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Queue; +import javax.jms.Topic; + +import java.io.IOException; + +public final class DestinationUtil +{ + private DestinationUtil() + { + } + + public static byte getType(Destination destination) + { + if (destination instanceof Queue) + { + return JMSProtocolConstants.DESTINATION_TYPE_QUEUE; + } + + if (destination instanceof Topic) + { + return JMSProtocolConstants.DESTINATION_TYPE_TOPIC; + } + + if (destination == null) + { + return JMSProtocolConstants.DESTINATION_TYPE_NULL; + } + + throw new IllegalArgumentException("destination: " + destination); //$NON-NLS-1$ + } + + public static String getTypeName(byte type) + { + switch (type) + { + case JMSProtocolConstants.DESTINATION_TYPE_NULL: + return "NULL_DESTINATION"; //$NON-NLS-1$ + + case JMSProtocolConstants.DESTINATION_TYPE_QUEUE: + return "QUEUE_DESTINATION"; //$NON-NLS-1$ + + case JMSProtocolConstants.DESTINATION_TYPE_TOPIC: + return "TOPIC_DESTINATION"; //$NON-NLS-1$ + } + + throw new IllegalArgumentException("type: " + type); //$NON-NLS-1$ + } + + public static String getName(Destination destination) throws JMSException + { + byte type = getType(destination); + switch (type) + { + case JMSProtocolConstants.DESTINATION_TYPE_QUEUE: + return ((Queue)destination).getQueueName(); + + case JMSProtocolConstants.DESTINATION_TYPE_TOPIC: + return ((Topic)destination).getTopicName(); + } + + return null; + } + + public static DestinationImpl create(byte type, String name) + { + switch (type) + { + case JMSProtocolConstants.DESTINATION_TYPE_QUEUE: + return new QueueImpl(name); + + case JMSProtocolConstants.DESTINATION_TYPE_TOPIC: + return new TopicImpl(name); + } + + return null; + } + + public static DestinationImpl copy(Destination source) throws JMSException + { + byte type = getType(source); + switch (type) + { + case JMSProtocolConstants.DESTINATION_TYPE_QUEUE: + return new QueueImpl(((Queue)source).getQueueName()); + + case JMSProtocolConstants.DESTINATION_TYPE_TOPIC: + return new TopicImpl(((Topic)source).getTopicName()); + } + + return null; + } + + public static DestinationImpl convert(Destination source) throws JMSException + { + if (source instanceof DestinationImpl) + { + return (DestinationImpl)source; + } + + return copy(source); + } + + public static void write(ExtendedDataOutputStream out, DestinationImpl destination) throws IOException + { + byte type = getType(destination); + out.writeByte(type); + if (type != JMSProtocolConstants.DESTINATION_TYPE_NULL) + { + out.writeString(destination.getName()); + } + } + + public static DestinationImpl read(ExtendedDataInputStream in) throws IOException + { + byte type = in.readByte(); + String name = null; + if (type != JMSProtocolConstants.DESTINATION_TYPE_NULL) + { + name = in.readString(); + } + + return create(type, name); + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/MessageUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/MessageUtil.java new file mode 100644 index 0000000000..5b2bf45e86 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/MessageUtil.java @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.util; + +import org.eclipse.net4j.internal.jms.BytesMessageImpl; +import org.eclipse.net4j.internal.jms.MapMessageImpl; +import org.eclipse.net4j.internal.jms.MessageImpl; +import org.eclipse.net4j.internal.jms.ObjectMessageImpl; +import org.eclipse.net4j.internal.jms.StreamMessageImpl; +import org.eclipse.net4j.internal.jms.TextMessageImpl; +import org.eclipse.net4j.internal.jms.bundle.OM; +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; +import org.eclipse.net4j.util.om.trace.ContextTracer; + +import javax.jms.BytesMessage; +import javax.jms.JMSException; +import javax.jms.MapMessage; +import javax.jms.Message; +import javax.jms.ObjectMessage; +import javax.jms.StreamMessage; +import javax.jms.TextMessage; + +import java.io.IOException; + +public final class MessageUtil +{ + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_PROTOCOL, MessageUtil.class); + + private MessageUtil() + { + } + + public static byte getType(Message message) + { + if (message instanceof BytesMessage) + { + return JMSProtocolConstants.MESSAGE_TYPE_BYTES; + } + + if (message instanceof MapMessage) + { + return JMSProtocolConstants.MESSAGE_TYPE_MAP; + } + + if (message instanceof ObjectMessage) + { + return JMSProtocolConstants.MESSAGE_TYPE_OBJECT; + } + + if (message instanceof StreamMessage) + { + return JMSProtocolConstants.MESSAGE_TYPE_STREAM; + } + + if (message instanceof TextMessage) + { + return JMSProtocolConstants.MESSAGE_TYPE_TEXT; + } + + throw new IllegalArgumentException("message: " + message); //$NON-NLS-1$ + } + + public static String getTypeName(byte type) + { + switch (type) + { + case JMSProtocolConstants.MESSAGE_TYPE_BYTES: + return "BYTES_MESSAGE"; //$NON-NLS-1$ + + case JMSProtocolConstants.MESSAGE_TYPE_MAP: + return "MAP_MESSAGE"; //$NON-NLS-1$ + + case JMSProtocolConstants.MESSAGE_TYPE_OBJECT: + return "OBJECT_MESSAGE"; //$NON-NLS-1$ + + case JMSProtocolConstants.MESSAGE_TYPE_STREAM: + return "STREAM_MESSAGE"; //$NON-NLS-1$ + + case JMSProtocolConstants.MESSAGE_TYPE_TEXT: + return "TEXT_MESSAGE"; //$NON-NLS-1$ + } + + throw new IllegalArgumentException("type: " + type); //$NON-NLS-1$ + } + + public static MessageImpl create(byte type) + { + switch (type) + { + case JMSProtocolConstants.MESSAGE_TYPE_BYTES: + return new BytesMessageImpl(); + + case JMSProtocolConstants.MESSAGE_TYPE_MAP: + return new MapMessageImpl(); + + case JMSProtocolConstants.MESSAGE_TYPE_OBJECT: + return new ObjectMessageImpl(); + + case JMSProtocolConstants.MESSAGE_TYPE_STREAM: + return new StreamMessageImpl(); + + case JMSProtocolConstants.MESSAGE_TYPE_TEXT: + return new TextMessageImpl(); + } + + throw new IllegalArgumentException("type: " + type); //$NON-NLS-1$ + } + + public static MessageImpl copy(Message source) throws JMSException + { + byte type = getType(source); + MessageImpl result = create(type); + result.populate(source); + return result; + } + + public static MessageImpl convert(Message source) throws JMSException + { + if (source instanceof MessageImpl) + { + return (MessageImpl)source; + } + + return copy(source); + } + + public static void write(ExtendedDataOutputStream out, MessageImpl message) throws IOException + { + byte type = getType(message); + if (TRACER.isEnabled()) + { + TRACER.format("Writing {0}", getTypeName(type)); //$NON-NLS-1$ + } + + out.writeByte(type); + message.write(out); + } + + public static MessageImpl read(ExtendedDataInputStream in) throws IOException + { + byte type = in.readByte(); + if (TRACER.isEnabled()) + { + TRACER.format("Reading {0}", getTypeName(type)); //$NON-NLS-1$ + } + + MessageImpl message = create(type); + message.read(in); + return message; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/TypeUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/TypeUtil.java new file mode 100644 index 0000000000..99d260008b --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/internal/jms/util/TypeUtil.java @@ -0,0 +1,301 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.internal.jms.util; + +import org.eclipse.net4j.jms.JMSProtocolConstants; +import org.eclipse.net4j.util.io.ExtendedDataInputStream; +import org.eclipse.net4j.util.io.ExtendedDataOutputStream; + +import javax.jms.MessageFormatException; + +import java.io.IOException; + +public final class TypeUtil +{ + private TypeUtil() + { + } + + public static boolean getBoolean(Object value) throws MessageFormatException + { + if (value instanceof Boolean) + { + return (Boolean)value; + } + else if (value instanceof String) + { + return Boolean.valueOf((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(boolean.class, value)); + } + + public static byte getByte(Object value) throws MessageFormatException + { + if (value instanceof Byte) + { + return (Byte)value; + } + else if (value instanceof String) + { + return Byte.parseByte((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(byte.class, value)); + } + + public static short getShort(Object value) throws MessageFormatException + { + if (value instanceof Short) + { + return (Short)value; + } + else if (value instanceof Byte) + { + return (Byte)value; + } + else if (value instanceof String) + { + return Short.parseShort((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(short.class, value)); + } + + public static char getChar(Object value) throws MessageFormatException + { + if (value instanceof Character) + { + return (Character)value; + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(char.class, value)); + } + + public static int getInt(Object value) throws MessageFormatException + { + if (value instanceof Integer) + { + return (Integer)value; + } + else if (value instanceof Short) + { + return (Short)value; + } + else if (value instanceof Byte) + { + return (Byte)value; + } + else if (value instanceof String) + { + return Integer.parseInt((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(int.class, value)); + } + + public static long getLong(Object value) throws MessageFormatException + { + if (value instanceof Long) + { + return (Long)value; + } + else if (value instanceof Integer) + { + return (Integer)value; + } + else if (value instanceof Short) + { + return (Short)value; + } + else if (value instanceof Byte) + { + return (Byte)value; + } + else if (value instanceof String) + { + return Long.parseLong((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(long.class, value)); + } + + public static float getFloat(Object value) throws MessageFormatException + { + if (value instanceof Float) + { + return (Float)value; + } + else if (value instanceof String) + { + return Float.parseFloat((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(float.class, value)); + } + + public static double getDouble(Object value) throws MessageFormatException + { + if (value instanceof Double) + { + return (Double)value; + } + else if (value instanceof Float) + { + return (Float)value; + } + else if (value instanceof String) + { + return Double.parseDouble((String)value); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(double.class, value)); + } + + public static String getString(Object value) throws MessageFormatException + { + if (value instanceof byte[]) + { + throw new MessageFormatException(conversionProblem(String.class, value)); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + return String.valueOf(value); + } + + public static byte[] getBytes(Object value) throws MessageFormatException + { + if (value instanceof byte[]) + { + byte[] bytes = (byte[])value; + byte[] result = new byte[bytes.length]; + System.arraycopy(bytes, 0, result, 0, bytes.length); + } + else if (value == null) + { + throw new IllegalArgumentException("value == null"); //$NON-NLS-1$ + } + + throw new MessageFormatException(conversionProblem(byte[].class, value)); + } + + public static void write(ExtendedDataOutputStream out, Object value) throws IOException + { + if (value instanceof Boolean) + { + out.writeByte(JMSProtocolConstants.TYPE_BOOLEAN); + out.writeBoolean((Boolean)value); + } + else if (value instanceof Byte) + { + out.writeByte(JMSProtocolConstants.TYPE_BYTE); + out.writeByte((Byte)value); + } + else if (value instanceof Character) + { + out.writeByte(JMSProtocolConstants.TYPE_CHAR); + out.writeChar((Character)value); + } + else if (value instanceof Double) + { + out.writeByte(JMSProtocolConstants.TYPE_DOUBLE); + out.writeDouble((Double)value); + } + else if (value instanceof Float) + { + out.writeByte(JMSProtocolConstants.TYPE_FLOAT); + out.writeFloat((Float)value); + } + else if (value instanceof Long) + { + out.writeByte(JMSProtocolConstants.TYPE_LONG); + out.writeLong((Long)value); + } + else if (value instanceof Short) + { + out.writeByte(JMSProtocolConstants.TYPE_SHORT); + out.writeShort((Short)value); + } + else if (value instanceof String) + { + out.writeByte(JMSProtocolConstants.TYPE_STRING); + out.writeString((String)value); + } + + throw new IllegalArgumentException("value: " + value); //$NON-NLS-1$ + } + + public static Object read(ExtendedDataInputStream in) throws IOException + { + byte type = in.readByte(); + switch (type) + { + case JMSProtocolConstants.TYPE_BOOLEAN: + return in.readBoolean(); + case JMSProtocolConstants.TYPE_BYTE: + return in.readByte(); + case JMSProtocolConstants.TYPE_CHAR: + return in.readChar(); + case JMSProtocolConstants.TYPE_DOUBLE: + return in.readDouble(); + case JMSProtocolConstants.TYPE_FLOAT: + return in.readFloat(); + case JMSProtocolConstants.TYPE_LONG: + return in.readLong(); + case JMSProtocolConstants.TYPE_SHORT: + return in.readShort(); + case JMSProtocolConstants.TYPE_STRING: + return in.readString(); + } + + throw new IOException("Invalid type: " + type); //$NON-NLS-1$ + } + + private static String conversionProblem(Class<?> type, Object value) + { + return "Cannot convert values of type " + value.getClass().getName() + " to " + type.getName(); //$NON-NLS-1$ //$NON-NLS-2$ + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSAdminProtocolConstants.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSAdminProtocolConstants.java new file mode 100644 index 0000000000..72d23ce783 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSAdminProtocolConstants.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms; + +/** + * @author Eike Stepper + */ +public interface JMSAdminProtocolConstants +{ + public static final String PROTOCOL_NAME = "jmsadmin"; //$NON-NLS-1$ + + public static final short SIGNAL_CREATE_DESTINATION = 1; + + public static final byte DESTINATION_TYPE_QUEUE = JMSProtocolConstants.DESTINATION_TYPE_QUEUE; + + public static final byte DESTINATION_TYPE_TOPIC = JMSProtocolConstants.DESTINATION_TYPE_TOPIC; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSInitialContext.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSInitialContext.java new file mode 100644 index 0000000000..a58d7e24ac --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSInitialContext.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms; + +import org.eclipse.net4j.internal.jms.ConnectionFactoryImpl; +import org.eclipse.net4j.util.container.IManagedContainer; + +import javax.naming.InitialContext; +import javax.naming.Name; +import javax.naming.NamingException; + +import java.util.Hashtable; + +/** + * @author Eike Stepper + */ +public class JMSInitialContext extends InitialContext +{ + private IManagedContainer transportContainer; + + public JMSInitialContext(IManagedContainer transportContainer) throws NamingException + { + this.transportContainer = transportContainer; + } + + public JMSInitialContext(boolean lazy, IManagedContainer transportContainer) throws NamingException + { + super(lazy); + this.transportContainer = transportContainer; + } + + public JMSInitialContext(Hashtable<?, ?> environment, IManagedContainer transportContainer) throws NamingException + { + super(environment); + this.transportContainer = transportContainer; + } + + public IManagedContainer getTransportContainer() + { + return transportContainer; + } + + @Override + public Object lookup(Name name) throws NamingException + { + return postProcess(super.lookup(name)); + } + + @Override + public Object lookup(String name) throws NamingException + { + return postProcess(super.lookup(name)); + } + + @Override + public Object lookupLink(Name name) throws NamingException + { + return postProcess(super.lookupLink(name)); + } + + @Override + public Object lookupLink(String name) throws NamingException + { + return postProcess(super.lookupLink(name)); + } + + protected Object postProcess(Object object) + { + if (object instanceof ConnectionFactoryImpl) + { + ConnectionFactoryImpl factory = (ConnectionFactoryImpl)object; + factory.setTransportContainer(transportContainer); + } + + return object; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSProtocolConstants.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSProtocolConstants.java new file mode 100644 index 0000000000..34f794f5f3 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSProtocolConstants.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms; + +/** + * @author Eike Stepper + */ +public interface JMSProtocolConstants +{ + public static final String PROTOCOL_NAME = "jms"; //$NON-NLS-1$ + + // Signals + + public static final short SIGNAL_SYNC = 1; + + public static final short SIGNAL_LOGON = 2; + + public static final short SIGNAL_LOGOFF = 3; + + public static final short SIGNAL_OPEN_SESSION = 4; + + public static final short SIGNAL_CLOSE_SESSION = 5; + + public static final short SIGNAL_REGISTER_CONSUMER = 6; + + public static final short SIGNAL_DEREGISTER_CONSUMER = 7; + + public static final short SIGNAL_CLIENT_MESSAGE = 8; + + public static final short SIGNAL_SERVER_MESSAGE = 9; + + public static final short SIGNAL_ACKNOWLEDGE = 10; + + public static final short SIGNAL_RECOVER = 11; + + public static final short SIGNAL_COMMIT = 12; + + public static final short SIGNAL_ROLLBACK = 13; + + // Message Types + + public static final byte MESSAGE_TYPE_BYTES = 1; + + public static final byte MESSAGE_TYPE_MAP = 2; + + public static final byte MESSAGE_TYPE_OBJECT = 3; + + public static final byte MESSAGE_TYPE_STREAM = 4; + + public static final byte MESSAGE_TYPE_TEXT = 5; + + // Destination Types + + public static final byte DESTINATION_TYPE_NULL = 0; + + public static final byte DESTINATION_TYPE_QUEUE = 1; + + public static final byte DESTINATION_TYPE_TOPIC = 2; + + // Data Types + + public static final byte TYPE_BOOLEAN = 1; + + public static final byte TYPE_BYTE = 2; + + public static final byte TYPE_CHAR = 3; + + public static final byte TYPE_DOUBLE = 4; + + public static final byte TYPE_FLOAT = 5; + + public static final byte TYPE_LONG = 6; + + public static final byte TYPE_SHORT = 7; + + public static final byte TYPE_STRING = 8; +} diff --git a/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSUtil.java b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSUtil.java new file mode 100644 index 0000000000..0b4305c814 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/examples/jms/src/org/eclipse/net4j/jms/JMSUtil.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.net4j.jms; + +import org.eclipse.net4j.util.container.IManagedContainer; + +import javax.naming.Context; +import javax.naming.NamingException; + +/** + * @author Eike Stepper + */ +public final class JMSUtil +{ + private static IManagedContainer transportContainer; + + private JMSUtil() + { + } + + public static Context createInitialContext() throws NamingException + { + if (transportContainer == null) + { + throw new IllegalStateException("transportContainer == null"); //$NON-NLS-1$ + } + + return new JMSInitialContext(transportContainer); + } + + public static IManagedContainer getTransportContainer() + { + return transportContainer; + } + + public static void setTransportContainer(IManagedContainer transportContainer) + { + JMSUtil.transportContainer = transportContainer; + } +} diff --git a/plugins/org.eclipse.net4j.examples.installer/icons/full/ctool16/NewEMFExample.gif b/plugins/org.eclipse.net4j.examples.installer/icons/full/ctool16/NewEMFExample.gif Binary files differnew file mode 100644 index 0000000000..9acbbc69a4 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/icons/full/ctool16/NewEMFExample.gif diff --git a/plugins/org.eclipse.net4j.examples.installer/icons/full/wizban/NewEMFExample.gif b/plugins/org.eclipse.net4j.examples.installer/icons/full/wizban/NewEMFExample.gif Binary files differnew file mode 100644 index 0000000000..e2498313a5 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/icons/full/wizban/NewEMFExample.gif diff --git a/plugins/org.eclipse.net4j.examples.installer/plugin.properties b/plugins/org.eclipse.net4j.examples.installer/plugin.properties new file mode 100644 index 0000000000..0352bb9da9 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/plugin.properties @@ -0,0 +1,31 @@ +# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Eike Stepper - initial API and implementation + +pluginName = Net4j Signalling Platform Examples Installer +providerName = Eclipse Modeling Project + +Net4jExampleCategory_name = Net4j Signalling Platform + +ExampleBuddiesWizard_name = Net4j Chat Buddies Example +ExampleBuddiesWizard_desc = Create plug-in projects for a complete distributed chat and extensible collaboration system. +ExampleProject_buddies_desc = This project contains the client-side core. +ExampleProject_buddies.chat_desc = This project contains the chat core support. +ExampleProject_buddies.chat.ui_desc = This project contains the chat UI. +ExampleProject_buddies.common_desc = This project contains the common framework. +ExampleProject_buddies.server_desc = This project contains the server. +ExampleProject_buddies.ui_desc = This project contains the generic UI. + +ExampleJMSWizard_name = Net4j JMS Provider Example +ExampleJMSWizard_desc = Create plug-in projects for a complete JMS Provider implemented on top of the Net4j Signalling Platform. +ExampleProject_jms_desc = This project contains the client-side JMS implementation. +ExampleProject_jms.admin_desc = This project contains a admisnistrative facility to create JMS queues and topics. +ExampleProject_jms.api_desc = This project contains the JMS specification API. +ExampleProject_jms.server_desc = This project contains the JMS server implementation. +ExampleProject_jms.server.jdbc_desc = This project contains JDBC persistence support for the JMS server. +ExampleProject_jms.tests_desc = This project contains the tests. diff --git a/plugins/org.eclipse.net4j.examples.installer/plugin.xml b/plugins/org.eclipse.net4j.examples.installer/plugin.xml new file mode 100644 index 0000000000..71e5592569 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/plugin.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> + +<plugin> + + <extension point="org.eclipse.ui.newWizards"> + <category + id="org.eclipse.net4j.examples" + name="%Net4jExampleCategory_name" + parentCategory="org.eclipse.ui.Examples"> + </category> + <wizard + canFinishEarly="true" + category="org.eclipse.ui.Examples/org.eclipse.net4j.examples" + class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard" + icon="icons/full/ctool16/NewEMFExample.gif" + id="org.eclipse.net4j.examples.ExampleBuddiesWizard" + name="%ExampleBuddiesWizard_name" + project="true"> + <description>%ExampleBuddiesWizard_desc</description> + </wizard> + <wizard + canFinishEarly="true" + category="org.eclipse.ui.Examples/org.eclipse.net4j.examples" + class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard" + icon="icons/full/ctool16/NewEMFExample.gif" + id="org.eclipse.net4j.examples.ExampleJMSWizard" + name="%ExampleJMSWizard_name" + project="true"> + <description>%ExampleJMSWizard_desc</description> + </wizard> + </extension> + + <extension point="org.eclipse.emf.common.ui.examples"> + <example + id="org.eclipse.net4j.examples.ExampleBuddies" + wizardID="org.eclipse.net4j.examples.ExampleBuddiesWizard" + pageImage="icons/full/wizban/NewEMFExample.gif"> + <projectDescriptor + name="org.eclipse.net4j.examples.buddies" + contentURI="examples/buddies/" + description="%ExampleProject_buddies_desc"/> + <projectDescriptor + name="org.eclipse.net4j.examples.buddies.chat" + contentURI="examples/buddies.chat/" + description="%ExampleProject_buddies.chat_desc"/> + <projectDescriptor + name="org.eclipse.net4j.examples.buddies.chat.ui" + contentURI="examples/buddies.chat.ui/" + description="%ExampleProject_buddies.chat.ui_desc"/> + <projectDescriptor + name="org.eclipse.net4j.examples.buddies.common" + contentURI="examples/buddies.buddies.common/" + description="%ExampleProject_buddies.buddies.common_desc"/> + <projectDescriptor + name="org.eclipse.net4j.examples.buddies.server" + contentURI="examples/buddies.buddies.server/" + description="%ExampleProject_buddies.buddies.server_desc"/> + <projectDescriptor + name="org.eclipse.net4j.examples.buddies.ui" + contentURI="examples/buddies.buddies.ui/" + description="%ExampleProject_buddies.buddies.ui_desc"/> + </example> + <example + id="org.eclipse.net4j.examples.ExampleJMS" + wizardID="org.eclipse.net4j.examples.ExampleJMSWizard" + pageImage="icons/full/wizban/NewEMFExample.gif"> + <projectDescriptor + name="org.eclipse.net4j.jms" + contentURI="examples/jms/" + description="%ExampleProject_jms_desc"/> + <projectDescriptor + name="org.eclipse.net4j.jms.admin" + contentURI="examples/jms.admin/" + description="%ExampleProject_jms.admin_desc"/> + <projectDescriptor + name="org.eclipse.net4j.jms.api" + contentURI="examples/jms.api/" + description="%ExampleProject_jms.api_desc"/> + <projectDescriptor + name="org.eclipse.net4j.jms.server" + contentURI="examples/jms.server/" + description="%ExampleProject_jms.server_desc"/> + <projectDescriptor + name="org.eclipse.net4j.jms.server.jdbc" + contentURI="examples/jms.server.jdbc/" + description="%ExampleProject_jms.server.jdbc_desc"/> + <projectDescriptor + name="org.eclipse.net4j.jms.tests" + contentURI="examples/jms.tests/" + description="%ExampleProject_jms.tests_desc"/> + </example> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.net4j.examples.installer/update.ant b/plugins/org.eclipse.net4j.examples.installer/update.ant new file mode 100644 index 0000000000..e9de02b38e --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/update.ant @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> +<project name="UpdateExamplesInstaller" default="main" basedir=".."> + + <import file="../org.eclipse.net4j.examples.installer/updateLib.ant"/> + + <target name="main"> + <update-example example="org.eclipse.net4j.buddies" target="buddies"/> + <update-example example="org.eclipse.net4j.buddies.chat" target="buddies.chat"/> + <update-example example="org.eclipse.net4j.buddies.chat.ui" target="buddies.chat.ui"/> + <update-example example="org.eclipse.net4j.buddies.common" target="buddies.common"/> + <update-example example="org.eclipse.net4j.buddies.server" target="buddies.server"/> + <update-example example="org.eclipse.net4j.buddies.ui" target="buddies.ui"/> + + <update-example example="org.eclipse.net4j.jms" target="jms"/> + <update-example example="org.eclipse.net4j.jms.admin" target="jms.admin"/> + <update-example example="org.eclipse.net4j.jms.api" target="jms.api"/> + <update-example example="org.eclipse.net4j.jms.server" target="jms.server"/> + <update-example example="org.eclipse.net4j.jms.server.jdbc" target="jms.server.jdbc"/> + <update-example example="org.eclipse.net4j.jms.tests" target="jms.tests"/> + </target> + +</project> diff --git a/plugins/org.eclipse.net4j.examples.installer/updateLib.ant b/plugins/org.eclipse.net4j.examples.installer/updateLib.ant new file mode 100644 index 0000000000..eec3d4bdb2 --- /dev/null +++ b/plugins/org.eclipse.net4j.examples.installer/updateLib.ant @@ -0,0 +1,35 @@ +<?xml version="1.0"?> +<!-- + Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Eike Stepper - initial API and implementation +--> +<project name="UpdateLib" basedir=".."> + + <macrodef name="update-example"> + <attribute name="example" /> + <attribute name="target" /> + <sequential> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="org.eclipse.net4j.examples.installer/examples/@{target}"> + <include name="**" /> + </fileset> + </delete> + + <copy todir="org.eclipse.net4j.examples.installer/examples/@{target}" overwrite="true"> + <fileset dir="@{example}"> + <exclude name="update.ant" /> + <exclude name="database/" /> + <exclude name="bin/" /> + <include name="**" /> + </fileset> + </copy> + </sequential> + </macrodef> + +</project> |