addam-commit Mailing List for Addam
Brought to you by:
jeffjensen,
tdawson47
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
---|
From: <jef...@us...> - 2006-12-08 05:40:42
|
Revision: 4 http://svn.sourceforge.net/addam/?rev=4&view=rev Author: jeffjensen Date: 2006-12-07 21:40:41 -0800 (Thu, 07 Dec 2006) Log Message: ----------- Add Eclipse coding prefs files for shared use. Added Paths: ----------- main/ideprefs/ main/ideprefs/eclipse/ main/ideprefs/eclipse/codeformatter.xml main/ideprefs/eclipse/codetemplates.xml main/ideprefs/readme.txt Added: main/ideprefs/eclipse/codeformatter.xml =================================================================== --- main/ideprefs/eclipse/codeformatter.xml (rev 0) +++ main/ideprefs/eclipse/codeformatter.xml 2006-12-08 05:40:41 UTC (rev 4) @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profiles version="10"> +<profile name="Addam Eclipse Settings" version="10"> +<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/> +<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/> +<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/> +<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="80"/> +<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/> +<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/> +<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/> +<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/> +<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/> +</profile> +</profiles> Added: main/ideprefs/eclipse/codetemplates.xml =================================================================== --- main/ideprefs/eclipse/codetemplates.xml (rev 0) +++ main/ideprefs/eclipse/codetemplates.xml 2006-12-08 05:40:41 UTC (rev 4) @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="true" context="catchblock_context" deleted="false" description="Code in new catch blocks" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.catchblock" name="catchblock">// ${todo} Auto-generated catch block +${exception_var}.printStackTrace();</template></templates> \ No newline at end of file Added: main/ideprefs/readme.txt =================================================================== --- main/ideprefs/readme.txt (rev 0) +++ main/ideprefs/readme.txt 2006-12-08 05:40:41 UTC (rev 4) @@ -0,0 +1,3 @@ +This directory contains IDE preference files for formatting code correctly. + +Please use them for working on Addam code. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jef...@us...> - 2006-12-08 05:38:43
|
Revision: 3 http://svn.sourceforge.net/addam/?rev=3&view=rev Author: jeffjensen Date: 2006-12-07 21:38:42 -0800 (Thu, 07 Dec 2006) Log Message: ----------- Add some content to site main page, explaining status. Add PDF of docs to tasks list. Modified Paths: -------------- main/src/site/xdoc/index.xml main/src/site/xdoc/tasks.xml Modified: main/src/site/xdoc/index.xml =================================================================== --- main/src/site/xdoc/index.xml 2006-12-05 02:52:58 UTC (rev 2) +++ main/src/site/xdoc/index.xml 2006-12-08 05:38:42 UTC (rev 3) @@ -19,13 +19,21 @@ <section name="Overview"> <p>ADDAM stands for Automated Database Deployment and Maintenance. Addam enables Agile database management.</p> - <p>(write me!)</p> + <p>Addam has been in use for over 2 years in a commercial software development + company.</p> <!-- <subsection name="A subsection"> </subsection> --> </section> + <section name="Status"> + <p>We are in the process of open sourcing it. The initial source is in SVN, and builds with + Maven 1.1. The build needs testing and docs need writing! Please see the Tasks list for + initial needs. Any help with the tasks, testing, development, etc. is welcome.</p> + <p>Any questions, please email the user or developer list, as appropriate.</p> + </section> + <section name="System Requirements"> <p>(write me!)</p> </section> Modified: main/src/site/xdoc/tasks.xml =================================================================== --- main/src/site/xdoc/tasks.xml 2006-12-05 02:52:58 UTC (rev 2) +++ main/src/site/xdoc/tasks.xml 2006-12-08 05:38:42 UTC (rev 3) @@ -54,6 +54,10 @@ enddate="" effort="" status="" version="1"> Javadoc codebase - it's a bit sparse! </task> + <task creator="jeffjensen" assignedto="jeffjensen" startdate="" + enddate="" effort="" status="" version="1"> + Add PDF gen to site build and add link on site to it. + </task> </category> <category name="Maven" description="Addam use of Maven" owner="jeffjensen"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jef...@us...> - 2006-12-05 02:52:58
|
Revision: 2 http://svn.sourceforge.net/addam/?rev=2&view=rev Author: jeffjensen Date: 2006-12-04 18:52:58 -0800 (Mon, 04 Dec 2006) Log Message: ----------- Initial add. Added Paths: ----------- main/.classpath main/.project main/.settings/ main/.settings/org.eclipse.core.resources.prefs main/HOWTO_RELEASE.txt main/LICENSE.txt main/pmd_ruleset.xml main/project.properties main/project.xml main/src/ main/src/doc/ main/src/doc/javadocoverview.html main/src/main/ main/src/main/java/ main/src/main/java/net/ main/src/main/java/net/sourceforge/ main/src/main/java/net/sourceforge/addam/ main/src/main/java/net/sourceforge/addam/Main.java main/src/main/java/net/sourceforge/addam/ddlgen/ main/src/main/java/net/sourceforge/addam/ddlgen/Filter.java main/src/main/java/net/sourceforge/addam/ddlgen/GenerateTask.java main/src/main/java/net/sourceforge/addam/ddlgen/Generator.java main/src/main/java/net/sourceforge/addam/ddlgen/GeneratorSpec.java main/src/main/java/net/sourceforge/addam/ddlgen/Table.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/ main/src/main/java/net/sourceforge/addam/ddlgen/generic/ForeignKey.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/ForeignKeyGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/InsertGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/Table.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/TableColumn.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/TableGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/TableIndex.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/TablePrimaryKey.java main/src/main/java/net/sourceforge/addam/ddlgen/generic/VelocityGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/ main/src/main/java/net/sourceforge/addam/ddlgen/oracle/DBMSMetadataGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/ForeignKeyGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/FunctionGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/IndexGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/PackageGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/ProcedureGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/SequenceGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/TableGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/TriggerGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/TypeGenerator.java main/src/main/java/net/sourceforge/addam/ddlgen/oracle/ViewGenerator.java main/src/main/java/net/sourceforge/addam/ddlrun/ main/src/main/java/net/sourceforge/addam/ddlrun/InstallTask.java main/src/main/java/net/sourceforge/addam/ddlrun/ServletContainerUpgrader.java main/src/main/java/net/sourceforge/addam/ddlrun/UpgradeTask.java main/src/main/java/net/sourceforge/addam/ddlrun/custom/ main/src/main/java/net/sourceforge/addam/ddlrun/custom/IDSCompletedScriptRetriever.java main/src/main/java/net/sourceforge/addam/ddlrun/custom/IDSRunLogger.java main/src/main/java/net/sourceforge/addam/ddlrun/custom/IDSStartFolderRetriever.java main/src/main/java/net/sourceforge/addam/ddlrun/filters/ main/src/main/java/net/sourceforge/addam/ddlrun/filters/DifferenceFilter.java main/src/main/java/net/sourceforge/addam/ddlrun/filters/Filter.java main/src/main/java/net/sourceforge/addam/ddlrun/filters/SelectAllFilter.java main/src/main/java/net/sourceforge/addam/ddlrun/filters/StartPointFilter.java main/src/main/java/net/sourceforge/addam/ddlrun/grammars/ main/src/main/java/net/sourceforge/addam/ddlrun/grammars/OracleGrammar.java main/src/main/java/net/sourceforge/addam/ddlrun/grammars/ScriptGrammar.java main/src/main/java/net/sourceforge/addam/ddlrun/grammars/ScriptGrammarManager.java main/src/main/java/net/sourceforge/addam/ddlrun/runners/ main/src/main/java/net/sourceforge/addam/ddlrun/runners/DeploymentRunner.java main/src/main/java/net/sourceforge/addam/ddlrun/runners/DeploymentRunnerFactory.java main/src/main/java/net/sourceforge/addam/ddlrun/runners/JDBCScriptRunner.java main/src/main/java/net/sourceforge/addam/ddlrun/runners/JDBCStatementRunner.java main/src/main/java/net/sourceforge/addam/ddlrun/runners/Runner.java main/src/main/java/net/sourceforge/addam/ddlrun/runners/ScriptGroupRunner.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/ main/src/main/java/net/sourceforge/addam/ddlrun/utils/ClassLoaderReader.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/ClassLoaderReaderFactory.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/CompletedScriptRetriever.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/DRVParser.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/FileSystemReader.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/FileSystemReaderFactory.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/ResourceReader.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/ResourceReaderFactory.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/RunLogger.java main/src/main/java/net/sourceforge/addam/ddlrun/utils/StartFolderRetriever.java main/src/main/java/net/sourceforge/addam/impexp/ main/src/main/java/net/sourceforge/addam/impexp/DataCodec.java main/src/main/java/net/sourceforge/addam/impexp/ExportDataTask.java main/src/main/java/net/sourceforge/addam/impexp/ImportDataTask.java main/src/main/java/net/sourceforge/addam/impexp/Script.java main/src/main/java/net/sourceforge/addam/impexp/Tables.java main/src/main/java/net/sourceforge/addam/impexp/csv/ main/src/main/java/net/sourceforge/addam/impexp/csv/CSVFormatException.java main/src/main/java/net/sourceforge/addam/impexp/csv/CSVParser.java main/src/main/java/net/sourceforge/addam/impexp/csv/CSVPrinter.java main/src/main/java/net/sourceforge/addam/impexp/csv/MapCSVParser.java main/src/main/java/net/sourceforge/addam/package.html main/src/main/java/net/sourceforge/addam/selectexec/ main/src/main/java/net/sourceforge/addam/selectexec/SelectExecTask.java main/src/main/java/net/sourceforge/addam/util/ main/src/main/java/net/sourceforge/addam/util/DatabaseMetaDataUtil.java main/src/main/java/net/sourceforge/addam/util/TableUtil.java main/src/main/resources/ main/src/main/resources/net/ main/src/main/resources/net/sourceforge/ main/src/main/resources/net/sourceforge/addam/ main/src/main/resources/net/sourceforge/addam/antlib.xml main/src/main/resources/net/sourceforge/addam/ddlgen/ main/src/main/resources/net/sourceforge/addam/ddlgen/RegisteredGenerators.properties main/src/main/resources/net/sourceforge/addam/ddlgen/generic/ main/src/main/resources/net/sourceforge/addam/ddlgen/generic/ForeignKey.vm main/src/main/resources/net/sourceforge/addam/ddlgen/generic/Insert.vm main/src/main/resources/net/sourceforge/addam/ddlgen/generic/Table-Oracle.vm main/src/main/resources/net/sourceforge/addam/ddlgen/generic/Table-SQLServer.vm main/src/main/resources/net/sourceforge/addam/ddlrun/ main/src/main/resources/net/sourceforge/addam/ddlrun/grammars/ main/src/main/resources/net/sourceforge/addam/ddlrun/grammars/ScriptGrammars.properties main/src/site/ main/src/site/xdoc/ main/src/site/xdoc/changes.xml main/src/site/xdoc/faq.fml main/src/site/xdoc/index.xml main/src/site/xdoc/menu-activity.xml main/src/site/xdoc/menu-autcodereview.xml main/src/site/xdoc/menu-autotest.xml main/src/site/xdoc/menu-reference.xml main/src/site/xdoc/navigation.xml main/src/site/xdoc/presentations/ main/src/site/xdoc/presentations/AgileDB.ppt main/src/site/xdoc/presentations/index.xml main/src/site/xdoc/tasks.xml main/src/site/xdoc/userguide/ main/src/site/xdoc/userguide/index.xml main/src/test/ main/src/test/java/ main/src/test/java/net/ main/src/test/java/net/sourceforge/ main/src/test/java/net/sourceforge/addam/ main/src/test/java/net/sourceforge/addam/ddlgen/ main/src/test/java/net/sourceforge/addam/ddlgen/DDLGenTaskUTEST.java main/src/test/java/net/sourceforge/addam/ddlgen/GeneratorSpecUTEST.java main/src/test/java/net/sourceforge/addam/ddlgen/generic/ main/src/test/java/net/sourceforge/addam/ddlgen/generic/ForeignKeyGeneratorUTEST.java main/src/test/java/net/sourceforge/addam/ddlgen/generic/InsertGeneratorUTEST.java main/src/test/java/net/sourceforge/addam/ddlgen/generic/TableColumnUTEST.java main/src/test/java/net/sourceforge/addam/ddlgen/generic/TableGeneratorUTEST.java main/src/test/java/net/sourceforge/addam/ddlgen/generic/TableIndexUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/ main/src/test/java/net/sourceforge/addam/ddlrun/ServletContainerUpgraderUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/filters/ main/src/test/java/net/sourceforge/addam/ddlrun/filters/DifferenceFilterUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/filters/SelectAllFilterUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/filters/StartPointFilterUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/grammars/ main/src/test/java/net/sourceforge/addam/ddlrun/grammars/ScriptGrammarManagerUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/runners/ main/src/test/java/net/sourceforge/addam/ddlrun/runners/DeploymentRunnerUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/runners/JDBCScriptRunnerUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/runners/MockRunner.java main/src/test/java/net/sourceforge/addam/ddlrun/runners/ScriptGroupRunnerUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/utils/ main/src/test/java/net/sourceforge/addam/ddlrun/utils/ClassLoaderReaderFactoryUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/utils/ClassLoaderReaderUTEST.java main/src/test/java/net/sourceforge/addam/ddlrun/utils/MockReader.java main/src/test/java/net/sourceforge/addam/ddlrun/utils/MockReaderFactory.java main/src/test/java/net/sourceforge/addam/ddlrun/utils/MockRunLogger.java main/src/test/java/net/sourceforge/addam/impexp/ main/src/test/java/net/sourceforge/addam/impexp/DataCodecUTEST.java main/src/test/java/net/sourceforge/addam/impexp/csv/ main/src/test/java/net/sourceforge/addam/impexp/csv/CSVParserTEST.java main/src/test/java/net/sourceforge/addam/impexp/csv/CSVPrinterTEST.java main/src/test/java/net/sourceforge/addam/impexp/csv/MapCSVParserTEST.java main/src/test/resources/ main/src/test/resources/net/ main/src/test/resources/net/sourceforge/ main/src/test/resources/net/sourceforge/addam/ main/src/test/resources/net/sourceforge/addam/ddlrun/ main/src/test/resources/net/sourceforge/addam/ddlrun/grammars/ main/src/test/resources/net/sourceforge/addam/ddlrun/grammars/ScriptGrammars.properties main/src/test/resources/net/sourceforge/addam/ddlrun/grammars/TestScriptGrammars.properties main/src/test/resources/net/sourceforge/addam/ddlrun/utils/ main/src/test/resources/net/sourceforge/addam/ddlrun/utils/test-resource.txt main/src/test/resources/upgrade.drv Property Changed: ---------------- main/ Property changes on: main ___________________________________________________________________ Name: svn:ignore + target Added: main/.classpath =================================================================== --- main/.classpath (rev 0) +++ main/.classpath 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources"/> + <classpathentry kind="src" output="target/test-classes" path="src/test/resources"/> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> + <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.2.jar"/> + <classpathentry kind="var" path="MAVEN_REPO/ant/jars/ant-1.6.5.jar"/> + <classpathentry kind="var" path="MAVEN_REPO/velocity/jars/velocity-1.4.jar"/> + <classpathentry kind="var" path="MAVEN_REPO/org.apache.geronimo.specs/jars/geronimo-j2ee_1.4_spec-1.1.jar"/> + <classpathentry kind="var" path="MAVEN_REPO/commons-codec/jars/commons-codec-1.3.jar"/> + <classpathentry kind="var" path="MAVEN_REPO/com.mockrunner/jars/mockrunner-0.3.1.jar"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> Added: main/.project =================================================================== --- main/.project (rev 0) +++ main/.project 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<projectDescription> + <name>addam</name> + <comment><p> ADDAM - Automated DB Deployment and Maintenance. </p> <p> Agile database management. </p></comment> + <projects></projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments></arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> \ No newline at end of file Added: main/.settings/org.eclipse.core.resources.prefs =================================================================== --- main/.settings/org.eclipse.core.resources.prefs (rev 0) +++ main/.settings/org.eclipse.core.resources.prefs 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,5 @@ +#Sun Dec 03 11:00:10 CST 2006 +eclipse.preferences.version=1 +encoding//src/site/xdoc/faq.fml=UTF-8 +encoding//src/site/xdoc/index.xml=UTF-8 +encoding//src/site/xdoc/navigation.xml=UTF-8 Added: main/HOWTO_RELEASE.txt =================================================================== --- main/HOWTO_RELEASE.txt (rev 0) +++ main/HOWTO_RELEASE.txt 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,75 @@ +HOW TO RELEASE ADDAM +==================== +These instructions are for both snapshot and GA releases. + +A complete release consists of the program files and the site. + +The high-level release steps are: +1) Deploy the code +2) Publish the site +3) Email an announcement + + +PREREQUISITES +------------- +Sourceforge requires an SSH key. The SF account profile has the link to add your public key(s) for access. + + +PRE-RELEASE PREP WORK +--------------------- +Update RFEs, bug entries as needed. + +Update any developer or contributor info. + +Update changes.xml with info (particularly change date of release). + +Checkin. + + +DEPLOY RELEASE TO SOURCEFORGE +----------------------------- +Prep: Follow the notes in the main project.properties file, and override the values (e.g. in your private build.properties). + +First, clean and build the distribution files. + maven clean dist:deploy + +Then, deploy the distribution files to SourceForge. + maven sourceforge:deploy + + +PUBLISH THE SITE TO SOURCEFORGE +------------------------------- +Set this in build.properties, or on command line when running: +maven.username=(your SF id) + +Ensure you can ssh to maven-plugins.sourceforge.net without prompts (meaning, your private and public keys are setup correctly). +This includes accepting the server the first time. +I had to use this version: + ssh -l (sfuserid) maven-plugins.sourceforge.net +instead of + ssh (sfuserid)@maven-plugins.sourceforge.net +to get it accepted. + +Update bug and feature request entries as needed (e.g. close those completed in the release). + +Update and checkin the changes.xml file, including date of release. + +Generate site locally and review: + maven site + +Then deploy it: + maven site:sshdeploy + + +EMAIL RELEASE ANNOUNCEMENT +------------------------- +The site step generates it, and this is how standalone: + +Generate the announcement email: + maven announcement + +Edit it (adjust repos at minimum) and email. + +TAG THE SOURCE +-------------- + Added: main/LICENSE.txt =================================================================== --- main/LICENSE.txt (rev 0) +++ main/LICENSE.txt 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,13 @@ +Copyright 2001-2005 The Apache Software Foundation. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. Added: main/pmd_ruleset.xml =================================================================== --- main/pmd_ruleset.xml (rev 0) +++ main/pmd_ruleset.xml 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,32 @@ +<?xml version="1.0"?> + +<ruleset name="Custom ruleset" + xmlns="http://pmd.sf.net/ruleset/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" + xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"> + <description> + Custom PMD ruleset for ADDAM. We use most rules. + </description> + + <rule ref="rulesets/basic.xml" /> + <rule ref="rulesets/braces.xml" /> + <rule ref="rulesets/clone.xml" /> + <rule ref="rulesets/codesize.xml" /> + <rule ref="rulesets/controversial.xml" /> + <rule ref="rulesets/coupling.xml" /> + <rule ref="rulesets/design.xml" /> + <rule ref="rulesets/finalizers.xml" /> + <rule ref="rulesets/imports.xml" /> + <rule ref="rulesets/j2ee.xml" /> + <rule ref="rulesets/javabeans.xml" /> + <rule ref="rulesets/junit.xml" /> + <rule ref="rulesets/logging-jakarta-commons.xml" /> + <rule ref="rulesets/logging-java.xml" /> + <rule ref="rulesets/naming.xml" /> + <rule ref="rulesets/optimizations.xml" /> + <rule ref="rulesets/strictexception.xml" /> + <rule ref="rulesets/strings.xml" /> + <rule ref="rulesets/sunsecure.xml" /> + <rule ref="rulesets/unusedcode.xml" /> +</ruleset> \ No newline at end of file Added: main/project.properties =================================================================== --- main/project.properties (rev 0) +++ main/project.properties 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,96 @@ +#-------------------------------- +# General Maven Settings +#-------------------------------- +maven.repo.remote=http://www.ibiblio.org/maven,http://maven-plugins.sourceforge.net/repository,http://maven-plugins.sourceforge.net/snapshot-repository + +#-------------------------------- +# Changelog Plugin +#-------------------------------- +maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory + +#-------------------------------- +# Cobertura Plugin +#-------------------------------- +maven.cobertura.check.report=true +maven.cobertura.check.line=85 +maven.cobertura.check.branch=85 + +#-------------------------------- +# FindBugs Plugin +#-------------------------------- +maven.findbugs.enable=true +maven.findbugs.detail=low +maven.findbugs.workHard=true + +#-------------------------------- +# Jar Plugin +#-------------------------------- +maven.jar.mainclass=net.sourceforge.addam.Main + +#-------------------------------- +# Java Plugin +#-------------------------------- +maven.compile.source=1.5 +maven.compile.target=1.5 +maven.compile.fork=true + +#-------------------------------- +# Javadoc Plugin +#-------------------------------- +maven.javadoc.links=http://java.sun.com/j2se/1.4.2/docs/api/,http://java.sun.com/j2ee/sdk_1.3/techdocs/api/ +maven.javadoc.overview=${basedir}/src/doc/javadocoverview.html +maven.javadoc.private=true +maven.javadoc.customtags=tag1 +tag1.name=todo +tag1.description=To Do: +tag1.enabled=true +tag1.scope=all + +#-------------------------------- +# JUnit Plugin +#-------------------------------- +maven.junit.fork=true +maven.junit.forkmode=once + +#-------------------------------- +# PMD Plugin +#-------------------------------- +maven.pmd.enable=true +maven.pmd.cpd.enable=true +maven.pmd.rulesetfiles=${basedir}/pmd_ruleset.xml + +#-------------------------------- +# Site Plugin +#-------------------------------- +maven.site.reports.ignoreErrors=true +maven.site.failonerror=false + +#ensure deploy/publish area is clean first +maven.site.deploy.clean=true +maven.site.publish.clean=true + +#-------------------------------- +# SourceForge Plugin +#-------------------------------- +#NOTE: set these in your $HOME/build.properties file: +#maven.userName=(your SF id) +#maven.sourceforge.password=(your SF password) + +maven.sourceforge.project.submitNewsItem = true + +#-------------------------------- +# Test Plugin +#-------------------------------- +#todo set to false when all tests are working +maven.test.error.ignore=true +maven.test.failure.ignore=true + +#-------------------------------- +# XDoc Plugin +#-------------------------------- +maven.docs.src=${basedir}/src/site/xdoc +maven.xdoc.date=bottom +maven.xdoc.theme=stylus +maven.xdoc.includeProjectDocumentation=false +maven.xdoc.distributionUrl=http://addam.sourceforge.net/repository/ +#maven.xdoc.distributionType= Added: main/project.xml =================================================================== --- main/project.xml (rev 0) +++ main/project.xml 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/3.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/3.0.0 http://maven.apache.org/maven-v3_0_0.xsd"> + + <!-- the version of maven's project object model --> + <pomVersion>3</pomVersion> + + <!-- The short name of the project group. + This value is used to group all jars for a project in one directory. --> + <groupId>addam</groupId> + + <!-- a unique name for this project --> + <artifactId>addam</artifactId> + + <!-- a short but descriptive name for the project --> + <name>addam</name> + + <!-- The version of the project under development, e.g. + 1.1, 1.2, 2.0-SNAPSHOT --> + <currentVersion>1.0.0-SNAPSHOT</currentVersion> + + <!-- details about the organization that 'owns' the project --> + <organization> + <name>ADDAM Project Team</name> + <url>https://sourceforge.net/projects/addam</url> + <logo>http://sourceforge.net/sflogo.php?group_id=61626&type=5</logo> + </organization> + + <!-- the year the project started --> + <inceptionYear>2005</inceptionYear> + <package>net.sourceforge.addam</package> + <!-- logo>http://maven.apache.org/images/maven.jpg</logo --> + <description>Addam enables Agile database management.</description> + + <!-- a short description of what the project does --> + <shortDescription>Automated Database Deployment and Maintenance.</shortDescription> + + <!-- the project home page --> + <url>http://addam.sourceforge.net/</url> + + <issueTrackingUrl> + https://sourceforge.net/tracker/?group_id=177627</issueTrackingUrl> + <siteAddress>shell.sourceforge.net</siteAddress> + <siteDirectory>/home/groups/a/ad/addam/htdocs/</siteDirectory> + <distributionDirectory>/home/groups/a/ad/addam/htdocs/distributions/</distributionDirectory> + + <!-- the version control repository and http url for online access + the connection element has the form: + scm:<system>:<system specific connection string> --> + <repository> + <connection>scm:svn:https://svn.sourceforge.net/svnroot/addam</connection> + <url>http://addam.svn.sourceforge.net/viewvc/addam/</url> + </repository> + + <!-- any mailing lists for the project --> + <!-- TODO when archived, configure and enable archive settings --> + <mailingLists> + <mailingList> + <name>User List</name> + <subscribe>${pom.artifactId}-us...@li...</subscribe> + <unsubscribe>${pom.artifactId}-us...@li...</unsubscribe> + <post>${pom.artifactId}-u...@li...</post> + <!-- <archive>http://sourceforge.net/mailarchive/forum.php?forum_id=</archive> --> + </mailingList> + <mailingList> + <name>Developer List</name> + <subscribe>${pom.artifactId}-de...@li...</subscribe> + <unsubscribe>${pom.artifactId}-de...@li...</unsubscribe> + <post>${pom.artifactId}-de...@li...</post> + <!-- <archive>http://sourceforge.net/mailarchive/forum.php?forum_id=</archive> --> + </mailingList> + <mailingList> + <name>Commit List</name> + <subscribe>${pom.artifactId}-co...@li...</subscribe> + <unsubscribe>${pom.artifactId}-co...@li...</unsubscribe> + <archive>http://sourceforge.net/mailarchive/forum.php?forum_id=51034</archive> + </mailingList> + <mailingList> + <name>Tracker List</name> + <subscribe>${pom.artifactId}-tr...@li...</subscribe> + <unsubscribe>${pom.artifactId}-tr...@li...</unsubscribe> + <!-- <archive>http://sourceforge.net/mailarchive/forum.php?forum_id=</archive> --> + </mailingList> + </mailingLists> + + <!-- who the developers are for the project --> + <developers> + <developer> + <name>Tim Dawson</name> + <id>tdawson47</id> + <email>tda...@us...</email> + <organization>Sourceforge</organization> + <roles> + <role>Founder</role> + <role>Developer</role> + </roles> + <timezone>-6</timezone> + </developer> + <developer> + <name>Jeff Jensen</name> + <id>jeffjensen</id> + <email>jef...@us...</email> + <organization>Sourceforge</organization> + <roles> + <role>Developer</role> + </roles> + <timezone>-6</timezone> + </developer> + </developers> + + <contributors/> + + <versions> + <version> + <name>1.0.0-SNAPSHOT</name> + <tag>1.0.0</tag> + <id>1.0.0-SNAPSHOT</id> + </version> + </versions> + + <dependencies> + <!-- jar files the project is dependent on --> + <!-- NOTE: NEEDS DEPENDENCY ON ORACLE; need to refactor that out --> + <dependency> + <groupId>ant</groupId> + <artifactId>ant</artifactId> + <version>1.6.5</version> + </dependency> + <dependency> + <groupId>velocity</groupId> + <artifactId>velocity</artifactId> + <version>1.4</version> + </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-j2ee_1.4_spec</artifactId> + <version>1.1</version> + </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>1.3</version> + </dependency> + <dependency> + <groupId>com.mockrunner</groupId> + <artifactId>mockrunner</artifactId> + <version>0.3.1</version> + </dependency> + + <!-- Maven plugins the project is dependent on --> + <dependency> + <groupId>maven-plugins</groupId> + <artifactId>maven-cobertura-plugin</artifactId> + <version>1.2</version> + <type>plugin</type> + </dependency> + <dependency> + <groupId>maven-plugins</groupId> + <artifactId>maven-findbugs-plugin</artifactId> + <version>1.3</version> + <type>plugin</type> + </dependency> + <dependency> + <groupId>maven-plugins</groupId> + <artifactId>maven-tasks-plugin</artifactId> + <version>1.3.0-SNAPSHOT</version> + <type>plugin</type> + </dependency> + </dependencies> + + <!-- build information for the project --> + <build> + <defaultGoal>jar</defaultGoal> + <nagEmailAddress>${pom.artifactId}-de...@so...</nagEmailAddress> + <sourceDirectory>src/main/java</sourceDirectory> + <unitTestSourceDirectory>src/test/java</unitTestSourceDirectory> + <unitTest> + <includes> + <include>**/*UTEST.java</include> + </includes> + <resources> + <resource> + <directory>src/test/resources</directory> + </resource> + </resources> + </unitTest> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + </build> + + <reports> + <report>maven-license-plugin</report> + + <report>maven-tasklist-plugin</report> + <report>maven-tasks-plugin</report> + + <report>maven-javadoc-plugin</report> + <report>maven-jxr-plugin</report> + <report>maven-changes-plugin</report> +<!-- + get SF connection working correctly + <report>maven-changelog-plugin</report> + <report>maven-developer-activity-plugin</report> + <report>maven-file-activity-plugin</report> +--> + <report>maven-faq-plugin</report> + + <report>maven-findbugs-plugin</report> + <report>maven-checkstyle-plugin</report> + <report>maven-pmd-plugin</report> + <report>maven-simian-plugin</report> + <report>maven-jdepend-plugin</report> + <report>maven-linkcheck-plugin</report> + + <report>maven-java-plugin</report> + + <report>maven-junit-report-plugin</report> + <report>maven-cobertura-plugin</report> + </reports> + +</project> \ No newline at end of file Added: main/src/doc/javadocoverview.html =================================================================== --- main/src/doc/javadocoverview.html (rev 0) +++ main/src/doc/javadocoverview.html 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,10 @@ +<html> + <head> + <title>ADDAM JavaDoc Overview</title> + </head> + <body> + <p> + (write me!) + </p> + </body> +</html> Added: main/src/main/java/net/sourceforge/addam/Main.java =================================================================== --- main/src/main/java/net/sourceforge/addam/Main.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/Main.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,269 @@ +/* + * Copyright (c) 2004 International Decision Systems, Inc. All Rights Reserved. + * + * By using this Software, You acknowledge that the Software is a valuable asset + * and trade secret of either International Decision Systems, Inc. ("IDSI") or a + * third party supplier of IDSI and constitutes confidential and proprietary + * information. + * + * NEITHER IDSI NOR ANY AGENT OR PERSON ACTING FOR OR WITH IDSI HAS MADE OR DOES + * MAKE ANY STATEMENTS, AFFIRMATIONS, REPRESENTATIONS OR WARRANTIES WHATSOEVER + * TO YOU, WHETHER EXPRESS OR IMPLIED, AS TO THE SOFTWARE, THE QUALITY OR + * CONDITION OF THE SOFTWARE, OR THE OPERATING CHARACTERISTICS OR RELIABILITY OF + * THE SOFTWARE, OR ITS SUITABILITY FOR ANY GENERAL OR PARTICULAR PURPOSE, OR AS + * TO ANY OTHER MATTER WHATSOEVER; ANY AND ALL OTHER WARRANTIES INCLUDING + * WITHOUT LIMITATION ANY WARRANTIES IMPLIED BY LAW, SUCH AS THE IMPLIED + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND TITLE, + * USE AND NON-INFRINGEMENT; ARE HEREBY EXPRESSLY DISCLAIMED AND EXCLUDED. +*/ +package net.sourceforge.addam; + + +import java.io.*; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.sql.Connection; +import java.sql.Driver; +import java.sql.SQLException; +import java.util.*; + +import net.sourceforge.addam.ddlrun.custom.IDSCompletedScriptRetriever; +import net.sourceforge.addam.ddlrun.custom.IDSRunLogger; +import net.sourceforge.addam.ddlrun.custom.IDSStartFolderRetriever; +import net.sourceforge.addam.ddlrun.grammars.ScriptGrammar; +import net.sourceforge.addam.ddlrun.grammars.ScriptGrammarManager; +import net.sourceforge.addam.ddlrun.runners.DeploymentRunner; +import net.sourceforge.addam.ddlrun.runners.DeploymentRunnerFactory; +import net.sourceforge.addam.ddlrun.utils.ClassLoaderReaderFactory; +import net.sourceforge.addam.ddlrun.utils.ResourceReaderFactory; +import net.sourceforge.addam.ddlrun.utils.RunLogger; + +/** + * this class is intended to be bundled as the main for a jar file that includes + * the scripts necessary to run the upgrade + */ +public class Main { + + private static final String separator = "/"; + // getting the VERSION only works when the classes in addam.jar have been copied to + // another jar file with a valid manifest + private static final Package PKG = Main.class.getPackage(); + private static final String VERSION = PKG.getSpecificationTitle() + " " + PKG.getSpecificationVersion() + " (" + PKG.getImplementationVersion() + ")"; + private static final String URLPREFIX = "jar:file:/"; + private static final String JAR_FILE_NAME = getJarFileName(); + private static final String JAR_FILE_DIR = getJarFileDir(); + + private Main() { + } + + public static void main(String args[]) { + + String configFileName = JAR_FILE_NAME.replace(".jar",".conf"); + + if (args.length < 1 || args.length > 2) { + usage(configFileName); + return; + } + + if (args.length == 2) { + configFileName = args[1]; + } + + Map<String,String> conf; + try { + conf = loadConfig(configFileName); + } catch (IOException e) { + System.err.println("unable to load file " + configFileName); + e.printStackTrace(); + return; + } + + String url = getConf(conf,"url"); + String username = getConf(conf,"username"); + String password = getConf(conf,"password"); + String driverjar = getConf(conf,"driverjar"); + String driverName = getConf(conf,"driver"); + ScriptGrammar grammar; + Driver driver; + + try { + ClassPathHacker.addFile(driverjar); + Class driverClass = Class.forName(driverName); + driver = (Driver) driverClass.newInstance(); + } catch (ClassNotFoundException e) { + throw new RuntimeException("unknown driver class " + driverName + "\n" + + "make sure to place the driver .jar file in the same directory as the script jar file"); + } catch (IllegalAccessException e) { + throw new RuntimeException("can't instantiate driver " + driverName, e); + } catch (InstantiationException e) { + throw new RuntimeException("can't instantiate driver " + driverName, e); + } catch (IOException e) { + throw new RuntimeException("can't instantiate driver " + driverName, e); + } + + String type; + if ("-install".equals(args[0])) { + type = "install"; + } else if ("-upgrade".equals(args[0])) { + type = "upgrade"; + } else if ("-version".equals(args[0])) { + System.out.println(VERSION); + return; + } else { + usage(configFileName); + return; + } + + // use internal scripts, e.g. upgrade/oracle/upgrade.drv + String script = type + ".drv"; + DeploymentRunner runner; + Connection connection = null; + try { + System.out.println("connecting to " + url); + Properties props = new Properties(); + props.put("user", username); + props.put("password", password); + connection = driver.connect(url, props); + + grammar = new ScriptGrammarManager().getGrammar(connection); + if (grammar == null) { + throw new RuntimeException("unsupported database vendor"); + } + String resourcePath = "database" + separator + type + separator + grammar.name(); + ResourceReaderFactory factory = new ClassLoaderReaderFactory(resourcePath); + + if ("install".equals(type)) { + runner = DeploymentRunnerFactory.getInstance().getInstallRunner(factory, + connection, + grammar); + } else if ("upgrade".equals(type)) { + runner = DeploymentRunnerFactory.getInstance().getUpgradeRunner(factory, + connection, + grammar, + new IDSStartFolderRetriever(connection), + new IDSCompletedScriptRetriever(connection)); + runner.addRunLogger(new IDSRunLogger(connection, VERSION)); + } else { + throw new RuntimeException("action must be install or upgrade"); + } + runner.addRunLogger(new RunLogger() { + int count = 0; + public void logRunScript(String script, long time) throws Exception { + System.out.println("executed " + script + " (" + time + "ms)"); + } + + public void logRunComplete(String group, long time) throws Exception { + System.out.println("completed execution of available scripts in " + group + " (" + time + "ms)"); + } + + public void logRunFailure(String group, String script, Exception e) throws Exception { + System.out.println(group + separator + script + " failed!"); + } + }); + runner.run(script); + } catch (Exception e) { + System.err.println(e.getMessage()); + e.printStackTrace(System.err); + System.exit(1); + } finally { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + private static String getConf(Map<String,String> map, String key) { + String value = map.get(key); + if (value == null || value.length()==0) { + System.err.println("missing config entry for " + key); + System.exit(-1); + } + return value; + } + + private static Map<String,String> loadConfig(String configFileName) throws IOException { + Properties props = new Properties(); + File file = new File(configFileName); + if (!file.exists()) { + file = new File(JAR_FILE_DIR,configFileName); + } + FileInputStream fis = new FileInputStream(file); + props.load(fis); + + Map<String,String> config = new HashMap<String,String>(); + for (Map.Entry entry : props.entrySet()) { + config.put(entry.getKey().toString(),entry.getValue().toString()); + } + + String password = props.getProperty("password"); + if (password != null && password.length()>0) { + props.setProperty("password",""); + System.out.println("password stripped from " + configFileName + " for security purposes"); + FileOutputStream fos = new FileOutputStream(file); + props.store(fos,"updated " + new Date() + " by " + JAR_FILE_NAME); + } + return config; + } + + private static void usage(String configFileName) { + System.err.printf("usage " + JAR_FILE_NAME + " -version | -install | -upgrade [config file]\n"); + System.err.println(); + System.err.println("if config file is not specified, \"" + configFileName + "\" will be used"); + System.err.println("config file must contain elements from the following example:"); + System.err.println(" url = jdbc:oracle:thin:@host:1521:sid"); + System.err.println(" driver = oracle.jdbc.driver.OracleDriver"); + System.err.println(" driverjar = ojdbc14.jar"); + System.err.println(" username = " + System.getProperty("user.name")); + System.err.println(" password = <password>"); + } + + private static String getJarFileName() { + String jarURL = ClassLoader.getSystemResource("net/sourceforge/addam/Main.class").toString(); + int i = jarURL.indexOf('!'); + if (i > 0) jarURL = jarURL.substring(0, i); + i = jarURL.lastIndexOf('/'); + if (i > 0 && jarURL.length() > 1) jarURL = jarURL.substring(i + 1); + return jarURL; + } + + private static String getJarFileDir() { + String jarURL = ClassLoader.getSystemResource("net/sourceforge/addam/Main.class").toString(); + int i = jarURL.indexOf('!'); + if (i > 0) jarURL = jarURL.substring(0, i); + if (jarURL.startsWith(URLPREFIX) && jarURL.length() > URLPREFIX.length()) { + jarURL = jarURL.substring(URLPREFIX.length()); + } + i = jarURL.lastIndexOf('/'); + if (i > 0) jarURL = jarURL.substring(0,i); + + return jarURL; + } + + public static class ClassPathHacker { + + public static void addFile(String fileName) throws IOException { + File file = new File(fileName); + + if (!file.exists() && !file.isAbsolute()) { + file = new File(JAR_FILE_DIR,fileName); + } + + if (!file.exists()) { + throw new FileNotFoundException(fileName); + } + + URLClassLoader classloader = (URLClassLoader)ClassLoader.getSystemClassLoader(); + try { + Method method = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); + method.setAccessible(true); + method.invoke(classloader, file.toURL()); + } catch (Throwable t) { + t.printStackTrace(); + throw new IOException("Error, could not add URL to system classloader"); + } + } + } +} Added: main/src/main/java/net/sourceforge/addam/ddlgen/Filter.java =================================================================== --- main/src/main/java/net/sourceforge/addam/ddlgen/Filter.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/ddlgen/Filter.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,12 @@ +package net.sourceforge.addam.ddlgen; + +/** + * Created by IntelliJ IDEA. + * User: tim3 + * Date: Oct 30, 2006 + * Time: 1:21:03 AM + * To change this template use File | Settings | File Templates. + */ +public interface Filter { + public boolean includes(String objectName); +} Added: main/src/main/java/net/sourceforge/addam/ddlgen/GenerateTask.java =================================================================== --- main/src/main/java/net/sourceforge/addam/ddlgen/GenerateTask.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/ddlgen/GenerateTask.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2004 International Decision Systems, Inc. All Rights Reserved. + * + * By using this Software, You acknowledge that the Software is a valuable asset + * and trade secret of either International Decision Systems, Inc. ("IDSI") or a + * third party supplier of IDSI and constitutes confidential and proprietary + * information. + * + * NEITHER IDSI NOR ANY AGENT OR PERSON ACTING FOR OR WITH IDSI HAS MADE OR DOES + * MAKE ANY STATEMENTS, AFFIRMATIONS, REPRESENTATIONS OR WARRANTIES WHATSOEVER + * TO YOU, WHETHER EXPRESS OR IMPLIED, AS TO THE SOFTWARE, THE QUALITY OR + * CONDITION OF THE SOFTWARE, OR THE OPERATING CHARACTERISTICS OR RELIABILITY OF + * THE SOFTWARE, OR ITS SUITABILITY FOR ANY GENERAL OR PARTICULAR PURPOSE, OR AS + * TO ANY OTHER MATTER WHATSOEVER; ANY AND ALL OTHER WARRANTIES INCLUDING + * WITHOUT LIMITATION ANY WARRANTIES IMPLIED BY LAW, SUCH AS THE IMPLIED + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND TITLE, + * USE AND NON-INFRINGEMENT; ARE HEREBY EXPRESSLY DISCLAIMED AND EXCLUDED. +*/ +package net.sourceforge.addam.ddlgen; + +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.taskdefs.JDBCTask; + +import java.io.*; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * User: mkrishna + * Date: Nov 10, 2004 + */ + +public class GenerateTask extends JDBCTask { + + private String schema = null; + private String catalog = null; + private final List<GeneratorSpec> generatorSpecs = new ArrayList<GeneratorSpec>(); + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setCatalog(String catalog) { + this.catalog = catalog; + } + + public void addGenerator(GeneratorSpec spec) { + generatorSpecs.add(spec); + } + + public void execute() throws BuildException { + Exception exception = null; + ResultSet tablesRS = null; + Connection connection = null; + try { + connection = getConnection(); + DatabaseMetaData dbmd = connection.getMetaData(); + if (dbmd.storesUpperCaseIdentifiers()) { + catalog = (catalog == null) ? null : catalog.toUpperCase(); + schema = (schema == null) ? null : schema.toUpperCase(); + } else if (dbmd.storesLowerCaseIdentifiers()) { + catalog = (catalog == null) ? null : catalog.toLowerCase(); + schema = (schema == null) ? null : schema.toLowerCase(); + } + for (GeneratorSpec spec : generatorSpecs) { + Generator generator = spec.getGenerator(); + List<String> objects = generator.getObjects(catalog,schema,spec,connection,dbmd); + for (String dbObject: objects) { + if (spec.includes(dbObject)) { + String vendor = spec.getVendor(); + log("generating " + dbObject + " with " + generator.getClass().getName()); + BufferedWriter writer = null; + Writer masterScriptWriter = spec.getMasterScriptWriter(); + BufferedWriter bufferedMSW = null; + if (masterScriptWriter != null) { + bufferedMSW = new BufferedWriter(masterScriptWriter); + } + try { + writer = new BufferedWriter(spec.getFileWriter(dbObject)); + generator.generate(catalog, schema, dbObject, vendor, connection, dbmd, writer); + if (bufferedMSW != null) { + bufferedMSW.write(spec.getFileName(dbObject)); + bufferedMSW.newLine(); + bufferedMSW.flush(); + } + } finally { + if (writer != null) writer.close(); + } + } + } + } + } catch (Exception e) { + exception = e; + } finally { + try { + for (GeneratorSpec spec : generatorSpecs) { + Writer writer = spec.getMasterScriptWriter(); + if (writer != null) writer.close(); + } + if (tablesRS != null) tablesRS.close(); + if (connection != null) connection.close(); + } catch (SQLException e) { + exception = e; + } catch (IOException e) { + exception = e; + } + } + if (exception != null) throw new BuildException(exception); + } + +} Added: main/src/main/java/net/sourceforge/addam/ddlgen/Generator.java =================================================================== --- main/src/main/java/net/sourceforge/addam/ddlgen/Generator.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/ddlgen/Generator.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,47 @@ +// +// Copyright (c) 2004, International Decision Systems +// all rights reserved +// +package net.sourceforge.addam.ddlgen; + +import java.io.Writer; +import java.io.BufferedWriter; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.util.List; + +/** + * Implementations of this class are used for generating SQL/DDL scripts. + * @author TIM3 + * @since Oct 9, 2005 + */ +public interface Generator { + + /** + * Return the list of objects for the given catalog and schema. + * @param catalog the database object's catalog + * @param schema the database object's schema + * @param filter the definition of the generator (used for included/excluded objects) + * @param connection the database connection + * @param metadata database metadata for the connection + * @return + * @throws Exception + */ + public List<String> getObjects(String catalog, String schema, Filter filter, + Connection connection, DatabaseMetaData metadata) throws Exception; + + /** + * writes a SQL/DDL scripts for the given object to the writer + * @param catalog the database object's catalog + * @param schema the database object's schema + * @param object the database object to generate + * @param vendor + * @param connection the database connection + * @param metadata database metadata for the connection + * @param writer what to write the generated SQL/DDL to + */ + public void generate(String catalog, String schema, String object, + String vendor, Connection connection, DatabaseMetaData metadata, + BufferedWriter writer) throws Exception; + +} Added: main/src/main/java/net/sourceforge/addam/ddlgen/GeneratorSpec.java =================================================================== --- main/src/main/java/net/sourceforge/addam/ddlgen/GeneratorSpec.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/ddlgen/GeneratorSpec.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,208 @@ +/* + * Copyright (c) 2004 International Decision Systems, Inc. All Rights Reserved. + * + * By using this Software, You acknowledge that the Software is a valuable asset + * and trade secret of either International Decision Systems, Inc. ("IDSI") or a + * third party supplier of IDSI and constitutes confidential and proprietary + * information. + * + * NEITHER IDSI NOR ANY AGENT OR PERSON ACTING FOR OR WITH IDSI HAS MADE OR DOES + * MAKE ANY STATEMENTS, AFFIRMATIONS, REPRESENTATIONS OR WARRANTIES WHATSOEVER + * TO YOU, WHETHER EXPRESS OR IMPLIED, AS TO THE SOFTWARE, THE QUALITY OR + * CONDITION OF THE SOFTWARE, OR THE OPERATING CHARACTERISTICS OR RELIABILITY OF + * THE SOFTWARE, OR ITS SUITABILITY FOR ANY GENERAL OR PARTICULAR PURPOSE, OR AS + * TO ANY OTHER MATTER WHATSOEVER; ANY AND ALL OTHER WARRANTIES INCLUDING + * WITHOUT LIMITATION ANY WARRANTIES IMPLIED BY LAW, SUCH AS THE IMPLIED + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND TITLE, + * USE AND NON-INFRINGEMENT; ARE HEREBY EXPRESSLY DISCLAIMED AND EXCLUDED. +*/ +package net.sourceforge.addam.ddlgen; + +import org.apache.tools.ant.BuildException; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; +import java.util.ResourceBundle; +import java.util.regex.Pattern; + +/** + * Used to define what the output files written by a generator, allows include/exclude for specific + * objects, and can generate a master script based on the objects generated. + * Date: Nov 11, 2004 + */ +public class GeneratorSpec implements Filter { + + public void setType(String type) { + this.type = type; + } + + public void setVendor(String vendor) { + this.vendor = vendor; + } + + public void setMasterScript(String file) { + this.masterScript = file; + } + + public void setPrefix(String prefix) { + if (prefix == null) prefix = ""; + this.prefix = prefix; + } + + public void setExtension(String extension) { + if (extension == null) extension = ""; + this.extension = extension; + } + + public void setIncludes(String includes) { + String[] includeArray = includes.split(","); + for (String anIncludeArray : includeArray) { + Table table = new Table(); + table.setName(anIncludeArray); + addConfiguredInclude(table); + } + } + + public void setIncludesPattern(String pattern) { + includesPattern = Pattern.compile(pattern); + } + + public void setIncludesFile(File includesFile) { + try { + BufferedReader reader = new BufferedReader(new FileReader(includesFile)); + for (String line = reader.readLine(); line != null; line = reader.readLine()) { + Table table = new Table(); + table.setName(line); + addConfiguredInclude(table); + } + } catch (FileNotFoundException e) { + throw new BuildException("file not found:" + includesFile.getAbsolutePath()); + } catch (IOException e) { + throw new BuildException("error reading file:" + includesFile.getAbsolutePath()); + } + } + + public void setExcludes(String excludes) { + String[] excludeArray = excludes.split(","); + for (String anExcludeArray : excludeArray) { + Table table = new Table(); + table.setName(anExcludeArray); + addConfiguredExclude(table); + } + } + + public void setExcludesPattern(String pattern) { + excludesPattern = Pattern.compile(pattern); + } + + public void setExcludesFile(File excludesFile) { + try { + BufferedReader reader = new BufferedReader(new FileReader(excludesFile)); + for (String line = reader.readLine(); line != null;) { + Table table = new Table(); + table.setName(line); + addConfiguredInclude(table); + } + } catch (FileNotFoundException e) { + throw new BuildException("file not found:" + excludesFile.getAbsolutePath()); + } catch (IOException e) { + throw new BuildException("error reading file:" + excludesFile.getAbsolutePath()); + } + } + + public void setDir(String dir) { + this.dir = dir; + } + + public void addConfiguredInclude(Table table) { + includedTables.add(table.getName().trim()); + } + + public void addConfiguredExclude(Table table) { + excludedTables.add(table.getName().trim()); + } + + public boolean includes(String objectName) { + boolean includes = true; + boolean excludes = false; + String normalizedTableName = objectName.trim(); + if (!includedTables.isEmpty()) { + includes = includedTables.contains(normalizedTableName); + } + if (!includes && includesPattern != null) { + includes = includesPattern.matcher(objectName).matches(); + } + if (!excludedTables.isEmpty()) { + excludes = excludedTables.contains(normalizedTableName); + } + if (!excludes && excludesPattern != null) { + excludes = excludesPattern.matcher(objectName).matches(); + } + return includes && !excludes; + } + + public String getVendor() { + return vendor; + } + + public Generator getGenerator() throws Exception { + String classname; + try { + ResourceBundle bundle = ResourceBundle.getBundle("net.sourceforge.addam.ddlgen.RegisteredGenerators"); + classname = bundle.getString(type.toLowerCase()); + } catch (Exception e) { + throw new BuildException("invalid type: " + type); + } + return (Generator)Class.forName(classname).newInstance(); + } + + public FileWriter getMasterScriptWriter() throws IOException { + File scriptDir = new File(dir); + if (masterScriptWriter == null && masterScript != null) { + if (!scriptDir.exists()) { + scriptDir.mkdirs(); + } + masterScriptWriter = new FileWriter(new File(scriptDir,masterScript)); + } + return masterScriptWriter; + } + + public String getFileName(String tableName) { + // prepend a . on the suffix if the extension doesn't start with one + String suffix = extension; + if (suffix.length() > 0 && !suffix.startsWith(".")) { + suffix = "." + suffix; + } + if (tableName == null) tableName = ""; + return prefix + tableName + suffix; + } + + public File getFile(String tableName) { + return new File(dir, getFileName(tableName)); + } + + public FileWriter getFileWriter(String object) throws IOException { + // prepend a . on the suffix if the extension doesn't start with one + String suffix = extension; + if (suffix.length() > 0 && !suffix.startsWith(".")) { + suffix = "." + suffix; + } + File file = new File(dir, prefix + object + suffix); + File dir = file.getParentFile(); + if (!dir.exists()) dir.mkdirs(); + return new FileWriter(file); + } + + private String dir; + private String type; + private String prefix = ""; + private String extension = ""; + private String vendor; + private String masterScript; + private FileWriter masterScriptWriter = null; + private final List<String> includedTables = new ArrayList<String>(); + private final List<String> excludedTables = new ArrayList<String>(); + private Pattern includesPattern; + private Pattern excludesPattern; +} Added: main/src/main/java/net/sourceforge/addam/ddlgen/Table.java =================================================================== --- main/src/main/java/net/sourceforge/addam/ddlgen/Table.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/ddlgen/Table.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2004 International Decision Systems, Inc. All Rights Reserved. + * + * By using this Software, You acknowledge that the Software is a valuable asset + * and trade secret of either International Decision Systems, Inc. ("IDSI") or a + * third party supplier of IDSI and constitutes confidential and proprietary + * information. + * + * NEITHER IDSI NOR ANY AGENT OR PERSON ACTING FOR OR WITH IDSI HAS MADE OR DOES + * MAKE ANY STATEMENTS, AFFIRMATIONS, REPRESENTATIONS OR WARRANTIES WHATSOEVER + * TO YOU, WHETHER EXPRESS OR IMPLIED, AS TO THE SOFTWARE, THE QUALITY OR + * CONDITION OF THE SOFTWARE, OR THE OPERATING CHARACTERISTICS OR RELIABILITY OF + * THE SOFTWARE, OR ITS SUITABILITY FOR ANY GENERAL OR PARTICULAR PURPOSE, OR AS + * TO ANY OTHER MATTER WHATSOEVER; ANY AND ALL OTHER WARRANTIES INCLUDING + * WITHOUT LIMITATION ANY WARRANTIES IMPLIED BY LAW, SUCH AS THE IMPLIED + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND TITLE, + * USE AND NON-INFRINGEMENT; ARE HEREBY EXPRESSLY DISCLAIMED AND EXCLUDED. +*/ +package net.sourceforge.addam.ddlgen; + +/** + * Used to denote a single table to include or exclude. + * Date: Nov 11, 2004 + */ +public class Table { + private String name; + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + +} Added: main/src/main/java/net/sourceforge/addam/ddlgen/generic/ForeignKey.java =================================================================== --- main/src/main/java/net/sourceforge/addam/ddlgen/generic/ForeignKey.java (rev 0) +++ main/src/main/java/net/sourceforge/addam/ddlgen/generic/ForeignKey.java 2006-12-05 02:52:58 UTC (rev 2) @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2004 International Decision Systems, Inc. All Rights Reserved. + * + * By using this Software, You acknowledge that the Software is a valuable asset + * and trade secret of either International Decision Systems, Inc. ("IDSI") or a + * third party supplier of IDSI and constitutes confidential and proprietary + * information. + * + * NEITHER I... [truncated message content] |
From: Jeff J. <jef...@up...> - 2006-12-04 02:53:48
|
Revision: 1 http://svn.sourceforge.net/addam/?rev=1&view=rev Author: jeffjensen Date: 2006-12-03 17:30:56 -0800 (Sun, 03 Dec 2006) Log Message: ----------- Share project 'addam' into 'https://svn.sourceforge.net/svnroot/addam' Added Paths: ----------- branches/ main/ tags/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |