diff --git a/src/net/sf/gnukeyring/export/RvlXMLExport.java b/src/net/sf/gnukeyring/export/RvlXMLExport.java index 948ec7d..d187df1 100644 --- a/src/net/sf/gnukeyring/export/RvlXMLExport.java +++ b/src/net/sf/gnukeyring/export/RvlXMLExport.java @@ -47,43 +47,52 @@ public String xmlencode(String str) { } public void exportEntries() throws IOException { + List entries = keylib.getEntries(); Set categories= keylib.getCategories(); Date now = new Date(); - String nowString = String.valueOf(now.getTime()); - + String nowString = String.valueOf((long)(now.getTime()/1000L)); + for (Iterator i = categories.iterator(); i.hasNext(); ) { - String c = i.next().toString(); + Object o = i.next(); + if (o != null) { + String c = o.toString(); writer.write("\n"); writer.write(" "+xmlencode(c)+"\n"); writer.write(" \n"); writer.write(" "+nowString+"\n"); - - List entries = keylib.getEntries(c); - + for (Iterator j = entries.iterator(); j.hasNext(); ) { KeyringEntry entry = (KeyringEntry) j.next(); + String category = (String) entry.getCategory(); + if (category.equals(c)) { writer.write(" \n"); writer.write(" "+xmlencode(entry.getName())+"\n"); - String category = (String) entry.getCategory(); String account = (String) entry.getField("Account"); String password = (String) entry.getField("Password"); Date changed = (Date) entry.getField("Changed"); - String updated = String.valueOf(changed.getTime()); String notes = (String) entry.getField("Notes"); - if (notes != null) - writer.write(" "+xmlencode(notes)+"\n"); - if (changed != null) - writer.write(" "+updated+"\n"); + if (notes != null) { + if ((password !=null) && notes.equals(password)) { + writer.write(" \n"); + } else { + writer.write(" "+xmlencode(notes)+"\n"); + } + } + if (changed != null) { + String updated = String.valueOf((long)(changed.getTime()/1000L)); + writer.write(" "+updated+"\n"); + } if (account != null) - writer.write(" "+xmlencode(account)+"\n"); + writer.write(" "+xmlencode(account)+"\n"); if (password != null) - writer.write(" "+xmlencode(password)+"\n"); - writer.write(" \n"); + writer.write(" "+xmlencode(password)+"\n"); + writer.write(" \n"); + } } - - writer.write("\n"); + } + writer.write("\n"); } } }