5. Araxis Merge ファイル比較レポート

このレポートは Araxis Merge11/20/2017 2:20:34 PM GMT Standard Time によって作成されました。Merge に関する情報については www.araxis.com をご覧ください。このレポートは XHTML と CSS2 を使用し、最新の標準基準に準拠したブラウザでご覧になれます。このレポートを印刷するための最適条件は、背景の色とイメージの印刷を可能にして、印刷の向きは横を使用します。

5.1 ファイルの比較

# ロケーション ファイル 更新日時
1 Mon Nov 20 14:20:34 2017 UTC
2 C:\Merge Test Files\8.5.23\java\org\apache\catalina\authenticator\jaspic PersistentProviderRegistrations.java Thu Sep 28 11:32:16 2017 UTC

5.2 比較の概要

説明 第1ファイルと第2ファイル
テキスト ブロック
変更なし 0 0
変更箇所 0 0
挿入箇所 1 257
削除箇所 0 0

5.3 比較のオプション

余白 連続した空白文字を 1 文字として扱う
大文字/小文字 大文字と小文字の相違を意味のあるものとして扱う
行終端文字 行終端文字(CRLF 文字)の相違を無視する
CR/LF 文字 比較の詳細に示されない

5.4 有効な正規表現

有効な正規表現はありません。

5.5 比較の詳細

        1   /**
        2    *  Licens ed to the  Apache Sof tware Foun dation (AS F) under o ne or more
        3    *  contri butor lice nse agreem ents.  See  the NOTIC E file dis tributed w ith
        4    *  this w ork for ad ditional i nformation  regarding  copyright  ownership .
        5    *  The AS F licenses  this file  to You un der the Ap ache Licen se, Versio n 2.0
        6    *  (the " License");  you may n ot use thi s file exc ept in com pliance wi th
        7    *  the Li cense.  Yo u may obta in a copy  of the Lic ense at
        8    *
        9    *     htt p://www.ap ache.org/l icenses/LI CENSE-2.0
        10    *
        11    *  Unless  required  by applica ble law or  agreed to  in writin g, softwar e
        12    *  distri buted unde r the Lice nse is dis tributed o n an "AS I S" BASIS,
        13    *  WITHOU T WARRANTI ES OR COND ITIONS OF  ANY KIND,  either exp ress or im plied.
        14    *  See th e License  for the sp ecific lan guage gove rning perm issions an d
        15    *  limita tions unde r the Lice nse.
        16    */
        17   package or g.apache.c atalina.au thenticato r.jaspic;
        18  
        19   import jav a.io.File;
        20   import jav a.io.FileI nputStream ;
        21   import jav a.io.FileO utputStrea m;
        22   import jav a.io.IOExc eption;
        23   import jav a.io.Input Stream;
        24   import jav a.io.Outpu tStream;
        25   import jav a.io.Outpu tStreamWri ter;
        26   import jav a.io.Write r;
        27   import jav a.nio.char set.Standa rdCharsets ;
        28   import jav a.util.Arr ayList;
        29   import jav a.util.Has hMap;
        30   import jav a.util.Lis t;
        31   import jav a.util.Map ;
        32   import jav a.util.Map .Entry;
        33  
        34   import org .apache.ju li.logging .Log;
        35   import org .apache.ju li.logging .LogFactor y;
        36   import org .apache.to mcat.util. digester.D igester;
        37   import org .apache.to mcat.util. res.String Manager;
        38   import org .xml.sax.S AXExceptio n;
        39  
        40   /**
        41    * Utility  class for  the loadi ng and sav ing of JAS PIC persis tent provi der
        42    * registr ations.
        43    */
        44   final clas s Persiste ntProvider Registrati ons {
        45  
        46       privat e static f inal Log l og = LogFa ctory.getL og(Persist entProvide rRegistrat ions.class );
        47       privat e static f inal Strin gManager s m =
        48                StringMa nager.getM anager(Per sistentPro viderRegis trations.c lass);
        49  
        50  
        51       privat e Persiste ntProvider Registrati ons() {
        52           //  Utility c lass. Hide  default c onstructor
        53       }
        54  
        55  
        56       static  Providers  loadProvi ders(File  configFile ) {
        57           tr y (InputSt ream is =  new FileIn putStream( configFile )) {
        58                // Const ruct a dig ester to r ead the XM L input fi le
        59                Digester  digester  = new Dige ster();
        60  
        61                try {
        62                    dige ster.setFe ature("htt p://apache .org/xml/f eatures/al low-java-e ncodings",  true);
        63                    dige ster.setVa lidating(t rue);
        64                    dige ster.setNa mespaceAwa re(true);
        65                } catch  (Exception  e) {
        66                    thro w new Secu rityExcept ion(e);
        67                }
        68  
        69                // Creat e an objec t to hold  the parse  results an d put it o n the top
        70                // of th e digester 's stack
        71                Provider s result =  new Provi ders();
        72                digester .push(resu lt);
        73  
        74                // Confi gure the d igester
        75                digester .addObject Create("ja spic-provi ders/provi der", Prov ider.class .getName() );
        76                digester .addSetPro perties("j aspic-prov iders/prov ider");
        77                digester .addSetNex t("jaspic- providers/ provider",  "addProvi der", Prov ider.class .getName() );
        78  
        79                digester .addObject Create("ja spic-provi ders/provi der/proper ty", Prope rty.class. getName()) ;
        80                digester .addSetPro perties("j aspic-prov iders/prov ider/prope rty");
        81                digester .addSetNex t("jaspic- providers/ provider/p roperty",  "addProper ty", Prope rty.class. getName()) ;
        82  
        83                // Parse  the input
        84                digester .parse(is) ;
        85  
        86                return r esult;
        87           }  catch (IOE xception |  SAXExcept ion e) {
        88                throw ne w Security Exception( e);
        89           }
        90       }
        91  
        92  
        93       static  void writ eProviders (Providers  providers , File con figFile) {
        94           Fi le configF ileOld = n ew File(co nfigFile.g etAbsolute Path() + " .old");
        95           Fi le configF ileNew = n ew File(co nfigFile.g etAbsolute Path() + " .new");
        96  
        97           //  Remove le ft over te mporary fi les if pre sent
        98           if  (configFi leOld.exis ts()) {
        99                if (conf igFileOld. delete())  {
        100                    thro w new Secu rityExcept ion(sm.get String(
        101                             "persi stentProvi derRegistr ations.exi stsDeleteF ail",
        102                             config FileOld.ge tAbsoluteP ath()));
        103                }
        104           }
        105           if  (configFi leNew.exis ts()) {
        106                if (conf igFileNew. delete())  {
        107                    thro w new Secu rityExcept ion(sm.get String(
        108                             "persi stentProvi derRegistr ations.exi stsDeleteF ail",
        109                             config FileNew.ge tAbsoluteP ath()));
        110                }
        111           }
        112  
        113           //  Write out  the provi ders to th e temporar y new file
        114           tr y (OutputS tream fos  = new File OutputStre am(configF ileNew);
        115                    Writ er writer  = new Outp utStreamWr iter(fos,  StandardCh arsets.UTF _8)) {
        116                writer.w rite(
        117                         "<?xml ver sion='1.0'  encoding= 'utf-8'?>\ n" +
        118                         "<jaspic-p roviders\n " +
        119                         "    xmlns =\"http:// tomcat.apa che.org/xm l\"\n" +
        120                         "    xmlns :xsi=\"htt p://www.w3 .org/2001/ XMLSchema- instance\" \n" +
        121                         "    xsi:s chemaLocat ion=\"http ://tomcat. apache.org /xml jaspi c-provider s.xsd\"\n"  +
        122                         "    versi on=\"1.0\" >\n");
        123                for (Pro vider prov ider : pro viders.pro viders) {
        124                    writ er.write("   <provide r classNam e=\"");
        125                    writ er.write(p rovider.ge tClassName ());
        126                    writ er.write(" \" layer=\ "");
        127                    writ er.write(p rovider.ge tLayer());
        128                    writ er.write(" \" appCont ext=\"");
        129                    writ er.write(p rovider.ge tAppContex t());
        130                    if ( provider.g etDescript ion() != n ull) {
        131                         writer.wri te("\" des cription=\ "");
        132                         writer.wri te(provide r.getDescr iption());
        133                    }
        134                    writ er.write(" \">\n");
        135                    for  (Entry<Str ing,String > entry :  provider.g etProperti es().entry Set()) {
        136                         writer.wri te("    <p roperty na me=\"");
        137                         writer.wri te(entry.g etKey());
        138                         writer.wri te("\" val ue=\"");
        139                         writer.wri te(entry.g etValue()) ;
        140                         writer.wri te("\"/>\n ");
        141                    }
        142                    writ er.write("   </provid er>\n");
        143                }
        144                writer.w rite("</ja spic-provi ders>\n");
        145           }  catch (IOE xception e ) {
        146                configFi leNew.dele te();
        147                throw ne w Security Exception( e);
        148           }
        149  
        150           //  Move the  current fi le out of  the way
        151           if  (configFi le.isFile( )) {
        152                if (!con figFile.re nameTo(con figFileOld )) {
        153                    thro w new Secu rityExcept ion(sm.get String("pe rsistentPr oviderRegi strations. moveFail",
        154                             config File.getAb solutePath (), config FileOld.ge tAbsoluteP ath()));
        155                }
        156           }
        157  
        158           //  Move the  new file i nto place
        159           if  (!configF ileNew.ren ameTo(conf igFile)) {
        160                throw ne w Security Exception( sm.getStri ng("persis tentProvid erRegistra tions.move Fail",
        161                         configFile New.getAbs olutePath( ), configF ile.getAbs olutePath( )));
        162           }
        163  
        164           //  Remove th e old file
        165           if  (configFi leOld.exis ts() && !c onfigFileO ld.delete( )) {
        166                log.warn (sm.getStr ing("persi stentProvi derRegistr ations.del eteFail",
        167                         configFile Old.getAbs olutePath( )));
        168           }
        169       }
        170  
        171  
        172       public  static cl ass Provid ers {
        173           pr ivate fina l List<Pro vider> pro viders = n ew ArrayLi st<>();
        174  
        175           pu blic void  addProvide r(Provider  provider)  {
        176                provider s.add(prov ider);
        177           }
        178  
        179           pu blic List< Provider>  getProvide rs() {
        180                return p roviders;
        181           }
        182       }
        183  
        184  
        185       public  static cl ass Provid er {
        186           pr ivate Stri ng classNa me;
        187           pr ivate Stri ng layer;
        188           pr ivate Stri ng appCont ext;
        189           pr ivate Stri ng descrip tion;
        190           pr ivate fina l Map<Stri ng,String>  propertie s = new Ha shMap<>();
        191  
        192  
        193           pu blic Strin g getClass Name() {
        194                return c lassName;
        195           }
        196           pu blic void  setClassNa me(String  className)  {
        197                this.cla ssName = c lassName;
        198           }
        199  
        200  
        201           pu blic Strin g getLayer () {
        202                return l ayer;
        203           }
        204           pu blic void  setLayer(S tring laye r) {
        205                this.lay er = layer ;
        206           }
        207  
        208  
        209           pu blic Strin g getAppCo ntext() {
        210                return a ppContext;
        211           }
        212           pu blic void  setAppCont ext(String  appContex t) {
        213                this.app Context =  appContext ;
        214           }
        215  
        216  
        217           pu blic Strin g getDescr iption() {
        218                return d escription ;
        219           }
        220           pu blic void  setDescrip tion(Strin g descript ion) {
        221                this.des cription =  descripti on;
        222           }
        223  
        224  
        225           pu blic void  addPropert y(Property  property)  {
        226                properti es.put(pro perty.getN ame(), pro perty.getV alue());
        227           }
        228           vo id addProp erty(Strin g name, St ring value ) {
        229                properti es.put(nam e, value);
        230           }
        231           pu blic Map<S tring,Stri ng> getPro perties()  {
        232                return p roperties;
        233           }
        234       }
        235  
        236  
        237       public  static cl ass Proper ty {
        238           pr ivate Stri ng name;
        239           pr ivate Stri ng value;
        240  
        241  
        242           pu blic Strin g getName( ) {
        243                return n ame;
        244           }
        245           pu blic void  setName(St ring name)  {
        246                this.nam e = name;
        247           }
        248  
        249  
        250           pu blic Strin g getValue () {
        251                return v alue;
        252           }
        253           pu blic void  setValue(S tring valu e) {
        254                this.val ue = value ;
        255           }
        256       }
        257   }