// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . ide . actions Ċ Ċ import Ġcom . google . common . collect . Sets Ċ import Ġcom . intellij . ide . Ide Bundle Ċ import Ġcom . intellij . ide . cache s . Caches Invalid ator Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . ui . Dialog Wrapper Ċ import Ġcom . intellij . openapi . util . text . Html Chunk Ċ import Ġcom . intellij . ui . components . Link Ċ import Ġcom . intellij . ui . components . panels . Non Opaque Panel Ċ import Ġcom . intellij . ui . layout .* Ċ import Ġcom . intellij . util . ui . J BU I Ċ import Ġjava . awt . Border Layout Ċ import Ġjavax . swing . Action Ċ import Ġjavax . swing . J CheckBox Ċ import Ġjavax . swing . JPanel Ċ Ċ private Ġvar ĠAction . text ĊĠ Ġget () Ġ= ĠgetValue ( Action . NAME ) ĊĠ Ġset ( value ) Ġ= Ġput Value ( Action . NAME , Ġvalue ) Ċ Ċ class ĠIn validate Caches Dialog ( ĊĠ Ġproject : ĠProject ?, ĊĠ Ġprivate Ġval Ġcan Restart : ĠBoolean , ĊĠ Ġprivate Ġval Ġinvalid ators : ĠList < Caches Invalid ator >, Ċ ) Ġ: ĠDialog Wrapper ( project ) Ġ{ ĊĠ Ġprivate Ġval ĠJ UST _ RE START _ CODE Ġ= ĠNEXT _ USER _ EXIT _ CODE Ġ+ Ġ 3 ĊĊĠ Ġprivate Ġval Ġenabled Invalid ators : ĠMutable Set < Caches Invalid ator > Ġ= ĠSets . new Identity HashSet () ĊĊĠ Ġfun Ġget Selected Invalid ators () Ġ: ĠList < Caches Invalid ator > Ġ{ ĊĠĠĠ Ġif Ġ(! is OK ) Ġreturn Ġempty List () ĊĊĠĠĠ Ġreturn Ġinvalid ators . filter Ġ{ ĊĠĠĠĠĠ Ġit . description Ġ== Ġnull Ġ|| Ġit Ġin Ġenabled Invalid ators ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Help Id () Ġ= Ġ" invalidate - cache - restart " ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġtitle Ġ= ĠIde Bundle . message (" dialog . title . invalidate . cache s ") ĊĠĠĠ Ġset Resizable ( false ) ĊĠĠĠ Ġinit () ĊĊĠĠĠ Ġok Action . text Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠ Ġcan Restart Ġ-> ĠIde Bundle . message (" button . invalidate . and . restart ") ĊĠĠĠĠĠ Ġelse Ġ-> ĠIde Bundle . message (" button . invalidate . and . exit ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcancel Action . text Ġ= ĠIde Bundle . message (" button . cancel . without . mn emonic ") ĊĠ Ġ} ĊĊĠ Ġfun Ġis Restart Only () Ġ= Ġcan Restart Ġ&& Ġexit Code Ġ== ĠJ UST _ RE START _ CODE ĊĊĠ Ġoverride Ġfun Ġcreate South Additional Panel (): ĠJPanel ? Ġ{ ĊĠĠĠ Ġif Ġ(! can Restart ) Ġreturn Ġnull ĊĊĠĠĠ Ġval Ġlink Ġ= ĠLink ( Ide Bundle . message (" link . just . restart ")) Ġ{ ĊĠĠĠĠĠ Ġclose ( JUST _ RE START _ CODE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġpanel Ġ= ĠNon Opaque Panel ( Border Layout ()) ĊĠĠĠ Ġpanel . border Ġ= ĠJ BU I . B orders . empty Left ( 1 0 ) ĊĠĠĠ Ġpanel . add ( link ) ĊĠĠĠ Ġreturn Ġpanel ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Center Panel () Ġ= Ġpanel Ġ{ ĊĠĠĠ Ġrow Ġ{ ĊĠĠĠĠĠ Ġlabel ( ĊĠĠĠĠĠĠĠ ĠHtml Chunk ĊĠĠĠĠĠĠĠĠĠ Ġ. html () ĊĠĠĠĠĠĠĠĠĠ Ġ. add Text ( Ide Bundle . message (" dialog . message . cache s . will . be . invalid ated ")) ĊĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠ Ġ). grow Policy ( Grow Policy . MEDIUM _ TEXT ). constraints ( CC Flags . grow Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// we Ġkeep Ġthe Ġoriginal Ġorder Ġas Ġit Ġcomes Ġfrom Ġthe Ġextensions Ġorder ĊĠĠĠ Ġval Ġinvalid ators With Descriptor Ġ= Ġinvalid ators . map NotNull Ġ{ Ġit . description ?. to ( it ) Ġ} ĊĊĠĠĠ Ġif Ġ( invalid ators With Descriptor . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠ Ġrow Ġ{ ĊĠĠĠĠĠĠĠ Ġlabel ( Ide Bundle . message (" dialog . message . the . following . items ")) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( text , Ġdescr ) Ġin Ġinvalid ators With Descriptor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġrow Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠdefaultValue Ġ= Ġdescr . optional Checkbox DefaultValue () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdate Selected Ġ= Ġ{ Ġcb : ĠJ CheckBox Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcb . isSelected Ġ-> Ġenabled Invalid ators Ġ+= Ġdescr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġenabled Invalid ators Ġ-= Ġdescr ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Selected Ġ= ĠdefaultValue Ġ?: Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠcheckBox ( text , Ġis Selected , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomment Ġ= Ġdescr . comment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Listener Ġ= Ġ{ Ġ_, Ġcb Ġ-> Ġupdate Selected ( cb ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). component . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Enabled Ġ= ĠdefaultValue Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Selected ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ