// Ġ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 . openapi . util . registry Ċ Ċ import Ġcom . intellij . application . options . Registry Manager Ċ import Ġcom . intellij . diagnostic . run Activity Ċ import Ġcom . intellij . openapi . components . Persistent State Component Ċ import Ġcom . intellij . openapi . components . State Ċ import Ġcom . intellij . openapi . components . Storage Ċ import Ġcom . intellij . openapi . diagnostic . logger Ċ import Ġcom . intellij . util . Array Util Rt Ċ import Ġorg . j dom . Element Ċ import Ġjava . util .* Ċ Ċ @ State ( name Ġ= Ġ" Registry ", Ġstorage s Ġ= Ġ[ Storage (" ide . general . xml ") ]) Ċ private Ġclass ĠRegistry ManagerImpl Ġ: ĠPersistent State Component < Element >, ĠRegistry Manager Ġ{ ĊĠ Ġinit Ġ{ ĊĠĠĠ Ġrun Activity (" registry Ġkeys Ġadding ") Ġ{ ĊĠĠĠĠĠ ĠRegistry Key Bean . add Keys From Plugins () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġ` is `( key : ĠString ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn ĠRegistry . get ( key ). as Boolean () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġint Value ( key : ĠString ) Ġ= ĠRegistry . get ( key ). as Integer () ĊĊĠ Ġoverride Ġfun Ġint Value ( key : ĠString , ĠdefaultValue : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠ Ġint Value ( key ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcatch Ġ( ignore : ĠMissing Resource Exception ) Ġ{ ĊĠĠĠĠĠ ĠdefaultValue ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget ( key : ĠString ) Ġ= ĠRegistry . get ( key ) ĊĊĠ Ġoverride Ġfun ĠgetState () Ġ= ĠRegistry . getInstance (). state ĊĊĠ Ġoverride Ġfun Ġno State Loaded () Ġ{ ĊĠĠĠ ĠRegistry . getInstance (). mark As Loaded () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġload State ( state : ĠElement ) Ġ{ ĊĠĠĠ Ġlog ( Registry . getInstance (). load State ( state )) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġlog ( user Properties : ĠMap < String , ĠString >) Ġ{ ĊĠĠĠ Ġif Ġ( user Properties . size Ġ<= Ġ( if Ġ( user Properties . containsKey (" ide . first Startup ")) Ġ 1 Ġelse Ġ 0 )) Ġ{ ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġkeys Ġ= ĠArray Util Rt . toString Array ( user Properties . keys ) ĊĠĠĠ ĠArrays . sort ( keys ) ĊĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder (" Registry Ġvalues Ġchanged Ġby Ġuser : Ġ") ĊĠĠĠ Ġfor Ġ( key Ġin Ġkeys ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ(" ide . first Startup " Ġ== Ġkey ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġbuilder . append ( key ). append (" Ġ= Ġ"). append ( user Properties [ key ]). append (", Ġ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġlogger < Registry Manager >(). info ( builder . substring ( 0 , Ġbuilder . length Ġ- Ġ 2 )) ĊĠ Ġ} Ċ }