shuber 2004/10/15 19:11:28 CEST
Modified files:
war/src/java/org/jahia/webapps/addressbook
AdbApplicationDB.java
AddressBookServlet.java
DbAddBook.java
Log:
JAHIA-196 : Webapps 4.0.5: various bugs
Corrected :
Address Book: export function exports with an ADB extension (?), why not .csv? + the
export does not use comma but ";" which are now not directly correctly opened by Excel
(all the columns in one single cell)
Revision Changes Path
1.2 +1 -1
addressbook/war/src/java/org/jahia/webapps/addressbook/AdbApplicationDB.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/addressbook/war/src/java/org/jahia/webapps/addressbook/AdbApplicationDB.java.diff?r1=1.1&r2=1.2&f=h
1.2 +1 -1
addressbook/war/src/java/org/jahia/webapps/addressbook/AddressBookServlet.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/addressbook/war/src/java/org/jahia/webapps/addressbook/AddressBookServlet.java.diff?r1=1.1&r2=1.2&f=h
1.2 +17 -5
addressbook/war/src/java/org/jahia/webapps/addressbook/DbAddBook.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/addressbook/war/src/java/org/jahia/webapps/addressbook/DbAddBook.java.diff?r1=1.1&r2=1.2&f=h
Index: AdbApplicationDB.java
===================================================================
RCS file:
/home/cvs/repository/addressbook/war/src/java/org/jahia/webapps/addressbook/AdbApplicationDB.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AdbApplicationDB.java 13 Sep 2004 12:53:14 -0000 1.1
+++ AdbApplicationDB.java 15 Oct 2004 17:11:28 -0000 1.2
@@ -739,7 +739,7 @@
try {
Criteria crit1 = new Criteria();
- crit1.addEqualTo("contac_id", new Integer(id));
+ crit1.addEqualTo("contact_id", new Integer(id));
Query q = QueryFactory.newQuery(Contact.class, crit1);
broker.clearCache();
Collection userColl = broker.getCollectionByQuery(q);
Index: AddressBookServlet.java
===================================================================
RCS file:
/home/cvs/repository/addressbook/war/src/java/org/jahia/webapps/addressbook/AddressBookServlet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AddressBookServlet.java 13 Sep 2004 12:53:14 -0000 1.1
+++ AddressBookServlet.java 15 Oct 2004 17:11:28 -0000 1.2
@@ -299,7 +299,7 @@
try {
String filePath = AddbookHandler.save(request);
Tools.toConsole("AddressbookServlet: doGet","File saved: path = " +
filePath);
- FileDownload fdwn = new
FileDownload(request,response,"AddressBook.adb",filePath,"bin/octet-stream");
+ FileDownload fdwn = new
FileDownload(request,response,"AddressBook.csv",filePath,"text/csv");
fdwn.writeFileContentToResponse();
// Delete temp file
try {
Index: DbAddBook.java
===================================================================
RCS file:
/home/cvs/repository/addressbook/war/src/java/org/jahia/webapps/addressbook/DbAddBook.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DbAddBook.java 13 Sep 2004 12:53:14 -0000 1.1
+++ DbAddBook.java 15 Oct 2004 17:11:28 -0000 1.2
@@ -25,7 +25,7 @@
private AddressBook addbookRef;
- private static String SEPARATOR = ";";
+ private static String SEPARATOR = ",";
/**
@@ -111,6 +111,18 @@
+ private static String toExportFormat(String input) {
+ if (input == null) {
+ return null;
+ }
+ StringBuffer sb = new StringBuffer(input);
+ if (input.indexOf(",") != -1) {
+ String result = Tools.replace(input, "\"", "\"\"");
+ return "\"" + result + "\"";
+ } else {
+ return input;
+ }
+ }
/**
* Method save : save the content of the address book in a flat file
@@ -128,7 +140,7 @@
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
for(int i = 1; i <= numberOfColumns; i++) {
- out.print(rsmd.getColumnName(i) + SEPARATOR);
+ out.print(toExportFormat(rsmd.getColumnName(i)) + SEPARATOR);
}
out.print("\n");
int nb = 0;
@@ -142,7 +154,7 @@
// Character c= table[0].toUppercase();
String provisoire= table.substring(1);
//String classe= c.concat(provisoire);
- out.print(readData(table,rs.getInt(column)) + SEPARATOR);
+ out.print(toExportFormat(readData(table,rs.getInt(column))) +
SEPARATOR);
} else if (column.equals("company")) {
String company = rs.getString(column);
@@ -154,10 +166,10 @@
} catch(NumberFormatException nfe) {
// nothing to do, company is not a reference to an existing contact
}
- out.print(company + SEPARATOR);
+ out.print(toExportFormat(company) + SEPARATOR);
} else {
- out.print(rs.getString(column) + SEPARATOR);
+ out.print(toExportFormat(rs.getString(column)) + SEPARATOR);
}
}
out.print("\n");