7. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 12/20/2017 5:56:00 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

7.1 Files compared

# Location File Last Modified
1 Genisis_2.0_v6_bld6.zip\Source Code\TS\Client\src\app\services mvp-services.ts Thu Dec 14 19:56:32 2017 UTC
2 Genisis_2.0_v6_bld6.zip\Source Code\TS\Client\src\app\services mvp-services.ts Wed Dec 20 20:02:53 2017 UTC

7.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 844
Changed 2 42
Inserted 0 0
Removed 0 0

7.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

7.4 Active regular expressions

No regular expressions were active.

7.5 Comparison detail

  1   import { I njectable  } from '@a ngular/cor e';
  2   import { N gRedux } f rom 'ng2-r edux';
  3   import { I AppState }  from '../ store';
  4   import { H ttp, Respo nse, Heade rs, Reques tOptions }  from '@an gular/http ';
  5   import { e nvironment  } from '. ./../envir onments/en vironment' ;
  6   import { A piServices  } from '. /api-servi ces';
  7   import { C onceptServ ices } fro m '../serv ices/conce pt-service s';
  8   import { B ookmarkSer vices } fr om '../ser vices/book mark-servi ces';
  9  
  10  
  11   import {
  12     SET_ADDI NG_DEFINIT ION_MVP_ST ATE,
  13     SET_ADDI NG_ALT_DEF INITION_MV P_STATE,
  14     SET_ADDI NG_SYNONYM _MVP_STATE ,
  15     RESET_AD D_MVP_STAT E,
  16     SET_CARD _DATA,
  17     CONCEPT_ CARD_MVP_A DDED,
  18     CONCEPT_ CARD_MVP_A DDING,
  19     DISPLAY_ CONCEPT_CA RD_DETAIL,
  20     SET_ADDI NG_SUPER_C LASS_MVP_S TATE,
  21     SET_ADDI NG_SUB_CLA SS_MVP_STA TE,
  22     SET_ADDI NG_INTER_O NTOLOGY_MV P_STATE,
  23     SET_ADDI NG_PROPERT Y_MVP_STAT E,
  24     SET_ADDI NG_RELATIO NSHIP_MVP_ STATE,
  25     SET_ADDI NG_MAPPING _DATA_ELEM ENT_MVP_ST ATE,
  26     SET_ADDI NG_MAPPING _ALGORITHM _MVP_STATE ,
  27     SET_ADDI NG_MAPPING _VALIDATIO N_MVP_STAT E,
  28     FETCH_BO OKMARKS,
  29     UPDATE_B OOKMARKED_ MAPPING,
  30     FOCUS_ON ,
  31   } from '.. /actions';
  32   @Injectabl e()
  33   export cla ss MvpServ ices {
  34     baseUri;
  35       mvpPrefix  = 'http:// URL /mvp-schem a#';
  36     rdfPrefi x = 'http: //www.w3.o rg/2000/01 /rdf-schem a#'; 
  37     construc tor(
  38       privat e ngRedux:  NgRedux<I AppState>,
  39       privat e apiServi ces: ApiSe rvices,
  40       privat e conceptS ervices: C onceptServ ices,
  41       privat e bookmark Services:  BookmarkSe rvices,
  42       privat e http: Ht tp) {
  43     }
  44  
  45     getState () {
  46       return  this.ngRe dux.getSta te();
  47     }
  48  
  49     // Maste r Service  Event Hand ler functi on
  50     enableMv pAddFor(ty pe = null,  tabType)  {
  51       switch (type) {
  52         case  'definiti on': 
  53           //  do what e ver redux  stuff need ed for def inition
  54           th is.ngRedux .dispatch( {
  55              type: SET_ ADDING_DEF INITION_MV P_STATE
  56           }) ;
  57           br eak;
  58         case  'alt-defi nitions':
  59           th is.ngRedux .dispatch( {
  60              type: SET_ ADDING_ALT _DEFINITIO N_MVP_STAT E
  61           }) ;
  62           br eak;
  63         case  'synonyms ':
  64           th is.ngRedux .dispatch( {
  65              type: SET_ ADDING_SYN ONYM_MVP_S TATE
  66           }) ;
  67           br eak;
  68         case  'super-cl asses':
  69           th is.ngRedux .dispatch( {
  70              type: SET_ ADDING_SUP ER_CLASS_M VP_STATE
  71           }) ;
  72           br eak;
  73         case  'sub-clas ses':
  74           th is.ngRedux .dispatch( {
  75              type: SET_ ADDING_SUB _CLASS_MVP _STATE
  76           }) ;
  77           br eak;
  78         case  'inter-on tologies':
  79           th is.ngRedux .dispatch( {
  80              type: SET_ ADDING_INT ER_ONTOLOG Y_MVP_STAT E
  81           }) ;
  82           br eak;
  83         case  'properti es':
  84           th is.ngRedux .dispatch( {
  85              type: SET_ ADDING_PRO PERTY_MVP_ STATE
  86           }) ;
  87           br eak;
  88         case  'relation ships':
  89           th is.ngRedux .dispatch( {
  90              type: SET_ ADDING_REL ATIONSHIP_ MVP_STATE
  91           }) ;
  92           br eak;
  93         case  'data-ele ments':
  94           th is.ngRedux .dispatch( {
  95              type: SET_ ADDING_MAP PING_DATA_ ELEMENT_MV P_STATE
  96           }) ;
  97           br eak;
  98         case  'algorith m':
  99           th is.ngRedux .dispatch( {
  100              type: SET_ ADDING_MAP PING_ALGOR ITHM_MVP_S TATE
  101           }) ;
  102           br eak;
  103         case  'validati on':
  104           th is.ngRedux .dispatch( {
  105              type: SET_ ADDING_MAP PING_VALID ATION_MVP_ STATE
  106           }) ;
  107           br eak;
  108         defa ult: 
  109           br eak;
  110         
  111       }
  112       this.f ocusOn(tab Type);
  113     }
  114  
  115     resetMvp AddState(t abType) {
  116       this.n gRedux.dis patch({
  117         type : RESET_AD D_MVP_STAT E
  118       });
  119       this.n gRedux.dis patch({
  120         type : FOCUS_ON ,
  121         payl oad: tabTy pe
  122       });
  123       
  124     }
  125  
  126     focusOn( tabType) {
  127       if (ta bType != n ull) {
  128         this .ngRedux.d ispatch({
  129           ty pe: FOCUS_ ON,
  130           pa yload: tab Type
  131         });
  132       }
  133     }
  134  
  135     // Maste r Service  Function
  136     addMvpCo ncept(opti ons = {typ e: null},  tabType) {
  137       this.n gRedux.dis patch({
  138         type : CONCEPT_ CARD_MVP_A DDING
  139       });
  140       switch (options.t ype) {
  141         case  'definiti on':
  142           th is.execute AddingDefi nition(opt ions, tabT ype);
  143           br eak;
  144         case  'alt-defi nitions':
  145           th is.execute AddingAltD efinitions (options,  tabType);
  146           br eak;
  147         case  'synonyms ':
  148           th is.execute AddingSyno nyms(optio ns, tabTyp e);
  149           br eak;
  150         case  'super-cl asses':
  151           th is.execute AddingSupe rClasses(o ptions, ta bType);
  152           br eak;
  153         case  'sub-clas ses':
  154           th is.execute AddingSubC lasses(opt ions, tabT ype);
  155          bre ak;
  156         case  'inter-on tologies':
  157           th is.execute AddingInte rOntologie s(options,  tabType);
  158           br eak;
  159         case  'properti es':
  160           th is.execute AddingProp erties(opt ions, tabT ype);
  161           br eak;
  162         case  'relation ships':
  163           th is.execute AddingRela tionships( options, t abType);
  164           br eak;
  165         case  'data-ele ments':
  166           th is.execute AddingMapp ingDataEle ments(opti ons, tabTy pe);
  167           br eak;
  168         case  'algorith m':
  169           th is.execute AddingMapp ingAlgorit hm(options , tabType) ;
  170           br eak;
  171         case  'validati on':
  172           th is.execute AddingMapp ingValidat ion(option s, tabType );
  173           br eak;
  174         defa ult:
  175           br eak;
  176       }
  177     }
  178  
  179     // Descr iption tab  sections  can be con solidated  to a switc h statemen t since
  180     // every thing afte r the trip le creatio n is the s ame...
  181     executeA ddingDefin ition(opti ons, tabTy pe) {
  182       let tr iple = {
  183         prop erties: [{
  184           s:  '<' + thi s.getCurre ntConceptU ri() + '>'
  185           p:  '<' + thi s.mvpPrefi x + 'Defin ition' + ' >',
  186           o:  options.o bject
  187         }]
  188       };
  189       return  this.crea teAddTripl eHttpReque st(triple)
  190         .sub scribe((re sponse: Re sponse) =>  {
  191           if  (response .status == = 200) {
  192              this.conce ptServices .reloadCon ceptCard(t abType);
  193           }
  194         });
  195     }
  196  
  197     executeA ddingAltDe finitions( options, t abType) {
  198       let tr iple = {
  199         prop erties: [{
  200           s:  '<' + thi s.getCurre ntConceptU ri() + '>'
  201           p:  '<' + thi s.mvpPrefi x + 'AltDe finition'  + '>',
  202           o:  options.o bject
  203         }]
  204       };
  205       return  this.crea teAddTripl eHttpReque st(triple)
  206         .sub scribe((re sponse: Re sponse) =>  {
  207           if  (response .status == = 200) {
  208              this.conce ptServices .reloadCon ceptCard(t abType);
  209           }
  210         });
  211     }
  212  
  213     executeA ddingSynon yms(option s, tabType ) {
  214       let tr iple = {
  215         prop erties: [{
  216           s:  '<' + thi s.getCurre ntConceptU ri() + '>'
  217           p:  '<' + thi s.mvpPrefi x + 'Synon ym' + '>',
  218           o:  options.o bject
  219         }]
  220       };
  221       return  this.crea teAddTripl eHttpReque st(triple)
  222         .sub scribe((re sponse: Re sponse) =>  {
  223           if  (response .status == = 200) {
  224              this.conce ptServices .reloadCon ceptCard(t abType);
  225           }
  226         });
  227     }
  228  
  229     executeA ddingSuper Classes(op tions, tab Type) {
  230       let tr iple = {
  231           pr operties:  [{
  232              s: '<' + t his.getCur rentConcep tUri() + ' >',
  233              p: '<' + t his.mvpPre fix + 'Sub ClassOf' +  '>',
  234              o: '<' + o ptions.obj ect + '>'
  235           }]
  236         };
  237       this.c reateAddTr ipleHttpRe quest(trip le)
  238         .sub scribe((re sponse: Re sponse) =>  {
  239           co nst rdata  = JSON.par se(respons e.text());
  240           if  (response .status == = 200) {
  241              this.conce ptServices .reloadCon ceptCard(t abType);
  242           }
  243         });
  244     }
  245  
  246     executeA ddingSubCl asses(opti ons, tabTy pe) {
  247       var co nceptNameU ri = optio ns.input.r eplace(/ / gi, '_');
  248       let tr iple = {
  249         prop erties: [{
  250           s:  '<' + thi s.mvpPrefi x + concep tNameUri +  '_?01>',
  251           p:  '<' + thi s.rdfPrefi x + 'label >',
  252           o:  options.i nput
  253         },
  254         {
  255           s:  '<' + thi s.mvpPrefi x + concep tNameUri +  '_?01' +  '>',
  256           p:  '<' + thi s.mvpPrefi x + 'SubCl assOf' + ' >',
  257           o:  '<' + thi s.getCurre ntConceptU ri() + '>'
  258         }]
  259       };
  260       this.c reateAddTr ipleHttpRe quest(trip le)
  261       .subsc ribe((resp onse: Resp onse) => {
  262         if ( response.s tatus ===  200) {
  263              this.conce ptServices .reloadCon ceptCard(t abType);
  264         }
  265       });
  266     }
  267  
  268     executeA ddingInter Ontologies (options,  tabType){
  269       let tr iple = {
  270         prop erties: [{
  271           s:  '<' + thi s.getCurre ntConceptU ri() + '>' ,
  272           p:  '<' + thi s.mvpPrefi x + 'Inter OntologyLi nk' + '>',
  273           o:  '<' + opt ions.objec t + '>'
  274         }]
  275       };
  276       return  this.crea teAddTripl eHttpReque st(triple)
  277         .sub scribe((re sponse: Re sponse) =>  {
  278           if  (response .status == = 200) {
  279              this.conce ptServices .reloadCon ceptCard(t abType);
  280           }
  281         });
  282     }
  283     
  284     executeA ddingPrope rties(opti ons, tabTy pe){
  285       let tr iple = {
  286         prop erties: [{
  287           s:  '<' + thi s.getCurre ntConceptU ri() + '>' ,
  288           p:  '<' + opt ions.predi cate + '>' ,
  289           o:  options.o bject
  290         }]
  291       };
  292       return  this.crea teAddTripl eHttpReque st(triple)
  293         .sub scribe((re sponse: Re sponse) =>  {
  294           if  (response .status == = 200) {
  295              this.conce ptServices .reloadCon ceptCard(t abType);
  296           }
  297         });
  298     }
  299     
  300     executeA ddingRelat ionships(o ptions, ta bType){
  301       let tr iple = {
  302         prop erties: [{
  303           s:  '<' + thi s.getCurre ntConceptU ri() + '>' ,
  304           p:  options.p redicate,
  305           o:  '<' + opt ions.objec t + '>'
  306         }]
  307       };
  308       return  this.crea teAddTripl eHttpReque st(triple)
  309         .sub scribe((re sponse: Re sponse) =>  {
  310           if  (response .status == = 200) {
  311              this.conce ptServices .reloadCon ceptCard(t abType);
  312           }
  313         });
  314     }
  315  
  316     executeA ddingMappi ngDataElem ents(optio ns, tabTyp e){
  317       let tr iple = {
  318         prop erties: [{
  319           s:  '<' + thi s.getCurre ntConceptU ri() + '>' ,
  320           p:  '<' + thi s.mvpPrefi x + 'Mappi ngDataElem ent' + '>' ,
  321           o:  '<' + opt ions.objec t + '>'
  322         }]
  323       };
  324       return  this.crea teAddTripl eHttpReque st(triple)
  325         .sub scribe((re sponse: Re sponse) =>  {
  326           if  (response .status == = 200) {
  327              this.conce ptServices .reloadCon ceptCard(t abType);
  328              this.ngRed ux.dispatc h({
  329                type: UP DATE_BOOKM ARKED_MAPP ING,
  330                payload:  {
  331                  mappin gFlag: tru e,
  332                  concep tUri: this .getCurren tConceptUr i()
  333                }
  334              });
  335           }
  336         });
  337     }
  338  
  339       execut eAddingMap pingAlgori thm(option s, tabType ){
  340       let tr iple = {
  341         prop erties: [{
  342           s:  '<' + thi s.getCurre ntConceptU ri() + '>' ,
  343           p:  '<' + thi s.mvpPrefi x + 'Mappi ngAlgorith m' + '>',
  344           o:  options.o bject
  345         }]
  346       };
  347       return  this.crea teAddTripl eHttpReque st(triple)
  348         .sub scribe((re sponse: Re sponse) =>  {
  349           if  (response .status == = 200) {
  350              this.conce ptServices .reloadCon ceptCard(t abType);
  351           }
  352         });
  353     }
  354  
  355       execut eAddingMap pingValida tion(optio ns, tabTyp e){
  356       let tr iple = {
  357         prop erties: [{
  358           s:  '<' + thi s.getCurre ntConceptU ri() + '>' ,
  359           p:  '<' + thi s.mvpPrefi x + 'Mappi ngValidati on' + '>',
  360           o:  options.o bject
  361         }]
  362       };
  363       return  this.crea teAddTripl eHttpReque st(triple)
  364         .sub scribe((re sponse: Re sponse) =>  {
  365           if  (response .status == = 200) {
  366              this.conce ptServices .reloadCon ceptCard(t abType);
  367           }
  368         });
  369     }
  370  
  371     getCurre ntConceptU ri() {
  372       return  this.getS tate().con ceptCard.c onceptCard Data.uri;
  373     }
  374  
  375     //http r equest to  add triple
  376     createAd dTripleHtt pRequest(b ody) {
  377       const  headers =  this.apiSe rvices.get Header();
  378       const  options =  new Reques tOptions({ headers: h eaders});
  379       return  this.http .post(this .apiServic es.apiUrl( ) + '/upda te', body,  options);
  380     }
  381  
  382     getPredi cateLabelL ist() {
  383       let pr edicateLis t: Array<a ny> = 
  384          [
  385             {label: 'M VP-AltDefi nition', u ri: 'http: // URL /mvp-schem a#AltDefin ition'},
  386             {label: 'M VP-Cleaned ', uri: 'h ttp:// URL /mvp-schem a#Cleaned' },
  387             {label: 'M VP-Cleanin gProcedure ', uri: 'h ttp:// URL /mvp-schem a#Cleaning Procedure' },
  388             {label: 'M VP-DataOut come', uri : 'http:// URL /mvp-schem a#DataOutc ome'},
  389             {label: 'M VP-DataSou rce', uri:  'http:// URL /mvp-schem a#DataSour ce'},
  390             {label: 'M VP-DataTra nsform', u ri: 'http: // URL /mvp-schem a#DataTran sform'},
  391             {label: 'M VP-Definit ion', uri:  'http:// URL /mvp-schem a#Definiti on'},
  392             {label: 'M VP-Element Type', uri : 'http:// URL /mvp-schem a#ElementT ype'},
  393             {label: 'M VP-GUID',  uri: 'http :// URL /mvp-schem a#GUID'},
  394             {label: 'M VP-InterOn tologyLink ', uri: 'h ttp:// URL /mvp-schem a#InterOnt ologyLink' },
  395             {label: 'M VP-Mapping Algorithm' , uri: 'ht tp:// URL /mvp-schem a#MappingA lgorithm'} ,
  396             {label: 'M VP-DataEle ment', uri : 'http:// URL /mvp-schem a#DataElem ent'},
  397             {label: 'M VP-Mapping Validation ', uri: 'h ttp:// URL /mvp-schem a#MappingV alidation' },
  398             {label: 'M VP-Source' , uri: 'ht tp:// URL /mvp-schem a#Source'} ,
  399             {label: 'M VP-Sensiti vity', uri : 'http:// URL /mvp-schem a#Sensitiv ity'},
  400             {label: 'M VP-Specifi city', uri : 'http:// URL /mvp-schem a#Specific ity'},
  401             {label: 'M VP-SubClas sOf', uri:  'http:// URL /mvp-schem a#SubClass Of'},
  402             {label: 'M VP-Synonym ', uri: 'h ttp:// URL /mvp-schem a#Synonym' },
  403             {label: 'M VP-Units',  uri: 'htt p:// URL /mvp-schem a#Units'},
  404             {label: 'M VP-Validat edBy', uri : 'http:// URL /mvp-schem a#Validate dBy'}];
  405  
  406       let la belPredica teObj: any  = {label:  'RDF-Labe l', uri: t his.rdfPre fix + 'lab el'};
  407       const  newPredica teList = p redicateLi st.concat( );
  408       newPre dicateList .push(labe lPredicate Obj);
  409       return  this.hasP ropertyPre dicate() ?  predicate List : new PredicateL ist;
  410     }
  411  
  412     hasPrope rtyPredica te() {
  413       var pr opertiesLi st = this. ngRedux.ge tState().c onceptCard .conceptCa rdData.met a.properti es;
  414       if (pr opertiesLi st !== nul l && prope rtiesList  !== undefi ned && pro pertiesLis t.length >  0) {
  415           re turn prope rtiesList. find(prope rtyObj =>  propertyOb j.property Uri === (t his.rdfPre fix + 'lab el')) != u ndefined;
  416       } else  {
  417           re turn false ;
  418       }
  419     }
  420  
  421     getMvpBo okmarkedCo nceptList( ){
  422       const  conceptCar dUri = thi s.getState ().concept Card.conce ptCardData .uri;
  423       const  bookmarked ConceptLis t = this.g etState(). bookmark.b ookmarks;
  424       const  newArray =  bookmarke dConceptLi st.filter(
  425         book mark => bo okmark.con ceptUri != = conceptC ardUri);
  426       if (ne wArray !=  null && ne wArray.len gth > 0) {
  427         retu rn newArra y;
  428       } else  {
  429         if ( bookmarked ConceptLis t.length = = 1 && boo kmarkedCon ceptList[0 ].conceptU ri === con ceptCardUr i) {
  430           re turn null;
  431         } el se {
  432           re turn bookm arkedConce ptList;
  433         }
  434       }
  435     }
  436  
  437     isConcep tMvp(){
  438       //retu rn this.ge tState().c onceptCard .conceptCa rdData.uri  != null ?  this.getS tate().con ceptCard.c onceptCard Data.uri.i ndexOf(thi s.mvpPrefi x) > -1 :  false
  439       return  true;
  440     }
  441  
  442  
  443   }