]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/runtime/org.argeo.server.jxl/src/main/java/org/argeo/server/jxl/dao/JxlDaoSupport.java
Update license headers
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jxl / src / main / java / org / argeo / server / jxl / dao / JxlDaoSupport.java
index 79fa2a606efb0d699b9cc0f4a5d46dd11ad43218..01e027047ce7fc10d8563d092e7c103143d09dab 100644 (file)
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.argeo.server.jxl.dao;
 
 import java.io.InputStream;
@@ -20,13 +35,12 @@ import jxl.WorkbookSettings;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.argeo.server.ArgeoServerException;
+import org.argeo.ArgeoException;
 import org.argeo.server.dao.AbstractTabularDaoSupport;
 import org.argeo.server.dao.LightDaoSupport;
 import org.springframework.beans.BeanWrapper;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.context.ApplicationContextAware;
-import org.springframework.core.io.Resource;
 import org.springframework.util.StringUtils;
 
 public class JxlDaoSupport extends AbstractTabularDaoSupport implements
@@ -47,7 +61,7 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                                loadSheet(sheet, references);
                        }
                } catch (Exception e) {
-                       throw new ArgeoServerException("Cannot load workbook", e);
+                       throw new ArgeoException("Cannot load workbook", e);
                }
        }
 
@@ -79,7 +93,7 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                                if (keyProperty == null)
                                        keyProperty = fieldName;
                                if (!espSt.hasMoreTokens())
-                                       throw new ArgeoServerException("Badly formatted sheetname "
+                                       throw new ArgeoException("Badly formatted sheetname "
                                                        + sheetName);
                                String fieldValue = espSt.nextToken();
                                bw.setPropertyValue(fieldName, fieldValue);
@@ -215,6 +229,8 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                                        for (int col = 1; col < currentRow.length; col++) {
                                                subKeys.add(getCellValue(currentRow[col]));
                                        }
+                                       if (log.isTraceEnabled())
+                                               log.trace("   subKeys=" + subKeys);
                                        row++;
                                        String firstColContents = firstColumn[row].getContents();
                                        mapRows: for (; row < firstColumn.length; row++) {
@@ -223,9 +239,9 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                                                Object key = firstColContents;
                                                Map<Object, Object> subMap = new HashMap<Object, Object>();
 
-                                               for (int col = 0; col < currentRow.length
-                                                               && col < subKeys.size(); col++) {
-                                                       Object subKey = subKeys.get(col);
+                                               for (int col = 1; col < currentRow.length
+                                                               && col < subKeys.size() + 1; col++) {
+                                                       Object subKey = subKeys.get(col - 1);
                                                        Cell cell = currentRow[col];
                                                        if (log.isTraceEnabled())
                                                                log.trace("   row=" + row
@@ -244,6 +260,7 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                                                if (bw.isWritableProperty(firstColContents)
                                                                || firstColContents.trim().equals("")
                                                                || row == firstColumn.length - 1) {
+                                                       log.trace(map);
                                                        bw.setPropertyValue(propertyName, map);
                                                        if (log.isTraceEnabled())
                                                                log.trace(" set map " + propertyName
@@ -269,7 +286,7 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                        String formula = ((FormulaCell) cell).getFormula();
                        int index = formula.indexOf('!');
                        if (index < 0)
-                               throw new ArgeoServerException("Cannot interpret formula "
+                               throw new ArgeoException("Cannot interpret formula "
                                                + formula);
                        ;
                        String targetSheet = formula.substring(0, index);
@@ -329,17 +346,6 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                return false;
        }
 
-       /**
-        * @deprecated use
-        *             {@link #overrideCell(Cell, BeanWrapper, String, String, Integer, List)}
-        *             instead. This method is not called anymore.
-        */
-       protected Boolean overrideCell(Cell cell, BeanWrapper bw,
-                       String propertyName, String keyProperty, Integer row,
-                       List<Reference> references, Map<String, List<Object>> tempRefs) {
-               throw new UnsupportedOperationException();
-       }
-
        public void setEncoding(String encoding) {
                this.encoding = encoding;
        }
@@ -348,11 +354,4 @@ public class JxlDaoSupport extends AbstractTabularDaoSupport implements
                this.locale = locale;
        }
 
-       /** @deprecated use {@link #setResources(List)} instead. */
-       public void setWorkbooks(List<Resource> workbooks) {
-               setResources(workbooks);
-               log.warn("###\n" + "### Use of the 'workbooks' property is deprecated!"
-                               + " It will be removed in one of the next releases."
-                               + " Use the 'resources' property instead." + "\n###");
-       }
 }