Author: lehmi
Date: Fri Nov 30 18:37:00 2012
New Revision: 1415783

URL: http://svn.apache.org/viewvc?rev=1415783&view=rev
Log:
PDFBOX-1458: avoid unnecessary loops based on a proposal by Adrian Nistor

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentProperties.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentProperties.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentProperties.java?rev=1415783&r1=1415782&r2=1415783&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentProperties.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentProperties.java
 Fri Nov 30 18:37:00 2012
@@ -320,33 +320,38 @@ public class PDOptionalContentProperties
         }
 
         boolean found = false;
-        for (COSBase o : on)
+        if (enable)
         {
-            COSDictionary group = toDictionary(o);
-            String name = group.getString(COSName.NAME);
-            if (!enable && name.equals(groupName))
+            for (COSBase o : off)
             {
-                //disable group
-                on.remove(group);
-                off.add(group);
-                found = true;
-                break;
+                COSDictionary group = toDictionary(o);
+                String name = group.getString(COSName.NAME);
+                if (name.equals(groupName))
+                {
+                    //enable group
+                    off.remove(group);
+                    on.add(group);
+                    found = true;
+                    break;
+                }
             }
         }
-        for (COSBase o : off)
+        else
         {
-            COSDictionary group = toDictionary(o);
-            String name = group.getString(COSName.NAME);
-            if (enable && name.equals(groupName))
+            for (COSBase o : on)
             {
-                //enable group
-                off.remove(group);
-                on.add(group);
-                found = true;
-                break;
+                COSDictionary group = toDictionary(o);
+                String name = group.getString(COSName.NAME);
+                if (name.equals(groupName))
+                {
+                    //disable group
+                    on.remove(group);
+                    off.add(group);
+                    found = true;
+                    break;
+                }
             }
         }
-
         if (!found)
         {
             PDOptionalContentGroup ocg = getGroup(groupName);


Reply via email to