DB연동제거한 프로젝트 재구성 (Spring Security재구성, Tiles추가, 화면레이아웃, 암호처리, 인증추가)

This commit is contained in:
KNKIM 2021-07-09 19:09:59 +09:00
parent f737cc7905
commit f621c1a601
1658 changed files with 9542 additions and 218827 deletions

131
.gitignore vendored
View File

@ -1,3 +1,132 @@
# Created by https://www.toptal.com/developers/gitignore/api/java,windows,eclipse
# Edit at https://www.toptal.com/developers/gitignore?templates=java,windows,eclipse
### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
.settings/
.settings/*
.loadpath
.recommenders
target/
target/*
target/**
build/
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
### Eclipse Patch ###
# Spring Boot Tooling
.sts4-cache/
### Java ###
# Compiled class file
*.class
*.log
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/java,windows,eclipse
### nLib ###
data/**/*
!RESTfulAPI.server/**/*
!RESTfulAPI.server/bin/*
!src/main/webapp/WEB-INF/lib/*.*

View File

@ -6,308 +6,3 @@ org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
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_expressions_in_for_loop_header=0
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
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_type_arguments=0
org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
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=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=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=true
org.eclipse.jdt.core.formatter.comment.format_line_comments=true
org.eclipse.jdt.core.formatter.comment.format_source_code=true
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
org.eclipse.jdt.core.formatter.comment.line_length=80
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=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
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_after_type_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=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_lambda_arrow=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.parentheses_positions_in_annotation=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter

View File

@ -3,7 +3,7 @@
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<property name="java-output-path" value="/nlib2/build/classes"/>
<property name="context-root" value="nlib"/>
<property name="java-output-path" value="/nlib/build/classes"/>
</wb-module>
</project-modules>

View File

@ -3,7 +3,7 @@
<runtime name="Apache Tomcat v8.5"/>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="jst.jsf" version="2.2"/>
<installed facet="jst.jaxrs" version="2.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- a.b.c.xml -->
<result>
<member-id>ABCDEFG</member-id>
<name>홍길동</name>
</result>

View File

@ -1 +0,0 @@
java -jar rfserver-0.0.1-SNAPSHOT.jar --server.port=8088 --response.xml.path=C:/iams/workspace/nlib/RESTfulAPI.server

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- uac.service.exports.xml -->
<result>
<member-id>ABCDEFG</member-id>
<name>홍길동</name>
</result>

265
doc/CLD/00.Main.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

265
doc/CLD/01.User.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,569 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor reference="../../backgroundColor"/>
<foregroundColor reference="../../foregroundColor"/>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../../backgroundColor"/>
<foregroundColor reference="../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>103</x>
<y>255</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>522</x>
<y>265</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMainBannerList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainNoticeList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainMyRentInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.common.service.MainDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>mainDAO</name>
<type>MainDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainBannerList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainNoticeList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainMyRentInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.common.service.MainService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>110</x>
<y>97</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>mainService</name>
<type>MainService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMainBannerList</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainNoticeList</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainMyRentInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.common.web.MainController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,517 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor reference="../../backgroundColor"/>
<foregroundColor reference="../../foregroundColor"/>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../../backgroundColor"/>
<foregroundColor reference="../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>103</x>
<y>215</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>504</x>
<y>225</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMainBannerList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainNoticeList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainMyRentInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.common.service.MainDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>mainDAO</name>
<type>MainDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainBannerList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainNoticeList</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMainMyRentInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.common.service.MainService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>141</x>
<y>97</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>mainService</name>
<type>MainService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMain</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.common.web.MainController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

265
doc/CLD/02.Login.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,883 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>113</x>
<y>324</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>526</x>
<y>341</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>insertMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>updateMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>leaveMember</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>changePassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.service.MemberDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>memberDAO</name>
<type>MemberDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>insertMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>updateMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>leaveMember</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>initPassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>changePassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.service.MemberService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>106</x>
<y>64</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>memberService</name>
<type>MemberService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>insertMemberInfoForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>insertMemberInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMemberInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>updateMemberInfoForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>updateMemberInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>leaveMember</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>callSnsLogin</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>callbackSnsLogin</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>initPassword</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>changePassword</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.MemberController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,883 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>113</x>
<y>324</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>526</x>
<y>341</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>insertMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>updateMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>leaveMember</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>changePassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.service.MemberDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>memberDAO</name>
<type>MemberDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>insertMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>updateMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMemberInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>leaveMember</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>initPassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>changePassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.service.MemberService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>106</x>
<y>64</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>memberService</name>
<type>MemberService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>insertMemberInfoForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>insertMemberInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMemberInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>updateMemberInfoForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>updateMemberInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>leaveMember</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>callSnsLogin</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>callbackSnsLogin</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>initPassword</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>changePassword</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.MemberController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

265
doc/CLD/03.Board.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,699 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor reference="../../backgroundColor"/>
<foregroundColor reference="../../foregroundColor"/>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../../backgroundColor"/>
<foregroundColor reference="../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>309</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>528</x>
<y>317</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>login</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>logout</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchId</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchPassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.service.LoginDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>login</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>loginDAO</name>
<type>LoginDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>logout</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchId</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchPassword</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.service.LoginService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>132</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>loginService</name>
<type>LoginService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>loginForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>login</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>logout</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchIdPasswordForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchId</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>searchPassword</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.user.web.LoginController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

265
doc/CLD/04.Collection.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,845 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>149</x>
<y>314</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>147</x>
<y>58</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>boardService</name>
<type>BoardService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectBoardInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listNotices</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>selectNotice</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>insertNoticeForm</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>insertNotice</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>updateNoticeFrom</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>updateNoteice</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>deleteNotice</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.board.web.BoardController</name>
<isAbstract>false</isAbstract>
</target>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectBoardInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>boardDAO</name>
<type>BoardDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listNotices</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>insertNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>updateNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>deleteNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.board.service.BoardService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/target"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>533</x>
<y>322</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectBoardInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listNotices</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>insertNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>updateNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>deleteNotice</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.board.service.BoardDAO</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/target"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

265
doc/CLD/05.Rent.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,873 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>154</x>
<y>256</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>544</x>
<y>264</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listItems</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectItemInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>viewOriginalCopy</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listCategories</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listInterests</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>insertInterest</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>deleteInterest</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.collection.service.CollectionDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listItems</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>collectionDAO</name>
<type>CollectionDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectItemInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[3]/visibility"/>
<name>viewOriginalCopy</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>listCategories</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listInterests</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>insertInterest</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[7]/visibility"/>
<name>deleteInterest</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.collection.service.CollectionService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>161</x>
<y>44</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>collectionService</name>
<type>CollectionService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listItems</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectItemInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[3]/visibility"/>
<name>viewOriginalCopy</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listCategories</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>listInterests</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[4]/visibility"/>
<name>insertInterest</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[7]/visibility"/>
<name>deleteInterest</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.collection.web.CollectionController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,902 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>42</x>
<y>296</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>49</x>
<y>53</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>rentService</name>
<type>RentService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listRentItems</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectRentInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>reserveItem</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[3]/visibility"/>
<name>listReservations</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[3]/visibility"/>
<name>cancelReservations</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[3]/visibility"/>
<name>requestViewingItem</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>selectRequestInfoForViewingItem</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listRequestsForViewingItem</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.collection.web.RentController</name>
<isAbstract>false</isAbstract>
</target>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>502</x>
<y>304</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>listRentItems</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectRentInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>reserveItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listReservations</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>cancelReservations</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>requestViewingItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[6]/visibility"/>
<name>selectRequestInfoForViewingItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[6]/visibility"/>
<name>listRequestsForViewingItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.collection.service.RentDAO</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>listRentItems</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>rentDAO</name>
<type>RentDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectRentInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>reserveItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[5]/visibility"/>
<name>listReservations</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>cancelReservations</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[6]/visibility"/>
<name>requestViewingItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[6]/visibility"/>
<name>selectRequestInfoForViewingItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/children/net.java.amateras.uml.classdiagram.model.OperationModel[6]/visibility"/>
<name>listRequestsForViewingItem</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.collection.service.RentService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/target"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,667 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel">
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../../.."/>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>507</x>
<y>330</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</sourceConnections>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectInform</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.inform.service.InformDAO</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>54</x>
<y>58</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../../../.."/>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>informService</name>
<type>InformService</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMemberJoiningInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectMembershipTermsInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>selectPrivacyInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectNCultureLocationInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>selectNCultureIntroInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[2]/visibility"/>
<name>selectNCultureOperationInfo</name>
<type>ModelMap</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>req</name>
<type>HttpServletRequest</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.inform.web.InformController</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
</children>
<filterProperty/>
</parent>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>47</x>
<y>277</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[3]/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/sourceConnections/net.java.amateras.uml.classdiagram.model.AggregationModel"/>
</targetConnections>
<children>
<net.java.amateras.uml.classdiagram.model.AttributeModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AttributeModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$2"/>
<name>informDAO</name>
<type>InformDAO</type>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.AttributeModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMemberJoiningInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectMembershipTermsInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectPrivacyInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../../parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]/children/net.java.amateras.uml.classdiagram.model.OperationModel/visibility"/>
<name>selectNCultureLocationInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1"/>
<name>selectNCultureIntroInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
<net.java.amateras.uml.classdiagram.model.OperationModel>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.OperationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<visibility class="net.java.amateras.uml.classdiagram.model.Visibility$1" reference="../../net.java.amateras.uml.classdiagram.model.OperationModel[3]/visibility"/>
<name>selectNCultureOperationInfo</name>
<type>DataApiResVO</type>
<params>
<net.java.amateras.uml.classdiagram.model.Argument>
<name>reqVO</name>
<type>DataApiReqVO</type>
</net.java.amateras.uml.classdiagram.model.Argument>
</params>
<isAbstract>false</isAbstract>
<isStatic>false</isStatic>
</net.java.amateras.uml.classdiagram.model.OperationModel>
</children>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>iams.nlib.inform.service.InformService</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[2]"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/parent/children/net.java.amateras.uml.classdiagram.model.ClassModel[3]"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

265
doc/CLD/09.Inform.cld Normal file
View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="UTF-8"?>
<net.java.amateras.uml.model.RootModel>
<backgroundColor>
<red>255</red>
<green>255</green>
<blue>206</blue>
</backgroundColor>
<foregroundColor>
<red>0</red>
<green>0</green>
<blue>0</blue>
</foregroundColor>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.model.RootModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<sourceConnections/>
<targetConnections/>
<children>
<net.java.amateras.uml.classdiagram.model.ClassModel>
<backgroundColor reference="../../../backgroundColor"/>
<foregroundColor reference="../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>142</x>
<y>106</y>
</constraint>
<sourceConnections/>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>144</x>
<y>221</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel>
<showIcon>true</showIcon>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.AggregationModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel">
<backgroundColor reference="../../../../../../../../../backgroundColor"/>
<foregroundColor reference="../../../../../../../../../foregroundColor"/>
<showIcon>true</showIcon>
<parent class="net.java.amateras.uml.model.RootModel" reference="../../../../../../../../.."/>
<listeners serialization="custom">
<java.beans.PropertyChangeSupport>
<default>
<source class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../../.."/>
<propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
</default>
<null/>
</java.beans.PropertyChangeSupport>
</listeners>
<constraint>
<height>-1</height>
<width>-1</width>
<x>384</x>
<y>213</y>
</constraint>
<sourceConnections>
<net.java.amateras.uml.classdiagram.model.AggregationModel reference="../../.."/>
</sourceConnections>
<targetConnections/>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class17</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class16</name>
<isAbstract>false</isAbstract>
</source>
<target class="net.java.amateras.uml.classdiagram.model.ClassModel" reference="../../.."/>
<bendpoints/>
<stereoType></stereoType>
<fromMultiplicity></fromMultiplicity>
<toMultiplicity></toMultiplicity>
</net.java.amateras.uml.classdiagram.model.AggregationModel>
</targetConnections>
<children/>
<filterProperty/>
<propertyDescriptors>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_stereo_type</id>
<display>Stereo Type</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_simpleEntityName</id>
<display>Simple Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.TextPropertyDescriptor>
<id class="string">_entityName</id>
<display>Name</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.TextPropertyDescriptor>
<org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<id class="string">_background</id>
<display>Background Color</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.ColorPropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_attrs</id>
<display>Attributes...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<org.eclipse.ui.views.properties.PropertyDescriptor>
<id class="string">_operations</id>
<display>Operations...</display>
<incompatible>false</incompatible>
</org.eclipse.ui.views.properties.PropertyDescriptor>
<net.java.amateras.uml.properties.BooleanPropertyDescriptor>
<id class="string">_abstract</id>
<display>abstract</display>
<incompatible>false</incompatible>
</net.java.amateras.uml.properties.BooleanPropertyDescriptor>
</propertyDescriptors>
<stereoType></stereoType>
<name>Class15</name>
<isAbstract>false</isAbstract>
</net.java.amateras.uml.classdiagram.model.ClassModel>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
<net.java.amateras.uml.classdiagram.model.ClassModel reference="../net.java.amateras.uml.classdiagram.model.ClassModel/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source/targetConnections/net.java.amateras.uml.classdiagram.model.AggregationModel/source"/>
</children>
<filterProperty/>
</net.java.amateras.uml.model.RootModel>

View File

@ -1,130 +0,0 @@
# Created by https://www.toptal.com/developers/gitignore/api/java,windows,eclipse
# Edit at https://www.toptal.com/developers/gitignore?templates=java,windows,eclipse
### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
### Eclipse Patch ###
# Spring Boot Tooling
.sts4-cache/
### Java ###
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/java,windows,eclipse
### nLib ###
data/**/*
!RESTfulAPI.server/**/*
!RESTfulAPI.server/bin/*
!src/main/webapp/WEB-INF/lib/*.*

483
pom.xml
View File

@ -1,15 +1,25 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>iams</groupId>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>nlib</groupId>
<artifactId>nlib</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>nlib</name>
<url>http://www.egovframe.go.kr</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<properties>
<spring.maven.artifact.version>4.3.16.RELEASE</spring.maven.artifact.version>
<spring.maven.artifact.version>4.3.16.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.8.0</egovframework.rte.version>
<spring-security.version>4.2.5.RELEASE</spring-security.version>
</properties>
<repositories>
@ -98,216 +108,21 @@
<artifactId>antlr</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
<!-- mysql이나 oracle DB 사용시 아래 설정 추가
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc-14.jar</systemPath>
</dependency>
-->
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.security</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.excel</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.bat.core</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.crypto</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>2.6.9</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-terracotta</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.1.7</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>53.1</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>egovframework.com.ems</groupId>
<artifactId>sndng-mail</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ldapsdk</groupId>
<artifactId>ldapsdk</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter</artifactId>
<version>2.2.1</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>commons-io</artifactId>
<groupId>commons-io</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
@ -318,182 +133,80 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>4.0.7</version>
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring-security.version}</version>
</dependency>
<dependency>
<groupId>net.sourceforge.ajaxtags</groupId>
<artifactId>ajaxtags-resources</artifactId>
<version>1.5.7</version>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring-security.version}</version>
</dependency>
<dependency>
<groupId>com.ckeditor</groupId>
<artifactId>ckeditor-java-core</artifactId>
<version>3.5.3</version>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring-security.version}</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-ext</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-facebook</artifactId>
<version>2.0.3.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>spring-web</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-webmvc</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.scribejava</groupId>
<artifactId>scribejava-apis</artifactId>
<version>5.6.0</version>
</dependency>
<dependency>
<groupId>com.github.scribejava</groupId>
<artifactId>scribejava-core</artifactId>
<version>5.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.4</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.180</version>
</dependency>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>org.springframework.ldap</groupId>
<artifactId>spring-ldap-core</artifactId>
<version>2.3.2.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>kr.go.mgov</groupId>
<artifactId>smeapi</artifactId>
<version>2.7</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/smeapi_2_7.jar</systemPath>
</dependency>
<dependency>
<groupId>kr.go.gpki</groupId>
<artifactId>gpkisecureweb</artifactId>
<version>1.0.4.9</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/gpkisecureweb-1.0.4.9.jar</systemPath>
</dependency>
<dependency>
<groupId>kr.go.gpki</groupId>
<artifactId>libgpkiapi_jni</artifactId>
<version>1.4.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/libgpkiapi_jni-1.4.0.0.jar</systemPath>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${spring-security.version}</version>
</dependency>
<!-- 요소기술 달력을 위한 라이브러리 -->
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>53.1</version>
</dependency>
<!-- XML-Map 변환 기능을 위한 추가 (DIGITALSHIP 2021.06.15)-->
<dependency>
<!-- XML-Map 변환 기능을 위한 추가 (DIGITALSHIP KNKIM 2021.06.15)-->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.4</version>
</dependency>
<!-- XML/자바객체 변환 (DIGITALSHIP 2021.06.21)-->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.0</version>
</dependency>
<!-- 바코드 (DIGITALSHIP 2021.06.25)-->
<!-- ZXing -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
</dependency>
<!-- XML/자바객체 변환 (DIGITALSHIP KNKIM 2021.06.21)-->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.0</version>
</dependency>
<!-- 바코드 ZXing (DIGITALSHIP KNKIM 2021.06.25)-->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
<!-- Tiles (DIGITALSHIP KNKIM 2021.07.06)-->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>3.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>3.0.8</version>
</dependency>
</dependencies>
@ -629,30 +342,6 @@
</reportSet>
</reportSets>
</plugin>
<!-- PMD manven plugin -->
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
<configuration>
<rulesets>
<ruleset>./Ruleset.xml</ruleset>
</rulesets>
<linkXref>true</linkXref>
<sourceEncoding>${encoding}</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>${compileSource}</targetJdk>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
-->
<!-- Generating JavaDoc Report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@ -678,4 +367,4 @@
</plugin>
</plugins>
</reporting>
</project>
</project>

View File

@ -1,121 +0,0 @@
package egovframework.com.cmm;
/*
* Copyright 2002-2005 the original author or authors.
*
* 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.
*/
import java.io.IOException;
import java.io.Reader;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.support.lob.LobCreator;
import org.springframework.jdbc.support.lob.LobHandler;
import egovframework.rte.psl.orm.ibatis.support.AbstractLobTypeHandler;
/**
* iBATIS TypeHandler implementation for Strings that get mapped to CLOBs.
* Retrieves the LobHandler to use from SqlMapClientFactoryBean at config time.
*
* <p>Particularly useful for storing Strings with more than 4000 characters in an
* Oracle database (only possible via CLOBs), in combination with OracleLobHandler.
*
* <p>Can also be defined in generic iBATIS mappings, as DefaultLobCreator will
* work with most JDBC-compliant database drivers. In this case, the field type
* does not have to be BLOB: For databases like MySQL and MS SQL Server, any
* large enough binary type will work.
*
* @author Juergen Hoeller
* @since 1.1.5
* @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#setLobHandler
*
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
*
*
*/
@SuppressWarnings("deprecation")
public class AltibaseClobStringTypeHandler extends AbstractLobTypeHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(AltibaseClobStringTypeHandler.class);
/**
* Constructor used by iBATIS: fetches config-time LobHandler from
* SqlMapClientFactoryBean.
* @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#getConfigTimeLobHandler
*/
public AltibaseClobStringTypeHandler() {
super();
}
/**
* Constructor used for testing: takes an explicit LobHandler.
*/
protected AltibaseClobStringTypeHandler(LobHandler lobHandler) {
super(lobHandler);
}
protected void setParameterInternal(
PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator)
throws SQLException {
lobCreator.setClobAsString(ps, index, (String) value);
}
protected Object getResultInternal(ResultSet rs, int index, LobHandler lobHandler)
throws SQLException {
StringBuffer read_data = new StringBuffer("");
int read_length;
char [] buf = new char[1024];
Reader rd = lobHandler.getClobAsCharacterStream(rs, index);
try {
while( (read_length=rd.read(buf)) != -1) {
read_data.append(buf, 0, read_length);
}
} catch (IOException ie) {
SQLException sqle = new SQLException(ie.getMessage());
throw sqle;
// 2011.10.10 보안점검 후속조치
} finally {
if (rd != null) {
try {
rd.close();
//2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
} catch (IOException ignore) {
LOGGER.error("[IOException] : Connection Close");
} catch (Exception ignore) {
LOGGER.error("["+ ignore.getClass() +"] Connection Close : " + ignore.getMessage());
}
}
}
return read_data.toString();
//return lobHandler.getClobAsString(rs, index);
}
public Object valueOf(String s) {
return s;
}
}

View File

@ -1,185 +0,0 @@
package egovframework.com.cmm;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* 클래스
* @author 공통서비스개발팀 이삼섭
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.3.11 이삼섭 최초 생성
*
* </pre>
*/
@SuppressWarnings("serial")
public class ComDefaultCodeVO implements Serializable {
/** 코드 ID */
private String codeId = "";
/** 상세코드 */
private String code = "";
/** 코드명 */
private String codeNm = "";
/** 코드설명 */
private String codeDc = "";
/** 특정테이블명 */
private String tableNm = ""; //특정테이블에서 코드정보를추출시 사용
/** 상세 조건 여부 */
private String haveDetailCondition = "N";
/** 상세 조건 */
private String detailCondition = "";
/**
* codeId attribute를 리턴한다.
*
* @return the codeId
*/
public String getCodeId() {
return codeId;
}
/**
* codeId attribute 값을 설정한다.
*
* @param codeId
* the codeId to set
*/
public void setCodeId(String codeId) {
this.codeId = codeId;
}
/**
* code attribute를 리턴한다.
*
* @return the code
*/
public String getCode() {
return code;
}
/**
* code attribute 값을 설정한다.
*
* @param code
* the code to set
*/
public void setCode(String code) {
this.code = code;
}
/**
* codeNm attribute를 리턴한다.
*
* @return the codeNm
*/
public String getCodeNm() {
return codeNm;
}
/**
* codeNm attribute 값을 설정한다.
*
* @param codeNm
* the codeNm to set
*/
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
/**
* codeDc attribute를 리턴한다.
*
* @return the codeDc
*/
public String getCodeDc() {
return codeDc;
}
/**
* codeDc attribute 값을 설정한다.
*
* @param codeDc
* the codeDc to set
*/
public void setCodeDc(String codeDc) {
this.codeDc = codeDc;
}
/**
* tableNm attribute를 리턴한다.
*
* @return the tableNm
*/
public String getTableNm() {
return tableNm;
}
/**
* tableNm attribute 값을 설정한다.
*
* @param tableNm
* the tableNm to set
*/
public void setTableNm(String tableNm) {
this.tableNm = tableNm;
}
/**
* haveDetailCondition attribute를 리턴한다.
*
* @return the haveDetailCondition
*/
public String getHaveDetailCondition() {
return haveDetailCondition;
}
/**
* haveDetailCondition attribute 값을 설정한다.
*
* @param haveDetailCondition
* the haveDetailCondition to set
*/
public void setHaveDetailCondition(String haveDetailCondition) {
this.haveDetailCondition = haveDetailCondition;
}
/**
* detailCondition attribute를 리턴한다.
*
* @return the detailCondition
*/
public String getDetailCondition() {
return detailCondition;
}
/**
* detailCondition attribute 값을 설정한다.
*
* @param detailCondition
* the detailCondition to set
*/
public void setDetailCondition(String detailCondition) {
this.detailCondition = detailCondition;
}
/**
* toString 메소드를 대치한다.
*/
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}

View File

@ -1,166 +0,0 @@
package egovframework.com.cmm;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @Class Name : ComDefaultVO.java
* @Description : ComDefaultVO class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 조재영 최초 생성
*
* @author 공통서비스 개발팀 조재영
* @since 2009.02.01
* @version 1.0
* @see
*
*/
@SuppressWarnings("serial")
public class ComDefaultVO implements Serializable {
/** 검색조건 */
private String searchCondition = "";
/** 검색Keyword */
private String searchKeyword = "";
/** 검색사용여부 */
private String searchUseYn = "";
/** 현재페이지 */
private int pageIndex = 1;
/** 페이지갯수 */
private int pageUnit = 10;
/** 페이지사이즈 */
private int pageSize = 10;
/** firstIndex */
private int firstIndex = 1;
/** lastIndex */
private int lastIndex = 1;
/** recordCountPerPage */
private int recordCountPerPage = 10;
/** 검색KeywordFrom */
private String searchKeywordFrom = "";
/** 검색KeywordTo */
private String searchKeywordTo = "";
public int getFirstIndex() {
return firstIndex;
}
public void setFirstIndex(int firstIndex) {
this.firstIndex = firstIndex;
}
public int getLastIndex() {
return lastIndex;
}
public void setLastIndex(int lastIndex) {
this.lastIndex = lastIndex;
}
public int getRecordCountPerPage() {
return recordCountPerPage;
}
public void setRecordCountPerPage(int recordCountPerPage) {
this.recordCountPerPage = recordCountPerPage;
}
public String getSearchCondition() {
return searchCondition;
}
public void setSearchCondition(String searchCondition) {
this.searchCondition = searchCondition;
}
public String getSearchKeyword() {
return searchKeyword;
}
public void setSearchKeyword(String searchKeyword) {
this.searchKeyword = searchKeyword;
}
public String getSearchUseYn() {
return searchUseYn;
}
public void setSearchUseYn(String searchUseYn) {
this.searchUseYn = searchUseYn;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageUnit() {
return pageUnit;
}
public void setPageUnit(int pageUnit) {
this.pageUnit = pageUnit;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
/**
* searchKeywordFrom attribute를 리턴한다.
* @return String
*/
public String getSearchKeywordFrom() {
return searchKeywordFrom;
}
/**
* searchKeywordFrom attribute 값을 설정한다.
* @param searchKeywordFrom String
*/
public void setSearchKeywordFrom(String searchKeywordFrom) {
this.searchKeywordFrom = searchKeywordFrom;
}
/**
* searchKeywordTo attribute를 리턴한다.
* @return String
*/
public String getSearchKeywordTo() {
return searchKeywordTo;
}
/**
* searchKeywordTo attribute 값을 설정한다.
* @param searchKeywordTo String
*/
public void setSearchKeywordTo(String searchKeywordTo) {
this.searchKeywordTo = searchKeywordTo;
}
}

View File

@ -1,184 +0,0 @@
package egovframework.com.cmm;
import java.net.URLEncoder;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 웹브라우저 종류및 버전 파악하기 ( IE및 Edge, Safari, Chrome, Firefox, Opera )
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ----------- -------- ---------------------------
* 2018.08.27 신용호 최초 생성
*
* </pre>
*/
public class EgovBrowserUtil {
public static final String FIREFOX = "Firefox";
public static final String SAFARI = "Safari";
public static final String CHROME = "Chrome";
public static final String OPERA = "Opera";
public static final String MSIE = "MSIE";
public static final String EDGE = "Edge";
public static final String OTHER = "Other";
public static final String TYPEKEY = "type";
public static final String VERSIONKEY = "version";
public static HashMap<String,String> getBrowser(String userAgent) {
HashMap<String,String> result = new HashMap<String,String>();
Pattern pattern = null;
Matcher matcher = null;
//System.out.println("=====>>>>> userAgent = "+userAgent);
pattern = Pattern.compile("MSIE ([0-9]{1,2}.[0-9])");
matcher = pattern.matcher(userAgent);
if (matcher.find())
{
result.put(TYPEKEY,MSIE);
result.put(VERSIONKEY,matcher.group(1));
return result;
}
if (userAgent.indexOf("Trident/7.0") > -1) {
result.put(TYPEKEY,MSIE);
result.put(VERSIONKEY,"11.0");
return result;
}
pattern = Pattern.compile("Edge/([0-9]{1,3}.[0-9]{1,5})");
matcher = pattern.matcher(userAgent);
if (matcher.find())
{
result.put(TYPEKEY,EDGE);
result.put(VERSIONKEY,matcher.group(1));
return result;
}
pattern = Pattern.compile("Firefox/([0-9]{1,3}.[0-9]{1,3})");
matcher = pattern.matcher(userAgent);
if (matcher.find())
{
result.put(TYPEKEY,FIREFOX);
result.put(VERSIONKEY,matcher.group(1));
return result;
}
pattern = Pattern.compile("OPR/([0-9]{1,3}.[0-9]{1,3})");
matcher = pattern.matcher(userAgent);
if (matcher.find())
{
result.put(TYPEKEY,OPERA);
result.put(VERSIONKEY,matcher.group(1));
return result;
}
pattern = Pattern.compile("Chrome/([0-9]{1,3}.[0-9]{1,3})");
matcher = pattern.matcher(userAgent);
if (matcher.find())
{
result.put(TYPEKEY,CHROME);
result.put(VERSIONKEY,matcher.group(1));
return result;
}
pattern = Pattern.compile("Version/([0-9]{1,2}.[0-9]{1,3})");
matcher = pattern.matcher(userAgent);
if (matcher.find())
{
result.put(TYPEKEY,SAFARI);
result.put(VERSIONKEY,matcher.group(1));
return result;
}
result.put(TYPEKEY,OTHER);
result.put(VERSIONKEY,"0.0");
return result;
}
public static String getDisposition(String filename, String userAgent, String charSet) throws Exception {
String encodedFilename = null;
HashMap<String,String> result = EgovBrowserUtil.getBrowser(userAgent);
float version = Float.parseFloat(result.get(EgovBrowserUtil.VERSIONKEY));
//System.out.println("=====>>>>> browser type = "+result.get(TYPEKEY));
//System.out.println("=====>>>>> browser version = "+result.get(VERSIONKEY));
//System.out.println("=====>>>>> filename = "+filename);
if ( EgovBrowserUtil.MSIE.equals(result.get(EgovBrowserUtil.TYPEKEY)) && version <= 8.0f ) {
encodedFilename = "Content-Disposition: attachment; filename="+URLEncoder.encode(filename, charSet).replaceAll("\\+", "%20");
} else if ( EgovBrowserUtil.OTHER.equals(result.get(EgovBrowserUtil.TYPEKEY)) ) {
throw new RuntimeException("Not supported browser");
} else {
encodedFilename = "attachment; filename*="+charSet+"''"+URLEncoder.encode(filename, charSet);
}
return encodedFilename;
}
//KISA 보안약점 조치 (2018-10-29, 윤창원)
/* public static void main(String[] args) {
// TODO Auto-generated method stub
String testUserAgent[] = {
// IE 7.0
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"
,"Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30)"
// IE 8.0
,"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)"
// IE 9.0
,"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
// IE 10.0
,"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"
// IE 11.0
,"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
// Chrome 68.0.3440.106
,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
// Edge 17.17134
,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
// Opera 55.0.2994.44
,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 OPR/55.0.2994.44"
,"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60"
// Firefox 61.0
,"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"
// Safari 11.1.2
,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15"
// iPhone 11.0
,"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1"
// iPad 9.0
,"Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1"
// Window Pohone 10
,"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Nokia; Lumia 520) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Mobile Safari/537.36 Edge/12.0"
// Window Pohone 8.1
,"Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 520) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537"
// Window Pohone 8
,"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch)"
// Window Pohone 7
,"Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)"
// XBOX One
,"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Xbox; Xbox One)"
// XBOX 360
,"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)"
};
HashMap<String,String> result = null;
for (int i = 0; i < testUserAgent.length; i++) {
result = getBrowser(testUserAgent[i]);
System.out.println("1. User Agent : "+testUserAgent[i]);
System.out.println("2. Browser Type : "+result.get(TYPEKEY));
System.out.println("2. Browser Version : "+result.get(VERSIONKEY));
//System.out.println("2. Browser Version convert: "+Float.parseFloat(result.get(VERSIONKEY)));
System.out.println("");
}
}*/
}

View File

@ -1,405 +0,0 @@
package egovframework.com.cmm;
import java.io.IOException;
import java.io.Reader;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.taglibs.standard.tag.common.core.Util;
/**
* Cross-Site Scripting 체크하여 값을 되돌려 받는 핸들러 JSP TLD, 자바에서 사용가능
*
* @author 공통서비스 장동한
* @since 2010.11.09
* @version 1.0
* @see <pre>
* &lt;&lt; 개정이력(Modification Information) &gt;&gt;
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2010.11.09 장동한 최초 생성
*
* </pre>
*/
@SuppressWarnings("serial")
public class EgovComCrossSiteHndlr extends BodyTagSupport {
/*
* (One almost wishes XML and JSP could support "anonymous tags," given the
* amount of trouble we had naming this one!) :-) - sb
*/
// *********************************************************************
// Internal state
protected Object value; // tag attribute
protected String def; // tag attribute
protected boolean escapeXml; // tag attribute
private boolean needBody; // non-space body needed?
// *********************************************************************
// Construction and initialization
private final String m_sDiffChar ="()[]{}\"',:;= \t\r\n%!+-";
//private String m_sDiffChar ="()[]{}\"',:;=%!+-";
private final String m_sArrDiffChar [] = {
"&#40;","&#41;",
"&#91;","&#93;",
"&#123;","&#125;",
"&#34;","&#39;",
"&#44;","&#58;",
"&#59;","&#61;",
" ","\t", //" ","\t",
"\r","\n", //"\r","\n",
"&#37;","&#33;",
"&#43;","&#45;"
};
/**
* Constructs a new handler. As with TagSupport, subclasses should not
* provide other constructors and are expected to call the superclass
* constructor.
*/
public EgovComCrossSiteHndlr() {
super();
init();
}
// resets local state
private void init() {
value = def = null;
escapeXml = true;
needBody = false;
}
// Releases any resources we may have (or inherit)
public void release() {
super.release();
init();
}
// *********************************************************************
// Tag logic
// evaluates 'value' and determines if the body should be evaluted
public int doStartTag() throws JspException {
needBody = false; // reset state related to 'default'
this.bodyContent = null; // clean-up body (just in case container is
// pooling tag handlers)
JspWriter out = pageContext.getOut();
//System.out.println("EgovComCrossSiteFilter> ============================");
try {
// print value if available; otherwise, try 'default'
if (value != null) {
//System.out.println("EgovComCrossSiteFilter> =value");
String sWriteEscapedXml = getWriteEscapedXml();
//System.out.println("EgovComCrossSiteFilter sWriteEscapedXml>" + sWriteEscapedXml);
out.print(sWriteEscapedXml);
return SKIP_BODY;
} else {
// if we don't have a 'default' attribute, just go to the body
if (def == null) {
needBody = true;
return EVAL_BODY_BUFFERED;
}
//System.out.println("EgovComCrossSiteFilter def> ="+def);
// if we do have 'default', print it
if (def != null) {
// good 'default'
out(pageContext, escapeXml, def);
//System.out.println("EgovComCrossSiteFilter> ="+def);
}
return SKIP_BODY;
}
} catch (IOException ex) {
throw new JspException(ex.toString(), ex);
}
}
// prints the body if necessary; reports errors
public int doEndTag() throws JspException {
try {
//System.out.println("EgovComCrossSiteFilter ==== doEndTag");
if (!needBody){
return EVAL_PAGE; // nothing more to do
}
// trim and print out the body
if (bodyContent != null && bodyContent.getString() != null){
//String sWriteEscapedXml = getWriteEscapedXml();
//out2(pageContext, escapeXml, sWriteEscapedXml.toString());
//System.out.println("EgovComCrossSiteFilter> end");
//System.out.println("EgovComCrossSiteFilter sWriteEscapedXml > sWriteEscapedXml");
out(pageContext, escapeXml, bodyContent.getString().trim());
}
return EVAL_PAGE;
} catch (IOException ex) {
throw new JspException(ex.toString(), ex);
}
}
// *********************************************************************
// Public utility methods
/**
* Outputs <tt>text</tt> to <tt>pageContext</tt>'s current JspWriter. If
* <tt>escapeXml</tt> is true, performs the following substring replacements
* (to facilitate output to XML/HTML pages):
*
* & -> &amp; < -> &lt; > -> &gt; " -> &#034; ' -> &#039;
*
* See also Util.escapeXml().
*/
public static void out(PageContext pageContext, boolean escapeXml,
Object obj) throws IOException {
JspWriter w = pageContext.getOut();
if (!escapeXml) {
// write chars as is
if (obj instanceof Reader) {
Reader reader = (Reader) obj;
char[] buf = new char[4096];
int count;
while ((count = reader.read(buf, 0, 4096)) != -1) {
w.write(buf, 0, count);
}
} else {
w.write(obj.toString());
}
} else {
// escape XML chars
if (obj instanceof Reader) {
Reader reader = (Reader) obj;
char[] buf = new char[4096];
int count;
while ((count = reader.read(buf, 0, 4096)) != -1) {
writeEscapedXml(buf, count, w);
}
} else {
String text = obj.toString();
writeEscapedXml(text.toCharArray(), text.length(), w);
}
}
}
public static void out2(PageContext pageContext, boolean escapeXml,
Object obj) throws IOException {
JspWriter w = pageContext.getOut();
w.write(obj.toString());
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
private static void writeEscapedXml(char[] buffer, int length, JspWriter w)
throws IOException {
int start = 0;
for (int i = 0; i < length; i++) {
char c = buffer[i];
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
if (start < i) {
w.write(buffer, start, i - start);
}
// add escaped xml
w.write(escaped);
start = i + 1;
}
}
}
// add rest of unescaped portion
if (start < length) {
w.write(buffer, start, length - start);
}
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
@SuppressWarnings("unused")
private String getWriteEscapedXml() throws IOException {
String sRtn = "";
Object obj = this.value;
int start = 0;
String text = obj.toString();
int length = text.length();
char[] buffer = text.toCharArray();
boolean booleanDiff = false;
//String sDiffChar
//String sArrDiffChar
char[] cDiffChar = this.m_sDiffChar.toCharArray();
for(int i = 0; i < length; i++) {
char c = buffer[i];
booleanDiff = false;
for(int k = 0; k < cDiffChar.length; k++){
if(c == cDiffChar[k]){
sRtn = sRtn + m_sArrDiffChar[k];
booleanDiff = true;
continue;
}
}
if(booleanDiff) continue;
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
//if (start < i) {
// sRtn = sRtn + text.substring(start, i - start);
//}
// add escaped xml
//sRtn = sRtn + escaped;
//System.out.println(buffer[i]+" :: " + escaped);
for (int j = 0; j < escaped.length; j++) {
//System.out.println(buffer[i]+" :>: " + escaped[j]);
sRtn = sRtn + escaped[j];
}
//sRtn = sRtn+ escaped.toString();
//sRtn = sRtn + String.valueOf(buffer[i]);
start = i + 1;
}else{
sRtn = sRtn + c;
}
}else{
sRtn = sRtn + c;
}
}
return sRtn;
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
@SuppressWarnings("unused")
private String getWriteEscapedXml(String sWriteString) throws IOException {
String sRtn = "";
Object obj = sWriteString;
int start = 0;
String text = obj.toString();
int length = text.length();
char[] buffer = text.toCharArray();
boolean booleanDiff = false;
//String sDiffChar
//String sArrDiffChar
char[] cDiffChar = this.m_sDiffChar.toCharArray();
for(int i = 0; i < length; i++) {
char c = buffer[i];
booleanDiff = false;
for(int k = 0; k < cDiffChar.length; k++){
if(c == cDiffChar[k]){
sRtn = sRtn + m_sArrDiffChar[k];
booleanDiff = true;
continue;
}
}
if(booleanDiff) continue;
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
//if (start < i) {
// sRtn = sRtn + text.substring(start, i - start);
//}
// add escaped xml
//sRtn = sRtn + escaped;
//System.out.println(buffer[i]+" :: " + escaped);
for (int j = 0; j < escaped.length; j++) {
//System.out.println(buffer[i]+" :>: " + escaped[j]);
sRtn = sRtn + escaped[j];
}
//sRtn = sRtn+ escaped.toString();
//sRtn = sRtn + String.valueOf(buffer[i]);
start = i + 1;
}else{
sRtn = sRtn + c;
}
}else{
sRtn = sRtn + c;
}
}
return sRtn;
}
// for tag attribute
public void setValue(Object value) {
this.value = value;
}
// for tag attribute
public void setDefault(String def) {
this.def = def;
}
// for tag attribute
public void setEscapeXml(boolean escapeXml) {
this.escapeXml = escapeXml;
}
/** 2011.10.10 cmd 라인상에서 편의제공을 위해 제공, 필요없을시 삭제하여도 무방함
public static void main(String[] args) throws IOException
{
EgovComCrossSiteHndlr egovComCrossSiteHndlr = new EgovComCrossSiteHndlr();
egovComCrossSiteHndlr.value = "TRNSMIT";
String sCrossSiteHndlr = egovComCrossSiteHndlr.getWriteEscapedXml();
//System.out.println("writeEscapedXml " + egovComCrossSiteHndlr.getWriteEscapedXml());
/*
System.out.println("sCrossSiteHndlr|"+ sCrossSiteHndlr + "|");
try{
System.out.println("TRY TEST 1");
throw new Exception();
}catch(Exception e){
System.out.println("TRY TEST 2");
}finally{
System.out.println("TRY TEST 3");
}
}
*/
}

View File

@ -1,3 +1,18 @@
/*
* Copyright 2008-2009 the original author or authors.
*
* 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.
*/
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
@ -6,43 +21,32 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovComExcepHndlr.java
* @Description : 공통서비스의 exception 처리 클래스
* @Class Name : EgovSampleExcepHndlr.java
* @Description : EgovSampleExcepHndlr Class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ --------- --------- -------------------------------
* @ 2009.03.16 최초생성
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 13. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 13.
* @version
* @author 개발프레임웍크 실행환경 개발팀
* @since 2009. 03.16
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class EgovComExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComExcepHndlr.class);
/*
@Resource(name = "otherSSLMailSender")
private SimpleSSLMail mailSender;
*/
/**
* 발생된 Exception을 처리한다.
*/
public void occur(Exception ex, String packageName) {
//log.debug(" EgovServiceExceptionHandler run...............");
/*
try {
mailSender. send(ex, packageName);
log.debug(" sending a alert mail is completed ");
} catch (Exception e) {
LOGGER.error(packageName, ex);
}
*/
LOGGER.error(packageName, ex);
/**
* @param ex
* @param packageName
* @see 개발프레임웍크 실행환경 개발팀
*/
@Override
public void occur(Exception ex, String packageName) {
LOGGER.debug(" EgovServiceExceptionHandler run...............");
}
}

View File

@ -1,3 +1,33 @@
/*
* Copyright 2008-2009 the original author or authors.
*
* 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.
*/
/*
* Copyright 2008-2009 the original author or authors.
*
* 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.
*/
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
@ -5,12 +35,34 @@ import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovSampleOthersExcepHndlr.java
* @Description : EgovSampleOthersExcepHndlr Class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ --------- --------- -------------------------------
* @ 2009.03.16 최초생성
*
* @author 개발프레임웍크 실행환경 개발팀
* @since 2009. 03.16
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class EgovComOthersExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComOthersExcepHndlr.class);
public void occur(Exception exception, String packageName) {
//log.debug(" EgovServiceExceptionHandler run...............");
LOGGER.error(packageName, exception);
}
/**
* @param exception
* @param packageName
* @see 개발프레임웍크 실행환경 개발팀
*/
@Override
public void occur(Exception exception, String packageName) {
LOGGER.debug(" EgovServiceExceptionHandler run...............");
}
}

View File

@ -1,65 +0,0 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
/**
* EgovComUtil 클래스
*
* @author 서준식
* @since 2011.09.15
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2011.09.15 서준식 최초 생성
* </pre>
*/
@Service("egovUtil")
public class EgovComponentChecker extends EgovAbstractServiceImpl implements ApplicationContextAware{
public static ApplicationContext context;
@SuppressWarnings("static-access")
public void setApplicationContext(ApplicationContext context)
throws BeansException {
this.context = context;
}
/**
* Spring MVC에서 설정한 빈이 아닌 서비스 (컴포넌트)만을 검색할 있음
*
*/
public static boolean hasComponent(String componentName){
try{
Object component = context.getBean(componentName);
if(component == null){
return false;
}else{
return true;
}
}catch(NoSuchBeanDefinitionException ex){// 해당 컴포넌트를 찾을 수없을 경우 false반환
return false;
}
}
}

View File

@ -1,87 +0,0 @@
package egovframework.com.cmm;
import java.util.Locale;
import org.springframework.context.MessageSource;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
/**
* 메시지 리소스 사용을 위한 MessageSource 인터페이스 ReloadableResourceBundleMessageSource 클래스의 구현체
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이문준 최초 생성
* 2017.07.21 장동한 args, locale 설정
*
* </pre>
*/
public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource {
private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource;
/**
* getReloadableResourceBundleMessageSource()
* @param reloadableResourceBundleMessageSource - resource MessageSource
* @return ReloadableResourceBundleMessageSource
*/
public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) {
this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource;
}
/**
* getReloadableResourceBundleMessageSource()
* @return ReloadableResourceBundleMessageSource
*/
public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() {
return reloadableResourceBundleMessageSource;
}
/**
* 정의된 메세지 조회
* @param code - 메세지 코드
* @return String
*/
public String getMessage(String code) {
return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault());
}
/**
* 정의된 메세지 조회
* @param code - 메세지 코드
* @param locale - 로케일
* @return String
*/
public String getMessage(String code, Locale locale) {
return getReloadableResourceBundleMessageSource().getMessage(code, null, locale);
}
/**
* 정의된 메세지 조회
* @param code - 메세지 코드
* @param args - 매개변수
* @return String
*/
public String getMessageArgs(String code, Object[] args) {
return getReloadableResourceBundleMessageSource().getMessage(code, args, Locale.getDefault());
}
/**
* 정의된 메세지 조회
* @param code - 메세지 코드
* @param args - 매개변수
* @param locale - 로케일
* @return String
*/
public String getMessageArgsLocale(String code, Object[] args, Locale locale) {
return getReloadableResourceBundleMessageSource().getMessage(code, args, locale);
}
}

View File

@ -1,53 +0,0 @@
package egovframework.com.cmm;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* ImagePaginationRenderer.java 클래스
*
* @author 서준식
* @since 2011. 9. 16.
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가
* 2016. 6. 17. 장동한 표준프레임워크 v3.6 리뉴얼
* </pre>
*/
public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRenderer() {
}
public void initVariables(){
firstPageLabel = "<li class=\"first\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">첫 페이지</a></li>";
previousPageLabel = "<li class=\"prev\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">이전 페이지</a></li>";
currentPageLabel = "<li class=\"current\"><a onClick=\"return false;\">{0}</a></li>";
otherPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a></li>";
nextPageLabel = "<li class=\"next\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">다음 페이지</a></li>";
lastPageLabel = "<li class=\"last\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">끝 페이지</a></li>";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -1,50 +0,0 @@
package egovframework.com.cmm;
/**
* IncludedInfo annotation을 바탕으로 화면에 표시할 정보를 구성하기 위한 VO 클래스
* @author 공통컴포넌트 정진오
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.08.26 정진오 최초 생성
*
* </pre>
*/
public class IncludedCompInfoVO {
private String name;
private String listUrl;
private int order;
private int gid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getListUrl() {
return listUrl;
}
public void setListUrl(String listUrl) {
this.listUrl = listUrl;
}
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
this.gid = gid;
}
}

View File

@ -0,0 +1,57 @@
package egovframework.com.cmm;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import nlib.user.web.LoginController;
public class NlibLoginSuccessHandler implements AuthenticationSuccessHandler {
private static final Logger log = LoggerFactory.getLogger(LoginController.class);
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
log.warn("login Test...");
// 권한을 넣을 리스트를 만듭니다
List<String> authList = new ArrayList<>();
// 디버깅 테스트
log.debug("getCredential : " + authentication.getCredentials());
log.debug("principal : " + authentication.getPrincipal());
log.debug("들어오는 사용자 : " + authentication.getName());
log.debug("가진 권한 : " + authentication.getAuthorities());
// 들어온 사용자의 권한을 authList에 추가 (여러개일 있으므로 하나씩 담음.)
authentication.getAuthorities().forEach(auth -> {
authList.add(auth.getAuthority());
});
// 관리자 경우
if (authList.contains("ROLE_ADMIN")) {
log.debug("관리자 입니다.");
response.sendRedirect("/login/admin.do");
return;
}
// 회원가입한 사용자일 경우.
if (authList.contains("ROLE_MEMBER")) {
log.warn("회원가입된 사용자 입니다.");
response.sendRedirect("/login/member.do");
return;
}
// 실패했을 경우 그대로 loginPage.jsp로 돌아갑니다.
response.sendRedirect("/");
}
}

View File

@ -1,48 +0,0 @@
package egovframework.com.cmm;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* ImagePaginationRenderer.java 클래스
*
* @author 서준식
* @since 2011. 9. 16.
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가
* 2016. 6. 17. 장동한 표준프레임워크 v3.6 리뉴얼
* </pre>
*/
public class RegacyPaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public RegacyPaginationRenderer() {
}
public void initVariables(){
firstPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a>&#160;";
previousPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a>&#160;";
currentPageLabel = "<strong>{0}</strong>&#160;";
otherPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a>&#160;";
nextPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a>&#160;";
lastPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a>&#160;";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -1,120 +0,0 @@
package egovframework.com.cmm;
import java.io.Serializable;
/**
* 세션 VO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.06
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.06 박지욱 최초 생성
*
* </pre>
*/
@SuppressWarnings("serial")
public class SessionVO implements Serializable {
/** 아이디 */
private String sUserId;
/** 이름 */
private String sUserNm;
/** 이메일 */
private String sEmail;
/** 사용자구분 */
private String sUserSe;
/** 조직(부서)ID */
private String orgnztId;
/** 고유아이디 */
private String uniqId;
/**
* sUserId attribute 리턴한다.
* @return String
*/
public String getSUserId() {
return sUserId;
}
/**
* sUserId attribute 값을 설정한다.
* @param sUserId String
*/
public void setSUserId(String userId) {
sUserId = userId;
}
/**
* sUserNm attribute 리턴한다.
* @return String
*/
public String getSUserNm() {
return sUserNm;
}
/**
* sUserNm attribute 값을 설정한다.
* @param sUserNm String
*/
public void setSUserNm(String userNm) {
sUserNm = userNm;
}
/**
* sEmail attribute 리턴한다.
* @return String
*/
public String getSEmail() {
return sEmail;
}
/**
* sEmail attribute 값을 설정한다.
* @param sEmail String
*/
public void setSEmail(String email) {
sEmail = email;
}
/**
* sUserSe attribute 리턴한다.
* @return String
*/
public String getSUserSe() {
return sUserSe;
}
/**
* sUserSe attribute 값을 설정한다.
* @param sUserSe String
*/
public void setSUserSe(String userSe) {
sUserSe = userSe;
}
/**
* orgnztId attribute 리턴한다.
* @return String
*/
public String getOrgnztId() {
return orgnztId;
}
/**
* orgnztId attribute 값을 설정한다.
* @param orgnztId String
*/
public void setOrgnztId(String orgnztId) {
this.orgnztId = orgnztId;
}
/**
* uniqId attribute 리턴한다.
* @return String
*/
public String getUniqId() {
return uniqId;
}
/**
* uniqId attribute 값을 설정한다.
* @param uniqId String
*/
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
}

View File

@ -1,33 +0,0 @@
package egovframework.com.cmm.annotation;
/**
* 컴포넌트의 포함 정보 표현을 위한 annotation 클래스
* 기본적으로 Controller 클래스에 annotation을 부여하되,
* 하나의 Controller에 여러 개의 목록성 url mapping이 제공되는 경우에는
* 메소드에 annotation을 부여한다.
* @author 공통컴포넌트 정진오
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.08.26 정진오 최초 생성
*
* </pre>
*/
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface IncludedInfo {
String name() default ""; // 컴포넌트의 한글 이름
String listUrl() default ""; // 컴포넌트의 목록정보조회를 위한 URL
int order() default 0; // 자동 생성되는 메뉴 목록에 표시되는 순서
int gid() default 0; // 컴포넌트의 Group ID(대분류 구분)
}

View File

@ -1,46 +0,0 @@
package egovframework.com.cmm.config;
/**
* EgovLoginConfig 클래스
* <Notice>
* 사용자 인증수행제한에 대한 설정을 관리하는 클래스
* <Disclaimer>
* N/A
*
* @author 장동한
* @since 2017.07.17
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2016.07.17 장동한 최초 생성
* </pre>
*/
public class EgovLoginConfig {
//로그인 인증 제한 여부
boolean lock = false;
//로그인 인증 제한 횟수
int lockCount = 0;
public boolean isLock() {
return lock;
}
public void setLock(boolean lock) {
this.lock = lock;
}
public int getLockCount() {
return lockCount;
}
public void setLockCount(int lockCount) {
this.lockCount = lockCount;
}
}

View File

@ -1,173 +0,0 @@
package egovframework.com.cmm.config;
import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.XmlWebApplicationContext;
import org.springframework.web.filter.DelegatingFilterProxy;
import org.springframework.web.filter.HiddenHttpMethodFilter;
import org.springframework.web.multipart.support.MultipartFilter;
import org.springframework.web.servlet.DispatcherServlet;
import egovframework.com.cmm.filter.HTMLTagFilter;
import egovframework.com.cmm.service.EgovProperties;
import egovframework.com.sec.security.filter.EgovSpringSecurityLoginFilter;
import egovframework.com.sec.security.filter.EgovSpringSecurityLogoutFilter;
import egovframework.com.uat.uap.filter.EgovLoginPolicyFilter;
import egovframework.com.utl.wed.filter.CkFilter;
/**
* EgovWebApplicationInitializer 클래스
* <Notice>
* 사용자 인증 권한처리를 분리(session, spring security) 하기 위해서 web.xml의 기능을
* Servlet3.x WebApplicationInitializer 기능으로 처리
* <Disclaimer>
* N/A
*
* @author 장동한
* @since 2016.06.23
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2016.06.23 장동한 최초 생성
* 2018.10.02 신용호 Facebook 관련 HiddenHttpMethodFilter 추가
* 2018.10.26 신용호 EgovLoginPolicyFilter 추가 (IP접근처리)
* 2018.12.03 신용호 springMultipartFilter,HTMLTagFilter 추가 (XSS방지처리)
* </pre>
*/
public class EgovWebApplicationInitializer implements WebApplicationInitializer {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovWebApplicationInitializer.class);
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
LOGGER.debug("EgovWebApplicationInitializer START-============================================");
//-------------------------------------------------------------
// Egov Web ServletContextListener 설정
//-------------------------------------------------------------
servletContext.addListener(new egovframework.com.cmm.context.EgovWebServletContextListener());
//-------------------------------------------------------------
// Spring CharacterEncodingFilter 설정
//-------------------------------------------------------------
FilterRegistration.Dynamic characterEncoding = servletContext.addFilter("encodingFilter", new org.springframework.web.filter.CharacterEncodingFilter());
characterEncoding.setInitParameter("encoding", "UTF-8");
characterEncoding.setInitParameter("forceEncoding", "true");
characterEncoding.addMappingForUrlPatterns(null, false, "*.do");
//characterEncoding.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "*.do");
//-------------------------------------------------------------
// Spring ServletContextListener 설정
//-------------------------------------------------------------
XmlWebApplicationContext rootContext = new XmlWebApplicationContext();
rootContext.setConfigLocations(new String[] { "classpath*:egovframework/spring/com/**/context-*.xml" });
//rootContext.setConfigLocations(new String[] { "classpath*:egovframework/spring/com/context-*.xml","classpath*:egovframework/spring/com/*/context-*.xml" });
rootContext.refresh();
rootContext.start();
servletContext.addListener(new ContextLoaderListener(rootContext));
//-------------------------------------------------------------
// Spring ServletContextListener 설정
//-------------------------------------------------------------
XmlWebApplicationContext xmlWebApplicationContext = new XmlWebApplicationContext();
xmlWebApplicationContext.setConfigLocation("/WEB-INF/config/egovframework/springmvc/egov-com-*.xml");
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new DispatcherServlet(xmlWebApplicationContext));
//dispatcher.addMapping("*.do");
dispatcher.addMapping("/"); // Facebook OAuth 사용시 변경
dispatcher.setLoadOnStartup(1);
if("security".equals(EgovProperties.getProperty("Globals.Auth").trim())) {
//-------------------------------------------------------------
// springSecurityFilterChain 설정
//-------------------------------------------------------------
FilterRegistration.Dynamic springSecurityFilterChain = servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy());
springSecurityFilterChain.addMappingForUrlPatterns(null, false, "*");
//servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy("springSecurityFilterChain")).addMappingForUrlPatterns(null, false, "/*");
//-------------------------------------------------------------
// HttpSessionEventPublisher 설정
//-------------------------------------------------------------
servletContext.addListener(new org.springframework.security.web.session.HttpSessionEventPublisher());
//-------------------------------------------------------------
// EgovSpringSecurityLoginFilter 설정
//-------------------------------------------------------------
FilterRegistration.Dynamic egovSpringSecurityLoginFilter = servletContext.addFilter("egovSpringSecurityLoginFilter", new EgovSpringSecurityLoginFilter());
//로그인 실패시 반활 URL설정
egovSpringSecurityLoginFilter.setInitParameter("loginURL", "/uat/uia/egovLoginUsr.do");
//로그인 처리 URL설정
egovSpringSecurityLoginFilter.setInitParameter("loginProcessURL", "/uat/uia/actionLogin.do");
//처리 Url Pattern
egovSpringSecurityLoginFilter.addMappingForUrlPatterns(null, false, "*.do");
//-------------------------------------------------------------
// EgovSpringSecurityLogoutFilter 설정
//-------------------------------------------------------------
FilterRegistration.Dynamic egovSpringSecurityLogoutFilter = servletContext.addFilter("egovSpringSecurityLogoutFilter", new EgovSpringSecurityLogoutFilter());
egovSpringSecurityLogoutFilter.addMappingForUrlPatterns(null, false, "/uat/uia/actionLogout.do");
} else if("session".equals(EgovProperties.getProperty("Globals.Auth").trim())) {
//-------------------------------------------------------------
// EgovLoginPolicyFilter 설정
//-------------------------------------------------------------
FilterRegistration.Dynamic egovLoginPolicyFilter = servletContext.addFilter("LoginPolicyFilter", new EgovLoginPolicyFilter());
egovLoginPolicyFilter.addMappingForUrlPatterns(null, false, "/uat/uia/actionLogin.do");
}
//-------------------------------------------------------------
// CkFilter 설정 (CKEditor 사용시 설정)
//-------------------------------------------------------------
FilterRegistration.Dynamic regCkFilter = servletContext.addFilter("CKFilter", new CkFilter());
regCkFilter.setInitParameter("properties", "egovframework/egovProps/ck.properties");
regCkFilter.addMappingForUrlPatterns(null, false, "/ckupload");
//-------------------------------------------------------------
// HiddenHttpMethodFilter 설정 (Facebook OAuth 사용시 설정)
//-------------------------------------------------------------
FilterRegistration.Dynamic hiddenHttpMethodFilter = servletContext.addFilter("hiddenHttpMethodFilter", new HiddenHttpMethodFilter());
hiddenHttpMethodFilter.addMappingForUrlPatterns(null, false, "/*");
//-------------------------------------------------------------
// Tomcat의 경우 allowCasualMultipartParsing="true" 추가
// <Context docBase="" path="/" reloadable="true" allowCasualMultipartParsing="true">
//-------------------------------------------------------------
MultipartFilter springMultipartFilter = new MultipartFilter();
springMultipartFilter.setMultipartResolverBeanName("multipartResolver");
FilterRegistration.Dynamic multipartFilter = servletContext.addFilter("springMultipartFilter", springMultipartFilter);
multipartFilter.addMappingForUrlPatterns(null, false, "*.do");
//-------------------------------------------------------------
// HTMLTagFilter의 경우는 파라미터에 대하여 XSS 오류 방지를 위한 변환을 처리합니다.
//-------------------------------------------------------------
// HTMLTagFIlter의 경우는 JSP의 <c:out /> 등을 사용하지 못하는 특수한 상황에서 사용하시면 됩니다.
// (<c:out /> 경우 뷰단에서 데이터 출력시 XSS 방지 처리가 )
FilterRegistration.Dynamic htmlTagFilter = servletContext.addFilter("htmlTagFilter", new HTMLTagFilter());
htmlTagFilter.addMappingForUrlPatterns(null, false, "*.do");
//-------------------------------------------------------------
// Spring RequestContextListener 설정
//-------------------------------------------------------------
servletContext.addListener(new org.springframework.web.context.request.RequestContextListener());
LOGGER.debug("EgovWebApplicationInitializer END-============================================");
}
}

View File

@ -1,66 +0,0 @@
package egovframework.com.cmm.context;
import egovframework.com.cmm.service.EgovProperties;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* EgovWebServletContextListener 클래스
* <Notice>
* 데이터베이스 설정을 spring.profiles.active 방식으로 처리
* (공통컴포넌트 특성상 데이터베이스별 분리/개발,검증,운영서버로 분리 가능)
* <Disclaimer>
* N/A
*
* @author 장동한
* @since 2016.06.23
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2016.06.23 장동한 최초 생성
* 2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
* </pre>
*/
public class EgovWebServletContextListener implements ServletContextListener {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovWebServletContextListener.class);
public EgovWebServletContextListener(){
setEgovProfileSetting();
}
public void contextInitialized(ServletContextEvent event){
if(System.getProperty("spring.profiles.active") == null){
setEgovProfileSetting();
}
}
public void contextDestroyed(ServletContextEvent event) {
if(System.getProperty("spring.profiles.active") != null){
System.setProperty("spring.profiles.active", null);
}
}
public void setEgovProfileSetting(){
try {
LOGGER.debug("===========================Start EgovServletContextLoad START ===========");
System.setProperty("spring.profiles.active", EgovProperties.getProperty("Globals.DbType")+","+EgovProperties.getProperty("Globals.Auth"));
LOGGER.debug("Setting spring.profiles.active>"+System.getProperty("spring.profiles.active"));
LOGGER.debug("===========================END EgovServletContextLoad END ===========");
//2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
} catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] search fail : " + e.getMessage());
}
}
}

View File

@ -1,39 +0,0 @@
package egovframework.com.cmm.exception;
import egovframework.rte.fdl.cmmn.exception.BaseRuntimeException;
/**
* EgovXssException 클래스
*
* @author 장동한
* @since 2016.10.27
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2016.10.17 장동한 최초 생성
* </pre>
*/
public class EgovXssException extends BaseRuntimeException {
private static final long serialVersionUID = 1L;
/**
* EgovXssException 생성자.
*
* @param defaultMessage 메세지 지정
* @param wrappedException 원인 Exception
*/
public EgovXssException(String message, String messageKey) {
this.messageKey = messageKey;
this.messageParameters = null;
this.message = message;
this.wrappedException = null;
}
}

View File

@ -1,46 +0,0 @@
/*
* Copyright 2008-2009 MOPAS(MINISTRY OF SECURITY AND PUBLIC ADMINISTRATION).
*
* 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.
*/
package egovframework.com.cmm.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class HTMLTagFilter implements Filter{
@SuppressWarnings("unused")
private FilterConfig config;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
chain.doFilter(new HTMLTagFilterRequestWrapper((HttpServletRequest)request), response);
}
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
public void destroy() {
}
}

View File

@ -1,187 +0,0 @@
/*
* Copyright 2008-2009 MOPAS(MINISTRY OF SECURITY AND PUBLIC ADMINISTRATION).
*
* 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.
*/
package egovframework.com.cmm.filter;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
/**
*
* HTMLTagFilterRequestWrapper
* @author 공통컴포넌트 신용호
* @since 2018.03.21
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2018.03.21 신용호 getParameterMap()구현 추가
* 2019.01.31 신용호 whiteList 태그 추가
*
*/
public class HTMLTagFilterRequestWrapper extends HttpServletRequestWrapper {
// Tag 화이트 리스트 ( 허용할 태그 등록 )
static private String[] whiteListTag = { "<p>","</p>","<br />" };
public HTMLTagFilterRequestWrapper(HttpServletRequest request) {
super(request);
}
public String[] getParameterValues(String parameter) {
String[] values = super.getParameterValues(parameter);
if(values==null){
return null;
}
for (int i = 0; i < values.length; i++) {
if (values[i] != null) {
values[i] = getSafeParamData(values[i]);
//System.out.println( "[HTMLTagFilter getParameterValues] "+ parameter + "===>>>"+values[i] );
} else {
values[i] = null;
}
}
return values;
}
public String getParameter(String parameter) {
String value = super.getParameter(parameter);
if(value==null){
return null;
}
value = getSafeParamData(value);
//System.out.println( "[HTMLTagFilter getParameter] "+ parameter + "===>>>"+value );
return value;
}
/**
* Map으로 바인딩된 경우를 처리한다.
*
* @return Map - String Type Key / String배열타입
*/
public Map<String, String[]> getParameterMap() {
Map<String, String[]> valueMap = super.getParameterMap();
String[] values;
for( String key : valueMap.keySet() ){
values = valueMap.get(key);
for (int i = 0; i < values.length; i++) {
if (values[i] != null) {
values[i] = getSafeParamData(values[i]);
//System.out.println( "[HTMLTagFilter getParameterMap] "+ key + "===>>>"+values[i] );
} else {
values[i] = null;
}
}
//System.out.println( String.format("키 : %s, 값 : %s", key, valueMap.get(key)) );
}
return valueMap;
}
private String getSafeParamData(String value) {
StringBuffer strBuff = new StringBuffer();
for (int i = 0; i < value.length(); i++) {
char c = value.charAt(i);
switch (c) {
case '<':
if ( checkNextWhiteListTag(i, value) == false )
strBuff.append("&lt;");
else
strBuff.append(c);
//System.out.println("checkNextWhiteListTag = "+checkNextWhiteListTag(i, value));
break;
case '>':
if ( checkPrevWhiteListTag(i, value) == false )
strBuff.append("&gt;");
else
strBuff.append(c);
//System.out.println("checkPrevWhiteListTag = "+checkPrevWhiteListTag(i, value));
break;
//case '&':
// strBuff.append("&amp;");
// break;
case '"':
strBuff.append("&quot;");
break;
case '\'':
strBuff.append("&apos;");
break;
default:
strBuff.append(c);
break;
}
}
value = strBuff.toString();
return value;
}
private boolean checkNextWhiteListTag(int index, String data) {
String extractData = "";
//int beginIndex = 0;
int endIndex = 0;
for(String whiteListData: whiteListTag) {
//System.out.println("===>>> whiteListData="+whiteListData);
endIndex = index+whiteListData.length();
if ( data.length() > endIndex )
extractData = data.substring(index, endIndex);
else
extractData = "";
//System.out.println("extractData="+extractData);
if ( whiteListData.equals(extractData) ) return true; // whiteList 대상으로 판정
}
return false;
}
private boolean checkPrevWhiteListTag(int index, String data) {
String extractData = "";
int beginIndex = 0;
int endIndex = 0;
for(String whiteListData: whiteListTag) {
//System.out.println("===>>> whiteListData="+whiteListData);
beginIndex = index-whiteListData.length()+1;
endIndex = index+1;
//System.out.println(" range ["+beginIndex+" ~ "+endIndex+"]");
if ( beginIndex >= 0 )
extractData = data.substring(beginIndex, endIndex);
else
extractData = "";
//System.out.println("extractData="+extractData);
if ( whiteListData.equals(extractData) ) return true; // whiteList 대상으로 판정
}
return false;
}
}

View File

@ -1,91 +0,0 @@
package egovframework.com.cmm.interceptor;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
/**
* 인증여부 체크 인터셉터
* @author 공통서비스 개발팀 서준식
* @since 2011.07.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.07.01 서준식 최초 생성
* 2011.09.07 서준식 인증이 필요없는 URL을 패스하는 로직 추가
* 2017.08.31 장동한 인증된 사용자 체크로직 변경 관리자 권한 체크 로직 추가
* </pre>
*/
public class AuthenticInterceptor extends HandlerInterceptorAdapter {
@Autowired
private Environment environment;
/** log */
private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticInterceptor.class);
/** 관리자 접근 권한 패턴 목록 */
private List<String> adminAuthPatternList;
public List<String> getAdminAuthPatternList() {
return adminAuthPatternList;
}
public void setAdminAuthPatternList(List<String> adminAuthPatternList) {
this.adminAuthPatternList = adminAuthPatternList;
}
/**
* 인증된 사용자 여부로 인증 여부를 체크한다.
* 관리자 권한에 따라 접근 페이지 권한을 체크한다.
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//인증된사용자 여부
boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
//미민증사용자 체크
if(!isAuthenticated) {
ModelAndView modelAndView = new ModelAndView("redirect:/uat/uia/egovLoginUsr.do");
throw new ModelAndViewDefiningException(modelAndView);
}
//인증된 권한 목록
List<String> authList = (List<String>)EgovUserDetailsHelper.getAuthorities();
//관리자인증여부
boolean adminAuthUrlPatternMatcher = false;
//AntPathRequestMatcher
AntPathRequestMatcher antPathRequestMatcher = null;
//관리자가 아닐때 체크함
for(String adminAuthPattern : adminAuthPatternList){
antPathRequestMatcher = new AntPathRequestMatcher(adminAuthPattern);
if(antPathRequestMatcher.matches(request)){
adminAuthUrlPatternMatcher = true;
}
}
//관리자 권한 체크
if(adminAuthUrlPatternMatcher && !authList.contains("ADMIN")){
ModelAndView modelAndView = new ModelAndView("redirect:/uat/uia/egovLoginUsr.do?auth_error=1");
throw new ModelAndViewDefiningException(modelAndView);
}
return true;
}
}

View File

@ -1,42 +0,0 @@
package egovframework.com.cmm.interceptor;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
/**
* 사용자IP 체크 인터셉터
* @author 유지보수팀 이기하
* @since 2013.03.28
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2013.03.28 이기하 최초 생성
* </pre>
*/
public class IpObtainInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String clientIp = request.getRemoteAddr();
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if (loginVO != null) {
loginVO.setIp(clientIp);
}
return true;
}
}

View File

@ -1,217 +0,0 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
/**
* 공통상세코드 모델 클래스
* @author 공통서비스 개발팀 이중호
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.04.01 이중호 최초 생성
* 2017.09.07 이정은 표준프레임워크 v3.7 개선(clCode 추가)
*
* </pre>
*/
public class CmmnDetailCode implements Serializable {
private static final long serialVersionUID = 1L;
/*
* 분류코드
*/
private String clCode = "";
/*
* 코드ID
*/
private String codeId = "";
/*
* 코드ID명
*/
private String codeIdNm = "";
/*
* 상세코드
*/
private String code = "";
/*
* 상세코드명
*/
private String codeNm = "";
/*
* 상세코드설명
*/
private String codeDc = "";
/*
* 사용여부
*/
private String useAt = "";
/*
* 최초등록자ID
*/
private String frstRegisterId = "";
/*
* 최종수정자ID
*/
private String lastUpdusrId = "";
/**
* clCode attribute 리턴한다.
* @return String
*/
public String getClCode() {
return clCode;
}
/**
* clCode attribute 값을 설정한다.
* @param clCode String
*/
public void setClCode(String clCode) {
this.clCode = clCode;
}
/**
* codeId attribute 리턴한다.
* @return String
*/
public String getCodeId() {
return codeId;
}
/**
* codeId attribute 값을 설정한다.
* @param codeId String
*/
public void setCodeId(String codeId) {
this.codeId = codeId;
}
/**
* codeIdNm attribute 리턴한다.
* @return String
*/
public String getCodeIdNm() {
return codeIdNm;
}
/**
* codeIdNm attribute 값을 설정한다.
* @param codeIdNm String
*/
public void setCodeIdNm(String codeIdNm) {
this.codeIdNm = codeIdNm;
}
/**
* code attribute 리턴한다.
* @return String
*/
public String getCode() {
return code;
}
/**
* code attribute 값을 설정한다.
* @param code String
*/
public void setCode(String code) {
this.code = code;
}
/**
* codeNm attribute 리턴한다.
* @return String
*/
public String getCodeNm() {
return codeNm;
}
/**
* codeNm attribute 값을 설정한다.
* @param codeNm String
*/
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
/**
* codeDc attribute 리턴한다.
* @return String
*/
public String getCodeDc() {
return codeDc;
}
/**
* codeDc attribute 값을 설정한다.
* @param codeDc String
*/
public void setCodeDc(String codeDc) {
this.codeDc = codeDc;
}
/**
* useAt attribute 리턴한다.
* @return String
*/
public String getUseAt() {
return useAt;
}
/**
* useAt attribute 값을 설정한다.
* @param useAt String
*/
public void setUseAt(String useAt) {
this.useAt = useAt;
}
/**
* frstRegisterId attribute 리턴한다.
* @return String
*/
public String getFrstRegisterId() {
return frstRegisterId;
}
/**
* frstRegisterId attribute 값을 설정한다.
* @param frstRegisterId String
*/
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
/**
* lastUpdusrId attribute 리턴한다.
* @return String
*/
public String getLastUpdusrId() {
return lastUpdusrId;
}
/**
* lastUpdusrId attribute 값을 설정한다.
* @param lastUpdusrId String
*/
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
}

View File

@ -1,64 +0,0 @@
package egovframework.com.cmm.service;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.ComDefaultCodeVO;
/**
*
* 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스
* @author 공통서비스 개발팀 이삼섭
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이삼섭 최초 생성
*
* </pre>
*/
public interface EgovCmmUseService {
/**
* 공통코드를 조회한다.
*
* @param vo
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return Map(코드)
* @throws Exception
*/
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
}

View File

@ -1,115 +0,0 @@
package egovframework.com.cmm.service;
import java.util.List;
import java.util.Map;
/**
* @Class Name : EgovFileMngService.java
* @Description : 파일정보의 관리를 위한 서비스 인터페이스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 25. 이삼섭 최초생성
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 25.
* @version
* @see
*
*/
public interface EgovFileMngService {
/**
* 파일에 대한 목록을 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public List<FileVO> selectFileInfs(FileVO fvo) throws Exception;
/**
* 하나의 파일에 대한 정보(속성 상세) 등록한다.
*
* @param fvo
* @throws Exception
*/
public String insertFileInf(FileVO fvo) throws Exception;
/**
* 여러 개의 파일에 대한 정보(속성 상세) 등록한다.
*
* @param fvoList
* @throws Exception
*/
public String insertFileInfs(List<?> fvoList) throws Exception;
/**
* 여러 개의 파일에 대한 정보(속성 상세) 수정한다.
*
* @param fvoList
* @throws Exception
*/
public void updateFileInfs(List<?> fvoList) throws Exception;
/**
* 여러 개의 파일을 삭제한다.
*
* @param fvoList
* @throws Exception
*/
public void deleteFileInfs(List<?> fvoList) throws Exception;
/**
* 하나의 파일을 삭제한다.
*
* @param fvo
* @throws Exception
*/
public void deleteFileInf(FileVO fvo) throws Exception;
/**
* 파일에 대한 상세정보를 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public FileVO selectFileInf(FileVO fvo) throws Exception;
/**
* 파일 구분자에 대한 최대값을 구한다.
*
* @param fvo
* @return
* @throws Exception
*/
public int getMaxFileSN(FileVO fvo) throws Exception;
/**
* 전체 파일을 삭제한다.
*
* @param fvo
* @throws Exception
*/
public void deleteAllFileInf(FileVO fvo) throws Exception;
/**
* 파일명 검색에 대한 목록을 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception;
/**
* 이미지 파일에 대한 목록을 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
public List<FileVO> selectImageFileList(FileVO vo) throws Exception;
}

View File

@ -1,436 +0,0 @@
package egovframework.com.cmm.service;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import egovframework.com.cmm.EgovWebUtil;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.multipart.MultipartFile;
/**
* @Class Name : EgovFileMngUtil.java
* @Description : 메시지 처리 관련 유틸리티
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.02.13 이삼섭 최초 생성
* 2011.08.09 서준식 utl.fcc패키지와 Dependency제거를 위해 getTimeStamp()메서드 추가
* 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 02. 13
* @version 1.0
* @see
*
*/
@Component("EgovFileMngUtil")
public class EgovFileMngUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
public static final int BUFF_SIZE = 2048;
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService idgenService;
/**
* 첨부파일에 대한 목록 정보를 취득한다.
*
* @param files
* @return
* @throws Exception
*/
public List<FileVO> parseFileInf(Map<String, MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, String storePath) throws Exception {
int fileKey = fileKeyParam;
String storePathString = "";
String atchFileIdString = "";
if ("".equals(storePath) || storePath == null) {
storePathString = EgovProperties.getProperty("Globals.fileStorePath");
} else {
storePathString = EgovProperties.getProperty(storePath);
}
if ("".equals(atchFileId) || atchFileId == null) {
atchFileIdString = idgenService.getNextStringId();
} else {
atchFileIdString = atchFileId;
}
File saveFolder = new File(EgovWebUtil.filePathBlackList(storePathString));
if (!saveFolder.exists() || saveFolder.isFile()) {
//2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
if (saveFolder.mkdirs()){
LOGGER.debug("[file.mkdirs] saveFolder : Creation Success ");
}else{
LOGGER.error("[file.mkdirs] saveFolder : Creation Fail ");
}
}
Iterator<Entry<String, MultipartFile>> itr = files.entrySet().iterator();
MultipartFile file;
String filePath = "";
List<FileVO> result = new ArrayList<FileVO>();
FileVO fvo;
while (itr.hasNext()) {
Entry<String, MultipartFile> entry = itr.next();
file = entry.getValue();
String orginFileName = file.getOriginalFilename();
//--------------------------------------
// 파일명이 없는 경우 처리
// (첨부가 되지 않은 input file type)
//--------------------------------------
if ("".equals(orginFileName)) {
continue;
}
////------------------------------------
int index = orginFileName.lastIndexOf(".");
//String fileName = orginFileName.substring(0, index);
String fileExt = orginFileName.substring(index + 1);
String newName = KeyStr + getTimeStamp() + fileKey;
long size = file.getSize();
if (!"".equals(orginFileName)) {
filePath = storePathString + File.separator + newName;
file.transferTo(new File(EgovWebUtil.filePathBlackList(filePath)));
}
fvo = new FileVO();
fvo.setFileExtsn(fileExt);
fvo.setFileStreCours(storePathString);
fvo.setFileMg(Long.toString(size));
fvo.setOrignlFileNm(orginFileName);
fvo.setStreFileNm(newName);
fvo.setAtchFileId(atchFileIdString);
fvo.setFileSn(String.valueOf(fileKey));
result.add(fvo);
fileKey++;
}
return result;
}
/**
* 첨부파일을 서버에 저장한다.
*
* @param file
* @param newName
* @param stordFilePath
* @throws Exception
*/
protected void writeUploadedFile(MultipartFile file, String newName, String stordFilePath) throws Exception {
InputStream stream = null;
OutputStream bos = null;
try {
stream = file.getInputStream();
File cFile = new File(stordFilePath);
if (!cFile.isDirectory()) {
boolean _flag = cFile.mkdir();
if (!_flag) {
throw new IOException("Directory creation Failed ");
}
}
bos = new FileOutputStream(stordFilePath + File.separator + newName);
int bytesRead = 0;
byte[] buffer = new byte[BUFF_SIZE];
while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) {
bos.write(buffer, 0, bytesRead);
}
} finally {
EgovResourceCloseHelper.close(bos, stream);
}
}
/**
* 서버의 파일을 다운로드한다.
*
* @param request
* @param response
* @throws Exception
*/
public static void downFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
String downFileName = "";
String orgFileName = "";
if ((String) request.getAttribute("downFile") == null) {
downFileName = "";
} else {
downFileName = (String) request.getAttribute("downFile");
}
if ((String) request.getAttribute("orgFileName") == null) {
orgFileName = "";
} else {
orgFileName = (String) request.getAttribute("orginFile");
}
orgFileName = orgFileName.replaceAll("\r", "").replaceAll("\n", "");
File file = new File(EgovWebUtil.filePathBlackList(downFileName));
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
byte[] buffer = new byte[BUFF_SIZE]; //buffer size 2K.
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition:", "attachment; filename=" + new String(orgFileName.getBytes(), "UTF-8"));
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
BufferedInputStream fin = null;
BufferedOutputStream outs = null;
try {
fin = new BufferedInputStream(new FileInputStream(file));
outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(buffer)) != -1) {
outs.write(buffer, 0, read);
}
} finally {
EgovResourceCloseHelper.close(outs, fin);
}
}
/**
* 첨부로 등록된 파일을 서버에 업로드한다.
*
* @param file
* @return
* @throws Exception
*/
public static HashMap<String, String> uploadFile(MultipartFile file) throws Exception {
HashMap<String, String> map = new HashMap<String, String>();
//Write File 이후 Move File????
String newName = "";
String stordFilePath = EgovProperties.getProperty("Globals.fileStorePath");
String orginFileName = file.getOriginalFilename();
int index = orginFileName.lastIndexOf(".");
//String fileName = orginFileName.substring(0, _index);
String fileExt = orginFileName.substring(index + 1);
long size = file.getSize();
//newName Naming Convention에 의해서 생성
newName = getTimeStamp(); // 2012.11 KISA 보안조치
writeFile(file, newName, stordFilePath);
//storedFilePath는 지정
map.put(Globals.ORIGIN_FILE_NM, orginFileName);
map.put(Globals.UPLOAD_FILE_NM, newName);
map.put(Globals.FILE_EXT, fileExt);
map.put(Globals.FILE_PATH, stordFilePath);
map.put(Globals.FILE_SIZE, String.valueOf(size));
return map;
}
/**
* 파일을 실제 물리적인 경로에 생성한다.
*
* @param file
* @param newName
* @param stordFilePath
* @throws Exception
*/
protected static void writeFile(MultipartFile file, String newName, String stordFilePath) throws Exception {
InputStream stream = null;
OutputStream bos = null;
try {
stream = file.getInputStream();
File cFile = new File(EgovWebUtil.filePathBlackList(stordFilePath));
if (!cFile.isDirectory()){
//2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
if (cFile.mkdirs()){
LOGGER.debug("[file.mkdirs] saveFolder : Creation Success ");
}else{
LOGGER.error("[file.mkdirs] saveFolder : Creation Fail ");
}
}
bos = new FileOutputStream(EgovWebUtil.filePathBlackList(stordFilePath + File.separator + newName));
int bytesRead = 0;
byte[] buffer = new byte[BUFF_SIZE];
while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) {
bos.write(buffer, 0, bytesRead);
}
} finally {
EgovResourceCloseHelper.close(bos, stream);
}
}
/**
* 서버 파일에 대하여 다운로드를 처리한다.
*
* @param response
* @param streFileNm 파일저장 경로가 포함된 형태
* @param orignFileNm
* @throws Exception
*/
public void downFile(HttpServletResponse response, String streFileNm, String orignFileNm) throws Exception {
String downFileName = streFileNm;
String orgFileName = orignFileNm;
File file = new File(downFileName);
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
int fSize = (int) file.length();
if (fSize > 0) {
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(file));
String mimetype = "application/x-msdownload";
//response.setBufferSize(fSize);
response.setContentType(mimetype);
response.setHeader("Content-Disposition:", "attachment; filename=" + orgFileName);
response.setContentLength(fSize);
//response.setHeader("Content-Transfer-Encoding","binary");
//response.setHeader("Pragma","no-cache");
//response.setHeader("Expires","0");
FileCopyUtils.copy(in, response.getOutputStream());
} finally {
EgovResourceCloseHelper.close(in);
}
response.getOutputStream().flush();
response.getOutputStream().close();
}
/*
String uploadPath = propertiesService.getString("fileDir");
File uFile = new File(uploadPath, requestedFile);
int fSize = (int) uFile.length();
if (fSize > 0) {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(uFile));
String mimetype = "text/html";
//response.setBufferSize(fSize);
response.setContentType(mimetype);
response.setHeader("Content-Disposition", "attachment; filename=\"" + requestedFile + "\"");
response.setContentLength(fSize);
FileCopyUtils.copy(in, response.getOutputStream());
in.close();
response.getOutputStream().flush();
response.getOutputStream().close();
} else {
response.setContentType("text/html");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + requestedFile + "</h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
//*/
/*
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition:", "attachment; filename=" + new String(orgFileName.getBytes(),"UTF-8" ));
response.setHeader("Content-Transfer-Encoding","binary");
response.setHeader("Pragma","no-cache");
response.setHeader("Expires","0");
BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1) {
outs.write(b,0,read);
}
log.debug(this.getClass().getName()+" BufferedOutputStream Write Complete!!! ");
outs.close();
fin.close();
//*/
}
/**
* 공통 컴포넌트 utl.fcc 패키지와 Dependency제거를 위해 내부 메서드로 추가 정의함
* 응용어플리케이션에서 고유값을 사용하기 위해 시스템에서17자리의TIMESTAMP값을 구하는 기능
*
* @param
* @return Timestamp
* @see
*/
private static String getTimeStamp() {
String rtnStr = null;
// 문자열로 변환하기 위한 패턴 설정(년도-- :::(자정이후 ))
String pattern = "yyyyMMddhhmmssSSS";
SimpleDateFormat sdfCurrent = new SimpleDateFormat(pattern, Locale.KOREA);
Timestamp ts = new Timestamp(System.currentTimeMillis());
rtnStr = sdfCurrent.format(ts.getTime());
return rtnStr;
}
}

View File

@ -1,223 +0,0 @@
package egovframework.com.cmm.service;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import egovframework.com.cmm.EgovWebUtil;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Class Name : EgovProperties.java
* Description : properties값들을 파일로부터 읽어와 Globals클래스의 정적변수로 로드시켜주는 클래스로
* 문자열 정보 기준으로 사용할 전역변수를 시스템 재시작으로 반영할 있도록 한다.
* Modification Information
*
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2009.01.19 박지욱 최초 생성
* 2011.07.20 서준식 Globals파일의 상대경로를 읽은 메서드 추가
* 2014.10.13 이기하 Globals.properties 값이 null일 경우 오류처리
* 2019.04.26 신용호 RELATIVE_PATH_PREFIX Path 적용 방식 개선
* @author 공통 서비스 개발팀 박지욱
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class EgovProperties {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovProperties.class);
//파일구분자
final static String FILE_SEPARATOR = System.getProperty("file.separator");
//프로퍼티 파일의 물리적 위치
//public static final String GLOBALS_PROPERTIES_FILE = System.getProperty("user.home") + FILE_SEPARATOR + "egovProps" +FILE_SEPARATOR + "globals.properties";
public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getResource("").getPath().substring(0, EgovProperties.class.getResource("").getPath().lastIndexOf("com"));
//public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath().substring(0,EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath().indexOf("WEB-INF/classes/")+"WEB-INF/classes/".length())+"egovframework/";
public static final String GLOBALS_PROPERTIES_FILE = RELATIVE_PATH_PREFIX + "egovProps" + FILE_SEPARATOR + "globals.properties";
/**
* 인자로 주어진 문자열을 Key값으로 하는 상대경로 프로퍼티 값을 절대경로로 반환한다(Globals.java 전용)
* @param keyName String
* @return String
*/
public static String getPathProperty(String keyName) {
String value = "";
LOGGER.debug("getPathProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName);
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE));
props.load(new BufferedInputStream(fis));
value = props.getProperty(keyName);
value = (value == null) ? "" : value.trim();//KISA 보안약점 조치 (2018-10-29, 윤창원)
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
return value;
}
/**
* 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다(Globals.java 전용)
* @param keyName String
* @return String
*/
public static String getProperty(String keyName) {
String value = "";
LOGGER.debug("===>>> getProperty"+EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath());
LOGGER.debug("getProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName);
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE));
props.load(new BufferedInputStream(fis));
if (props.getProperty(keyName) == null) {
return "";
}
value = props.getProperty(keyName).trim();
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
return value;
}
/**
* 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 상대 경로값을 절대 경로값으로 반환한다
* @param fileName String
* @param key String
* @return String
*/
public static String getPathProperty(String fileName, String key) {
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(fileName));
props.load(new BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
return value;
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
}
/**
* 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다
* @param fileName String
* @param key String
* @return String
*/
public static String getProperty(String fileName, String key) {
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(fileName));
props.load(new BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
return value;
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
}
/**
* 주어진 프로파일의 내용을 파싱하여 (key-value) 형태의 구조체 배열을 반환한다.
* @param property String
* @return ArrayList
*/
public static ArrayList<Map<String, String>> loadPropertyFile(String property) {
// key - value 형태로 배열 결과
ArrayList<Map<String, String>> keyList = new ArrayList<Map<String, String>>();
String src = property.replace('\\', File.separatorChar).replace('/', File.separatorChar);
FileInputStream fis = null;
try {
File srcFile = new File(EgovWebUtil.filePathBlackList(src));
if (srcFile.exists()) {
Properties props = new Properties();
fis = new FileInputStream(src);
props.load(new BufferedInputStream(fis));
fis.close();
Enumeration<?> plist = props.propertyNames();
if (plist != null) {
while (plist.hasMoreElements()) {
Map<String, String> map = new HashMap<String, String>();
String key = (String) plist.nextElement();
map.put(key, props.getProperty(key));
keyList.add(map);
}
}
}
} catch (IOException ex) {
LOGGER.debug("IO Exception", ex);
throw new RuntimeException(ex);
} finally {
EgovResourceCloseHelper.close(fis);
}
return keyList;
}
}

View File

@ -1,26 +0,0 @@
package egovframework.com.cmm.service;
import java.util.List;
public interface EgovUserDetailsService {
/**
* 인증된 사용자객체를 VO형식으로 가져온다.
* @return Object - 사용자 ValueObject
*/
public Object getAuthenticatedUser();
/**
* 인증된 사용자의 권한 정보를 가져온다.
* ) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
* @return List - 사용자 권한정보 목록
*/
public List<String> getAuthorities();
/**
* 인증된 사용자 여부를 체크한다.
* @return Boolean - 인증된 사용자 여부(TRUE / FALSE)
*/
public Boolean isAuthenticated();
}

View File

@ -1,240 +0,0 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @Class Name : FileVO.java
* @Description : 파일정보 처리를 위한 VO 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 25. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 25.
* @version
* @see
*
*/
@SuppressWarnings("serial")
public class FileVO implements Serializable {
/**
* 첨부파일 아이디
*/
public String atchFileId = "";
/**
* 생성일자
*/
public String creatDt = "";
/**
* 파일내용
*/
public String fileCn = "";
/**
* 파일확장자
*/
public String fileExtsn = "";
/**
* 파일크기
*/
public String fileMg = "";
/**
* 파일연번
*/
public String fileSn = "";
/**
* 파일저장경로
*/
public String fileStreCours = "";
/**
* 원파일명
*/
public String orignlFileNm = "";
/**
* 저장파일명
*/
public String streFileNm = "";
/**
* atchFileId attribute를 리턴한다.
*
* @return the atchFileId
*/
public String getAtchFileId() {
return atchFileId;
}
/**
* atchFileId attribute 값을 설정한다.
*
* @param atchFileId
* the atchFileId to set
*/
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
/**
* creatDt attribute를 리턴한다.
*
* @return the creatDt
*/
public String getCreatDt() {
return creatDt;
}
/**
* creatDt attribute 값을 설정한다.
*
* @param creatDt
* the creatDt to set
*/
public void setCreatDt(String creatDt) {
this.creatDt = creatDt;
}
/**
* fileCn attribute를 리턴한다.
*
* @return the fileCn
*/
public String getFileCn() {
return fileCn;
}
/**
* fileCn attribute 값을 설정한다.
*
* @param fileCn
* the fileCn to set
*/
public void setFileCn(String fileCn) {
this.fileCn = fileCn;
}
/**
* fileExtsn attribute를 리턴한다.
*
* @return the fileExtsn
*/
public String getFileExtsn() {
return fileExtsn;
}
/**
* fileExtsn attribute 값을 설정한다.
*
* @param fileExtsn
* the fileExtsn to set
*/
public void setFileExtsn(String fileExtsn) {
this.fileExtsn = fileExtsn;
}
/**
* fileMg attribute를 리턴한다.
*
* @return the fileMg
*/
public String getFileMg() {
return fileMg;
}
/**
* fileMg attribute 값을 설정한다.
*
* @param fileMg
* the fileMg to set
*/
public void setFileMg(String fileMg) {
this.fileMg = fileMg;
}
/**
* fileSn attribute를 리턴한다.
*
* @return the fileSn
*/
public String getFileSn() {
return fileSn;
}
/**
* fileSn attribute 값을 설정한다.
*
* @param fileSn
* the fileSn to set
*/
public void setFileSn(String fileSn) {
this.fileSn = fileSn;
}
/**
* fileStreCours attribute를 리턴한다.
*
* @return the fileStreCours
*/
public String getFileStreCours() {
return fileStreCours;
}
/**
* fileStreCours attribute 값을 설정한다.
*
* @param fileStreCours
* the fileStreCours to set
*/
public void setFileStreCours(String fileStreCours) {
this.fileStreCours = fileStreCours;
}
/**
* orignlFileNm attribute를 리턴한다.
*
* @return the orignlFileNm
*/
public String getOrignlFileNm() {
return orignlFileNm;
}
/**
* orignlFileNm attribute 값을 설정한다.
*
* @param orignlFileNm
* the orignlFileNm to set
*/
public void setOrignlFileNm(String orignlFileNm) {
this.orignlFileNm = orignlFileNm;
}
/**
* streFileNm attribute를 리턴한다.
*
* @return the streFileNm
*/
public String getStreFileNm() {
return streFileNm;
}
/**
* streFileNm attribute 값을 설정한다.
*
* @param streFileNm
* the streFileNm to set
*/
public void setStreFileNm(String streFileNm) {
this.streFileNm = streFileNm;
}
/**
* toString 메소드를 대치한다.
*/
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}

View File

@ -1,58 +0,0 @@
package egovframework.com.cmm.service;
/**
* Class Name : Globals.java
* Description : 시스템 구동 프로퍼티를 통해 사용될 전역변수를 정의한다.
* Modification Information
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.01.19 박지욱 최초 생성
*
* @author 공통 서비스 개발팀 박지욱
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class Globals {
//OS 유형
public static final String OS_TYPE = EgovProperties.getProperty("Globals.OsType");
//DB 유형
public static final String DB_TYPE = EgovProperties.getProperty("Globals.DbType");
//메인 페이지
public static final String MAIN_PAGE = EgovProperties.getProperty("Globals.MainPage");
//ShellFile 경로
public static final String SHELL_FILE_PATH = EgovProperties.getPathProperty("Globals.ShellFilePath");
//퍼로퍼티 파일 위치
public static final String CONF_PATH = EgovProperties.getPathProperty("Globals.ConfPath");
//Server정보 프로퍼티 위치
public static final String SERVER_CONF_PATH = EgovProperties.getPathProperty("Globals.ServerConfPath");
//Client정보 프로퍼티 위치
public static final String CLIENT_CONF_PATH = EgovProperties.getPathProperty("Globals.ClientConfPath");
//파일포맷 정보 프로퍼티 위치
public static final String FILE_FORMAT_PATH = EgovProperties.getPathProperty("Globals.FileFormatPath");
//파일 업로드 파일명
public static final String ORIGIN_FILE_NM = "originalFileName";
//파일 확장자
public static final String FILE_EXT = "fileExtension";
//파일크기
public static final String FILE_SIZE = "fileSize";
//업로드된 파일명
public static final String UPLOAD_FILE_NM = "uploadFileName";
//파일경로
public static final String FILE_PATH = "filePath";
//메일발송요청 XML파일경로
public static final String MAIL_REQUEST_PATH = EgovProperties.getPathProperty("Globals.MailRequestPath");
//메일발송응답 XML파일경로
public static final String MAIL_RESPONSE_PATH = EgovProperties.getPathProperty("Globals.MailRResponsePath");
// G4C 연결용 IP (localhost)
public static final String LOCAL_IP = EgovProperties.getProperty("Globals.LocalIp");
}

View File

@ -1,62 +0,0 @@
package egovframework.com.cmm.service.impl;
import java.util.List;
import egovframework.com.cmm.ComDefaultCodeVO;
import egovframework.com.cmm.service.CmmnDetailCode;
import org.springframework.stereotype.Repository;
/**
* @Class Name : CmmUseDAO.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Repository("cmmUseDAO")
public class CmmUseDAO extends EgovComAbstractDAO {
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo);
}
/**
* 공통코드로 사용할 조직정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo);
}
/**
* 공통코드로 사용할그룹정보를 불러온다.
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo);
}
}

View File

@ -1,70 +0,0 @@
package egovframework.com.cmm.service.impl;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.service.EgovUserDetailsService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
/**
*
* @author 공통서비스 개발팀 서준식
* @since 2011. 8. 12.
* @version 1.0
* @see
*
* <pre>
* 개정이력(Modification Information)
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011. 8. 12. 서준식 최초생성
* 2017. 9. 04. 장동한 클래스 이름 변경(EgovTestUserDetailsServiceImpl > EgovUserDetailsService)
*
*
* </pre>
*/
public class EgoDummyUserDetailsServiceImpl extends EgovAbstractServiceImpl implements
EgovUserDetailsService {
//로그인 객체
LoginVO loginVO = new LoginVO();
//권한목록 객체
List<String> listAuth = new ArrayList<String>();
@Override
public Object getAuthenticatedUser() {
loginVO.setId("TEST1");
loginVO.setPassword("raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=");
loginVO.setUserSe("USR");
loginVO.setEmail("egovframe@nia.or.kr");
loginVO.setIhidNum("");
loginVO.setName("더미사용자");
loginVO.setOrgnztId("ORGNZT_0000000000000");
loginVO.setUniqId("USRCNFRM_00000000000");
return loginVO;
}
@Override
public List<String> getAuthorities() {
// 권한 설정을 리턴한다.
listAuth.add("IS_AUTHENTICATED_ANONYMOUSLY");
listAuth.add("IS_AUTHENTICATED_FULLY");
listAuth.add("IS_AUTHENTICATED_REMEMBERED");
listAuth.add("ROLE_ADMIN");
listAuth.add("ROLE_ANONYMOUS");
listAuth.add("ROLE_RESTRICTED");
listAuth.add("ROLE_USER");
return listAuth;
}
@Override
public Boolean isAuthenticated() {
// 인증된 유저인지 확인한다.
return true;
}
}

View File

@ -1,91 +0,0 @@
package egovframework.com.cmm.service.impl;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.ComDefaultCodeVO;
import egovframework.com.cmm.service.CmmnDetailCode;
import egovframework.com.cmm.service.EgovCmmUseService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* @Class Name : EgovCmmUseServiceImpl.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Service("EgovCmmUseService")
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
@Resource(name = "cmmUseDAO")
private CmmUseDAO cmmUseDAO;
/**
* 공통코드를 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectCmmCodeDetail(vo);
}
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return
* @throws Exception
*/
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception {
ComDefaultCodeVO vo;
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
Iterator<?> iter = voList.iterator();
while (iter.hasNext()) {
vo = (ComDefaultCodeVO)iter.next();
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
}
return map;
}
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectOgrnztIdDetail(vo);
}
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectGroupIdDetail(vo);
}
}

View File

@ -1,306 +0,0 @@
/**
*
*/
package egovframework.com.cmm.service.impl;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import egovframework.rte.psl.dataaccess.EgovAbstractMapper;
/**
* EgovComAbstractDAO.java 클래스
*
* @author 서준식
* @since 2011. 9. 23.
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2011. 9. 23. 서준식 최초 생성
* 2016. 5. 11. 장동한 myBatis 방식 적용
* </pre>
*/
public abstract class EgovComAbstractDAO extends EgovAbstractMapper{
private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
@Resource(name="egov.sqlSession")
public void setSqlSessionFactory(SqlSessionFactory sqlSession) {
super.setSqlSessionFactory(sqlSession);
}
/**
* 입력 처리 SQL mapping 실행한다.
*
* @param queryId - 입력 처리 SQL mapping 쿼리 ID
*
* @return DBMS가 지원하는 경우 insert 적용 결과 count
*/
@Override
public int insert(String queryId) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().insert(queryId);
}
/**
* 입력 처리 SQL mapping 실행한다.
*
* @param queryId - 입력 처리 SQL mapping 쿼리 ID
* @param parameterObject - 입력 처리 SQL mapping 입력 데이터를 세팅한 파라메터 객체(보통 VO 또는 Map)
*
* @return DBMS가 지원하는 경우 insert 적용 결과 count
*/
@Override
public int insert(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().insert(queryId, parameterObject);
}
/**
* 수정 처리 SQL mapping 실행한다.
*
* @param queryId - 수정 처리 SQL mapping 쿼리 ID
*
* @return DBMS가 지원하는 경우 update 적용 결과 count
*/
@Override
public int update(String queryId) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().update(queryId);
}
/**
* 수정 처리 SQL mapping 실행한다.
*
* @param queryId - 수정 처리 SQL mapping 쿼리 ID
* @param parameterObject - 수정 처리 SQL mapping 입력 데이터(key 조건 변경 데이터) 세팅한 파라메터 객체(보통 VO 또는 Map)
*
* @return DBMS가 지원하는 경우 update 적용 결과 count
*/
@Override
public int update(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().update(queryId, parameterObject);
}
/**
* 삭제 처리 SQL mapping 실행한다.
*
* @param queryId - 삭제 처리 SQL mapping 쿼리 ID
*
* @return DBMS가 지원하는 경우 delete 적용 결과 count
*/
@Override
public int delete(String queryId) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().delete(queryId);
}
/**
* 삭제 처리 SQL mapping 실행한다.
*
* @param queryId - 삭제 처리 SQL mapping 쿼리 ID
* @param parameterObject - 삭제 처리 SQL mapping 입력 데이터(일반적으로 key 조건) 세팅한 파라메터 객체(보통 VO 또는 Map)
*
* @return DBMS가 지원하는 경우 delete 적용 결과 count
*/
@Override
public int delete(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().delete(queryId, parameterObject);
}
//CHECKSTYLE:OFF
/**
* 명명규칙에 맞춰 selectOne() 변경한다.
* @deprecated select() 메소드로 대체
*
* @see EgovAbstractMapper.selectOne()
*/
//CHECKSTYLE:ON
@Deprecated
public Object selectByPk(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectOne(queryId, parameterObject);
}
/**
* 단건조회 처리 SQL mapping 실행한다.
*
* @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID
*
* @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 단일 결과 객체(보통 VO 또는 Map)
*/
@Override
public <T> T selectOne(String queryId) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectOne(queryId);
}
/**
* 단건조회 처리 SQL mapping 실행한다.
*
* @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID
* @param parameterObject - 단건 조회 처리 SQL mapping 입력 데이터(key) 세팅한 파라메터 객체(보통 VO 또는 Map)
*
* @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 단일 결과 객체(보통 VO 또는 Map)
*/
@Override
public <T> T selectOne(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectOne(queryId, parameterObject);
}
/**
* 결과 목록을 Map 변환한다.
* 모든 구문이 파라미터를 필요로 하지는 않기 때문에, 파라미터 객체를 요구하지 않는 형태로 오버로드되었다.
*
* @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID
* @param mapKey - 결과 객체의 프로퍼티 하나를 키로 사용
*
* @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 단일 결과 객체(보통 VO 또는 Map) Map
*/
@Override
public <K, V> Map<K, V> selectMap(String queryId, String mapKey) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectMap(queryId, mapKey);
}
/**
* 결과 목록을 Map 변환한다.
* 모든 구문이 파라미터를 필요로 하지는 않기 때문에, 파라미터 객체를 요구하지 않는 형태로 오버로드되었다.
*
* @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID
* @param parameterObject - 조회 처리 SQL mapping 입력 데이터(조회 조건) 세팅한 파라메터 객체(보통 VO 또는 Map)
* @param mapKey - 결과 객체의 프로퍼티 하나를 키로 사용
*
* @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 단일 결과 객체(보통 VO 또는 Map) Map
*/
@Override
public <K, V> Map<K, V> selectMap(String queryId, Object parameterObject, String mapKey) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectMap(queryId, parameterObject, mapKey);
}
/**
* 결과 목록을 Map 변환한다.
* 모든 구문이 파라미터를 필요로 하지는 않기 때문에, 파라미터 객체를 요구하지 않는 형태로 오버로드되었다.
*
* @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID
* @param parameterObject - 조회 처리 SQL mapping 입력 데이터(조회 조건) 세팅한 파라메터 객체(보통 VO 또는 Map)
* @param mapKey - 결과 객체의 프로퍼티 하나를 키로 사용
* @param rowBounds - 특정 개수 만큼의 레코드를 건너띄게
*
* @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 단일 결과 객체(보통 VO 또는 Map) Map
*/
@Override
public <K, V> Map<K, V> selectMap(String queryId, Object parameterObject, String mapKey, RowBounds rowBounds) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectMap(queryId, parameterObject, mapKey, rowBounds);
}
//CHECKSTYLE:OFF
/**
* 명명규칙에 맞춰 selectList() 변경한다.
*
* @see EgovAbstractMapper.selectList()
* @deprecated List<?> 메소드로 대체
*/
//CHECKSTYLE:ON
@Deprecated
public List<?> list(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectList(queryId, parameterObject);
}
/**
* 리스트 조회 처리 SQL mapping 실행한다.
*
* @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID
*
* @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 결과 객체(보통 VO 또는 Map) List
*/
@Override
public <E> List<E> selectList(String queryId) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectList(queryId);
}
/**
* 리스트 조회 처리 SQL mapping 실행한다.
*
* @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID
* @param parameterObject - 리스트 조회 처리 SQL mapping 입력 데이터(조회 조건) 세팅한 파라메터 객체(보통 VO 또는 Map)
*
* @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 결과 객체(보통 VO 또는 Map) List
*/
@Override
public <E> List<E> selectList(String queryId, Object parameterObject) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectList(queryId, parameterObject);
}
/**
* 리스트 조회 처리 SQL mapping 실행한다.
*
* @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID
* @param parameterObject - 리스트 조회 처리 SQL mapping 입력 데이터(조회 조건) 세팅한 파라메터 객체(보통 VO 또는 Map)
* @param rowBounds - 특정 개수 만큼의 레코드를 건너띄게
*
* @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 결과 객체(보통 VO 또는 Map) List
*/
@Override
public <E> List<E> selectList(String queryId, Object parameterObject, RowBounds rowBounds) {
LOGGER.debug("queryId = "+queryId);
return getSqlSession().selectList(queryId, parameterObject, rowBounds);
}
/**
* 부분 범위 리스트 조회 처리 SQL mapping 실행한다.
* (부분 범위 - pageIndex pageSize 기반으로 현재 부분 범위 조회를 위한 skipResults, maxResults 계산하여 ibatis 호출)
*
* @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID
* @param parameterObject - 리스트 조회 처리 SQL mapping 입력 데이터(조회 조건) 세팅한 파라메터 객체(보통 VO 또는 Map)
* @param pageIndex - 현재 페이지 번호
* @param pageSize - 페이지 조회 (pageSize)
*
* @return 부분 범위 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 부분 범위 결과 객체(보통 VO 또는 Map) List
*/
@Override
public List<?> listWithPaging(String queryId, Object parameterObject, int pageIndex, int pageSize) {
LOGGER.debug("queryId = "+queryId);
int skipResults = pageIndex * pageSize;
//int maxResults = (pageIndex * pageSize) + pageSize;
RowBounds rowBounds = new RowBounds(skipResults, pageSize);
return getSqlSession().selectList(queryId, parameterObject, rowBounds);
}
/**
* SQL 조회 결과를 ResultHandler를 이용해서 출력한다.
* ResultHandler를 상속해 구현한 커스텀 핸들러의 handleResult() 메서드에 따라 실행된다.
*
* @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID
* @param handler - 조회 결과를 제어하기 위해 구현한 ResultHandler
* @return
*
* @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 의한 결과 객체(보통 VO 또는 Map) List
*/
@Override
public void listToOutUsingResultHandler(String queryId, ResultHandler handler) {
LOGGER.debug("queryId = "+queryId);
getSqlSession().select(queryId, handler);
}
}

View File

@ -1,156 +0,0 @@
package egovframework.com.cmm.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* @Class Name : EgovFileMngServiceImpl.java
* @Description : 파일정보의 관리를 위한 구현 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 25. 이삼섭 최초생성
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 25.
* @version
* @see
*
*/
@Service("EgovFileMngService")
public class EgovFileMngServiceImpl extends EgovAbstractServiceImpl implements EgovFileMngService {
@Resource(name = "FileManageDAO")
private FileManageDAO fileMngDAO;
/**
* 여러 개의 파일을 삭제한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInfs(java.util.List)
*/
public void deleteFileInfs(List<?> fvoList) throws Exception {
fileMngDAO.deleteFileInfs(fvoList);
}
/**
* 하나의 파일에 대한 정보(속성 상세) 등록한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#insertFileInf(egovframework.com.cmm.service.FileVO)
*/
public String insertFileInf(FileVO fvo) throws Exception {
String atchFileId = fvo.getAtchFileId();
fileMngDAO.insertFileInf(fvo);
return atchFileId;
}
/**
* 여러 개의 파일에 대한 정보(속성 상세) 등록한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#insertFileInfs(java.util.List)
*/
public String insertFileInfs(List<?> fvoList) throws Exception {
String atchFileId = "";
if (fvoList.size() != 0) {
atchFileId = fileMngDAO.insertFileInfs(fvoList);
}
if (atchFileId == "") {
atchFileId = null;
}
return atchFileId;
}
/**
* 파일에 대한 목록을 조회한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectFileInfs(egovframework.com.cmm.service.FileVO)
*/
public List<FileVO> selectFileInfs(FileVO fvo) throws Exception {
return fileMngDAO.selectFileInfs(fvo);
}
/**
* 여러 개의 파일에 대한 정보(속성 상세) 수정한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#updateFileInfs(java.util.List)
*/
public void updateFileInfs(List<?> fvoList) throws Exception {
//Delete & Insert
fileMngDAO.updateFileInfs(fvoList);
}
/**
* 하나의 파일을 삭제한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInf(egovframework.com.cmm.service.FileVO)
*/
public void deleteFileInf(FileVO fvo) throws Exception {
fileMngDAO.deleteFileInf(fvo);
}
/**
* 파일에 대한 상세정보를 조회한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectFileInf(egovframework.com.cmm.service.FileVO)
*/
public FileVO selectFileInf(FileVO fvo) throws Exception {
return fileMngDAO.selectFileInf(fvo);
}
/**
* 파일 구분자에 대한 최대값을 구한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#getMaxFileSN(egovframework.com.cmm.service.FileVO)
*/
public int getMaxFileSN(FileVO fvo) throws Exception {
return fileMngDAO.getMaxFileSN(fvo);
}
/**
* 전체 파일을 삭제한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#deleteAllFileInf(egovframework.com.cmm.service.FileVO)
*/
public void deleteAllFileInf(FileVO fvo) throws Exception {
fileMngDAO.deleteAllFileInf(fvo);
}
/**
* 파일명 검색에 대한 목록을 조회한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectFileListByFileNm(egovframework.com.cmm.service.FileVO)
*/
public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception {
List<FileVO> result = fileMngDAO.selectFileListByFileNm(fvo);
int cnt = fileMngDAO.selectFileListCntByFileNm(fvo);
Map<String, Object> map = new HashMap<String, Object>();
map.put("resultList", result);
map.put("resultCnt", Integer.toString(cnt));
return map;
}
/**
* 이미지 파일에 대한 목록을 조회한다.
*
* @see egovframework.com.cmm.service.EgovFileMngService#selectImageFileList(egovframework.com.cmm.service.FileVO)
*/
public List<FileVO> selectImageFileList(FileVO vo) throws Exception {
return fileMngDAO.selectImageFileList(vo);
}
}

View File

@ -1,65 +0,0 @@
package egovframework.com.cmm.service.impl;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.service.EgovUserDetailsService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
/**
*
* @author 공통서비스 개발팀 서준식
* @since 2011. 6. 25.
* @version 1.0
* @see
*
* <pre>
* 개정이력(Modification Information)
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011. 8. 12. 서준식 최초생성
*
* </pre>
*/
public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService {
public Object getAuthenticatedUser() {
if (RequestContextHolder.getRequestAttributes() == null) {
return null;
}
return RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION);
}
public List<String> getAuthorities() {
// 권한 설정을 리턴한다.
List<String> listAuth = new ArrayList<String>();
return listAuth;
}
public Boolean isAuthenticated() {
// 인증된 유저인지 확인한다.
if (RequestContextHolder.getRequestAttributes() == null) {
return false;
} else {
if (RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION) == null) {
return false;
} else {
return true;
}
}
}
}

View File

@ -1,181 +0,0 @@
package egovframework.com.cmm.service.impl;
import java.util.Iterator;
import java.util.List;
import egovframework.com.cmm.service.FileVO;
import org.springframework.stereotype.Repository;
/**
* @Class Name : EgovFileMngDAO.java
* @Description : 파일정보 관리를 위한 데이터 처리 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 25. 이삼섭 최초생성
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 25.
* @version
* @see
*
*/
@Repository("FileManageDAO")
public class FileManageDAO extends EgovComAbstractDAO {
/**
* 여러 개의 파일에 대한 정보(속성 상세) 등록한다.
*
* @param fileList
* @return
* @throws Exception
*/
public String insertFileInfs(List<?> fileList) throws Exception {
FileVO vo = (FileVO) fileList.get(0);
String atchFileId = vo.getAtchFileId();
insert("FileManageDAO.insertFileMaster", vo);
Iterator<?> iter = fileList.iterator();
while (iter.hasNext()) {
vo = (FileVO) iter.next();
insert("FileManageDAO.insertFileDetail", vo);
}
return atchFileId;
}
/**
* 하나의 파일에 대한 정보(속성 상세) 등록한다.
*
* @param vo
* @throws Exception
*/
public void insertFileInf(FileVO vo) throws Exception {
insert("FileManageDAO.insertFileMaster", vo);
insert("FileManageDAO.insertFileDetail", vo);
}
/**
* 여러 개의 파일에 대한 정보(속성 상세) 수정한다.
*
* @param fileList
* @throws Exception
*/
public void updateFileInfs(List<?> fileList) throws Exception {
FileVO vo;
Iterator<?> iter = fileList.iterator();
while (iter.hasNext()) {
vo = (FileVO) iter.next();
insert("FileManageDAO.insertFileDetail", vo);
}
}
/**
* 여러 개의 파일을 삭제한다.
*
* @param fileList
* @throws Exception
*/
public void deleteFileInfs(List<?> fileList) throws Exception {
Iterator<?> iter = fileList.iterator();
FileVO vo;
while (iter.hasNext()) {
vo = (FileVO) iter.next();
delete("FileManageDAO.deleteFileDetail", vo);
}
}
/**
* 하나의 파일을 삭제한다.
*
* @param fvo
* @throws Exception
*/
public void deleteFileInf(FileVO fvo) throws Exception {
delete("FileManageDAO.deleteFileDetail", fvo);
}
/**
* 파일에 대한 목록을 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<FileVO> selectFileInfs(FileVO vo) throws Exception {
return (List<FileVO>) list("FileManageDAO.selectFileList", vo);
}
/**
* 파일 구분자에 대한 최대값을 구한다.
*
* @param fvo
* @return
* @throws Exception
*/
public int getMaxFileSN(FileVO fvo) throws Exception {
return (Integer) selectOne("FileManageDAO.getMaxFileSN", fvo);
}
/**
* 파일에 대한 상세정보를 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public FileVO selectFileInf(FileVO fvo) throws Exception {
return (FileVO) selectOne("FileManageDAO.selectFileInf", fvo);
}
/**
* 전체 파일을 삭제한다.
*
* @param fvo
* @throws Exception
*/
public void deleteAllFileInf(FileVO fvo) throws Exception {
update("FileManageDAO.deleteCOMTNFILE", fvo);
}
/**
* 파일명 검색에 대한 목록을 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<FileVO> selectFileListByFileNm(FileVO fvo) throws Exception {
return (List<FileVO>) list("FileManageDAO.selectFileListByFileNm", fvo);
}
/**
* 파일명 검색에 대한 목록 전체 건수를 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public int selectFileListCntByFileNm(FileVO fvo) throws Exception {
return (Integer) selectOne("FileManageDAO.selectFileListCntByFileNm", fvo);
}
/**
* 이미지 파일에 대한 목록을 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<FileVO> selectImageFileList(FileVO vo) throws Exception {
return (List<FileVO>) list("FileManageDAO.selectImageFileList", vo);
}
}

View File

@ -1,88 +0,0 @@
package egovframework.com.cmm.taglibs;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import egovframework.com.cmm.util.EgovDoubleSubmitHelper;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* TagSupport to support to double submit preventer
* @author Vincent Han
* @since 2014.08.07
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2014.08.07 표준프레임워크센터 최초 생성
*
* </pre>
*/
public class DoubleSubmitTag extends TagSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(DoubleSubmitTag.class);
/**
* Generated Serial Version UID
*/
private static final long serialVersionUID = 5242217605452312594L;
private String tokenKey = EgovDoubleSubmitHelper.DEFAULT_TOKEN_KEY;
public String getTokenKey() {
return tokenKey;
}
public void setTokenKey(String tokenKey) {
this.tokenKey = tokenKey;
}
@SuppressWarnings("unchecked")
public int doStartTag() throws JspException {
StringBuilder buffer = new StringBuilder();
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
HttpSession session = request.getSession();
Map<String, String> map = null;
if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
map = new HashMap<String, String>();
session.setAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY, map);
} else {
map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
}
// First call (check session)
if (map.get(tokenKey) == null) {
map.put(tokenKey, EgovDoubleSubmitHelper.getNewUUID());
LOGGER.debug("[Double Submit] session token created({}) : {}", tokenKey, map.get(tokenKey));
}
buffer.append("<input type='hidden' name='").append(EgovDoubleSubmitHelper.PARAMETER_NAME).append("' value='").append(map.get(tokenKey)).append("'/>");
try {
pageContext.getOut().print(buffer.toString());
} catch (IOException e) {
throw new JspTagException("Error: IOException while writing to the user");
}
return SKIP_BODY;
}
}

View File

@ -1,80 +0,0 @@
package egovframework.com.cmm.util;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* Utility class to support to double submit preventer
* @author Vincent Han
* @since 2014.08.07
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2014.08.07 표준프레임워크센터 최초 생성
*
* </pre>
*/
public class EgovDoubleSubmitHelper {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovDoubleSubmitHelper.class);
public final static String SESSION_TOKEN_KEY = "egovframework.double.submit.preventer.session.key";
public final static String PARAMETER_NAME = "egovframework.double.submit.preventer.parameter.name";
public final static String DEFAULT_TOKEN_KEY = "DEFAULT";
public static String getNewUUID() {
return UUID.randomUUID().toString().toUpperCase();
}
public static boolean checkAndSaveToken() {
return checkAndSaveToken(DEFAULT_TOKEN_KEY);
}
public static boolean checkAndSaveToken(String tokenKey) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpSession session = request.getSession();
// check session...
if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP.");
}
String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME);
// check parameter
if (parameter == null) {
throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP.");
}
@SuppressWarnings("unchecked")
Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
if (parameter.equals(map.get(tokenKey))) {
LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey);
map.put(tokenKey, getNewUUID());
return true;
}
LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey);
return false;
}
}

View File

@ -1,56 +0,0 @@
package egovframework.com.cmm.util;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* @Class Name : EgovHttpRequestHelper.java
* @Description : HTTP Request 정보 취득 Helper 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2014.09.11 표준프레임워크 최초생성
* @author Vincent Han
* @since 2014.09.11
* @version 3.5
* @see <pre>
* web.xml 상에 다음과 같은 Listener 등록 필요
* &lt;listener&gt;
* &lt;listener-class&gt;org.springframework.web.context.request.RequestContextListener&lt;/listener-class&gt;
* &lt;/listener&gt;
* </pre>
*/
public class EgovHttpRequestHelper {
public static boolean isInHttpRequest() {
try {
getCurrentRequest();
} catch (IllegalStateException ise) {
return false;
}
return true;
}
public static HttpServletRequest getCurrentRequest() {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return sra.getRequest();
}
public static String getRequestIp() {
return getCurrentRequest().getRemoteAddr();
}
public static String getRequestURI() {
return getCurrentRequest().getRequestURI();
}
public static HttpSession getCurrentSession() {
return getCurrentRequest().getSession();
}
}

View File

@ -1,135 +0,0 @@
package egovframework.com.cmm.util;
import java.lang.reflect.Array;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* EgovMybaitsUtil 클래스
*
* @author 장동한
* @since 2016.06.07
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2016.06.07 장동한 최초 생성
* 2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
* 2017.07.21 장동한 isEquals에서 String Character 비교 가능하도록
*
* </pre>
*/
public class EgovMybaitsUtil {
private static final Logger logger = LoggerFactory.getLogger(EgovMybaitsUtil.class);
/**
* Empty 여부를 확인한다.
* @param o Object
* @return boolean
* @exception IllegalArgumentException
*/
public static boolean isEmpty(Object o) throws IllegalArgumentException {
try {
if(o == null) return true;
if(o instanceof String) {
if(((String)o).length() == 0){
return true;
}
} else if(o instanceof Collection) {
if(((Collection)o).isEmpty()){
return true;
}
} else if(o.getClass().isArray()) {
if(Array.getLength(o) == 0){
return true;
}
} else if(o instanceof Map) {
if(((Map)o).isEmpty()){
return true;
}
}else {
return false;
}
return false;
//2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
} catch(IllegalArgumentException e) {
logger.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch(Exception e) {
logger.error("["+e.getClass()+"] Try/Catch...Exception : " + e.getMessage());
}
return false;
}
/**
* Not Empty 여부를 확인한다.
* @param o Object
* @return boolean
* @exception IllegalArgumentException
*/
public static boolean isNotEmpty(Object o) {
return !isEmpty(o);
}
/**
* Equal 여부를 확인한다.
* @param obj Object, obj Object
* @return boolean
*/
public static boolean isEquals(Object obj, Object obj2){
if(isEmpty(obj)) return false;
if(obj instanceof String && obj2 instanceof String) {
if( (String.valueOf(obj)).equals( String.valueOf(obj2) )){
return true;
}
}else if(obj instanceof String && obj2 instanceof Character) {
if( (String.valueOf(obj) ).equals( String.valueOf(obj2) )){
return true;
}
}else if(obj instanceof String && obj2 instanceof Integer) {
if( (String.valueOf(obj)).equals( String.valueOf((Integer)obj2) )){
return true;
}
}else if(obj instanceof Integer && obj2 instanceof String) {
if( (String.valueOf(obj2)).equals( String.valueOf((Integer)obj) )){
return true;
}
} else if(obj instanceof Integer && obj instanceof Integer) {
if((Integer)obj == (Integer)obj2){
return true;
}
}
return false;
}
/**
* String의 Equal 여부를 확인한다.
* @param obj Object, obj Object
* @return boolean
*/
public static boolean isEqualsStr(Object obj, String s){
if(isEmpty(obj)) return false;
if(s.equals(String.valueOf(obj))){
return true;
}
return false;
}
}

View File

@ -1,109 +0,0 @@
package egovframework.com.cmm.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.util.AntPathMatcher;
/**
* @Class Name : UrlRewriteFilter.java
* @Description : UrlRewriteFilter Class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ --------- --------- -------------------------------
* @ 2014.09.30 최초생성
*
* @author 전자정부 표준프레임워크 유지보수
* @since 2014. 09.30
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class EgovUrlRewriteFilter implements Filter {
@SuppressWarnings("unused")
private FilterConfig config;
private String targetURI;
private String httpsPort;
private String httpPort;
private String[] uriPatterns;
@Override
public void init(FilterConfig config) throws ServletException {
String delimiter = ",";
this.config = config;
this.targetURI = config.getInitParameter("targetURI");
this.httpsPort = config.getInitParameter("httpsPort");
this.httpPort = config.getInitParameter("httpPort");
this.uriPatterns = targetURI.split(delimiter);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String uri = req.getRequestURI();
String getProtocol = req.getScheme();
String getDomain = req.getServerName();
AntPathMatcher pm = new AntPathMatcher();
for (String uriPattern : uriPatterns) {
if (pm.match(uriPattern.trim(), uri)) {
if (getProtocol.toLowerCase().equals("http")) {
response.setContentType("text/html");
String httpsPath = "https" + "://" + getDomain + ":" + httpsPort + uri;
String site = new String(httpsPath);
res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
res.setHeader("Location", site);
}
}else if(getProtocol.toLowerCase().equals("https")){
response.setContentType("text/html");
String httpPath = "http" + "://" + getDomain + ":" + httpPort + uri;
String site = new String(httpPath);
res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
res.setHeader("Location", site);
}
}
chain.doFilter(req, res);
}
@Override
public void destroy() {
this.targetURI = null;
this.httpsPort = null;
this.httpPort = null;
this.uriPatterns = null;
}
}

View File

@ -1,61 +0,0 @@
package egovframework.com.cmm.util;
import java.util.List;
import egovframework.com.cmm.service.EgovUserDetailsService;
/**
* EgovUserDetails Helper 클래스
*
* @author sjyoon
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2009.03.10 sjyoon 최초 생성
* 2011.07.01 서준식 interface 생성후 상세 로직의 분리
* </pre>
*/
public class EgovUserDetailsHelper {
static EgovUserDetailsService egovUserDetailsService;
public EgovUserDetailsService getEgovUserDetailsService() {
return egovUserDetailsService;
}
public void setEgovUserDetailsService(EgovUserDetailsService egovUserDetailsService) {
EgovUserDetailsHelper.egovUserDetailsService = egovUserDetailsService;
}
/**
* 인증된 사용자객체를 VO형식으로 가져온다.
* @return Object - 사용자 ValueObject
*/
public static Object getAuthenticatedUser() {
return egovUserDetailsService.getAuthenticatedUser();
}
/**
* 인증된 사용자의 권한 정보를 가져온다.
*
* @return List - 사용자 권한정보 목록
*/
public static List<String> getAuthorities() {
return egovUserDetailsService.getAuthorities();
}
/**
* 인증된 사용자 여부를 체크한다.
* @return Boolean - 인증된 사용자 여부(TRUE / FALSE)
*/
public static Boolean isAuthenticated() {
return egovUserDetailsService.isAuthenticated();
}
}

View File

@ -1,96 +0,0 @@
package egovframework.com.cmm.util;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
/**
* @Class Name : EgovWildcardReloadableResourceBundleMessageSource
* @Description : 다국어 properties 파일을 팩키지 구조의 폴더로 읽어드리는 MessageSource
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2016.06.10 장동한 최초 생성
*
* @author 2016 표준프레임워크 유지보수 장동한
* @since 2016.06.10
* @version 1.0
* @see
*
*/
public class EgovWildcardReloadableResourceBundleMessageSource extends
org.springframework.context.support.ReloadableResourceBundleMessageSource {
private ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
public void setEgovBasenames(String... basenames) {
if (basenames != null) {
List<String> baseNames = new ArrayList<String>();
for (int i = 0; i < basenames.length; i++) {
String basename = StringUtils.trimToEmpty(basenames[i]);
if(basename.indexOf("classpath:/") > -1 ){
baseNames.add(basename);
}else if(StringUtils.isNotBlank(basename)) {
try {
Resource[] resources = resourcePatternResolver.getResources(basename);
for (int j = 0; j < resources.length; j++) {
Resource resource = resources[j];
String uri = resource.getURI().toString();
String baseName = null;
if(uri.indexOf(".properties") == -1){continue;}
if (resource instanceof FileSystemResource) {
baseName = "classpath:" + StringUtils.substringBetween(uri, "/classes/", ".properties");
baseName = baseName.substring(0,baseName.indexOf("_"));
baseName = baseName.replaceAll("classpath:", "classpath:/");
if(baseNames.indexOf(baseName) > -1){continue;};
} else if (resource instanceof ClassPathResource) {
baseName = StringUtils.substringBefore(uri, ".properties");
baseName = baseName.substring(0,baseName.indexOf("_"));
baseName = baseName.replaceAll("classpath:", "classpath:/");
} else if (resource instanceof UrlResource) {
baseName = "classpath:" + StringUtils.substringBetween(uri, ".jar!/", ".properties");
baseName = baseName.substring(0,baseName.indexOf("_"));
baseName = baseName.replaceAll("classpath:", "classpath:/");
}
if (baseName != null) {
String fullName = processBasename(baseName);
baseNames.add(fullName);
}
}
} catch (IOException e) {
logger.debug("No message source files found for basename " + basename + ".");
}
}
}
logger.debug("EgovWildcardReloadableResourceBundleMessageSource>>basenames>["+baseNames+"}");
setBasenames(baseNames.toArray(new String[baseNames.size()]));
}
}
String processBasename(String baseName) {
String prefix = StringUtils.substringBeforeLast(baseName, "/");
String name = StringUtils.substringAfterLast(baseName, "/");
do {
name = StringUtils.substringBeforeLast(name, "_");
} while (name.contains("_"));
return prefix + "/" + name;
}
}

View File

@ -1,77 +0,0 @@
package egovframework.com.cmm.util;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.exception.EgovXssException;
/**
* EgovXssChecker 클래스
*
* @author 장동한
* @since 2016.10.27
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2016.10.17 장동한 최초 생성
* 2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
* </pre>
*/
public class EgovXssChecker {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovXssChecker.class);
/**
* 사용자에 대한 크로스사이트스크립트(Xss) 확인한다.
* 수정, 상세조회, 삭제시 사용
* @param uniqId Stirng
* @return boolean
* @exception IllegalArgumentException
*/
public static boolean checkerUserXss(HttpServletRequest request, String sUniqId) throws Exception {
boolean bLog = false;
try {
//@ 공통모듈을 이용한 권한체크
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
if(bLog){
LOGGER.debug("@Step1. XSS Check uniqId : {}", sUniqId);
LOGGER.debug("Step2. XSS Session uniqId : {}", loginVO.getId());
LOGGER.debug("Step3. XSS Session getUniqId : {}", loginVO.getUniqId());
LOGGER.debug("Step4. XSS Session getAuthorities : {}", EgovUserDetailsHelper.getAuthorities());
}
//체크 값에 대한 무결성 체크
if(sUniqId == null || loginVO.getUniqId() == null){
throw new EgovXssException("XSS00001", "errors.xss.checkerUser");
} else if (loginVO.getUniqId().equals("")) { // KISA 보안약점 조치 (2018-12-11, 신용호)
throw new EgovXssException("XSS00001", "errors.xss.checkerUser");
}
//사용자에에 대한 Xss 체크
if(!sUniqId.equals(loginVO.getUniqId())){
throw new EgovXssException("XSS00002", "errors.xss.checkerUser");
}
//2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
} catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch(Exception e) {
LOGGER.error("["+e.getClass()+"] Try/Catch...Exception : " + e.getMessage());
}
return true;
}
}

View File

@ -1,7 +1,23 @@
/*
* Copyright 2008-2009 the original author or authors.
*
* 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.
*/
package egovframework.com.cmm.web;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
@ -9,11 +25,33 @@ import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;
/**
* @Class Name : EgovBindingInitializer.java
* @Description : EgovBindingInitializer Class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ --------- --------- -------------------------------
* @ 2009.03.16 최초생성
*
* @author 개발프레임웍크 실행환경 개발팀
* @since 2009. 03.16
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class EgovBindingInitializer implements WebBindingInitializer {
/**
* initBinder
* @param binder
* @param request
* @see 개발프레임웍크 실행환경 개발팀
*/
@Override
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));

View File

@ -1,169 +0,0 @@
package egovframework.com.cmm.web;
/**
* 컴포넌트 설치 설치된 컴포넌트들을 IncludedInfo annotation을 통해 찾아낸
* 화면에 표시할 정보를 처리하는 Controller 클래스
* <Notice>
* 개발시 메뉴 구조가 잡히기 전에 배포파일들에 포함된 공통 컴포넌트들의 목록성 화면에
* URL을 제공하여 개발자가 편하게 활용하도록 하기 위해 작성된 것으로,
* 실제 운영되는 시스템에서는 적용해서는
* 운영 시에는 삭제해서 배포해도 좋음
* <Disclaimer>
* 운영시에 컨트롤을 사용하여 메뉴를 구성하는 경우 성능 문제를 일으키거나
* 사용자별 메뉴 구성에 오류를 발생할 있음
* @author 공통컴포넌트 정진오
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.08.26 정진오 최초 생성
* 2011.09.16 서준식 컨텐츠 페이지 생성
* 2011.09.26 이기하 header, footer 페이지 생성
* </pre>
*/
import java.lang.reflect.Method;
import java.util.Map;
import java.util.TreeMap;
import egovframework.com.cmm.IncludedCompInfoVO;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.annotation.IncludedInfo;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class EgovComIndexController implements ApplicationContextAware, InitializingBean {
private ApplicationContext applicationContext;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComIndexController.class);
private Map<Integer, IncludedCompInfoVO> map;
public void afterPropertiesSet() throws Exception {}
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
LOGGER.info("EgovComIndexController setApplicationContext method has called!");
}
@RequestMapping("/egovIndex.do")
public String index(ModelMap model) {
return "egovframework/com/cmm/EgovUnitMain";
}
@RequestMapping("/EgovTop.do")
public String top() {
return "egovframework/com/cmm/EgovUnitTop";
}
@RequestMapping("/EgovBottom.do")
public String bottom() {
return "egovframework/com/cmm/EgovUnitBottom";
}
@RequestMapping("/EgovContent.do")
public String setContent(ModelMap model) {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
model.addAttribute("loginVO", loginVO);
return "egovframework/com/cmm/EgovUnitContent";
}
@RequestMapping("/EgovLeft.do")
public String setLeftMenu(ModelMap model) {
/* 최초 한 번만 실행하여 map에 저장해 놓는다. */
if (map == null) {
map = new TreeMap<Integer, IncludedCompInfoVO>();
RequestMapping rmAnnotation;
IncludedInfo annotation;
IncludedCompInfoVO zooVO;
/*
* EgovLoginController가 AOP Proxy되는 바람에 클래스를 reflection으로 가져올 없음
*/
try {
Class<?> loginController = Class.forName("egovframework.com.uat.uia.web.EgovLoginController");
Method[] methods = loginController.getMethods();
for (int i = 0; i < methods.length; i++) {
annotation = methods[i].getAnnotation(IncludedInfo.class);
if (annotation != null) {
LOGGER.debug("Found @IncludedInfo Method : {}", methods[i]);
zooVO = new IncludedCompInfoVO();
zooVO.setName(annotation.name());
zooVO.setOrder(annotation.order());
zooVO.setGid(annotation.gid());
rmAnnotation = methods[i].getAnnotation(RequestMapping.class);
if ("".equals(annotation.listUrl()) && rmAnnotation != null) {
zooVO.setListUrl(rmAnnotation.value()[0]);
} else {
zooVO.setListUrl(annotation.listUrl());
}
map.put(zooVO.getOrder(), zooVO);
}
}
} catch (ClassNotFoundException e) {
LOGGER.error("No egovframework.com.uat.uia.web.EgovLoginController!!");
}
/* 여기까지 AOP Proxy로 인한 코드 */
/*@Controller Annotation 처리된 클래스를 모두 찾는다.*/
Map<String, Object> myZoos = applicationContext.getBeansWithAnnotation(Controller.class);
LOGGER.debug("How many Controllers : ", myZoos.size());
for (final Object myZoo : myZoos.values()) {
Class<? extends Object> zooClass = myZoo.getClass();
Method[] methods = zooClass.getMethods();
LOGGER.debug("Controller Detected {}", zooClass);
for (int i = 0; i < methods.length; i++) {
annotation = methods[i].getAnnotation(IncludedInfo.class);
if (annotation != null) {
//LOG.debug("Found @IncludedInfo Method : " + methods[i] );
zooVO = new IncludedCompInfoVO();
zooVO.setName(annotation.name());
zooVO.setOrder(annotation.order());
zooVO.setGid(annotation.gid());
/*
* 목록형 조회를 위한 url 매핑은 @IncludedInfo나 @RequestMapping에서 가져온다
*/
rmAnnotation = methods[i].getAnnotation(RequestMapping.class);
if ("".equals(annotation.listUrl())) {
zooVO.setListUrl(rmAnnotation.value()[0]);
} else {
zooVO.setListUrl(annotation.listUrl());
}
map.put(zooVO.getOrder(), zooVO);
}
}
}
}
model.addAttribute("resultList", map.values());
LOGGER.debug("EgovComIndexController index is called ");
return "egovframework/com/cmm/EgovUnitLeft";
}
}

View File

@ -1,154 +0,0 @@
package egovframework.com.cmm.web;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import egovframework.com.cmm.EgovBrowserUtil;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.util.EgovBasicLogger;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
/**
* 파일 다운로드를 위한 컨트롤러 클래스
* @author 공통서비스개발팀 이삼섭
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------------ -------- ---------------------------
* 2009.03.25 이삼섭 최초 생성
* 2014.02.24 이기하 IE11 브라우저 한글 파일 다운로드시 에러 수정
* 2018.08.28 신용호 Safari, Chrome, Firefox, Opera 한글파일 다운로드 처리 수정 (macOS에서 확장자 exe붙는 문제 처리)
*
* Copyright (C) 2009 by MOPAS All right reserved.
* </pre>
*/
@Controller
public class EgovFileDownloadController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/**
* 브라우저 구분 얻기.
*
* @param request
* @return
*/
private String getBrowser(HttpServletRequest request) {
String header = request.getHeader("User-Agent");
if (header.indexOf("MSIE") > -1) {
return "MSIE";
} else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지
return "Trident";
} else if (header.indexOf("Chrome") > -1) {
return "Chrome";
} else if (header.indexOf("Opera") > -1) {
return "Opera";
}
return "Firefox";
}
/**
* 첨부파일로 등록된 파일에 대하여 다운로드를 제공한다.
*
* @param commandMap
* @param response
* @throws Exception
*/
@RequestMapping(value = "/cmm/fms/FileDown.do")
public void cvplFileDownload(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception {
String atchFileId = (String) commandMap.get("atchFileId");
String fileSn = (String) commandMap.get("fileSn");
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated) {
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(atchFileId);
fileVO.setFileSn(fileSn);
FileVO fvo = fileService.selectFileInf(fileVO);
File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
long fSize = uFile.length();
if (fSize > 0) {
String mimetype = "application/x-msdownload";
String userAgent = request.getHeader("User-Agent");
HashMap<String,String> result = EgovBrowserUtil.getBrowser(userAgent);
if ( !EgovBrowserUtil.MSIE.equals(result.get(EgovBrowserUtil.TYPEKEY)) ) {
mimetype = "application/x-stuff";
}
String contentDisposition = EgovBrowserUtil.getDisposition(fvo.getOrignlFileNm(),userAgent,"UTF-8");
//response.setBufferSize(fSize); // OutOfMemeory 발생
response.setContentType(mimetype);
//response.setHeader("Content-Disposition", "attachment; filename=\"" + contentDisposition + "\"");
response.setHeader("Content-Disposition", contentDisposition);
response.setContentLengthLong(fSize);
/*
* FileCopyUtils.copy(in, response.getOutputStream());
* in.close();
* response.getOutputStream().flush();
* response.getOutputStream().close();
*/
BufferedInputStream in = null;
BufferedOutputStream out = null;
try {
in = new BufferedInputStream(new FileInputStream(uFile));
out = new BufferedOutputStream(response.getOutputStream());
FileCopyUtils.copy(in, out);
out.flush();
} catch (IOException ex) {
// 다음 Exception 무시 처리
// Connection reset by peer: socket write error
EgovBasicLogger.ignore("IO Exception", ex);
} finally {
EgovResourceCloseHelper.close(in, out);
}
} else {
response.setContentType("application/x-msdownload");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
}
}
}

View File

@ -1,165 +0,0 @@
package egovframework.com.cmm.web;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 파일 조회, 삭제, 다운로드 처리를 위한 컨트롤러 클래스
* @author 공통서비스개발팀 이삼섭
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.3.25 이삼섭 최초 생성
* 2016.10.13 장동한 deleteFileInf 메소드 return 방식 수정
*
* </pre>
*/
@Controller
public class EgovFileMngController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/**
* 첨부파일에 대한 목록을 조회한다.
*
* @param fileVO
* @param atchFileId
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectFileInfs.do")
public String selectFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception {
String atchFileId = (String)commandMap.get("param_atchFileId");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("updateFlag", "N");
model.addAttribute("fileListCnt", result.size());
model.addAttribute("atchFileId", atchFileId);
return "egovframework/com/cmm/fms/EgovFileList";
}
/**
* 첨부파일 변경을 위한 수정페이지로 이동한다.
*
* @param fileVO
* @param atchFileId
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectFileInfsForUpdate.do")
public String selectFileInfsForUpdate(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap,
//SessionVO sessionVO,
ModelMap model) throws Exception {
String atchFileId = (String)commandMap.get("param_atchFileId");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("updateFlag", "Y");
model.addAttribute("fileListCnt", result.size());
model.addAttribute("atchFileId", atchFileId);
return "egovframework/com/cmm/fms/EgovFileList";
}
/**
* 첨부파일에 대한 삭제를 처리한다.
*
* @param fileVO
* @param returnUrl
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/deleteFileInfs.do")
public String deleteFileInf(@ModelAttribute("searchVO") FileVO fileVO,
//SessionVO sessionVO,
HttpServletRequest request,
ModelMap model) throws Exception {
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated) {
fileService.deleteFileInf(fileVO);
}
return "blank";
//--------------------------------------------
// contextRoot가 있는 경우 제외 시켜야
//--------------------------------------------
////return "forward:/cmm/fms/selectFileInfs.do";
//return "forward:" + returnUrl;
/* *******************************************************
* modify by jdh
*******************************************************
if ("".equals(request.getContextPath()) || "/".equals(request.getContextPath())) {
return "forward:" + returnUrl;
}
if (returnUrl.startsWith(request.getContextPath())) {
return "forward:" + returnUrl.substring(returnUrl.indexOf("/", 1));
} else {
return "forward:" + returnUrl;
}
*/
////------------------------------------------
}
/**
* 이미지 첨부파일에 대한 목록을 조회한다.
*
* @param fileVO
* @param atchFileId
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectImageFileInfs.do")
public String selectImageFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap,
//SessionVO sessionVO,
ModelMap model) throws Exception {
String atchFileId = (String)commandMap.get("atchFileId");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectImageFileList(fileVO);
model.addAttribute("fileList", result);
return "egovframework/com/cmm/fms/EgovImgFileList";
}
}

View File

@ -1,132 +0,0 @@
package egovframework.com.cmm.web;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.util.Map;
import egovframework.com.cmm.SessionVO;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import javax.annotation.Resource;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @Class Name : EgovImageProcessController.java
* @Description :
* @Modification Information
*
* 수정일 수정자 수정내용
* ---------- --------- -------------------
* 2009.04.02 이삼섭 최초생성
* 2014.03.31 유지보수 fileSn 오류수정
* 2018.08.31 이정은 MimeType 중복설정 제거
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 4. 2.
* @version
* @see
*
*/
@SuppressWarnings("serial")
@Controller
public class EgovImageProcessController extends HttpServlet {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovImageProcessController.class);
/**
* 첨부된 이미지에 대한 미리보기 기능을 제공한다.
*
* @param atchFileId
* @param fileSn
* @param sessionVO
* @param model
* @param response
* @throws Exception
*/
@RequestMapping("/cmm/fms/getImage.do")
public void getImageInf(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception {
//@RequestParam("atchFileId") String atchFileId,
//@RequestParam("fileSn") String fileSn,
String atchFileId = (String)commandMap.get("atchFileId");
String fileSn = (String)commandMap.get("fileSn");
FileVO vo = new FileVO();
vo.setAtchFileId(atchFileId);
vo.setFileSn(fileSn);
//------------------------------------------------------------
// fileSn이 없는 경우 마지막 파일 참조
//------------------------------------------------------------
if (fileSn == null || fileSn.equals("")) {
int newMaxFileSN = fileService.getMaxFileSN(vo);
vo.setFileSn(Integer.toString(newMaxFileSN - 1));
}
//------------------------------------------------------------
FileVO fvo = fileService.selectFileInf(vo);
//String fileLoaction = fvo.getFileStreCours() + fvo.getStreFileNm();
File file = null;
FileInputStream fis = null;
BufferedInputStream in = null;
ByteArrayOutputStream bStream = null;
try {
file = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
fis = new FileInputStream(file);
in = new BufferedInputStream(fis);
bStream = new ByteArrayOutputStream();
int imgByte;
while ((imgByte = in.read()) != -1) {
bStream.write(imgByte);
}
String type = "";
if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) {
if ("jpg".equals(fvo.getFileExtsn().toLowerCase())) {
type = "image/jpeg";
} else {
type = "image/" + fvo.getFileExtsn().toLowerCase();
}
/*type = "image/" + fvo.getFileExtsn().toLowerCase();*/
} else {
LOGGER.debug("Image fileType is null.");
}
response.setHeader("Content-Type", type);
response.setContentLength(bStream.size());
bStream.writeTo(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
} finally {
EgovResourceCloseHelper.close(bStream, in, fis);
}
}
}

View File

@ -0,0 +1,68 @@
/*
* Copyright 2008-2009 the original author or authors.
*
* 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.
*/
package egovframework.com.cmm.web;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* @Class Name : ImagePaginationRenderer.java
* @Description : ImagePaginationRenderer Class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ --------- --------- -------------------------------
* @ 2009.03.16 최초생성
*
* @author 개발프레임웍크 실행환경 개발팀
* @since 2009. 03.16
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class EgovImgPaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public EgovImgPaginationRenderer() {
// no-op
}
/**
* PaginationRenderer
*
* @see 개발프레임웍크 실행환경 개발팀
*/
public void initVariables() {
firstPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a>&#160;";
previousPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre1.gif' border=0/></a>&#160;";
currentPageLabel = "<strong>{0}</strong>&#160;";
otherPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">{2}</a>&#160;";
nextPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next1.gif' border=0/></a>&#160;";
lastPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next10.gif' border=0/></a>&#160;";
}
@Override
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -1,130 +0,0 @@
package egovframework.com.cmm.web;
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the ";License&quot;);
* 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.
*/
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import org.apache.commons.fileupload.FileItem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
/**
* 실행환경의 파일업로드 처리를 위한 기능 클래스
* @author 공통서비스개발팀 이삼섭
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.3.25 이삼섭 최초 생성
* 2011.06.11 서준식 스프링 3.0 업그레이드 API변경으로인한 수정
*
* </pre>
*/
public class EgovMultipartResolver extends CommonsMultipartResolver {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovMultipartResolver.class);
public EgovMultipartResolver() {}
/**
* 첨부파일 처리를 위한 multipart resolver를 생성한다.
*
* @param servletContext
*/
public EgovMultipartResolver(ServletContext servletContext) {
super(servletContext);
}
/**
* multipart에 대한 parsing을 처리한다.
*/
@SuppressWarnings("rawtypes")
@Override
protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {
//스프링 3.0변경으로 수정한 부분
MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();
Map<String, String[]> multipartParameters = new HashMap<String, String[]>();
// Extract multipart files and multipart parameters.
for (Iterator<?> it = fileItems.iterator(); it.hasNext();) {
FileItem fileItem = (FileItem)it.next();
if (fileItem.isFormField()) {
String value = null;
if (encoding != null) {
try {
value = fileItem.getString(encoding);
} catch (UnsupportedEncodingException ex) {
LOGGER.warn("Could not decode multipart item '{}' with encoding '{}': using platform default"
, fileItem.getFieldName(), encoding);
value = fileItem.getString();
}
} else {
value = fileItem.getString();
}
String[] curParam = (String[])multipartParameters.get(fileItem.getFieldName());
if (curParam == null) {
// simple form field
multipartParameters.put(fileItem.getFieldName(), new String[] { value });
} else {
// array of simple form fields
String[] newParam = StringUtils.addStringToArray(curParam, value);
multipartParameters.put(fileItem.getFieldName(), newParam);
}
} else {
if (fileItem.getSize() > 0) {
// multipart file field
CommonsMultipartFile file = new CommonsMultipartFile(fileItem);
//스프링 3.0 업그레이드 API변경으로인한 수정
List<MultipartFile> fileList = new ArrayList<MultipartFile>();
fileList.add(file);
if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!!
throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver");
}
LOGGER.debug("Found multipart file [{"+file.getName()+"}] of size {"+file.getSize()+"} bytes with original filename [{"+ file.getOriginalFilename()+"}], stored {"+file.getStorageDescription()+"}");
}
}
}
return new MultipartParsingResult(multipartFiles, multipartParameters, null);
}
}

View File

@ -1,147 +0,0 @@
package egovframework.com.cop.ems.service;
/**
* 발송메일에 첨부되는 파일 VO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
public class AtchmnFileVO {
/** 첨부파일ID */
private String atchFileId;
/** 파일연번 */
private String fileSn;
/** 원파일명 */
private String orignlFileNm;
/** 저장파일명 */
private String streFileNm;
/** 파일저장경로 */
private String fileStreCours;
/** 파일확장자 */
private String fileExtsn;
/** 파일크기 */
private int fileMg;
/**
* atchFileId attribute 리턴한다.
* @return String
*/
public String getAtchFileId() {
return atchFileId;
}
/**
* atchFileId attribute 값을 설정한다.
* @param atchFileId String
*/
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
/**
* fileSn attribute 리턴한다.
* @return String
*/
public String getFileSn() {
return fileSn;
}
/**
* fileSn attribute 값을 설정한다.
* @param fileSn String
*/
public void setFileSn(String fileSn) {
this.fileSn = fileSn;
}
/**
* orignlFileNm attribute 리턴한다.
* @return String
*/
public String getOrignlFileNm() {
return orignlFileNm;
}
/**
* orignlFileNm attribute 값을 설정한다.
* @param orignlFileNm String
*/
public void setOrignlFileNm(String orignlFileNm) {
this.orignlFileNm = orignlFileNm;
}
/**
* streFileNm attribute 리턴한다.
* @return String
*/
public String getStreFileNm() {
return streFileNm;
}
/**
* streFileNm attribute 값을 설정한다.
* @param streFileNm String
*/
public void setStreFileNm(String streFileNm) {
this.streFileNm = streFileNm;
}
/**
* fileStreCours attribute 리턴한다.
* @return String
*/
public String getFileStreCours() {
return fileStreCours;
}
/**
* fileStreCours attribute 값을 설정한다.
* @param fileStreCours String
*/
public void setFileStreCours(String fileStreCours) {
this.fileStreCours = fileStreCours;
}
/**
* fileExtsn attribute 리턴한다.
* @return String
*/
public String getFileExtsn() {
return fileExtsn;
}
/**
* fileExtsn attribute 값을 설정한다.
* @param fileExtsn String
*/
public void setFileExtsn(String fileExtsn) {
this.fileExtsn = fileExtsn;
}
/**
* fileMg attribute 리턴한다.
* @return int
*/
public int getFileMg() {
return fileMg;
}
/**
* fileMg attribute 값을 설정한다.
* @param fileMg int
*/
public void setFileMg(int fileMg) {
this.fileMg = fileMg;
}
}

View File

@ -1,129 +0,0 @@
package egovframework.com.cop.ems.service;
import java.io.Serializable;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
/**
* 발송메일에 첨부파일용으로 사용되는 VO 클래스
* @author 공통서비스 개발팀 이기하
* @since 2011.12.06
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2011.12.06 이기하 최초 생성
* 2013.05.23 이기하 thread-safe 하게 변경
*
* </pre>
*/
public class EgovMultiPartEmail implements Serializable {
private static final long serialVersionUID = -4322006921324597283L;
private String id;
private String password;
private int port;
private String host;
private String emailAddress;
private String senderName;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public String getSenderName() {
return senderName;
}
public void setSenderName(String senderName) {
this.senderName = senderName;
}
@Deprecated
public String send() throws EmailException {
MultiPartEmail email = new MultiPartEmail();
email.setCharset("UTF-8");
email.setHostName(this.host);
email.setSmtpPort(this.port);
email.setStartTLSEnabled(true);
email.setAuthenticator(new DefaultAuthenticator(this.id, this.password));
email.setSocketConnectionTimeout(60000);
email.setSocketTimeout(60000);
email.setFrom(this.emailAddress, this.senderName);
return email.send();
}
public String send(String addTo, String subject, String msg) throws EmailException {
return send(addTo, subject, msg, null);
}
public String send(String addTo, String subject, String msg, EmailAttachment attachment) throws EmailException {
MultiPartEmail email = new MultiPartEmail();
email.setCharset("UTF-8");
email.setHostName(this.host);
email.setSmtpPort(this.port);
email.setStartTLSEnabled(true);
email.setAuthenticator(new DefaultAuthenticator(this.id, this.password));
email.setSocketConnectionTimeout(60000);
email.setSocketTimeout(60000);
email.setFrom(this.emailAddress, this.senderName);
email.addTo(addTo);
email.setSubject(subject);
email.setMsg(msg);
if (attachment != null) {
email.attach(attachment);
}
return email.send();
}
}

View File

@ -1,42 +0,0 @@
package egovframework.com.cop.ems.service;
/**
* 발송메일을 상세 조회하는 비즈니스 인터페이스 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
public interface EgovSndngMailDetailService {
/**
* 발송메일을 상세 조회한다.
* @param vo SndngMailVO
* @return SndngMailVO
* @exception Exception
*/
SndngMailVO selectSndngMail(SndngMailVO vo) throws Exception;
/**
* 발송메일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
void deleteSndngMail(SndngMailVO vo) throws Exception;
/**
* 첨부파일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
void deleteAtchmnFile(SndngMailVO vo) throws Exception;
}

View File

@ -1,47 +0,0 @@
package egovframework.com.cop.ems.service;
import java.util.List;
import egovframework.com.cmm.ComDefaultVO;
/**
* 발송메일 내역을 조회하는 비즈니스 인터페이스 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
public interface EgovSndngMailDtlsService {
/**
* 발송메일 목록을 조회한다.
* @param vo ComDefaultVO
* @return List
* @exception Exception
*/
List<?> selectSndngMailList(ComDefaultVO vo) throws Exception;
/**
* 발송메일 총건수를 조회한다.
* @param vo ComDefaultVO
* @return int
* @exception
*/
int selectSndngMailListTotCnt(ComDefaultVO vo) throws Exception;
/**
* 발송메일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
void deleteSndngMailList(SndngMailVO vo) throws Exception;
}

View File

@ -1,44 +0,0 @@
package egovframework.com.cop.ems.service;
/**
* 발송메일등록, 발송요청XML파일 생성하는 비즈니스 인터페이스 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
public interface EgovSndngMailRegistService {
/**
* 발송할 메일을 등록한다
* @param vo SndngMailVO
* @return boolean
* @exception Exception
*/
boolean insertSndngMail(SndngMailVO vo) throws Exception;
/**
* 발송할 메일을 XML파일로 만들어 저장한다.
* @param vo SndngMailVO
* @return boolean
* @exception Exception
*/
public boolean trnsmitXmlData(SndngMailVO vo) throws Exception;
/**
* 발송메일 발송결과 XML파일을 읽어 발송결과코드에 수정한다.
* @param xml String
* @return boolean
* @exception Exception
*/
public boolean recptnXmlData(String xml) throws Exception;
}

View File

@ -1,28 +0,0 @@
package egovframework.com.cop.ems.service;
/**
* 메일 솔루션과 연동해서 이용해서 메일을 보내는 서비스 클래스
* @since 2011.09.09
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.09.09 서준식 최초 작성
*
* </pre>
*/
public interface EgovSndngMailService {
/**
* 메일을 발송한다
* @param vo SndngMailVO
* @return boolean
* @exception Exception
*/
boolean sndngMail(SndngMailVO vo) throws Exception;
}

View File

@ -1,147 +0,0 @@
package egovframework.com.cop.ems.service;
/**
* 발송메일 모델 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
public class SndngMail {
/** 발신자 */
public String dsptchPerson;
/** 내용 */
public String emailCn;
/** 메시지ID */
public String mssageId;
/** 수신자 */
public String recptnPerson;
/** 제목 */
public String sj;
/** 발송결과코드 */
public String sndngResultCode;
/** 발신일자 */
private String sndngDe;
/**
* dsptchPerson attribute 리턴한다.
* @return String
*/
public String getDsptchPerson() {
return dsptchPerson;
}
/**
* dsptchPerson attribute 값을 설정한다.
* @param dsptchPerson String
*/
public void setDsptchPerson(String dsptchPerson) {
this.dsptchPerson = dsptchPerson;
}
/**
* emailCn attribute 리턴한다.
* @return String
*/
public String getEmailCn() {
return emailCn;
}
/**
* emailCn attribute 값을 설정한다.
* @param emailCn String
*/
public void setEmailCn(String emailCn) {
this.emailCn = emailCn;
}
/**
* mssageId attribute 리턴한다.
* @return String
*/
public String getMssageId() {
return mssageId;
}
/**
* mssageId attribute 값을 설정한다.
* @param mssageId String
*/
public void setMssageId(String mssageId) {
this.mssageId = mssageId;
}
/**
* recptnPerson attribute 리턴한다.
* @return String
*/
public String getRecptnPerson() {
return recptnPerson;
}
/**
* recptnPerson attribute 값을 설정한다.
* @param recptnPerson String
*/
public void setRecptnPerson(String recptnPerson) {
this.recptnPerson = recptnPerson;
}
/**
* sj attribute 리턴한다.
* @return String
*/
public String getSj() {
return sj;
}
/**
* sj attribute 값을 설정한다.
* @param sj String
*/
public void setSj(String sj) {
this.sj = sj;
}
/**
* sndngResultCode attribute 리턴한다.
* @return String
*/
public String getSndngResultCode() {
return sndngResultCode;
}
/**
* sndngResultCode attribute 값을 설정한다.
* @param sndngResultCode String
*/
public void setSndngResultCode(String sndngResultCode) {
this.sndngResultCode = sndngResultCode;
}
/**
* sndngDe attribute 리턴한다.
* @return String
*/
public String getSndngDe() {
return sndngDe;
}
/**
* sndngDe attribute 값을 설정한다.
* @param sndngDe String
*/
public void setSndngDe(String sndngDe) {
this.sndngDe = sndngDe;
}
}

View File

@ -1,240 +0,0 @@
package egovframework.com.cop.ems.service;
/**
* 발송메일 VO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
* 2011.12.06 이기하 첨부파일경로(fileStreCours), 첨부파일이름(orignlFileNm) 추가
*
* </pre>
*/
public class SndngMailVO {
/** 메세지ID */
private String mssageId;
/** 발신자 */
private String dsptchPerson;
/** 수신자 */
private String recptnPerson;
/** 제목 */
private String sj;
/** 발송결과코드 */
private String sndngResultCode;
/** 메일내용 */
private String emailCn;
/** 첨부파일ID */
private String atchFileId;
/** 첨부파일경로 */
private String fileStreCours;
/** 첨부파일이름 */
private String orignlFileNm;
/** 발신일자 */
private String sndngDe;
/** 첨부파일ID 리스트 */
private String atchFileIdList;
/** 발송요청XML내용 */
private String xmlContent;
/** 팝업링크여부(Y/N) */
private String link;
/**
* mssageId attribute 리턴한다.
* @return String
*/
public String getMssageId() {
return mssageId;
}
/**
* mssageId attribute 값을 설정한다.
* @param mssageId String
*/
public void setMssageId(String mssageId) {
this.mssageId = mssageId;
}
/**
* dsptchPerson attribute 리턴한다.
* @return String
*/
public String getDsptchPerson() {
return dsptchPerson;
}
/**
* dsptchPerson attribute 값을 설정한다.
* @param dsptchPerson String
*/
public void setDsptchPerson(String dsptchPerson) {
this.dsptchPerson = dsptchPerson;
}
/**
* recptnPerson attribute 리턴한다.
* @return String
*/
public String getRecptnPerson() {
return recptnPerson;
}
/**
* recptnPerson attribute 값을 설정한다.
* @param recptnPerson String
*/
public void setRecptnPerson(String recptnPerson) {
this.recptnPerson = recptnPerson;
}
/**
* sj attribute 리턴한다.
* @return String
*/
public String getSj() {
return sj;
}
/**
* sj attribute 값을 설정한다.
* @param sj String
*/
public void setSj(String sj) {
this.sj = sj;
}
/**
* sndngResultCode attribute 리턴한다.
* @return String
*/
public String getSndngResultCode() {
return sndngResultCode;
}
/**
* sndngResultCode attribute 값을 설정한다.
* @param sndngResultCode String
*/
public void setSndngResultCode(String sndngResultCode) {
this.sndngResultCode = sndngResultCode;
}
/**
* emailCn attribute 리턴한다.
* @return String
*/
public String getEmailCn() {
return emailCn;
}
/**
* emailCn attribute 값을 설정한다.
* @param emailCn String
*/
public void setEmailCn(String emailCn) {
this.emailCn = emailCn;
}
/**
* atchFileId attribute 리턴한다.
* @return String
*/
public String getAtchFileId() {
return atchFileId;
}
/**
* atchFileId attribute 값을 설정한다.
* @param atchFileId String
*/
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
public String getFileStreCours() {
return fileStreCours;
}
public void setFileStreCours(String fileStreCours) {
this.fileStreCours = fileStreCours;
}
public String getOrignlFileNm() {
return orignlFileNm;
}
public void setOrignlFileNm(String orignlFileNm) {
this.orignlFileNm = orignlFileNm;
}
/**
* sndngDe attribute 리턴한다.
* @return String
*/
public String getSndngDe() {
return sndngDe;
}
/**
* sndngDe attribute 값을 설정한다.
* @param sndngDe String
*/
public void setSndngDe(String sndngDe) {
this.sndngDe = sndngDe;
}
/**
* atchFileIdList attribute 리턴한다.
* @return String
*/
public String getAtchFileIdList() {
return atchFileIdList;
}
/**
* atchFileIdList attribute 값을 설정한다.
* @param atchFileIdList String
*/
public void setAtchFileIdList(String atchFileIdList) {
this.atchFileIdList = atchFileIdList;
}
/**
* xmlContent attribute 리턴한다.
* @return String
*/
public String getXmlContent() {
return xmlContent;
}
/**
* xmlContent attribute 값을 설정한다.
* @param xmlContent String
*/
public void setXmlContent(String xmlContent) {
this.xmlContent = xmlContent;
}
/**
* link attribute 리턴한다.
* @return String
*/
public String getLink() {
return link;
}
/**
* link attribute 값을 설정한다.
* @param link String
*/
public void setLink(String link) {
this.link = link;
}
}

View File

@ -1,90 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import java.io.File;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.service.Globals;
import egovframework.com.cop.ems.service.EgovSndngMailDetailService;
import egovframework.com.cop.ems.service.SndngMailVO;
import egovframework.com.utl.sim.service.EgovFileTool;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* 발송메일을 상세 조회하는 비즈니스 구현 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
@Service("sndngMailDetailService")
public class EgovSndngMailDetailServiceImpl extends EgovAbstractServiceImpl implements EgovSndngMailDetailService {
// 파일구분자
static final char FILE_SEPARATOR = File.separatorChar;
@Resource(name = "sndngMailDetailDAO")
private SndngMailDetailDAO sndngMailDetailDAO;
@Resource(name = "EgovFileMngService")
private EgovFileMngService egovFileMngService;
/**
* 발송메일을 상세 조회한다.
* @param vo SndngMailVO
* @return SndngMailVO
* @exception Exception
*/
@Override
public SndngMailVO selectSndngMail(SndngMailVO vo) throws Exception {
// 1. 발송메일 정보를 조회한다.
SndngMailVO resultMailVO = sndngMailDetailDAO.selectSndngMail(vo);
return resultMailVO;
}
/**
* 발송메일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
@Override
public void deleteSndngMail(SndngMailVO vo) throws Exception {
// 1. 발송메일을 삭제한다.
sndngMailDetailDAO.deleteSndngMail(vo);
// 2. 발송요청XML파일을 삭제한다.
String xmlFile = Globals.MAIL_REQUEST_PATH + vo.getMssageId() + ".xml";
EgovFileTool.deleteFile(xmlFile);
}
/**
* 첨부파일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
@Override
public void deleteAtchmnFile(SndngMailVO vo) throws Exception {
// 1. 첨부파일 목록을 삭제한다. (이삼섭 책임 제공)
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vo.getAtchFileId());
egovFileMngService.deleteAllFileInf(fileVO);
}
}

View File

@ -1,90 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import java.util.List;
import egovframework.com.cmm.ComDefaultVO;
import egovframework.com.cop.ems.service.EgovSndngMailDetailService;
import egovframework.com.cop.ems.service.EgovSndngMailDtlsService;
import egovframework.com.cop.ems.service.SndngMailVO;
import egovframework.com.utl.fcc.service.EgovStringUtil;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* 발송메일 내역을 조회하는 비즈니스 구현 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
@Service("sndngMailDtlsService")
public class EgovSndngMailDtlsServiceImpl extends EgovAbstractServiceImpl implements EgovSndngMailDtlsService {
@Resource(name = "sndngMailDtlsDAO")
private SndngMailDtlsDAO sndngMailDtlsDAO;
@Resource(name = "sndngMailDetailService")
private EgovSndngMailDetailService sndngMailDetailService;
/**
* 발송메일 목록을 조회한다.
* @param vo ComDefaultVO
* @return List
* @exception Exception
*/
@Override
public List<?> selectSndngMailList(ComDefaultVO vo) throws Exception {
return sndngMailDtlsDAO.selectSndngMailList(vo);
}
/**
* 발송메일 총건수를 조회한다.
* @param vo ComDefaultVO
* @return int
* @exception
*/
@Override
public int selectSndngMailListTotCnt(ComDefaultVO vo) throws Exception {
return sndngMailDtlsDAO.selectSndngMailListTotCnt(vo);
}
/**
* 발송메일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
@Override
public void deleteSndngMailList(SndngMailVO vo) throws Exception {
// 1. 발송메일을 삭제한다.
String[] sbuf = EgovStringUtil.split(vo.getMssageId(), ",");
for (int i = 0; i < sbuf.length; i++) {
SndngMailVO sndngMailVO = new SndngMailVO();
sndngMailVO.setMssageId(sbuf[i]);
sndngMailDetailService.deleteSndngMail(sndngMailVO);
}
// 2. 첨부파일을 삭제한다.
if (vo.getAtchFileIdList() != null) {//KISA 보안약점 조치 (2018-10-29, 윤창원)
String[] fbuf = EgovStringUtil.split(vo.getAtchFileIdList(), ",");
for (int i = 0; i < fbuf.length; i++) {
SndngMailVO sndngMailVO = new SndngMailVO();
sndngMailVO.setAtchFileId(fbuf[i]);
sndngMailDetailService.deleteAtchmnFile(sndngMailVO);
}
}
}
}

View File

@ -1,187 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import java.io.File;
import java.util.List;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.service.Globals;
import egovframework.com.cop.ems.service.AtchmnFileVO;
import egovframework.com.cop.ems.service.EgovSndngMailRegistService;
import egovframework.com.cop.ems.service.EgovSndngMailService;
import egovframework.com.cop.ems.service.SndngMailVO;
import egovframework.com.utl.fcc.service.EgovStringUtil;
import egovframework.com.utl.sim.service.EgovXMLDoc;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import javax.annotation.Resource;
import noNamespace.SndngMailDocument;
import org.springframework.stereotype.Service;
/**
* 발송메일등록, 발송요청XML파일 생성하는 비즈니스 구현 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
* 2011.07.27 서준식 메일 발송내역 DB 저장시 첨부파일이 없으면 NULL로 변경
* 2011.12.06 이기하 메일 첨부파일이 기능 추가
* 2015.02.02 표준프레임워크 메일 첨부파일 오류 수정
* </pre>
*/
@Service("sndngMailRegistService")
public class EgovSndngMailRegistServiceImpl extends EgovAbstractServiceImpl implements EgovSndngMailRegistService {
/** SndngMailRegistDAO */
@Resource(name = "sndngMailRegistDAO")
private SndngMailRegistDAO sndngMailRegistDAO;
/** Message ID Generation */
@Resource(name = "egovMailMsgIdGnrService")
private EgovIdGnrService egovMailMsgIdGnrService;
@Resource(name = "egovSndngMailService")
private EgovSndngMailService egovSndngMailService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/**
* 발송할 메일을 등록한다
* @param vo SndngMailVO
* @return boolean
* @exception Exception
*/
@Override
public boolean insertSndngMail(SndngMailVO vo) throws Exception {
//KISA 보안약점 조치 (2018-10-29, 윤창원)
String recptnPersons = EgovStringUtil.isNullToString(vo.getRecptnPerson()).replaceAll(" ", "");
String[] recptnPersonList = recptnPersons.split(";");
for (int j = 0; j < recptnPersonList.length; j++) {
// 1-0.메세지ID를 생성한다.
String mssageId = egovMailMsgIdGnrService.getNextStringId();
// 1-1.발송메일 데이터를 만든다.
SndngMailVO mailVO = new SndngMailVO();
mailVO.setMssageId(mssageId);
mailVO.setDsptchPerson(vo.getDsptchPerson());
mailVO.setRecptnPerson(recptnPersonList[j]);
mailVO.setSj(vo.getSj());
//mailVO.setEmailCn(EgovStringUtil.checkHtmlView(vo.getEmailCn()));
mailVO.setEmailCn(vo.getEmailCn());
mailVO.setSndngResultCode("R"); // 발송결과 요청
if (vo.getAtchFileId() == null || vo.getAtchFileId().equals("")) {
mailVO.setAtchFileId(null);
mailVO.setFileStreCours(null);
mailVO.setOrignlFileNm(null);
} else {
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vo.getAtchFileId());
fileVO.setFileSn("0");
FileVO fvo = fileService.selectFileInf(fileVO);
File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
mailVO.setAtchFileId(vo.getAtchFileId());
mailVO.setFileStreCours(uFile.getPath());
mailVO.setOrignlFileNm(vo.getOrignlFileNm());
}
// 1-3.발송메일을 등록한다.
sndngMailRegistDAO.insertSndngMail(mailVO);
// 1-4.메일을 발송한다.
boolean sendingMailResult = egovSndngMailService.sndngMail(mailVO);
if (!sendingMailResult) {
mailVO.setSndngResultCode("F"); // 발송결과 실패
sndngMailRegistDAO.updateSndngMail(mailVO); // 발송상태를 DB에 업데이트 한다.
return false;
}
// 1-5.발송메일 요청XML 파일을 생성한다.
trnsmitXmlData(mailVO);
}
return true;
}
/**
* 발송할 메일을 XML파일로 만들어 저장한다.
* @param vo SndngMailVO
* @return boolean
* @exception Exception
*/
@Override
public boolean trnsmitXmlData(SndngMailVO vo) throws Exception {
// 1. 첨부파일 목록 (원파일명, 저장파일명)
String orignlFileList = "";
String streFileList = "";
List<?> atchmnFileList = sndngMailRegistDAO.selectAtchmnFileList(vo);
for (int i = 0; i < atchmnFileList.size(); i++) {
AtchmnFileVO fileVO = (AtchmnFileVO) atchmnFileList.get(i);
String orignlFile = fileVO.getOrignlFileNm();
String streFile = fileVO.getFileStreCours() + fileVO.getStreFileNm();
orignlFileList += orignlFile + ";";
streFileList += streFile + ";";
}
// 2. XML데이터를 만든다.
SndngMailDocument mailDoc;
SndngMailDocument.SndngMail mailElement;
mailDoc = SndngMailDocument.Factory.newInstance();
mailElement = mailDoc.addNewSndngMail();
mailElement.setMssageId(vo.getMssageId());
mailElement.setDsptchPerson(vo.getDsptchPerson());
mailElement.setRecptnPerson(vo.getRecptnPerson());
mailElement.setSj(vo.getSj());
mailElement.setEmailCn(vo.getEmailCn());
mailElement.setSndngResultCode(vo.getSndngResultCode());
mailElement.setOrignlFileList(orignlFileList);
mailElement.setStreFileList(streFileList);
// 2. XML파일로 저장한다.
String xmlFile = Globals.MAIL_REQUEST_PATH + vo.getMssageId() + ".xml";
boolean result = EgovXMLDoc.getClassToXML(mailDoc, xmlFile);
if (result == true) {
recptnXmlData(xmlFile);
}
return result;
}
/**
* 발송메일 발송결과 XML파일을 읽어 발송결과코드에 수정한다.
* @param xml String
* @return boolean
* @exception Exception
*/
@Override
public boolean recptnXmlData(String xmlFile) throws Exception {
// 1. XML파일에서 발송결과코드를 가져온다.
SndngMailDocument mailDoc = EgovXMLDoc.getXMLToClass(xmlFile);
SndngMailDocument.SndngMail mailElement = mailDoc.getSndngMail();
SndngMailVO sndngMailVO = new SndngMailVO();
sndngMailVO.setMssageId(mailElement.getMssageId());
sndngMailVO.setSndngResultCode("C"); // 발송결과 완료
// 2. DB에 업데이트 한다.
sndngMailRegistDAO.updateSndngMail(sndngMailVO);
return true;
}
}

View File

@ -1,112 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import egovframework.com.cop.ems.service.EgovMultiPartEmail;
import egovframework.com.cop.ems.service.EgovSndngMailService;
import egovframework.com.cop.ems.service.SndngMailVO;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import javax.annotation.Resource;
import org.apache.commons.mail.EmailAttachment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.mail.MailAuthenticationException;
import org.springframework.mail.MailParseException;
import org.springframework.mail.MailSendException;
import org.springframework.stereotype.Service;
/**
* 메일 솔루션과 연동해서 이용해서 메일을 보내는 서비스 구현 클래스
* @since 2011.09.09
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.09.09 서준식 최초 작성
* 2011.12.06 이기하 메일 첨부파일이 기능 추가
* 2013.05.23 이기하 메일 첨부파일이 없을 로직 추가
*
* </pre>
*/
@Service("egovSndngMailService")
public class EgovSndngMailServiceImpl extends EgovAbstractServiceImpl implements EgovSndngMailService {
@Resource(name = "egovMultiPartEmail")
private EgovMultiPartEmail egovMultiPartEmail;
/** SndngMailRegistDAO */
@Resource(name = "sndngMailRegistDAO")
private SndngMailRegistDAO sndngMailRegistDAO;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovSndngMailServiceImpl.class);
/**
* 메일을 발송한다
* @param vo SndngMailVO
* @return boolean
* @exception Exception
*/
@Override
@SuppressWarnings("unused")
public boolean sndngMail(SndngMailVO sndngMailVO) throws Exception {
String recptnPerson = (sndngMailVO.getRecptnPerson() == null) ? "" : sndngMailVO.getRecptnPerson(); // 수신자
String subject = (sndngMailVO.getSj() == null) ? "" : sndngMailVO.getSj(); // 메일제목
String emailCn = (sndngMailVO.getEmailCn() == null) ? "" : sndngMailVO.getEmailCn(); // 메일내용
String atchmnFileNm = (sndngMailVO.getOrignlFileNm() == null) ? "" : sndngMailVO.getOrignlFileNm(); // 첨부파일이름
String atchmnFilePath = (sndngMailVO.getFileStreCours() == null) ? "" : sndngMailVO.getFileStreCours(); // 첨부파일경로
try {
EmailAttachment attachment = new EmailAttachment();
// 첨부파일이 있을
if (atchmnFileNm != "" && atchmnFileNm != null && atchmnFilePath != "" && atchmnFilePath != null) {
// 첨부할 attachment 정보를 생성합니다
attachment.setPath(atchmnFilePath);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("첨부파일입니다");
//attachment.setName(new String(atchmnFileNm.getBytes("UTF-8"),"latin1")); // 구버전의 경우 필요
attachment.setName(atchmnFileNm);
// 2015.05.08 주석수정 - 첨부파일 정보를 포함한 메일을 전송합니다
egovMultiPartEmail.send(recptnPerson, subject, emailCn, attachment);
}
else
{
// 메일을 전송합니다
egovMultiPartEmail.send(recptnPerson, subject, emailCn);
}
Throwable t = new Throwable();
} catch (MailParseException ex) {
sndngMailVO.setSndngResultCode("F"); // 발송결과 실패
sndngMailRegistDAO.updateSndngMail(sndngMailVO); // 발송상태를 DB에 업데이트 한다.
LOGGER.error("Sending Mail Exception : {} [failure when parsing the message]", ex.getCause());
return false;
} catch (MailAuthenticationException ex) {
sndngMailVO.setSndngResultCode("F"); // 발송결과 실패
sndngMailRegistDAO.updateSndngMail(sndngMailVO); // 발송상태를 DB에 업데이트 한다.
LOGGER.error("Sending Mail Exception : {} [authentication failure]", ex.getCause());
return false;
} catch (MailSendException ex) {
sndngMailVO.setSndngResultCode("F"); // 발송결과 실패
sndngMailRegistDAO.updateSndngMail(sndngMailVO); // 발송상태를 DB에 업데이트 한다.
LOGGER.error("Sending Mail Exception : {} [failure when sending the message]", ex.getCause());
return false;
} catch (Exception ex) {
sndngMailVO.setSndngResultCode("F"); // 발송결과 실패
sndngMailRegistDAO.updateSndngMail(sndngMailVO); // 발송상태를 DB에 업데이트 한다.
LOGGER.error("Sending Mail Exception : {} [unknown Exception]", ex.getCause());
LOGGER.debug(ex.getMessage());
return false;
}
return true;
}
}

View File

@ -1,66 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import java.util.List;
import egovframework.com.cmm.service.impl.EgovComAbstractDAO;
import egovframework.com.cop.ems.service.SndngMailVO;
import org.springframework.stereotype.Repository;
/**
* 발송메일을 상세 조회하는 DAO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
@Repository("sndngMailDetailDAO")
public class SndngMailDetailDAO extends EgovComAbstractDAO {
/**
* 발송메일을 상세 조회한다.
* @param vo SndngMailVO
* @return SndngMailVO
* @exception Exception
*/
public SndngMailVO selectSndngMail(SndngMailVO vo) throws Exception {
return (SndngMailVO) selectOne("sndngMailDetailDAO.selectSndngMail", vo);
}
/**
* 발송메일에 첨부된 파일목록을 조회한다.
* @param vo SndngMailVO
* @return List
* @exception
*/
public List<?> selectAtchmnFileList(SndngMailVO vo) {
return list("sndngMailDetailDAO.selectAtchmnFileList", vo);
}
/**
* 발송메일을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
public void deleteSndngMail(SndngMailVO vo) throws Exception {
delete("sndngMailDetailDAO.deleteSndngMail", vo);
}
/**
* 첨부파일 목록을 삭제한다.
* @param vo SndngMailVO
* @exception
*/
public void deleteAtchmnFileList(SndngMailVO vo) throws Exception {
delete("sndngMailDetailDAO.deleteAtchmnFileList", vo);
}
}

View File

@ -1,48 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import java.util.List;
import egovframework.com.cmm.ComDefaultVO;
import egovframework.com.cmm.service.impl.EgovComAbstractDAO;
import org.springframework.stereotype.Repository;
/**
* 발송메일 내역을 조회하는 DAO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
@Repository("sndngMailDtlsDAO")
public class SndngMailDtlsDAO extends EgovComAbstractDAO {
/**
* 발송메일 목록을 조회한다.
* @param vo ComDefaultVO
* @return List
* @exception Exception
*/
public List<?> selectSndngMailList(ComDefaultVO vo) throws Exception {
return list("SndngMailDtlsDAO.selectSndngMailList_D", vo);
}
/**
* 발송메일 총건수를 조회한다.
* @param vo ComDefaultVO
* @return int
* @exception
*/
public int selectSndngMailListTotCnt(ComDefaultVO vo) {
return (Integer) selectOne("SndngMailDtlsDAO.selectSndngMailListTotCnt_S", vo);
}
}

View File

@ -1,60 +0,0 @@
package egovframework.com.cop.ems.service.impl;
import java.util.List;
import egovframework.com.cmm.service.impl.EgovComAbstractDAO;
import egovframework.com.cop.ems.service.SndngMailVO;
import org.springframework.stereotype.Repository;
/**
* 발송메일을 등록하는 DAO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
@Repository("sndngMailRegistDAO")
public class SndngMailRegistDAO extends EgovComAbstractDAO {
/**
* 발송할 메일을 등록한다
* @param vo SndngMailVO
* @return SndngMailVO
* @exception Exception
*/
public SndngMailVO insertSndngMail(SndngMailVO vo) throws Exception {
insert("sndngMailRegistDAO.insertSndngMail", vo);
return new SndngMailVO() ;
}
/**
* 발송할 메일에 있는 첨부파일 목록을 조회한다.
* @param vo SndngMailVO
* @return List
* @exception Exception
*/
public List<?> selectAtchmnFileList(SndngMailVO vo) throws Exception {
return selectList("sndngMailRegistDAO.selectAtchmnFileList", vo);
}
/**
* 발송결과를 수정한다.
* @param vo SndngMailVO
* @return SndngMailVO
* @exception Exception
*/
public SndngMailVO updateSndngMail(SndngMailVO vo) throws Exception {
update("sndngMailRegistDAO.updateSndngMail", vo);
return new SndngMailVO();
}
}

View File

@ -1,163 +0,0 @@
package egovframework.com.cop.ems.web;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import egovframework.com.cmm.EgovWebUtil;
import egovframework.com.cmm.service.Globals;
import egovframework.com.cop.ems.service.EgovSndngMailDetailService;
import egovframework.com.cop.ems.service.SndngMailVO;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 발송메일을 상세 조회하는 컨트롤러 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
* 2011.10.10 이기하 보안점검 후속조치(교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체),
* HTTP 응답분할 방지)
* 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
*
* </pre>
*/
@Controller
public class EgovSndngMailDetailController {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovSndngMailDetailController.class);
/** EgovSndngMailDetailService */
@Resource(name = "sndngMailDetailService")
private EgovSndngMailDetailService sndngMailDetailService;
/**
* 발송메일을 상세 조회한다.
* @param sndngMailVO SndngMailVO
* @return String
* @exception Exception
*/
@RequestMapping(value = "/cop/ems/selectSndngMailDetail.do")
public String selectSndngMail(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model) throws Exception {
if (sndngMailVO == null || sndngMailVO.getMssageId() == null || sndngMailVO.getMssageId().equals("")) {
return "egovframework/com/cmm/egovError";
}
// 1. 발송메일을 상세 조회한다.
SndngMailVO resultMailVO = sndngMailDetailService.selectSndngMail(sndngMailVO);
// 2. 결과 리턴
model.addAttribute("resultInfo", resultMailVO);
if (!resultMailVO.getMssageId().equals("")) {
// 발송메일 상세조회 화면 이동
return "egovframework/com/cop/ems/EgovMailDetail";
} else {
// 오류 페이지 이동
return "egovframework/com/cmm/egovError";
}
}
/**
* 발송메일을 삭제한다.
* @param sndngMailVO SndngMailVO
* @return String
* @exception Exception
*/
@RequestMapping(value = "/cop/ems/deleteSndngMail.do")
public String deleteSndngMail(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model) throws Exception {
if (sndngMailVO == null || sndngMailVO.getMssageId() == null || sndngMailVO.getMssageId().equals("")) {
return "egovframework/com/cmm/egovError";
}
// 1. 발송메일을 삭제한다.
sndngMailDetailService.deleteSndngMail(sndngMailVO);
// 2. 첨부파일을 삭제한다.
sndngMailDetailService.deleteAtchmnFile(sndngMailVO);
// 3. 발송메일 목록 페이지 이동
return "redirect:/cop/ems/selectSndngMailList.do";
}
/**
* 발송메일 내용조회로 돌아간다.
* @param sndngMailVO SndngMailVO
* @return String
* @exception Exception
*/
@RequestMapping(value = "/cop/ems/backSndngMailDetail.do")
public String backSndngMailDtls(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model) throws Exception {
return "redirect:/cop/ems/selectSndngMailList.do";
}
/**
* XML형태의 발송요청메일을 조회한다.
* @param sndngMailVO SndngMailVO
* @exception Exception
*/
@RequestMapping(value = "/cop/ems/selectSndngMailXml.do")
public void selectSndngMailXml(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, HttpServletResponse response, ModelMap model) throws Exception {
String xmlFile = Globals.MAIL_REQUEST_PATH + sndngMailVO.getMssageId() + ".xml";
File uFile = new File(EgovWebUtil.filePathBlackList(xmlFile));
int fSize = (int) uFile.length();
if (fSize > 0) {
String mimetype = "application/x-msdownload;charset=UTF-8";
response.setContentType(mimetype);
response.setHeader("Content-Disposition", "attachment; filename=\"" + uFile.getName() + "\"");
response.setContentLength(fSize);
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(uFile));
FileCopyUtils.copy(in, response.getOutputStream());
} finally {
if (in != null) {
try {
in.close();
//2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
}catch (IOException ignore){
LOGGER.error("[IOException] : Connection Close");
} catch (Exception ignore) {
LOGGER.error("["+ ignore.getClass() +"] : Connection Close ", ignore.getMessage());
}
}
}
response.getOutputStream().flush();
response.getOutputStream().close();
} else {
response.setContentType("application/x-msdownload");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + EgovWebUtil.clearXSSMinimum(xmlFile) + "</h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
}
}

View File

@ -1,107 +0,0 @@
package egovframework.com.cop.ems.web;
import java.util.List;
import egovframework.com.cmm.ComDefaultVO;
import egovframework.com.cmm.EgovMessageSource;
import egovframework.com.cmm.annotation.IncludedInfo;
import egovframework.com.cop.ems.service.EgovSndngMailDtlsService;
import egovframework.com.cop.ems.service.SndngMailVO;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 발송메일 내역을 조회하는 컨트롤러 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
*
* </pre>
*/
@Controller
public class EgovSndngMailDtlsController {
/** EgovSndngMailDtlsService */
@Resource(name = "sndngMailDtlsService")
private EgovSndngMailDtlsService sndngMailDtlsService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/**
* 발송메일 내역을 조회한다
* @param searchVO ComDefaultVO
* @return String
* @exception Exception
*/
@IncludedInfo(name = "발송메일내역", order = 361, gid = 40)
@RequestMapping(value = "/cop/ems/selectSndngMailList.do")
public String selectSndngMailList(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception {
// 발송메일 내역 조회
/** EgovPropertyService.sample */
searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
searchVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
paginationInfo.setPageSize(searchVO.getPageSize());
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<?> sndngMailList = sndngMailDtlsService.selectSndngMailList(searchVO);
model.addAttribute("resultList", sndngMailList);
int totCnt = sndngMailDtlsService.selectSndngMailListTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("message", egovMessageSource.getMessage("success.common.select"));
return "egovframework/com/cop/ems/EgovMailDtls";
}
/**
* 발송메일을 삭제한다.
* @param sndngMailVO SndngMailVO
* @return String
* @exception
*/
@RequestMapping(value = "/cop/ems/deleteSndngMailList.do")
public String deleteSndngMailList(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model) throws Exception {
if (sndngMailVO == null || sndngMailVO.getMssageId() == null || sndngMailVO.getMssageId().equals("")) {
return "egovframework/com/cmm/egovError";
}
// 1. 발송메일을 삭제한다.
sndngMailDtlsService.deleteSndngMailList(sndngMailVO);
// 2. 발송메일 목록 페이지 이동
return "redirect:/cop/ems/selectSndngMailList.do";
}
}

View File

@ -1,148 +0,0 @@
package egovframework.com.cop.ems.web;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import egovframework.com.cmm.LoginVO;
import egovframework.com.cmm.annotation.IncludedInfo;
import egovframework.com.cmm.service.EgovFileMngService;
import egovframework.com.cmm.service.EgovFileMngUtil;
import egovframework.com.cmm.service.FileVO;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import egovframework.com.cop.ems.service.EgovSndngMailRegistService;
import egovframework.com.cop.ems.service.SndngMailVO;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
/**
* 발송메일등록, 발송요청XML파일 생성하는 컨트롤러 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.12
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2009.03.12 박지욱 최초 생성
* 2011.12.06 이기하 메일 첨부파일이 기능 추가
* 2015.05.08 조정국 오류페이지 표시 경로 수정 - insertSndngMail()
*
* </pre>
*/
@Controller
public class EgovSndngMailRegistController {
/** EgovSndngMailRegistService */
@Resource(name = "sndngMailRegistService")
private EgovSndngMailRegistService sndngMailRegistService;
/** EgovFileMngService */
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileMngService;
/** EgovFileMngUtil */
@Resource(name = "EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
/** 파일구분자 */
static final char FILE_SEPARATOR = File.separatorChar;
/**
* 발송메일 등록화면으로 들어간다
* @param sndngMailVO SndngMailVO
* @return String
* @exception Exception
*/
@IncludedInfo(name = "메일발송", order = 360, gid = 40)
@RequestMapping(value = "/cop/ems/insertSndngMailView.do")
public String insertSndngMailView(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model) throws Exception {
model.addAttribute("resultInfo", sndngMailVO);
return "egovframework/com/cop/ems/EgovMailRegist";
}
/**
* 발송메일을 등록한다
* @param multiRequest MultipartHttpServletRequest
* @param sndngMailVO SndngMailVO
* @return String
* @exception Exception
*/
@RequestMapping(value = "/cop/ems/insertSndngMail.do")
public String insertSndngMail(final MultipartHttpServletRequest multiRequest, @ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model, HttpServletRequest request)
throws Exception {
String link = "N";
if (sndngMailVO != null && sndngMailVO.getLink() != null && !sndngMailVO.getLink().equals("")) {
link = sndngMailVO.getLink();
}
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
// KISA 보안취약점 조치 (2018-12-10, 신용호)
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
return "egovframework/com/uat/uia/EgovLoginUsr";
}
List<FileVO> _result = new ArrayList<FileVO>();
String _atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()) {
_result = fileUtil.parseFileInf(files, "MSG_", 0, "", "");
_atchFileId = fileMngService.insertFileInfs(_result); //파일이 생성되고나면 생성된 첨부파일 ID를 리턴한다.
}
String orignlFileList = "";
for (int i = 0; i < _result.size(); i++) {
FileVO fileVO = _result.get(i);
orignlFileList = fileVO.getOrignlFileNm();
}
if (sndngMailVO != null) {
sndngMailVO.setAtchFileId(_atchFileId);
sndngMailVO.setDsptchPerson(user.getId());
sndngMailVO.setOrignlFileNm(orignlFileList);
}
// 발송메일을 등록한다.
boolean result = sndngMailRegistService.insertSndngMail(sndngMailVO);
if (result) {
if (link.equals("N")) {
return "redirect:/cop/ems/selectSndngMailList.do";
} else {
model.addAttribute("closeYn", "Y");
return "egovframework/com/cop/ems/EgovMailRegist";
}
} else {
return "egovframework/com/cmm/error/egovError";
}
}
/**
* 발송메일 내용조회로 돌아간다.
* @param sndngMailVO SndngMailVO
* @return String
* @exception Exception
*/
@RequestMapping(value = "/cop/ems/backSndngMailRegist.do")
public String backSndngMailRegist(@ModelAttribute("sndngMailVO") SndngMailVO sndngMailVO, ModelMap model) throws Exception {
return "redirect:/cop/ems/selectSndngMailList.do";
}
}

View File

@ -1,124 +0,0 @@
package egovframework.com.sec.ram.service;
import egovframework.com.cmm.ComDefaultVO;
/**
* 권한관리에 대한 model 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
*
* </pre>
*/
public class AuthorManage extends ComDefaultVO {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
/**
* 권한관리
*/
private AuthorManage authorManage;
/**
* 권한코드
*/
private String authorCode;
/**
* 권한등록일자
*/
private String authorCreatDe;
/**
* 권한코드설명
*/
private String authorDc;
/**
* 권한
*/
private String authorNm;
/**
* authorManage attribute 리턴한다.
* @return AuthorManage
*/
public AuthorManage getAuthorManage() {
return authorManage;
}
/**
* authorManage attribute 값을 설정한다.
* @param authorManage AuthorManage
*/
public void setAuthorManage(AuthorManage authorManage) {
this.authorManage = authorManage;
}
/**
* authorCode attribute 리턴한다.
* @return String
*/
public String getAuthorCode() {
return authorCode;
}
/**
* authorCode attribute 값을 설정한다.
* @param authorCode String
*/
public void setAuthorCode(String authorCode) {
this.authorCode = authorCode;
}
/**
* authorCreatDe attribute 리턴한다.
* @return String
*/
public String getAuthorCreatDe() {
return authorCreatDe;
}
/**
* authorCreatDe attribute 값을 설정한다.
* @param authorCreatDe String
*/
public void setAuthorCreatDe(String authorCreatDe) {
this.authorCreatDe = authorCreatDe;
}
/**
* authorDc attribute 리턴한다.
* @return String
*/
public String getAuthorDc() {
return authorDc;
}
/**
* authorDc attribute 값을 설정한다.
* @param authorDc String
*/
public void setAuthorDc(String authorDc) {
this.authorDc = authorDc;
}
/**
* authorNm attribute 리턴한다.
* @return String
*/
public String getAuthorNm() {
return authorNm;
}
/**
* authorNm attribute 값을 설정한다.
* @param authorNm String
*/
public void setAuthorNm(String authorNm) {
this.authorNm = authorNm;
}
}

View File

@ -1,47 +0,0 @@
package egovframework.com.sec.ram.service;
import java.util.List;
/**
* 권한관리에 대한 Vo 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
*
* </pre>
*/
public class AuthorManageVO extends AuthorManage {
private static final long serialVersionUID = 1L;
List <AuthorManageVO> authorManageList;
/**
* authorManageList attribute 리턴한다.
* @return List<AuthorManageVO>
*/
public List<AuthorManageVO> getAuthorManageList() {
return authorManageList;
}
/**
* authorManageList attribute 값을 설정한다.
* @param authorManageList List<AuthorManageVO>
*/
public void setAuthorManageList(List<AuthorManageVO> authorManageList) {
this.authorManageList = authorManageList;
}
}

View File

@ -1,210 +0,0 @@
package egovframework.com.sec.ram.service;
import egovframework.com.cmm.ComDefaultVO;
/**
* 권한별 관리에 대한 model 클래스를 정의한다.
* @author 공통서비스 개발팀 이문준
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
*
* </pre>
*/
public class AuthorRoleManage extends ComDefaultVO {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
/**
* 권한 관리
*/
private AuthorRoleManage authorRole;
/**
* 권한코드
*/
private String authorCode;
/**
* 롤코드
*/
private String roleCode;
/**
* 롤명
*/
private String roleNm;
/**
* 패턴
*/
private String rolePtn;
/**
* 설명
*/
private String roleDc;
/**
* 타입
*/
private String roleTyp;
/**
* 순서정렬
*/
private String roleSort;
/**
* 등록여부
*/
private String regYn;
/**
* 등록일자
*/
private String creatDt;
/**
* authorRole attribute 리턴한다.
* @return AuthorRoleManage
*/
public AuthorRoleManage getAuthorRole() {
return authorRole;
}
/**
* authorRole attribute 값을 설정한다.
* @param authorRole AuthorRoleManage
*/
public void setAuthorRole(AuthorRoleManage authorRole) {
this.authorRole = authorRole;
}
/**
* authorCode attribute 리턴한다.
* @return String
*/
public String getAuthorCode() {
return authorCode;
}
/**
* authorCode attribute 값을 설정한다.
* @param authorCode String
*/
public void setAuthorCode(String authorCode) {
this.authorCode = authorCode;
}
/**
* roleCode attribute 리턴한다.
* @return String
*/
public String getRoleCode() {
return roleCode;
}
/**
* roleCode attribute 값을 설정한다.
* @param roleCode String
*/
public void setRoleCode(String roleCode) {
this.roleCode = roleCode;
}
/**
* roleNm attribute 리턴한다.
* @return String
*/
public String getRoleNm() {
return roleNm;
}
/**
* roleNm attribute 값을 설정한다.
* @param roleNm String
*/
public void setRoleNm(String roleNm) {
this.roleNm = roleNm;
}
/**
* rolePtn attribute 리턴한다.
* @return String
*/
public String getRolePtn() {
return rolePtn;
}
/**
* rolePtn attribute 값을 설정한다.
* @param rolePtn String
*/
public void setRolePtn(String rolePtn) {
this.rolePtn = rolePtn;
}
/**
* roleDc attribute 리턴한다.
* @return String
*/
public String getRoleDc() {
return roleDc;
}
/**
* roleDc attribute 값을 설정한다.
* @param roleDc String
*/
public void setRoleDc(String roleDc) {
this.roleDc = roleDc;
}
/**
* roleTyp attribute 리턴한다.
* @return String
*/
public String getRoleTyp() {
return roleTyp;
}
/**
* roleTyp attribute 값을 설정한다.
* @param roleTyp String
*/
public void setRoleTyp(String roleTyp) {
this.roleTyp = roleTyp;
}
/**
* roleSort attribute 리턴한다.
* @return String
*/
public String getRoleSort() {
return roleSort;
}
/**
* roleSort attribute 값을 설정한다.
* @param roleSort String
*/
public void setRoleSort(String roleSort) {
this.roleSort = roleSort;
}
/**
* regYn attribute 리턴한다.
* @return String
*/
public String getRegYn() {
return regYn;
}
/**
* regYn attribute 값을 설정한다.
* @param regYn String
*/
public void setRegYn(String regYn) {
this.regYn = regYn;
}
/**
* creatDt attribute 리턴한다.
* @return String
*/
public String getCreatDt() {
return creatDt;
}
/**
* creatDt attribute 값을 설정한다.
* @param creatDt String
*/
public void setCreatDt(String creatDt) {
this.creatDt = creatDt;
}
}

Some files were not shown because too many files have changed in this diff Show More