/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 0 9 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . jetbrains . idea . maven . dom . converters Ċ Ċ import Ġcom . intellij . openapi . util . text . StringUtil Ċ import Ġcom . intellij . util . text . Version Comparator Util Ċ import Ġcom . intellij . util . xml . Convert Context Ċ import Ġorg . jetbrains . idea . maven . dom . converters . Maven Consumer P om Util . getParent Version For Consumer P om Ċ import Ġorg . jetbrains . idea . maven . dom . converters . Maven Consumer P om Util . is Consumer P om Resolution Applicable Ċ import Ġorg . jetbrains . idea . maven . indices . Maven Project Indices Manager Ċ import Ġorg . jetbrains . idea . maven . model . Maven Id Ċ import Ġorg . jetbrains . idea . maven . project . Maven Workspace Settings Component Ċ import Ġorg . jetbrains . idea . maven . utils . Maven Util Ċ import Ġorg . jetbrains . idea . repo search . Dependency Search Service Ċ import Ġjava . util . regex . Pattern Ċ Ċ class ĠMaven Artifact Coordinates Version Converter Ġ: ĠMaven Artifact Coordinates Converter () Ġ{ ĊĠ Ġoverride Ġfun Ġfrom String ( s : ĠString ?, Ġcontext : ĠConvert Context ): ĠString ? Ġ{ ĊĠĠĠ Ġif Ġ( s Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġsuper . fromString ( s , Ġcontext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( is Consumer P om Resolution Applicable ( context . project )) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠgetParent Version For Consumer P om ( context ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĊĠ Ġoverride Ġfun Ġdo IsValid ( id : ĠMaven Id , Ġmanager : ĠMaven Project Indices Manager , Ġcontext : ĠConvert Context ): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( StringUtil . isEmpty ( id . groupId ) Ġ|| ĠString Util . isEmpty ( id . artifactId )) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmaven Version Ġ= ĠMaven Util . getM aven Version ( ĊĠĠĠĠĠ ĠMaven Workspace Settings Component . getInstance ( context . project ). settings . general Settings . effective Maven Home ) ĊĠĠĠ Ġif Ġ( Version Comparator Util . compare ( maven Version , Ġ" 3 . 6 . 3 ") Ġ<= Ġ 0 Ġ&& Ġid . version Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( id . version Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠgetParent Version For Consumer P om ( context ) Ġ!= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( id . version !!. isBlank ()) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġif Ġ( MAGIC _ VERSION _ PATTERN . matcher ( id . version !! ). matches ()) Ġtrue ĊĠĠĠ Ġelse Ġmanager . has Version ( id . groupId , Ġid . artifactId , Ġid . version ) Ġ// Ġtodo Ġhandle Ġranges Ġmore Ġsens ibly ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġdo Get Variants ( id : ĠMaven Id , Ġsearch Service : ĠDependency Search Service ): ĠSet < String > Ġ{ ĊĠĠĠ Ġ// ĠDo Ġnothing . ĠCompletion Ġvariants Ġare Ġgenerated Ġby ĠMaven Version Completion Contributor . ĊĠĠĠ Ġreturn Ġempty Set () ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġval ĠMAG IC _ VERSION _ PATTERN Ġ= ĠPattern . compile ( ĊĠĠĠĠĠ Ġ"\\ s *( ?: LATE ST | RELEASE | [( \\ []. * | .* - 2 0 \\ d { 6 }\\ .[ 0 - 2 ]\\ d { 5 }- \\ d +) \\ s * ") ĊĠ Ġ} Ċ }