
(object Petal
    version    	50
    _written   	"Rose 8.3.0407.2800"
    charSet    	0)

(object Class_Category "client"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"IDL"
	    name       	"uuid"
	    value      	(value Text "DCE:d8e72790-8826-11e1-0000-005d9e6adec4:1"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	(value Text "org.eclipse.jst.j2ee"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	(value Text "client.xmi"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	(value Text "Client")))
    quid       	"38C0280700C0"
    visible_categories 	(list visibility_relationship_list
	(object Visibility_Relationship
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:d8e72790-8826-11e1-0001-005d9e6adec4:1")))
	    quid       	"38FF3C180336"
	    supplier   	"Logical View::common"
	    quidu      	"38C08F0F038D"))
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "ApplicationClient"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:d8e72790-8826-11e1-0002-005d9e6adec4:1"))
		(object Attribute
		    tool       	"Java"
		    name       	"cg_style"
		    value      	"Default_EJB"))
	    quid       	"38C028AB009E"
	    documentation 	
|The application-client element is the root element of an application client deployment descriptor.  The application client deployment descriptor describes the EJB components and external resources referenced by the application client.
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4023AEFC0009"
		    supplier   	"Logical View::common::CompatibilityDescriptionGroup"
		    quidu      	"4023ADF20197"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "version"
		    quid       	"3E559EEA0241"
		    documentation 	
|@version J2EE1.4
|The required value for the version is 1.4.
		    
		    type       	"String"
		    exportControl 	"Public"))
	    language   	"Java")
	(object Class "ResAuthApplicationType"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:d8e72790-8826-11e1-0007-005d9e6adec4:1")))
	    quid       	"38C0A0C201A5"
	    documentation 	
|Application=0
|Container=1
	    
	    stereotype 	"enumeration"
	    language   	"Java")
	(object Association "$UNNAMED$0"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:d8e72790-8826-11e1-0009-005d9e6adec4:1")))
	    quid       	"38C02A5B0211"
	    roles      	(list role_list
		(object Role "$UNNAMED$1"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:d8e72790-8826-11e1-000a-005d9e6adec4:1")))
		    quid       	"38C02A5D0002"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    client_cardinality 	(value cardinality "0..1")
		    is_aggregate 	TRUE)
		(object Role "resourceRefs"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:d8e72790-8826-11e1-000b-005d9e6adec4:1")))
		    quid       	"38C02A5D000C"
		    documentation 	"Contains declarations of the application clients's references to an external resources."
		    label      	"resourceRefs"
		    supplier   	"Logical View::common::ResourceRef"
		    quidu      	"371BC79303C6"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$2"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:d8e72790-8826-11e1-000c-005d9e6adec4:1")))
	    quid       	"38C02B4501D5"
	    roles      	(list role_list
		(object Role "$UNNAMED$3"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:d8e72790-8826-11e1-000d-005d9e6adec4:1")))
		    quid       	"38C02B46021C"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    client_cardinality 	(value cardinality "0..1")
		    is_aggregate 	TRUE)
		(object Role "environmentProps"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:d8e72790-8826-11e1-000e-005d9e6adec4:1")))
		    quid       	"38C02B460226"
		    documentation 	"The env-entry element contains the declaration of an application client's environment entries. Each declaration consists of an optional description, the name of the environment entry, and an optional value."
		    label      	"environmentProps"
		    supplier   	"Logical View::common::EnvEntry"
		    quidu      	"371BC77800E2"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$4"
	    attributes 	(list Attribute_Set
		(object Attribute
		    tool       	"IDL"
		    name       	"uuid"
		    value      	(value Text "DCE:d8e72790-8826-11e1-000f-005d9e6adec4:1")))
	    quid       	"38C02B4B0011"
	    roles      	(list role_list
		(object Role "$UNNAMED$5"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:d8e72790-8826-11e1-0010-005d9e6adec4:1")))
		    quid       	"38C02B4C0044"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    client_cardinality 	(value cardinality "0..1")
		    is_aggregate 	TRUE)
		(object Role "ejbReferences"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"IDL"
			    name       	"uuid"
			    value      	(value Text "DCE:d8e72790-8826-11e1-0011-005d9e6adec4:1")))
		    quid       	"38C02B4C0045"
		    documentation 	
|Contains a list of ejb-ref elements used for the declaration of a reference to an enterprise
|bean's home. 
		    
		    label      	"ejbReferences"
		    supplier   	"Logical View::common::EjbRef"
		    quidu      	"371BC78202B3"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$6"
	    quid       	"39895E8E00FD"
	    roles      	(list role_list
		(object Role "resourceEnvRefs"
		    quid       	"39895E8F033A"
		    documentation 	
|The resource-env-ref element contains a declaration of an application client's reference to an administered object associated with a resource in the application client's environment.  It consists of an optional
|description, the resource environment reference name, and an indication of the resource environment reference type expected by the application client code.
|
|Used in: application-client
|
|Example:
|
|<resource-env-ref>
|    <resource-env-ref-name>jms/StockQueue</resource-env-ref-name>
|    <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
|</resource-env-ref>
|
		    
		    label      	"resourceEnvRefs"
		    supplier   	"Logical View::common::ResourceEnvRef"
		    quidu      	"39BF207200D3"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$7"
		    quid       	"39895E8F034E"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"39895F3D029A"
	    roles      	(list role_list
		(object Role "callbackHandler "
		    quid       	"39895F3E01F1"
		    documentation 	"A class provided by the application.  The class must have a no args constructor and must implement the javax.security.auth.callback.CallbackHandler interface.  The class will be instantiated by the application client container and used by the container to collect authentication information from the user."
		    label      	"callbackHandler "
		    supplier   	"Logical View::java::JavaClass"
		    quidu      	"36549FCC00FA"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$9"
		    quid       	"39895F3E0223"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"3E53F4AC005F"
	    roles      	(list role_list
		(object Role "serviceRefs"
		    quid       	"3E53F4AC02F4"
		    documentation 	"@version J2EE1.4"
		    label      	"serviceRefs"
		    supplier   	"Logical View::wsclient::ServiceRef"
		    quidu      	"3E4D2F560184"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$11"
		    quid       	"3E53F4AC0308"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$12"
	    quid       	"3E53F50701D2"
	    roles      	(list role_list
		(object Role "messageDestinationRefs"
		    quid       	"3E53F50800B1"
		    documentation 	
|@version J2EE1.4
|The message-destination-ref-name element specifies the
|    name of a message destination reference; its value is
|    the message destination reference name used in the
|    application client code. The name is a JNDI name
|    relative to the java:comp/env context and must be unique
|    within an application client.
		    
		    label      	"messageDestinationRefs"
		    supplier   	"Logical View::common::MessageDestinationRef"
		    quidu      	"3E4C1F52028C"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$13"
		    quid       	"3E53F50800BB"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"3E53F5DB0372"
	    roles      	(list role_list
		(object Role "messageDestinations"
		    quid       	"3E53F5DD003F"
		    documentation 	"@version J2EE1.4"
		    label      	"messageDestinations"
		    supplier   	"Logical View::common::MessageDestination"
		    quidu      	"3E4C211001CF"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$15"
		    quid       	"3E53F5DD0053"
		    supplier   	"Logical View::client::ApplicationClient"
		    quidu      	"38C028AB009E"
		    is_aggregate 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "Client Diagram"
	    quid       	"38C028C600ED"
	    title      	"Client Diagram"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::common::DescriptionGroup" @1
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(453, 729)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(275, 650)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"DescriptionGroup")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12632256
		    quidu      	"3E4D451F01FB"
		    width      	374
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::ResourceRef" @2
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2096, 2064)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(1619, 1810)
			fill_color 	16777215
			nlines     	2
			max_width  	954
			justify    	0
			label      	"ResourceRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12632256
		    quidu      	"371BC79303C6"
		    width      	972
		    height     	532
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::EnvEntry" @3
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1024, 2016)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(778, 1812)
			fill_color 	16777215
			nlines     	2
			max_width  	492
			justify    	0
			label      	"EnvEntry")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12632256
		    quidu      	"371BC77800E2"
		    width      	510
		    height     	432
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::EjbRef" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1456, 2064)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(1224, 1810)
			fill_color 	16777215
			nlines     	2
			max_width  	464
			justify    	0
			label      	"EjbRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12632256
		    quidu      	"371BC78202B3"
		    width      	482
		    height     	532
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::ResourceEnvRef" @5
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2288, 640)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@5
			location   	(1951, 486)
			fill_color 	13434879
			nlines     	2
			max_width  	674
			justify    	0
			label      	"ResourceEnvRef")
		    icon_style 	"Icon"
		    line_color 	16384
		    fill_color 	12632256
		    quidu      	"39BF207200D3"
		    width      	692
		    height     	332
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::java::JavaClass" @6
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(782, 218)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(689, 139)
			nlines     	2
			max_width  	186
			justify    	0
			label      	"JavaClass")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777215
		    quidu      	"36549FCC00FA"
		    width      	204
		    height     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsclient::ServiceRef" @7
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 2016)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@7
			location   	(336, 1941)
			fill_color 	13434879
			nlines     	2
			max_width  	192
			justify    	0
			label      	"ServiceRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16777088
		    quidu      	"3E4D2F560184"
		    width      	210
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::MessageDestinationRef" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1072, 640)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@8
			location   	(637, 464)
			fill_color 	13434879
			nlines     	1
			max_width  	870
			justify    	0
			label      	"MessageDestinationRef")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12632256
		    quidu      	"3E4C1F52028C"
		    width      	888
		    height     	376
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::MessageDestination" @9
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1568, 496)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@9
			location   	(1329, 392)
			fill_color 	13434879
			nlines     	1
			max_width  	478
			justify    	0
			label      	"MessageDestination")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	12632256
		    quidu      	"3E4C211001CF"
		    width      	496
		    height     	232
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::client::ApplicationClient" @10
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 1264)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@10
			location   	(131, 1058)
			fill_color 	13434879
			nlines     	2
			max_width  	506
			justify    	0
			label      	"ApplicationClient")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C028AB009E"
		    width      	524
		    height     	436
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$0" @11
		    location   	(1564, 1330)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C02A5B0211"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$1" @12
			    Parent_View 	@11
			    location   	(1308, 274)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @13
				Parent_View 	@12
				location   	(831, 1289)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C02A5D0002"
			    client     	@11
			    supplier   	@10
			    vertices   	(list Points
				(1564, 1330)
				(646, 1330))
			    line_style 	3
			    origin_attachment 	(1564, 1330)
			    terminal_attachment 	(646, 1330)
			    label      	(object SegLabel @14
				Parent_View 	@12
				location   	(784, 1304)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.850107
				height     	27
				orientation 	1))
			(object RoleView "resourceRefs" @15
			    Parent_View 	@11
			    location   	(1308, 274)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @16
				Parent_View 	@15
				location   	(2155, 1638)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	264
				justify    	0
				label      	"+resourceRefs"
				pctDist    	0.826607
				height     	142
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C02A5D000C"
			    client     	@11
			    supplier   	@2
			    vertices   	(list Points
				(1564, 1330)
				(2013, 1330)
				(2013, 1798))
			    line_style 	3
			    origin_attachment 	(1564, 1330)
			    terminal_attachment 	(2013, 1798)
			    label      	(object SegLabel @17
				Parent_View 	@15
				location   	(2067, 1706)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$2" @18
		    location   	(993, 1454)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C02B4501D5"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$3" @19
			    Parent_View 	@18
			    location   	(113, 414)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @20
				Parent_View 	@19
				location   	(715, 1413)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C02B46021C"
			    client     	@18
			    supplier   	@10
			    vertices   	(list Points
				(993, 1454)
				(646, 1454))
			    line_style 	3
			    origin_attachment 	(993, 1454)
			    terminal_attachment 	(646, 1454)
			    label      	(object SegLabel @21
				Parent_View 	@19
				location   	(735, 1390)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.746108
				height     	65
				orientation 	1))
			(object RoleView "environmentProps" @22
			    Parent_View 	@18
			    location   	(113, 414)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @23
				Parent_View 	@22
				location   	(1242, 1524)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+environmentProps"
				pctDist    	0.320896
				height     	189
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C02B460226"
			    client     	@18
			    supplier   	@3
			    vertices   	(list Points
				(993, 1454)
				(1053, 1454)
				(1053, 1800))
			    line_style 	3
			    origin_attachment 	(993, 1454)
			    terminal_attachment 	(1053, 1800)
			    label      	(object SegLabel @24
				Parent_View 	@22
				location   	(1131, 1712)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.786025
				height     	78
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$4" @25
		    location   	(1233, 1415)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"38C02B4B0011"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$5" @26
			    Parent_View 	@25
			    location   	(-351, 327)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @27
				Parent_View 	@26
				location   	(764, 1374)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	60
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C02B4C0044"
			    client     	@25
			    supplier   	@10
			    vertices   	(list Points
				(1233, 1415)
				(646, 1415))
			    line_style 	3
			    origin_attachment 	(1233, 1415)
			    terminal_attachment 	(646, 1415)
			    label      	(object SegLabel @28
				Parent_View 	@26
				location   	(706, 1362)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "ejbReferences" @29
			    Parent_View 	@25
			    location   	(-351, 327)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @30
				Parent_View 	@29
				location   	(1619, 1586)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+ejbReferences"
				pctDist    	0.638132
				height     	182
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"38C02B4C0045"
			    client     	@25
			    supplier   	@4
			    vertices   	(list Points
				(1233, 1415)
				(1437, 1415)
				(1437, 1798))
			    line_style 	3
			    origin_attachment 	(1233, 1415)
			    terminal_attachment 	(1437, 1798)
			    label      	(object SegLabel @31
				Parent_View 	@29
				location   	(1534, 1718)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.864668
				height     	97
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$6" @32
		    location   	(1549, 1268)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	16384
		    quidu      	"39895E8E00FD"
		    roleview_list 	(list RoleViews
			(object RoleView "resourceEnvRefs" @33
			    Parent_View 	@32
			    location   	(1165, 1012)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @34
				Parent_View 	@33
				location   	(2169, 997)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	338
				justify    	0
				label      	"+resourceEnvRefs"
				pctDist    	0.789588
				height     	179
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39895E8F033A"
			    client     	@32
			    supplier   	@5
			    vertices   	(list Points
				(1549, 1268)
				(1990, 1268)
				(1990, 806))
			    line_style 	3
			    origin_attachment 	(1549, 1268)
			    terminal_attachment 	(1990, 806)
			    label      	(object SegLabel @35
				Parent_View 	@33
				location   	(2038, 916)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.879377
				height     	48
				orientation 	1))
			(object RoleView "$UNNAMED$7" @36
			    Parent_View 	@32
			    location   	(1165, 1012)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39895E8F034E"
			    client     	@32
			    supplier   	@10
			    vertices   	(list Points
				(1549, 1268)
				(646, 1268))
			    line_style 	3
			    origin_attachment 	(1549, 1268)
			    terminal_attachment 	(646, 1268))))
		(object AssociationViewNew "$UNNAMED$8" @37
		    location   	(781, 760)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	32768
		    quidu      	"39895F3D029A"
		    roleview_list 	(list RoleViews
			(object RoleView "callbackHandler " @38
			    Parent_View 	@37
			    location   	(397, 504)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @39
				Parent_View 	@38
				location   	(984, 355)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	315
				justify    	0
				label      	"+callbackHandler "
				pctDist    	0.899209
				height     	203
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39895F3E01F1"
			    client     	@37
			    supplier   	@6
			    vertices   	(list Points
				(781, 760)
				(781, 309))
			    line_style 	3
			    origin_attachment 	(781, 760)
			    terminal_attachment 	(781, 309)
			    label      	(object SegLabel @40
				Parent_View 	@38
				location   	(718, 353)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.905138
				height     	64
				orientation 	0))
			(object RoleView "$UNNAMED$9" @41
			    Parent_View 	@37
			    location   	(397, 504)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"39895F3E0223"
			    client     	@37
			    supplier   	@10
			    vertices   	(list Points
				(781, 760)
				(781, 1076)
				(646, 1076))
			    line_style 	3
			    origin_attachment 	(781, 760)
			    terminal_attachment 	(646, 1076))))
		(object AssociationViewNew "$UNNAMED$10" @42
		    location   	(329, 1705)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3E53F4AC005F"
		    roleview_list 	(list RoleViews
			(object RoleView "serviceRefs" @43
			    Parent_View 	@42
			    location   	(-171, 1027)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @44
				Parent_View 	@43
				location   	(196, 1848)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	240
				justify    	0
				label      	"+serviceRefs"
				pctDist    	0.639344
				height     	134
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E53F4AC02F4"
			    client     	@42
			    supplier   	@7
			    vertices   	(list Points
				(329, 1705)
				(329, 1928))
			    line_style 	3
			    origin_attachment 	(329, 1705)
			    terminal_attachment 	(329, 1928)
			    label      	(object SegLabel @45
				Parent_View 	@43
				location   	(403, 1853)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.663934
				height     	74
				orientation 	0))
			(object RoleView "$UNNAMED$11" @46
			    Parent_View 	@42
			    location   	(-171, 1027)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E53F4AC0308"
			    client     	@42
			    supplier   	@10
			    vertices   	(list Points
				(329, 1705)
				(329, 1482))
			    line_style 	3
			    origin_attachment 	(329, 1705)
			    terminal_attachment 	(329, 1482))))
		(object AssociationViewNew "$UNNAMED$12" @47
		    location   	(896, 1080)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3E53F50701D2"
		    roleview_list 	(list RoleViews
			(object RoleView "messageDestinationRefs" @48
			    Parent_View 	@47
			    location   	(396, 402)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @49
				Parent_View 	@48
				location   	(1146, 876)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	474
				justify    	0
				label      	"+messageDestinationRefs"
				pctDist    	0.808765
				height     	250
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E53F50800B1"
			    client     	@47
			    supplier   	@8
			    vertices   	(list Points
				(896, 1080)
				(896, 827))
			    line_style 	3
			    origin_attachment 	(896, 1080)
			    terminal_attachment 	(896, 827)
			    label      	(object SegLabel @50
				Parent_View 	@48
				location   	(832, 876)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.808765
				height     	65
				orientation 	0))
			(object RoleView "$UNNAMED$13" @51
			    Parent_View 	@47
			    location   	(396, 402)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E53F50800BB"
			    client     	@47
			    supplier   	@10
			    vertices   	(list Points
				(896, 1080)
				(896, 1140)
				(646, 1140))
			    line_style 	3
			    origin_attachment 	(896, 1080)
			    terminal_attachment 	(646, 1140))))
		(object AssociationViewNew "$UNNAMED$14" @52
		    location   	(1401, 1202)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3E53F5DB0372"
		    roleview_list 	(list RoleViews
			(object RoleView "messageDestinations" @53
			    Parent_View 	@52
			    location   	(1023, -60)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @54
				Parent_View 	@53
				location   	(1767, 690)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	424
				justify    	0
				label      	"+messageDestinations"
				pctDist    	0.897567
				height     	201
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E53F5DD003F"
			    client     	@52
			    supplier   	@9
			    vertices   	(list Points
				(1401, 1202)
				(1566, 1202)
				(1566, 612))
			    line_style 	3
			    origin_attachment 	(1401, 1202)
			    terminal_attachment 	(1566, 612)
			    label      	(object SegLabel @55
				Parent_View 	@53
				location   	(1483, 674)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.918987
				height     	84
				orientation 	0))
			(object RoleView "$UNNAMED$15" @56
			    Parent_View 	@52
			    location   	(1023, -60)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3E53F5DD0053"
			    client     	@52
			    supplier   	@10
			    vertices   	(list Points
				(1401, 1202)
				(646, 1202))
			    line_style 	3
			    origin_attachment 	(1401, 1202)
			    terminal_attachment 	(646, 1202))))))
	(object ClassDiagram "resAuth Relation"
	    quid       	"38C0A0B10060"
	    title      	"resAuth Relation"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::client::ResAuthApplicationType" @57
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(275, 734)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@57
			location   	(31, 708)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"ResAuthApplicationType")
		    stereotype 	(object ItemLabel
			Parent_View 	@57
			location   	(31, 658)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	488
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C0A0C201A5"
		    width      	506
		    height     	176
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::common::ResAuthTypeBase" @58
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 240)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@58
			location   	(94, 93)
			fill_color 	13434879
			nlines     	1
			max_width  	356
			justify    	0
			label      	"ResAuthTypeBase")
		    stereotype 	(object ItemLabel
			Parent_View 	@58
			location   	(94, 43)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	353
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"38C09ED400B4"
		    width      	374
		    height     	418
		    annotation 	8
		    autoResize 	TRUE)))))
