public class FileGetter {
private static final String AAF_FILEGETTER = "aaf_filegetter";
- public static boolean isLoaded = false;
+ private static boolean isLoaded = false;
private static FileGetter singleton;
-
+ private static List<CredDAO.Data> EMPTY = new ArrayList<>();
private Map<String,List<CredDAO.Data>> data;
private SimpleDateFormat sdf;
private FileGetter(Access access) {
if(CredDAO.CERT_SHA256_RSA == type) {
return;
}
+ byte ba[];
CredDAO.Data cdd = new CredDAO.Data();
cdd.id=row.get(0);
cdd.type = type;
try {
cdd.expires = sdf.parse(row.get(2));
- cdd.cred = ByteBuffer.wrap(Hash.fromHex(row.get(3)));
+ // Note: Note sure this can be null, but throwing was
+ // part of original "fromHex" method. Remove if you can
+ // prove ba will never be null J - May 19,2020
+ if((ba=Hash.fromHex(row.get(3)))==null) {
+ throw new CadiException("Invalid Cred");
+ }
+ cdd.cred = ByteBuffer.wrap(ba);
cdd.notes= row.get(4);
cdd.ns = row.get(5);
cdd.other = Integer.parseInt(row.get(6));
singleton = new FileGetter(access);
}
return singleton;
-
}
+
public Getter<CredDAO.Data> getter(String id) {
return new FGetter(id);
}
- private static List<CredDAO.Data> EMPTY = new ArrayList<>();
+
public class FGetter implements Getter<CredDAO.Data> {
private final List<CredDAO.Data> lcdd;
public FGetter(final String id) {
public static void main(String[] args) {
PropAccess access = new PropAccess(args);
- access.setProperty(AAF_FILEGETTER,"/Users/jg1555/cred.dat");
+ access.setProperty(AAF_FILEGETTER,"/opt/app/aaf/data/cred.dat");
FileGetter fg = FileGetter.singleton(access);
for(String id : new String[] {"m01891@aaf.att.com","bogus"}) {
}
}
}
+
+ public static boolean isLoaded() {
+ return isLoaded;
+ }
}