package Ġorg . jetbrains . plugins . http x . code Insight Ċ Ċ import Ġcom . intellij . code Insight . editor Actions . Copy Paste Pre Processor Ċ import Ġcom . intellij . httpClient . http . request . HttpRequest Psi File Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . openapi . editor . Raw Text Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġorg . jetbrains . plugins . http x . rest Client . execution . aliyun . Products Ċ Ċ class ĠAli yun Cli Copy Paste Pre Processor Ġ: ĠCopy Paste Pre Processor Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġpreprocess On Copy ( file : ĠPsi File ?, Ġstart Offsets : ĠInt Array ?, Ġend Offsets : ĠInt Array ?, Ġtext : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpreprocess On Paste ( project : ĠProject , Ġfile : ĠPsi File , Ġeditor : ĠEditor , Ġtext : ĠString , Ġraw Text : ĠRaw Text ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( file Ġ! is ĠHttpRequest Psi File ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtext ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! is Ali yun Cli ( text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtext ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ Ġ// Ġconvert Ġali yun Ġcli Ġto Ġhttp Ġrequest Ġcode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠAli yun Cli Parser ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Ġ= ĠProducts . instance (). find Product ( parser . service Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparser . httpRequest Code ( product !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Ali yun Cli ( text : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( text . startsWith (" aliyun Ġ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparts Ġ= Ġtext . split (' Ġ', Ġignore Case Ġ= Ġfalse , Ġlimit Ġ= Ġ 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parts . size Ġ>= Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Code Ġ= Ġparts [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Ġ= ĠProducts . instance (). find Product ( product Code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġproduct Ġ!= Ġnull Ġ&& Ġproduct . apis . contains ( parts [ 2 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ Ċ }