public SheetDiff determineChanges(SheetDiff sheetDiff) { // 559deb3dd4c6da20f74e6fc0-559deb3dd4c6da20f74e6fc0 Sheet baseSheet = sheetDAO.find(sheetDiff.getBaseSheetId(), false); Sheet compareSheet = sheetDAO.find(sheetDiff.getCompareSheetId(), true); String[][] baseData = baseSheet.getData(); String[][] compareData = compareSheet.getData(); List<String[]> changeSet = new ArrayList<String[]>(); int rowCount = (baseData.length > compareData.length) ? compareData.length : baseData.length; int colCount = baseData[0].length; for (int row = 0; row < rowCount; row++) { for (int col = 0; col < colCount; col++) { if (!baseData[row][col].equals(compareData[row][col])) { changeSet.add(new String[] {row + "", col + "", compareData[row][col], DIFF_EDIT}); } } } if (baseData.length > compareData.length) { changeSet.add( new String[] { "[" + (compareData.length + 1) + "," + baseData.length + "]", "-1", "", DIFF_ADD }); } else if (baseData.length < compareData.length) { changeSet.add( new String[] { "[" + (baseData.length + 1) + "," + compareData.length + "]", "-1", "", DIFF_DELETE }); } sheetDiff.setChangeSet(changeSet); return sheetDiff; }
public String saveSheet(Sheet sheet) { System.out.println("hello"); sheet.setData(Arrays.copyOf(sheet.getData(), sheet.getData().length - 1)); sheetDAO.save(sheet); return null; }