X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Faaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Fconfigure%2FPropHolder.java;h=a0bd6e8b1fc85f1eebac8f633450ebb673ed07b6;hb=1296352d8eafee57f982a4342ad79ada4aa56d28;hp=d066d97abd3b687d1a9bc879d10106b419bcce16;hpb=05e268a2061beccd5bceb88a716aeafadb6dcc71;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/configure/PropHolder.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/configure/PropHolder.java index d066d97a..a0bd6e8b 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/configure/PropHolder.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/configure/PropHolder.java @@ -7,9 +7,9 @@ * 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. @@ -39,106 +39,106 @@ import certman.v1_0.Artifacts.Artifact; // Doing this because there are lots of lists spread out in this model... // we want these to be unique. public class PropHolder { - private File dir; - private File file; - private File keyfile; - private Symm symm; - private Map props; + private File dir; + private File file; + private File keyfile; + private Symm symm; + private Map props; - private static boolean dirMessage = true; + private static boolean dirMessage = true; protected final static Map propHolders = new HashMap<>(); public static PropHolder get(Artifact arti, String suffix) throws IOException { - File dir = new File(arti.getDir()); + File dir = new File(arti.getDir()); if (dir.exists()) { - if(dirMessage) { - System.out.println("Writing to " + dir.getCanonicalFile()); - } + if(dirMessage) { + System.out.println("Writing to " + dir.getCanonicalFile()); + } } else if (dir.mkdirs()) { - if(dirMessage) { - System.out.println("Created directory " + dir.getCanonicalFile()); - } + if(dirMessage) { + System.out.println("Created directory " + dir.getCanonicalFile()); + } } else { throw new IOException("Unable to create or write to " + dir.getCanonicalPath()); } dirMessage = false; - File file = new File(dir,arti.getNs()+'.'+suffix); - - PropHolder ph = propHolders.get(file.getAbsolutePath()); - if(ph == null) { - ph = new PropHolder(dir,file,new File(dir,arti.getNs()+".keyfile")); - propHolders.put(file.getAbsolutePath(), ph); - } - return ph; + File file = new File(dir,arti.getNs()+'.'+suffix); + + PropHolder ph = propHolders.get(file.getAbsolutePath()); + if(ph == null) { + ph = new PropHolder(dir,file,new File(dir,arti.getNs()+".keyfile")); + propHolders.put(file.getAbsolutePath(), ph); + } + return ph; + } + + private PropHolder(File dir, File file, File keyfile) throws IOException { + this.dir = dir; + this.file = file; + this.keyfile = keyfile; + symm = null; + props = new TreeMap<>(); + } + + public String getPath() { + return file.getAbsolutePath(); + } + + public File getDir() { + return dir; + } + + public String getKeyPath() { + return keyfile.getAbsolutePath(); + } + + public String add(final String tag, final String value) { + final String rv = value==null?"":value; + props.put(tag, rv); + return rv; + } + + public String add(final String tag, Access orig, final String def) { + return add(tag, orig.getProperty(tag, def)); } - - private PropHolder(File dir, File file, File keyfile) throws IOException { - this.dir = dir; - this.file = file; - this.keyfile = keyfile; - symm = null; - props = new TreeMap<>(); - } - - public String getPath() { - return file.getAbsolutePath(); - } - - public File getDir() { - return dir; - } - - public String getKeyPath() { - return keyfile.getAbsolutePath(); - } - - public String add(final String tag, final String value) { - final String rv = value==null?"":value; - props.put(tag, rv); - return rv; - } - - public String add(final String tag, Access orig, final String def) { - return add(tag, orig.getProperty(tag, def)); - } - - public String addEnc(final String tag, final String value) throws IOException { - String rv; - if(value==null) { - rv = ""; - } else { - if(symm==null) { // Lazy Instantiations... on a few PropFiles have Security - symm = ArtifactDir.getSymm(keyfile); - } - rv = "enc:"+symm.enpass(value); - } - props.put(tag, rv); - return rv; - } - - public void addEnc(final String tag, Access orig, final String def) throws IOException { - String pwd = orig.getProperty(tag, def); - if(pwd==null) { - return; - } else if(pwd.startsWith("enc:")) { - pwd = orig.decrypt(pwd, true); - } - addEnc(tag,pwd); - } - - public void write() throws IOException { + + public String addEnc(final String tag, final String value) throws IOException { + String rv; + if(value==null) { + rv = ""; + } else { + if(symm==null) { // Lazy Instantiations... on a few PropFiles have Security + symm = ArtifactDir.getSymm(keyfile); + } + rv = "enc:"+symm.enpass(value); + } + props.put(tag, rv); + return rv; + } + + public void addEnc(final String tag, Access orig, final String def) throws IOException { + String pwd = orig.getProperty(tag, def); + if(pwd==null) { + return; + } else if(pwd.startsWith("enc:")) { + pwd = orig.decrypt(pwd, true); + } + addEnc(tag,pwd); + } + + public void write() throws IOException { if (props.size()==0) { return; } if (file.exists()) { - System.out.println("Backing up " + file.getCanonicalPath()); + System.out.println("Backing up " + file.getCanonicalPath()); File backup = File.createTempFile(file.getName()+'.', ".backup",dir); file.renameTo(backup); } else { - System.out.println("Creating new " + file.getCanonicalPath()); + System.out.println("Creating new " + file.getCanonicalPath()); } - + // Append if not first PrintWriter pw = new PrintWriter(new FileWriter(file)); try { @@ -152,39 +152,32 @@ public class PropHolder { pw.println(System.getProperty("user.name")); pw.print("# on "); pw.println(Chrono.dateStamp()); - pw.println("# @copyright 2016, AT&T"); + pw.println("# @copyright 2019, AT&T"); for (int i=0;i<60;++i) { pw.print('#'); } pw.println(); - + for (Map.Entry me : props.entrySet()) { - String key = me.getKey(); - //if ( key.startsWith("cm_") -// || key.startsWith(Config.HOSTNAME) -// || key.startsWith("aaf") -// || key.startsWith("cadi") -// || key.startsWith("Challenge") -// ) { + String key = me.getKey(); pw.print(key); pw.print('='); pw.println(me.getValue()); -// } } } finally { pw.close(); } Chmod.to644.chmod(file); - } - - public static void writeAll() throws IOException { - for(PropHolder ph : propHolders.values()) { - ph.write(); - } - } - - @Override - public String toString() { - return file.getAbsolutePath() + ": " + props; - } + } + + public static void writeAll() throws IOException { + for(PropHolder ph : propHolders.values()) { + ph.write(); + } + } + + @Override + public String toString() { + return file.getAbsolutePath() + ": " + props; + } }