/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 Ġå¤§ åīį èī¯ ä»ĭ Ġ( OH MA E ĠR y os uke ) Ċ Ġ* Ċ Ġ* ĠThis Ġsoftware Ġis Ġreleased Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ* Ġhttp :// opensource . org / licenses / MIT Ċ Ġ*/ Ċ Ċ package Ġnet . mm 2 d . up np . sample Ċ Ċ import Ġnet . mm 2 d . up np . Device Ċ import Ġjava . awt . Component Ċ import Ġjava . awt . Desktop Ċ import Ġjava . io . IOException Ċ import Ġjava . net . URI Ċ import Ġjava . net . UR ISyntaxException Ċ import Ġjavax . swing . J Frame Ċ import Ġjavax . swing . J MenuItem Ċ import Ġjavax . swing . J PopupMenu Ċ Ċ /** Ċ Ġ* Ġ@ author Ġ[ å¤§ åīį èī¯ ä»ĭ Ġ( OH MA E ĠR y os uke )]( mailto : ry o @ mm 2 d . net ) Ċ Ġ*/ Ċ class ĠDevice Node ( device : ĠDevice ) Ġ: ĠUp np Node ( device ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġdevice . service List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Service Node ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdevice . device List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Device Node ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Detail Xml (): ĠString Ġ= Ġformat Xml ( getUser Object (). description ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Object (): ĠDevice Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . getUser Object () Ġas ĠDevice ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetUser Object (). friendly Name Ġ+ Ġ" Ġ[" Ġ+ ĠgetUser Object (). ipAddress Ġ+ Ġ" ]" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġformat Description (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFormatter . format ( getUser Object ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow ContextMenu ( frame : ĠJ Frame , Ġinvok er : ĠComponent , Ġx : ĠInt , Ġy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmenu Ġ= ĠJ PopupMenu () ĊĠĠĠĠĠĠĠ ĠJ MenuItem (" Open ĠDevice ĠDescription "). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . addActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDesktop . get Desktop (). browse ( URI ( getUser Object (). location )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠUR ISyntaxException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmenu . add ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmenu . show ( inv oker , Ġx , Ġy ) ĊĠĠĠ Ġ} Ċ } Ċ