package Ġeu . t ib . ork g . prototype . statements . application Ċ Ċ import Ġeu . t ib . ork g . prototype . cont ributions . domain . model . Contributor Ċ import Ġeu . t ib . ork g . prototype . statements . domain . model . Research Field Service Ċ import Ġeu . t ib . ork g . prototype . statements . domain . model . Resource Ċ import Ġeu . t ib . ork g . prototype . statements . domain . model . ResourceId Ċ import Ġeu . t ib . ork g . prototype . statements . domain . model . Resource Service Ċ import Ġorg . springframework . data . domain . Page Ċ import Ġorg . springframework . data . domain . Page able Ċ import Ġorg . springframework . http . Response Entity Ċ import Ġorg . springframework . http . Response Entity . ok Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . PathVariable Ċ import Ġorg . springframework . web . bind . annotation . RequestMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ Ċ /** Ċ Ġ* ĠThis Ġcontroller Ġclass Ġf etches Ġa Ġlist Ġof Ċ Ġ* Ġproblems , Ġpapers , Ġetc ., Ġbased Ġon Ġa Ċ Ġ* Ġresearch Ġfield ĠID Ċ Ġ*/ Ċ @ RestController Ċ @ RequestMapping ("/ api / research - fields /") Ċ class ĠResearch Field Controller ( ĊĠĠĠ Ġprivate Ġval Ġservice : ĠResearch Field Service , ĊĠĠĠ Ġprivate Ġval Ġresource Service : ĠResource Service Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġresearch Ġproblems Ġand ĊĠĠĠĠ Ġ* Ġnumber Ġof Ġpapers Ġbased Ġon Ġa Ġresearch ĊĠĠĠĠ Ġ* Ġfield Ġ{ id } Ġthat Ġexclude s Ġthe ĊĠĠĠĠ Ġ* Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ problems ") ĊĠĠĠ Ġfun Ġget Research Problems Of Field ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Any >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Research Problems Of Field ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġresearch Ġproblems ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġincludes Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ sub fields / research - problems ") ĊĠĠĠ Ġfun Ġget Research Problems In cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Research Problems In cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġcontributors ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġincludes Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ sub fields / contributors ") ĊĠĠĠ Ġfun Ġget Contribut ors In cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Contributor >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Contribut ors In cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġcomparisons ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġincludes Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ sub fields / comp arisons ") ĊĠĠĠ Ġfun Ġget Comp arisons In cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Comp arisons In cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġpapers ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġincludes Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ sub fields / papers ") ĊĠĠĠ Ġfun Ġget P apers In cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . getP apers In cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġpapers ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġexclude s Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ papers ") ĊĠĠĠ Ġfun Ġget P apers Ex cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . getP apers Ex cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġcomparisons ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġexclude s Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ comp arisons ") ĊĠĠĠ Ġfun Ġget Comp arisons Ex cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Comp arisons Ex cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġcontributors ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ* Ġthat Ġexclude s Ġthe Ġsub - research Ġfields ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ contributors ") ĊĠĠĠ Ġfun Ġget Contribut ors Ex cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Contributor >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Contribut ors Ex cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF etches Ġall Ġthe Ġresearch Ġproblems ĊĠĠĠĠ Ġ* Ġbased Ġon Ġa Ġresearch Ġfield Ġ{ id } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GetMapping ("/ { id }/ research - problems ") ĊĠĠĠ Ġfun Ġget Research Problems Ex cluding Sub Fields ( ĊĠĠĠĠĠĠĠ Ġ@ PathVariable Ġid : ĠResource Id , ĊĠĠĠĠĠĠĠ Ġpage able : ĠPage able ĊĠĠĠ Ġ): ĠResponseEntity < Page < Resource >> Ġ{ ĊĠĠĠĠĠĠĠ Ġresource Service . findById ( id ). orElse Throw Ġ{ ĠResource NotFound () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġok ( service . get Research Problems Ex cluding Sub Fields ( id , Ġpage able )) ĊĠĠĠ Ġ} Ċ } Ċ