package org.argeo.server.jxl.dao;
import java.io.InputStream;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import jxl.JXLException;
import jxl.Sheet;
import jxl.Workbook;
+import jxl.WorkbookSettings;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
private ClassLoader classLoader = getClass().getClassLoader();
private ApplicationContext applicationContext;
+ private List<Class<?>> additionalClasses = new ArrayList<Class<?>>();
private Map<Class<?>, Map<Object, Object>> model = new HashMap<Class<?>, Map<Object, Object>>();
private List<Resource> workbooks = new ArrayList<Resource>();
+ private Integer charset = 0;
+
public void afterPropertiesSet() throws Exception {
init();
}
log.debug(references.size() + " references linked");
}
+ public List<Class<?>> getSupportedClasses() {
+ List<Class<?>> res = new ArrayList<Class<?>>();
+ res.addAll(additionalClasses);
+ res.addAll(model.keySet());
+ return res;
+ }
+
public void load(InputStream in, List<Reference> references,
Map<String, List<Object>> tempRefs) {
try {
- Workbook workbook = Workbook.getWorkbook(in);
+ WorkbookSettings workbookSettings = new WorkbookSettings();
+ workbookSettings.setCharacterSet(charset);
+ Workbook workbook = Workbook.getWorkbook(in, workbookSettings);
for (Sheet sheet : workbook.getSheets()) {
loadSheet(sheet, references, tempRefs);
}
this.classLoader = classLoader;
}
+ public List<Class<?>> getAdditionalClasses() {
+ return additionalClasses;
+ }
+
+ public void setAdditionalClasses(List<Class<?>> additionalClasses) {
+ this.additionalClasses = additionalClasses;
+ }
+
+ public void setCharset(Integer charset) {
+ this.charset = charset;
+ }
+
public static class Reference {
private Object object;
private String property;