]> source.dussan.org Git - poi.git/commitdiff
bug 59773: move loop invariants outside of loop or change for loops to for-each loops
authorJaven O'Neal <onealj@apache.org>
Sat, 2 Jul 2016 18:28:43 +0000 (18:28 +0000)
committerJaven O'Neal <onealj@apache.org>
Sat, 2 Jul 2016 18:28:43 +0000 (18:28 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1751086 13f79535-47bb-0310-9956-ffa450edef68

13 files changed:
src/java/org/apache/poi/hssf/usermodel/HSSFName.java
src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
src/ooxml/java/org/apache/poi/openxml4j/opc/PackagePartName.java
src/ooxml/java/org/apache/poi/openxml4j/opc/PackagingURIHelper.java
src/ooxml/java/org/apache/poi/xdgf/geom/SplineRenderer.java
src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFEvaluationWorkbook.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFFormulaUtils.java
src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java

index 0778361ffb1297130a4553ddb4e2de22b8fa8dfa..f4250d52e1d2a82a157ce5c896a660a694a26f65 100644 (file)
@@ -135,7 +135,8 @@ public final class HSSFName implements Name {
         int sheetNumber = _definedNameRec.getSheetNumber();
 
         //Check to ensure no other names have the same case-insensitive name
-        for ( int i = wb.getNumNames()-1; i >=0; i-- )
+        final int lastNameIndex = wb.getNumNames()-1;
+        for ( int i = lastNameIndex; i >=0; i-- )
         {
             NameRecord rec = wb.getNameRecord(i);
             if (rec != _definedNameRec) {
index d1de9ba7ac31df833587c866716dd2f70a11afdd..9fe9c49c6b9a703f22ad4f206bc9078bfb7e3970 100644 (file)
@@ -1640,7 +1640,8 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet {
             if (moveComments) {
                 // This code would get simpler if NoteRecords could be organised by HSSFRow.
                 HSSFPatriarch patriarch = createDrawingPatriarch();
-                for (int i = patriarch.getChildren().size() - 1; i >= 0; i--) {
+                final int lastChildIndex = patriarch.getChildren().size() - 1;
+                for (int i = lastChildIndex; i >= 0; i--) {
                     HSSFShape shape = patriarch.getChildren().get(i);
                     if (!(shape instanceof HSSFComment)) {
                         continue;
@@ -2372,7 +2373,9 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet {
 
         //create a combobox control for each column
         HSSFPatriarch p = createDrawingPatriarch();
-        for (int col = range.getFirstColumn(); col <= range.getLastColumn(); col++) {
+        final int firstColumn = range.getFirstColumn();
+        final int lastColumn = range.getLastColumn();
+        for (int col = firstColumn; col <= lastColumn; col++) {
             p.createComboBox(new HSSFClientAnchor(0, 0, 0, 0,
                     (short) col, firstRow, (short) (col + 1), firstRow + 1));
         }
index 78a18e269de1948e16ae276fcf5c91fc39f7d519..37ee631776a2619bd94dbb8e512ad05f0915417c 100644 (file)
@@ -289,7 +289,8 @@ public final class PackagePartName implements Comparable<PackagePartName> {
        private static void checkPCharCompliance(String segment)
                        throws InvalidFormatException {
                boolean errorFlag;
-               for (int i = 0; i < segment.length(); ++i) {
+               final int length = segment.length();
+               for (int i = 0; i < length; ++i) {
                        char c = segment.charAt(i);
                        errorFlag = true;
 
@@ -328,7 +329,7 @@ public final class PackagePartName implements Comparable<PackagePartName> {
                        if (errorFlag && c == '%') {
                                // We certainly found an encoded character, check for length
                                // now ( '%' HEXDIGIT HEXDIGIT)
-                               if (((segment.length() - i) < 2)) {
+                               if (((length - i) < 2)) {
                                        throw new InvalidFormatException("The segment " + segment
                                                        + " contain invalid encoded character !");
                                }
index 5d83e9f223f02d960d200ba74346f73cc415e916..f44bf736731887a68057a2afe6e63994dd0f0030 100644 (file)
@@ -606,12 +606,13 @@ public final class PackagingURIHelper {
                StringBuffer retVal = new StringBuffer();
                String uriStr = uri.toASCIIString();
                char c;
-               for (int i = 0; i < uriStr.length(); ++i) {
+               final int length = uriStr.length();
+               for (int i = 0; i < length; ++i) {
                        c = uriStr.charAt(i);
                        if (c == '%') {
                                // We certainly found an encoded character, check for length
                                // now ( '%' HEXDIGIT HEXDIGIT)
-                               if (((uriStr.length() - i) < 2)) {
+                               if (((length - i) < 2)) {
                                        throw new IllegalArgumentException("The uri " + uriStr
                                                        + " contain invalid encoded character !");
                                }
index a478ae4a9a3f84b2e39150d3981035561853fa80..c16835604c3c22d4e7725ec29c6c94046eae85bd 100644 (file)
@@ -30,15 +30,17 @@ public class SplineRenderer {
             ValueVector knots, ValueVector weights, int degree) {
 
         double firstKnot = knots.get(0);
-        double lastKnot = knots.get(knots.size() - 1);
+        final int count = knots.size();
+        double lastKnot = knots.get(count - 1);
 
         // scale knots to [0, 1] based on first/last knots
-        for (int i = 0; i < knots.size(); i++) {
+        for (int i = 0; i < count; i++) {
             knots.set((knots.get(i) - firstKnot) / lastKnot, i);
         }
 
         // if we don't have enough knots, duplicate the last knot until we do
-        for (int i = knots.size(); i < controlPoints.numPoints() + degree + 1; i++) {
+        final int  knotsToAdd = controlPoints.numPoints() + degree + 1;
+        for (int i = count; i < knotsToAdd; i++) {
             knots.add(1);
         }
 
index 0bcb4b72e7fa4bcfdc77aa9fdd4703df1308e599..923c5aed8428dd7b250508a1056e24c35f7feb0c 100644 (file)
@@ -30,6 +30,7 @@ import org.apache.poi.ss.usermodel.Comment;
 import org.apache.poi.ss.usermodel.DataFormatter;
 import org.apache.poi.ss.usermodel.HeaderFooter;
 import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFDrawing;
 import org.apache.poi.xssf.usermodel.XSSFRelation;
@@ -134,10 +135,10 @@ public class XSSFExcelExtractor extends POIXMLTextExtractor
         }
 
         StringBuffer text = new StringBuffer();
-        for(int i=0; i<workbook.getNumberOfSheets(); i++) {
-            XSSFSheet sheet = workbook.getSheetAt(i);
+        for(Sheet sh : workbook) {
+            XSSFSheet sheet = (XSSFSheet) sh;
             if(includeSheetNames) {
-                text.append(workbook.getSheetName(i)).append("\n");
+                text.append(sheet.getSheetName()).append("\n");
             }
 
             // Header(s), if present
index 69c99833cd97e16256dce678a3cdbeee6d583095..8188c9e725dab6c21c821d9c1d6c3d62fa47a20a 100644 (file)
@@ -239,7 +239,8 @@ public class SXSSFWorkbook implements Workbook {
         {
             _wb=workbook;
             _sharedStringSource = useSharedStringsTable ? _wb.getSharedStringSource() : null;
-            for ( int i = 0; i < _wb.getNumberOfSheets(); i++ )
+            final int numberOfSheets = _wb.getNumberOfSheets();
+            for ( int i = 0; i < numberOfSheets; i++ )
             {
                 XSSFSheet sheet = _wb.getSheetAt( i );
                 createAndRegisterSXSSFSheet( sheet );
index d97119cdb7e400f99253e2bc28dd281158822d8f..1e849b673c85904233e5a0b2275ec7f3a43e2555 100644 (file)
@@ -50,11 +50,12 @@ public final class XSSFEvaluationWorkbook extends BaseXSSFEvaluationWorkbook {
     public EvaluationSheet getSheet(int sheetIndex) {
         // Performance optimization: build sheet cache the first time this is called
         // to avoid re-creating the XSSFEvaluationSheet each time a new cell is evaluated
-        // EvaluationWorkbooks make not guarentee to syncronize changes made to
+        // EvaluationWorkbooks make not guarantee to synchronize changes made to
         // the underlying workbook after the EvaluationWorkbook is created.
         if (_sheetCache == null) {
-            _sheetCache = new XSSFEvaluationSheet[_uBook.getNumberOfSheets()];
-            for (int i=0; i < _uBook.getNumberOfSheets(); i++) {
+            final int numberOfSheets = _uBook.getNumberOfSheets();
+            _sheetCache = new XSSFEvaluationSheet[numberOfSheets];
+            for (int i=0; i < numberOfSheets; i++) {
                 _sheetCache[i] = new XSSFEvaluationSheet(_uBook.getSheetAt(i));
             }
         }
index 19176392d163846d7ac47e55b9b676fe66c2a67c..980f1b7ad6bdfcccac0a9c4e08c6d61d6eb833bd 100644 (file)
@@ -379,18 +379,17 @@ public class XSSFRichTextString implements RichTextString {
      *                      index is out of range.
      */
     public XSSFFont getFontAtIndex( int index ) {
-        if(st.sizeOfRArray() == 0) return null;
-
+        final ThemesTable themes = getThemesTable();
         int pos = 0;
-        for(int i = 0; i < st.sizeOfRArray(); i++){
-            CTRElt r = st.getRArray(i);
-            if(index >= pos && index < pos + r.getT().length()) {
+        for(CTRElt r : st.getRArray()){
+            final int length = r.getT().length();
+            if(index >= pos && index < pos + length) {
                XSSFFont fnt = new XSSFFont(toCTFont(r.getRPr()));
-               fnt.setThemesTable(getThemesTable());
+               fnt.setThemesTable(themes);
                return fnt;
             }
 
-            pos += r.getT().length();
+            pos += length;
         }
         return null;
 
index 53beb9c505a397fba5bdcb0c377c34c299fbd2a8..50a898a5c519b589655a5a0d1c12706f88fc106a 100644 (file)
@@ -2674,7 +2674,8 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
     public int findEndOfRowOutlineGroup(int row) {
         short level = getRow(row).getCTRow().getOutlineLevel();
         int currentRow;
-        for (currentRow = row; currentRow < getLastRowNum(); currentRow++) {
+        final int lastRowNum = getLastRowNum();
+        for (currentRow = row; currentRow < lastRowNum; currentRow++) {
             if (getRow(currentRow) == null
                     || getRow(currentRow).getCTRow().getOutlineLevel() < level) {
                 break;
index 91330462394c5ae28ddaddab13ed50236ecc3450..1e9b3d6ceeb68d6a79befbd406e8e4d949f2e927 100644 (file)
@@ -1084,11 +1084,12 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
      */
     @Override
     public int getSheetIndex(String name) {
-        for (int i = 0 ; i < sheets.size() ; ++i) {
-            XSSFSheet sheet = sheets.get(i);
-            if (name.equalsIgnoreCase(sheet.getSheetName())) {
-                return i;
+        int idx = 0;
+        for (XSSFSheet sh : sheets) {
+            if (name.equalsIgnoreCase(sh.getSheetName())) {
+                return idx;
             }
+            idx++;
         }
         return -1;
     }
@@ -1264,12 +1265,13 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
 
     @Override
     public void removeName(String name) {
-        for (int i = 0; i < namedRanges.size(); i++) {
-            XSSFName nm = namedRanges.get(i);
+        int idx = 0;
+        for (XSSFName nm : namedRanges) {
             if(nm.getNameName().equalsIgnoreCase(name)) {
-                removeName(i);
+                removeName(idx);
                 return;
             }
+            idx++;
         }
         throw new IllegalArgumentException("Named range was not found: " + name);
     }
@@ -1551,9 +1553,10 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook {
      */
     @Override
     public void setSelectedTab(int index) {
-        for (int i = 0 ; i < sheets.size() ; ++i) {
-            XSSFSheet sheet = sheets.get(i);
-            sheet.setSelected(i == index);
+        int idx = 0;
+        for (XSSFSheet sh : sheets) {
+            sh.setSelected(idx == index);
+            idx++;
         }
     }
 
index 8aa3de6014ce2f9aff97382bf940fe0c8df6b729..99e8a1e40832b1ef62125b54bdc672e2a9a8c83f 100644 (file)
@@ -64,7 +64,8 @@ public final class XSSFFormulaUtils {
      */
     public void updateSheetName(final int sheetIndex, final String oldName, final String newName) {
         // update named ranges
-        for (int i = 0; i < _wb.getNumberOfNames(); i++) {
+        final int numberOfNames = _wb.getNumberOfNames();
+        for (int i = 0; i < numberOfNames; i++) {
             XSSFName nm = _wb.getNameAt(i);
             if (nm.getSheetIndex() == -1 || nm.getSheetIndex() == sheetIndex) {
                 updateName(nm, oldName, newName);
index 6f6d06d3c5aee60cdd54d5a4d4b7e99848a43ef5..765b4c0a4b5aa52e7fd6b506fbeda3a1bff74b4a 100644 (file)
@@ -85,7 +85,8 @@ public final class XSSFRowShifter extends RowShifter {
     public void updateNamedRanges(FormulaShifter shifter) {
         Workbook wb = sheet.getWorkbook();
         XSSFEvaluationWorkbook fpb = XSSFEvaluationWorkbook.create((XSSFWorkbook) wb);
-        for (int i = 0; i < wb.getNumberOfNames(); i++) {
+        final int numberOfNames = wb.getNumberOfNames();
+        for (int i = 0; i < numberOfNames; i++) {
             Name name = wb.getNameAt(i);
             String formula = name.getRefersToFormula();
             int sheetIndex = name.getSheetIndex();